/* =======================================================
   AISAH — réplica fiel do layout de referência (1800px)
   Container central ~1200px, seções full-width
   ======================================================= */

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--pad); }
body { font-family: var(--font); color: var(--c-text); }

/* ---------- BOTÕES ---------- */
.btn {
  display: inline-block;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 0.85rem 2rem;
  border-radius: var(--radius);
  transition: background var(--t), transform var(--t);
  line-height: 1.1;
}
.btn:hover { transform: translateY(-1px); }
.btn--orange { background: var(--c-orange); color: var(--c-white); }
.btn--orange:hover { background: var(--c-orange-hover); }
.btn--purple { background: var(--c-purple-deep); color: var(--c-white); }
.btn--purple:hover { background: var(--c-purple); }
.btn--outline-purple { background: transparent; color: var(--c-white); border: 1.5px solid var(--c-purple-deep); }
.btn--outline-purple:hover { background: var(--c-purple-deep); }
.btn--lg { padding: 1.05rem 2.8rem; font-size: 0.95rem; }

/* =======================================================
   HEADER
   ======================================================= */
.hdr { position: sticky; top: 0; z-index: 200; }

/* --- Topbar roxo (alto) --- */
.hdr__top { background: var(--c-purple); }
.hdr__top-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; min-height: 120px; padding: 22px var(--pad);
}
.hdr__logo { height: 74px; width: auto; flex-shrink: 0; }
.hdr__tagline {
  color: var(--c-white); font-size: 0.82rem; font-weight: 400;
  letter-spacing: 0.28em; white-space: nowrap;
}
.hdr__social { display: flex; align-items: center; gap: 0.7rem; flex-shrink: 0; }
.hdr__soc { display: inline-flex; transition: opacity var(--t); }
.hdr__soc-icon { height: 22px; width: auto; display: block; }
.hdr__soc:hover { opacity: 0.8; }

/* --- Nav periwinkle (baixo) --- */
.hdr__nav { background: var(--c-periwinkle); }
.hdr__nav-inner { display: flex; align-items: stretch; justify-content: space-between; gap: 1rem; min-height: 54px; }
.hdr__menu { display: flex; align-items: stretch; gap: 1.1rem; flex-wrap: nowrap; }
.hdr__menu a {
  display: flex; align-items: center; height: 100%;
  padding: 0 0.6rem; color: var(--c-white);
  font-size: 0.74rem; font-weight: 700; letter-spacing: 0.05em;
  transition: opacity var(--t);
}
.hdr__menu a:hover { opacity: 0.75; }
.hdr__actions { display: flex; align-items: stretch; }
.hdr__search {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; background: var(--c-bluegrey); color: var(--c-white);
}
.hdr__search svg { width: 20px; height: 20px; }
.hdr__schedule, .hdr__cta {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 0.3rem 2.4rem; font-size: 0.7rem; font-weight: 700; line-height: 1.15;
  letter-spacing: 0.05em; text-align: center; white-space: nowrap;
}
.hdr__schedule { background: var(--c-purple-deep); color: var(--c-orange); }
.hdr__schedule:hover { background: #4a2473; }
.hdr__cta { background: var(--c-orange); color: var(--c-purple-deep); }
.hdr__cta:hover { background: var(--c-orange-hover); }

.hdr__toggle { display: none; flex-direction: column; gap: 4px; padding: 1rem; }
.hdr__toggle span { width: 24px; height: 2px; background: var(--c-white); display: block; }

/* =======================================================
   HERO
   ======================================================= */
.hero { position: relative; }
/* altura proporcional ao design (1800 x 618 ≈ 34.3%) */
.hero__slide { position: relative; height: clamp(340px, 34.3vw, 620px); overflow: hidden; }
.hero__slide--active { display: block; }
.hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__bg--s1 { object-position: 10%; object-fit: cover; transition: transform 0.5s ease; transform: scale(1.3); }
.hero__bg--s2 { object-position: 40% -6%; object-fit: cover; transition: transform 0.5s ease; transform: scale(1.2) translateX(5%); }
.hero__bg--s3 { object-position: 45% -41%; object-fit: cover; transition: transform 0.5s ease; transform: scale(1.5); }

/* --- Slide 1: título centralizado, canto superior-esquerdo --- */
.hero__title--s1 {
  position: absolute; left: 27.9%; top: 23.3%; transform: translate(-50%, -50%);
  text-align: center; color: var(--c-white); z-index: 2;
  font-weight: 400; font-size: clamp(20px, 2.03vw, 36.5px);
  line-height: 1.12; letter-spacing: 0.01em;
}

/* --- Slide 2: Parceria do Bem --- */
.hero__s2 {
  position: absolute; left: 35.3%; top: 50%; transform: translate(-50%, -50%);
  z-index: 2; text-align: center; width: 40%; max-width: 660px;
}
.hero__brand {
  display: flex; align-items: center; justify-content: center; gap: 0.5em;
  color: var(--c-white); font-weight: 400; letter-spacing: 0.14em;
  font-size: clamp(17px, 1.77vw, 31.8px); margin-bottom: 0.7em; white-space: nowrap;
}
.hero__brand-heart { height: 1.5em; width: auto; }
.hero__sicoob { position: absolute; right: 11%; top: 58%; width: clamp(96px, 11%, 200px); height: auto; z-index: 2; }
.hero__box {
  background: rgba(125, 46, 146, 0.82); color: var(--c-white);
  padding: 1.1em 1.4em;
}
.hero__box p {
  font-weight: 400; font-size: clamp(15px, 1.76vw, 31.7px); line-height: 1.2;
}

/* --- Slide 3: Precisa de apoio (direita) --- */
.hero__s3 {
  position: absolute; left: 57.5%; top: 21%; z-index: 2; text-align: left;
}
.hero__title--s3 {
  color: var(--c-white); font-weight: 400; line-height: 1.12;
  font-size: clamp(20px, 2.03vw, 36.5px); letter-spacing: 0.01em;
}
.hero__subtitle {
  margin-top: 0.5em; color: var(--c-purple); font-weight: 700; letter-spacing: 0.01em;
  font-size: clamp(14px, 1.57vw, 28.2px); line-height: 1.12;
}

.hero__dots { position: absolute; right: max(28px, 16.7%); bottom: 5.5%; display: flex; gap: 9px; z-index: 3; }
.hero__dot { width: 14px; height: 14px; border-radius: 50%; background: rgba(255,255,255,0.55); }
.hero__dot--active, .hero__dot:hover { background: var(--c-white); }

/* =======================================================
   FAIXA INTRO (periwinkle)
   ======================================================= */
.lead { background: var(--c-periwinkle); padding: clamp(2rem, 3vw, 2.8rem) 0; text-align: center; }
.lead__text {
  color: var(--c-purple-deep); font-weight: 400;
  font-size: clamp(15px, 1.33vw, 24px); line-height: 1.28;
  max-width: 940px; margin: 0 auto clamp(1.2rem, 2vw, 1.8rem);
}
.lead__text strong { color: var(--c-white); font-weight: 700; }
.lead__cta { display: flex; gap: 2rem; justify-content: center; flex-wrap: wrap; }
.lead__cta .btn { padding: 0.7rem 1.8rem; font-size: clamp(11px, 0.84vw, 15px); min-width: 230px; border: 1.5px solid var(--c-purple-deep); }

/* =======================================================
   DIAGRAMA + INTRO (cinza)
   ======================================================= */
.diagram-sec { background: var(--c-grey); padding: clamp(2.2rem, 3.5vw, 3.4rem) 0 3.4rem; text-align: center; }
.diagram {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch;
  gap: clamp(8px, 1.5vw, 28px); max-width: 900px; margin: 0 auto clamp(1.6rem, 2.4vw, 2.4rem);
}
.diagram__img { width: clamp(150px, 22vw, 340px); height: auto; align-self: center; justify-self: center; }
.diagram__labels { display: flex; flex-direction: column; justify-content: space-between; padding: 7% 0; }
.diagram__labels li {
  font-size: clamp(12px, 1.2vw, 21.6px); font-weight: 900; letter-spacing: 0.01em;
  color: var(--c-white); line-height: 1.18;
}
.diagram__labels--left { text-align: right; }
.diagram__labels--right { text-align: left; }

.diagram-sec__title {
  color: var(--c-purple); font-weight: 400; letter-spacing: 0.01em;
  font-size: clamp(16px, 1.57vw, 28.2px); margin-bottom: 1rem; line-height: 1.18;
}
.diagram-sec__text {
  max-width: 760px; margin: 0 auto 0.5rem; color: var(--c-purple-deep); font-weight: 400;
  font-size: clamp(12px, 0.91vw, 16.4px); line-height: 1.4;
}
.diagram-sec__highlight {
  margin-top: 1.3rem; font-weight: 900; line-height: 1.25;
  font-size: clamp(13px, 1.16vw, 20.8px); letter-spacing: 0.01em;
}
.diagram-sec__highlight .hl-white { color: var(--c-white); }
.diagram-sec__highlight .hl-purple { color: var(--c-purple); }

/* =======================================================
   ESPECIALIDADES (periwinkle bg, cards roxos)
   ======================================================= */
.specs { background: var(--c-periwinkle); padding: clamp(1.6rem, 2.5vw, 2.4rem) 0; }
.specs__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 1.6vw, 29px); }
.spec { position: relative; overflow: hidden; aspect-ratio: 400 / 617; border-radius: var(--radius); }
.spec__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.spec:hover .spec__img { transform: scale(1.04); }
.spec__body {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-end; text-align: center;
  padding: 8% 9% 7%;
  background: linear-gradient(180deg, rgba(92,47,143,0.55) 0%, rgba(92,47,143,0.70) 45%, rgba(72,34,112,0.80) 100%);
  color: var(--c-white);
}
.spec__icon { width: 18%; min-width: 50px; height: auto; margin-bottom: 0.8em; }
.spec__title { font-size: clamp(14px, 1.09vw, 19.6px); font-weight: 400; letter-spacing: 0.03em; margin-bottom: 0.7em; line-height: 1.18; }
.spec__text { font-size: clamp(11px, 0.67vw, 12px); line-height: 1.5; max-width: none; }

/* =======================================================
   BARRA AGENDE (bluegrey)
   ======================================================= */
.agende { background: var(--c-bluegrey); }
.agende__inner {
  display: flex; align-items: stretch; padding: 0;
  min-height: clamp(70px, 6.4vw, 116px);
}
.agende__btn {
  flex: 0 0 38.3%; background: var(--c-orange); color: var(--c-white);
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-weight: 900; font-size: clamp(15px, 1.2vw, 21.7px); letter-spacing: 0.04em;
  transition: background var(--t);
}
.agende__btn:hover { background: var(--c-orange-hover); }
.agende__text {
  flex: 1; align-self: center; text-align: center; max-width: 600px; margin: 0 auto;
  color: var(--c-white); font-size: clamp(12px, 0.83vw, 15px); line-height: 1.45; padding: 0 1.5%;
}
.agende__text strong { font-weight: 700; }

/* =======================================================
   QUEM FAZ A AISAH (cinza claro)
   ======================================================= */
.about { background: var(--c-grey-light); padding: clamp(2.4rem, 4vw, 4rem) 0; text-align: center; }
.title {
  color: var(--c-periwinkle); font-weight: 900; letter-spacing: 0.01em;
  font-size: clamp(22px, 1.92vw, 34.5px); margin-bottom: 0.5em; line-height: 1.15;
}
.about__sub { color: var(--c-purple-deep); font-weight: 400; font-size: clamp(15px, 1.21vw, 21.8px); letter-spacing: 0.04em; margin-bottom: 1.6rem; }
.about__logo-row { display: flex; align-items: center; justify-content: center; gap: clamp(0.6rem, 1.6vw, 1.4rem); max-width: 1000px; margin: 0 auto 2rem; }
.about__rule { flex: 1; height: 3px; background: var(--c-periwinkle); }
.about__isah { flex: 0 0 auto; height: clamp(52px, 4.4vw, 78px); width: auto; }
.about__p { max-width: 900px; margin: 0 auto; color: var(--c-purple-deep); font-weight: 400; font-size: clamp(14px, 1.06vw, 19.1px); line-height: 1.3; }
.about__hl { max-width: 900px; margin: 0 auto 1.2em; color: var(--c-purple-deep); font-weight: 700; font-size: clamp(14px, 1.06vw, 19.1px); line-height: 1.3; letter-spacing: 0.01em; }
.about__hl:last-of-type { margin-bottom: 0; }

/* ---------- DIRETORES ---------- */
.about__dirs-title { margin-top: 2.5em; margin-bottom: 0.95em; }
.dirs { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(12px, 1.2vw, 18px); margin-bottom: 1rem; }
.dir { background: var(--c-grey); overflow: hidden; display: flex; flex-direction: column; text-align: center; }
.dir__photo { width: 100%; aspect-ratio: 287 / 306; object-fit: cover; }
.dir__namebar { position: relative; background: var(--c-periwinkle); color: var(--c-white); padding: 1.5em 0.6em 0.7em; }
.dir__heart { position: absolute; top: 0; left: 50%; transform: translate(-50%, -52%); width: clamp(34px, 3.4vw, 48px); height: auto; }
.dir__name { font-size: clamp(13px, 0.99vw, 17.8px); font-weight: 700; line-height: 1.1; }
.dir__role { font-size: clamp(10px, 0.69vw, 12.4px); font-weight: 400; letter-spacing: 0.05em; margin-top: 0.2em; }
.dir__bio { padding: 1em 1.1em; font-size: clamp(11px, 0.67vw, 12px); line-height: 1.35; color: #6D6E71; flex-grow: 1; }
.dir__link { align-self: center; margin: 0 0 1.4em; padding: 0.45em 1.4em; background: transparent; color: white; border: 1px solid var(--c-purple-deep); font-size: clamp(10px, 0.67vw, 12px); font-weight: 700; letter-spacing: 0.06em; border-radius: var(--radius); transition: background var(--t), color var(--t); }
.dir__link:hover { background: var(--c-purple-deep); color: var(--c-white); }

/* ---------- CONSELHO ---------- */
.about__council-title { margin-top: 2.4em; }
.council__sub { color: var(--c-purple-deep); font-weight: 400; font-size: clamp(15px, 1.21vw, 21.8px); letter-spacing: 0.02em; margin-bottom: 1.2rem; }
.council__p { max-width: 820px; margin: 0 auto 1em; color: var(--c-purple-deep); font-size: clamp(13px, 1.06vw, 19.1px); line-height: 1.4; }
p.council__p { margin-bottom: 0; }
.council__dates { margin: 1.3em auto; }
.council__dates li { font-size: clamp(16px, 1.28vw, 23.1px); font-weight: 700; line-height: 1.34; color: var(--c-purple-deep); }

/* =======================================================
   BANNER PARCEIRO
   ======================================================= */
.banner { position: relative; overflow: hidden; background: var(--c-purple-deep); height: clamp(240px, 25.3vw, 455px); }
.banner__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 18% center; }
.banner__tint {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(92,47,143,0.40) 0%, rgba(92,47,143,0.72) 42%, rgba(92,47,143,0.90) 70%);
}
.banner__globe {
  position: absolute; right: -12%; top: 15%; transform: translateY(-50%);
  height: 145%; width: auto; z-index: 1; opacity: 0.3;
}
.banner__inner { position: relative; height: 100%; z-index: 2; }
.banner__text {
  position: absolute; left: 45.5%; top: 50%; transform: translateY(-50%); color: var(--c-white);
}
.banner__title { font-weight: 700; font-size: clamp(22px, 2.23vw, 40px); line-height: 1.05; }
.banner__sub { font-weight: 900; font-size: clamp(13px, 1.21vw, 21.7px); letter-spacing: 0.02em; margin-top: 0.4em; }

/* Barra QUERO AJUDAR (mesma estrutura da Agende) */
.parceria-bar { background: var(--c-bluegrey); }
.parceria-bar__inner { display: flex; align-items: stretch; padding: 0; min-height: clamp(70px, 6.4vw, 116px); }
.parceria-bar__btn {
  flex: 0 0 38.3%; background: var(--c-orange); color: var(--c-white);
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-weight: 900; font-size: clamp(15px, 1.2vw, 21.7px); letter-spacing: 0.04em;
  transition: background var(--t);
}
.parceria-bar__btn:hover { background: var(--c-orange-hover); }
.parceria-bar__text {
  flex: 1; align-self: center; text-align: center; max-width: 560px; margin: 0 auto;
  color: var(--c-white); font-size: clamp(12px, 1.06vw, 19.1px); line-height: 1.45; padding: 0 1.5%;
}

/* =======================================================
   BANCOS
   ======================================================= */
.banks { background: var(--c-white); padding: 2rem 0 1rem; }
.banks__img { width: 100%; max-width: 1100px; height: auto; margin: 0 auto; opacity: 0.9; }

/* =======================================================
   PARCERIA DO BEM / DOAÇÃO (cinza)
   ======================================================= */
.don { background: var(--c-grey); padding: clamp(2.2rem, 3.5vw, 3.4rem) 0 0; text-align: center; }
.don__brand { display: flex; align-items: center; justify-content: center; gap: 0.45em; color: var(--c-bluegrey); font-weight: 400; font-size: clamp(17px, 1.36vw, 24.4px); letter-spacing: 0.12em; margin-bottom: 1.6rem; }
.don__heart { height: 1.85em; width: auto; }
.don__p { max-width: 980px; margin: 0 auto; color: var(--c-purple-deep); font-weight: 400; font-size: clamp(13px, 1.06vw, 19.1px); line-height: 1.3; }
.don__p + .don__p { margin-top: 1.1em; }
.don__p strong { font-weight: 900; }
.don__hl { max-width: 980px; margin: 1.1em auto; color: var(--c-purple-deep); font-weight: 900; font-size: clamp(13px, 1.06vw, 19.1px); line-height: 1.3; }
.cats-band { background: var(--c-periwinkle); margin-top: clamp(2.4rem, 3.6vw, 3.4rem); }
.cats { display: grid; grid-template-columns: repeat(4, 1fr); }
.cats__item { position: relative; padding: clamp(0.9rem, 1.5vw, 1.5rem); color: var(--c-white); font-weight: 900; font-size: clamp(14px, 1.21vw, 21.7px); letter-spacing: 0.04em; text-align: center; }
.cats__heart { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); width: clamp(38px, 3.5vw, 52px); height: auto; }
.cats__item--empresa { background: var(--c-orange); }
.cats__item--parceiro { background: var(--c-purple-deep); }
.cats__item--fisica { background: var(--c-periwinkle); }
.cats__item--voluntario { background: var(--c-bluegrey); }

/* =======================================================
   AVALIAÇÕES
   ======================================================= */
.reviews { background: var(--c-white); padding: clamp(2rem, 3vw, 3rem) 0; }
.reviews__social { display: flex; gap: 21px; justify-content: center; align-items: center; margin-bottom: clamp(4.6rem, 2.6vw, 2.6rem); margin-top: clamp(1.6rem, 2.6vw, 2.6rem); }
.reviews__social a { display: inline-flex; transition: opacity var(--t); }
.reviews__social a:hover { opacity: 0.82; }
.reviews__soc-icon { width: 30px; height: auto; display: block; }

/* Título com linhas decorativas magenta */
.rule-title { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2.2vw, 2.4rem); max-width: 1120px; margin: 0 auto clamp(1.6rem, 2.4vw, 2.2rem); }
.rule-title__rule { flex: 1; height: 2px; background: #821641; }
.rule-title__text { color: #821641; font-weight: 700; font-size: clamp(17px, 1.47vw, 26.5px); letter-spacing: 0.14em; white-space: nowrap; }
.reviews__stars { color: #FAAF40; letter-spacing: 0.08em; margin-left: 0.4em; }

.reviews__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.rev { padding: 0 clamp(0.9rem, 1.5vw, 1.7rem); text-align: left; border-right: 2px solid #929495; }
.rev:last-child { border-right: none; }
.rev__head { display: flex; align-items: center; gap: 0.6em; margin-bottom: 0.7em; }
.rev__avatar { flex: 0 0 auto; width: clamp(30px, 2.4vw, 42px); height: clamp(30px, 2.4vw, 42px); border-radius: 50%; background: #B9A36A; color: var(--c-white); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.9em; }
.rev__name { font-weight: 400; font-size: clamp(15px, 1.42vw, 25.5px); color: #231F20; line-height: 1.1; }
.rev__meta { font-weight: 700; font-size: clamp(11px, 1.14vw, 20.6px); color: #231F20; }
.rev__stars { color: #FAAF40; font-size: clamp(16px, 1.33vw, 24px); letter-spacing: 0.04em; margin-bottom: 0.5em; }
.rev__text { font-weight: 400; font-size: clamp(12px, 1.04vw, 18.8px); line-height: 1.27; color: #231F20; }

/* =======================================================
   NOTÍCIAS
   ======================================================= */
.news { background: var(--c-white); padding: 1rem 0 clamp(2.4rem, 4vw, 3.4rem); }
.news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.4rem, 2.4vw, 2.6rem); }
.ncard { display: flex; flex-direction: column; }
.ncard__img { width: 100%; aspect-ratio: 365 / 210; object-fit: cover; }
.ncard__h { margin: 1em 0 0.6em; color: #231F20; font-weight: 700; font-size: clamp(15px, 1.36vw, 24.4px); line-height: 1.12; }
.ncard__t { font-weight: 400; font-size: clamp(12px, 1.04vw, 18.8px); line-height: 1.27; color: #231F20; flex-grow: 1; }
.ncard__link { display: block; margin-top: 1em; padding-top: 0.8em; border-top: 1.5px solid #232020; color: #231F20; font-weight: 700; font-size: clamp(12px, 0.83vw, 14.9px); letter-spacing: 0.05em; text-align: right; }
.ncard__link:hover { color: var(--c-orange); }

/* =======================================================
   FOOTER
   ======================================================= */
.ftr { background: var(--c-purple); color: #929497; padding: clamp(2.4rem, 3.6vw, 3.6rem) 0 1.8rem; text-align: center; }
.ftr__logo { height: clamp(80px, 8.2vw, 150px); width: auto; margin: 0 auto clamp(1.6rem, 2.6vw, 2.6rem); }
.ftr__nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.6rem clamp(1rem, 1.6vw, 1.8rem); margin-bottom: 1rem; }
.ftr__rule { width: 84%; max-width: 1010px; height: 1px; border: none; background: rgba(255,255,255,0.45); margin: 0 auto 1rem; }
.ftr__nav a { color: #929497; font-size: clamp(12px, 0.89vw, 16px); font-weight: 400; letter-spacing: 0.04em; transition: opacity var(--t); }
.ftr__nav a:hover { opacity: 0.7; }
.ftr__addr, .ftr__copy { color: #929497; font-size: clamp(11px, 0.73vw, 13.2px); margin-top: 0.3rem; }

/* =======================================================
   RESPONSIVO
   ======================================================= */
/* Menu vira hambúrguer antes de apertar/quebrar — a tagline some no mesmo ponto */
@media (max-width: 1080px) {
  .hdr__tagline { display: none; }
  .hdr__toggle { display: inline-flex; order: -1; align-self: center; }
  .hdr__nav-inner { position: relative; align-items: center; }
  .hdr__menu {
    position: absolute; top: 100%; left: 0; right: 0; flex-direction: column;
    background: var(--c-periwinkle); max-height: 0; overflow: hidden;
    transition: max-height var(--t); z-index: 50;
  }
  .hdr__menu--open { max-height: 520px; }
  .hdr__menu a { height: auto; padding: 1rem var(--pad); border-bottom: 1px solid rgba(255,255,255,0.22); }
  .hdr__actions { margin-left: auto; }
}
@media (max-width: 1024px) {
  .dirs { grid-template-columns: repeat(2, 1fr); }
  .reviews__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .agende__inner, .parceria-bar__inner { flex-direction: column; }
  .agende__btn, .parceria-bar__btn { flex: none; padding: 1rem; }
  .agende__text, .parceria-bar__text { padding: 1rem 1.2rem; }
  .banner__text { left: 6%; right: 6%; }
  .banner__globe { opacity: 0.4; }
}
@media (max-width: 768px) {
  .hdr__top-inner { min-height: 0; padding: 12px var(--pad); }
  .hdr__logo { height: 50px; }
  .hdr__search { width: 44px; }
  .hdr__schedule, .hdr__cta { padding: 0.3rem 0.7rem; font-size: 0.6rem; }

  .hero__slide { height: 380px; }
  .hero__content--right { align-items: flex-start; text-align: left; }

  .specs__grid { grid-template-columns: 1fr 1fr; }
  .dirs { grid-template-columns: 1fr 1fr; }
  .reviews__grid { grid-template-columns: 1fr 1fr; }
  .news__grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .cats { grid-template-columns: 1fr 1fr; }
}
/* Diagrama: empilhamento limpo em telas pequenas */
@media (max-width: 600px) {
  .diagram { display: flex; flex-direction: column; align-items: center; gap: 1.4rem; }
  .diagram__img { width: min(240px, 62vw); order: -1; }
  .diagram__labels {
    flex-direction: row; flex-wrap: wrap; justify-content: center;
    gap: 0.7rem 1.6rem; padding: 0; width: 100%;
  }
  .diagram__labels li, .diagram__labels--left, .diagram__labels--right { text-align: center; }
}
@media (max-width: 480px) {
  .hero__slide { height: 320px; }
  .specs__grid { grid-template-columns: 1fr; }
  .dirs { grid-template-columns: 1fr; }
  .reviews__grid { grid-template-columns: 1fr; }
}
