/* =========================================================
   Complexo de Saúde Wanda Horta — nova versão
   Paleta original: verde #83A605 · verde escuro #4A5D23
   laranja #F28705 · marrom #6B4423
   ========================================================= */

:root{
  /* Cores de marca (originais do cliente) — usadas em elementos gráficos */
  --green:        #83A605;
  --green-soft:   #9FB940;
  --green-accent: #749404;   /* 3,51:1 — só em texto grande (≥24px) */
  --orange:       #F28705;
  --brown:        #6B4423;

  /* Variantes escurecidas — usadas onde há texto por cima (contraste AA) */
  --green-d:      #5E7803;   /* 5,04:1 sobre branco  */
  --green-deep:   #3F5210;   /* 8,66:1 sobre branco  */
  --green-ink:    #2B360C;
  --green-tint:   #F3F6E7;
  --orange-d:     #B96504;
  --orange-tint:  #FEF3E3;
  --focus:        #C97004;   /* anel de foco */
  --wa:           #0A8038;   /* 5,05:1 com texto branco */
  --wa-d:         #086A2E;

  --ink:          #1E220F;
  --body:         #55603F;
  --muted:        #667254;   /* 5,12:1 sobre branco  */
  --line:         #E4E8D6;
  --bg:           #FFFFFF;
  --bg-soft:      #FAFBF4;
  --bg-cream:     #FBF9F3;

  --r-sm: 10px;
  --r:    18px;
  --r-lg: 28px;
  --r-xl: 36px;

  --sh-1: 0 1px 2px rgba(43,54,12,.05), 0 4px 14px rgba(43,54,12,.05);
  --sh-2: 0 2px 6px rgba(43,54,12,.06), 0 18px 40px -12px rgba(43,54,12,.14);
  --sh-3: 0 30px 70px -24px rgba(43,54,12,.30);

  --wrap: 1200px;
  --pad:  clamp(20px, 5vw, 48px);
  --sec:  clamp(64px, 9vw, 120px);
}

/* ---------- reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:96px;
}
html,body{
  max-width:100%;
  overflow-x:hidden;          /* mata a rolagem horizontal */
}
body{
  margin:0;
  font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:clamp(15.5px,1.05vw,17px);
  line-height:1.65;
  color:var(--body);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img,svg,iframe{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ color:var(--ink); margin:0; line-height:1.12; letter-spacing:-.02em; font-weight:600; }
h1{ font-family:"Fraunces",Georgia,serif; font-size:clamp(2.1rem,5.2vw,4.05rem); font-weight:600; }
h2{ font-family:"Fraunces",Georgia,serif; font-size:clamp(1.75rem,3.6vw,2.9rem); font-weight:600; }
h3{ font-size:clamp(1.05rem,1.5vw,1.25rem); font-weight:600; }
h1 em,h2 em{ font-style:normal; color:var(--green-accent); }
p{ margin:0 0 1em; }
ul{ margin:0; padding:0; list-style:none; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); }

.skip{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--green-d); color:#fff; padding:12px 18px; border-radius:0 0 12px 0;
}
.skip:focus{ left:0; }

/* visível apenas para leitores de tela */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* laranja escurecido: >=3:1 em todos os fundos da página (claro e escuro) */
:focus-visible{ outline:3px solid var(--focus); outline-offset:3px; border-radius:6px; }

/* ---------- ícones ---------- */
.ic{
  width:18px; height:18px; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round;
}
.ic--big{ width:26px; height:26px; stroke-width:1.5; color:var(--green); }
.ic--wa{ fill:currentColor; stroke:none; width:20px; height:20px; }
.ft__fb .ic{ fill:currentColor; stroke:none; }

/* ---------- botões ---------- */
.btn{
  --bg-btn:var(--green-d); --fg-btn:#fff;
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  background:var(--bg-btn); color:var(--fg-btn);
  font:inherit; font-weight:600; line-height:1.2;
  min-height:48px;                       /* alvo de toque confortável */
  padding:.8em 1.5em; border:0; border-radius:999px;
  box-shadow:var(--sh-1);
  transition:transform .18s cubic-bezier(.2,.8,.3,1), box-shadow .18s, background .18s, filter .18s;
  cursor:pointer; text-align:center;
}
.btn:hover{ transform:translateY(-2px); box-shadow:var(--sh-2); filter:brightness(1.06); }
.btn:active{ transform:translateY(0); }
.btn--lg{ min-height:56px; padding:1em 1.9em; font-size:1.05rem; }
.btn--sm{ min-height:44px; padding:.6em 1.2em; font-size:.94rem; }
.btn--wa{ --bg-btn:var(--wa); }
.btn--wa:hover{ --bg-btn:var(--wa-d); }
/* laranja da marca preservado, com texto escuro para atingir AA (5,04:1) */
.btn--orange{ --bg-btn:var(--orange); --fg-btn:var(--green-ink); }
.btn--orange:hover{ --bg-btn:#FF9A1F; }
.btn--ghost{
  --bg-btn:transparent; --fg-btn:var(--green-deep);
  border:1.5px solid var(--line); box-shadow:none;
}
.btn--ghost:hover{ border-color:var(--green-d); color:var(--green-deep); background:var(--green-tint); }

/* ---------- eyebrow ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:.6em;
  font-size:.78rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  color:var(--green-d); margin:0 0 .9em;
}
.eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--orange); flex:none; }
.eyebrow--light{ color:#D8E4A8; }

/* =========================================================
   TOPBAR
   ========================================================= */
.topbar{ background:var(--green-ink); color:#DDE6C4; font-size:.82rem; }
.topbar__in{
  display:flex; align-items:center; gap:14px;
  min-height:40px; flex-wrap:wrap;
}
.topbar__item{ display:inline-flex; align-items:center; gap:.5em; }
.topbar__item .ic{ width:15px; height:15px; color:var(--green-soft); }
.topbar__sep{ width:1px; height:14px; background:rgba(255,255,255,.18); }
@media (max-width:860px){
  .topbar__item--hide,.topbar__sep{ display:none; }
  .topbar__in{ justify-content:center; gap:10px; font-size:.76rem; text-align:center; }
}

/* =========================================================
   HEADER
   ========================================================= */
.hd{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(150%) blur(14px);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid transparent;
  transition:box-shadow .25s, border-color .25s;
}
.hd.is-stuck{ box-shadow:0 8px 30px -18px rgba(43,54,12,.4); border-color:var(--line); }
.hd__in{ display:flex; align-items:center; gap:20px; min-height:74px; }
.hd__logo{ flex:none; }
.hd__logo img{ width:clamp(126px,15vw,168px); height:auto; }

.nav{ display:flex; align-items:center; gap:clamp(12px,1.6vw,26px); margin-left:auto; }
.nav > a:not(.btn){
  display:inline-flex; align-items:center; min-height:44px;
  font-size:.93rem; font-weight:500; color:var(--green-ink);
  position:relative; padding:0 2px; white-space:nowrap;
}
.nav > a:not(.btn)::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--orange); border-radius:2px; transition:right .25s ease;
}
.nav > a:not(.btn):hover::after{ right:0; }
.nav__cta{ margin-left:6px; }

.burger{
  display:none; margin-left:auto;
  width:46px; height:46px; border:1px solid var(--line); border-radius:14px;
  background:#fff; cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.burger span{ width:20px; height:2px; background:var(--green-ink); border-radius:2px; transition:.25s; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:1040px){
  .burger{ display:flex; }
  .nav{
    position:fixed; inset:0 0 0 auto; width:min(340px,88vw);
    flex-direction:column; align-items:stretch; justify-content:flex-start; gap:4px;
    background:#fff; padding:96px 24px 32px; margin:0;
    box-shadow:-24px 0 60px -30px rgba(43,54,12,.5);
    transform:translateX(102%); transition:transform .32s cubic-bezier(.4,0,.2,1);
    overflow-y:auto;
  }
  .nav.is-open{ transform:none; }
  .nav > a:not(.btn){ padding:14px 4px; border-bottom:1px solid var(--line); font-size:1.02rem; }
  .nav > a:not(.btn)::after{ display:none; }
  .nav__cta{ margin:20px 0 0; }
}

.scrim{
  position:fixed; inset:0; background:rgba(30,34,15,.42); z-index:55;
  opacity:0; pointer-events:none; transition:opacity .3s;
}
.scrim.is-on{ opacity:1; pointer-events:auto; }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; isolation:isolate; overflow:hidden;
  padding:clamp(48px,7vw,92px) 0 clamp(60px,8vw,104px);
  background:
    radial-gradient(900px 520px at 88% -8%, #F5F9E4 0%, rgba(245,249,228,0) 62%),
    radial-gradient(700px 460px at -8% 105%, var(--orange-tint) 0%, rgba(254,243,227,0) 60%),
    var(--bg);
}
.hero__leaf{
  position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:url("assets/hero-a.png") center/cover no-repeat;
  opacity:.10;
}
.hero__grid{
  display:grid; gap:clamp(36px,5vw,72px);
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center;
}
.hero__copy{ min-width:0; }
.hero h1{ margin-bottom:.42em; text-wrap:balance; }
.lead{
  font-size:clamp(1.02rem,1.5vw,1.2rem); color:var(--body);
  max-width:54ch; margin-bottom:2em;
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; }

.hero__proof{
  display:flex; flex-wrap:wrap; gap:clamp(18px,3.4vw,40px);
  margin-top:clamp(34px,4.5vw,52px); padding-top:28px;
  border-top:1px solid var(--line);
}
.hero__proof li{ display:flex; align-items:center; gap:.7em; }
.hero__proof strong{
  font-family:"Fraunces",Georgia,serif; font-size:clamp(1.7rem,2.9vw,2.3rem);
  font-weight:600; color:var(--green-accent); line-height:1;
}
.hero__proof span{ font-size:.83rem; line-height:1.35; color:var(--muted); }

.hero__art{ margin:0; position:relative; min-width:0; }
.hero__img{
  width:100%; height:auto;
  aspect-ratio:4/5; object-fit:cover; object-position:center;
  border-radius:var(--r-xl);
  box-shadow:var(--sh-3);
}
@media (max-width:900px){ .hero__img{ aspect-ratio:16/11; } }
.hero__badge{
  position:absolute; left:clamp(-8px,-1vw,0px); bottom:clamp(14px,3vw,34px);
  display:flex; align-items:center; gap:.8em;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:14px 18px; box-shadow:var(--sh-2);
  max-width:min(320px,92%);
}
.hero__badge .ic{ width:24px; height:24px; color:var(--orange); }
.hero__badge span{ font-size:.79rem; line-height:1.4; color:var(--muted); }
.hero__badge strong{ display:block; font-size:.94rem; color:var(--ink); }

@media (max-width:900px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__art{ order:-1; max-width:560px; margin-inline:auto; width:100%; }
  .hero h1,.lead,.eyebrow{ text-align:left; }
  .hero__badge{ left:12px; }
}
@media (max-width:420px){
  .hero__cta .btn{ width:100%; }
  .hero__proof{ gap:16px 22px; }
}

/* =========================================================
   STRIP
   ========================================================= */
.strip{ padding:0 0 clamp(20px,4vw,40px); }
.strip__grid{
  display:grid; gap:clamp(16px,2vw,24px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
}
.strip__i{
  background:var(--bg-cream); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:clamp(24px,2.6vw,32px);
  transition:transform .22s, box-shadow .22s, border-color .22s;
}
.strip__i:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:#D6DEB8; }
.strip__i h3{ margin:.85em 0 .35em; }
.strip__i p{ margin:0; font-size:.94rem; }

/* =========================================================
   SEÇÕES GENÉRICAS
   ========================================================= */
.sec{ padding:var(--sec) 0; }
.sec--soft{ background:var(--bg-soft); }
.sec--dark{ background:linear-gradient(165deg,var(--green-ink),#141A06); color:#C9D3AE; }
.sec--dark h2{ color:#fff; }
.sec--dark h2 em{ color:var(--green-soft); }

.sec__hd{ max-width:62ch; margin-bottom:clamp(34px,4.5vw,54px); }
.sec__hd h2{ text-wrap:balance; }
.sec__sub{ margin-top:.9em; font-size:1.02rem; }
.sec__hd--light .sec__sub{ color:#B7C398; }

/* =========================================================
   CARDS DE SERVIÇO
   ========================================================= */
.cards{
  display:grid; gap:clamp(18px,2.2vw,26px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
}
.card{
  display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--sh-1);
  transition:transform .24s cubic-bezier(.2,.8,.3,1), box-shadow .24s, border-color .24s;
}
.card:hover{ transform:translateY(-6px); box-shadow:var(--sh-2); border-color:#D6DEB8; }
.card__img{ aspect-ratio:16/10; overflow:hidden; background:var(--green-tint); }
.card__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.8,.3,1); }
.card:hover .card__img img{ transform:scale(1.05); }
.card__body{ padding:clamp(20px,2.2vw,28px); display:flex; flex-direction:column; flex:1; }
.card__body h3{ margin-bottom:.5em; }
.card__body p{ font-size:.94rem; flex:1; }
.card__link{
  align-self:flex-start; margin-top:.5em;
  font-weight:600; font-size:.96rem; color:var(--green-d);
  display:inline-flex; align-items:center; gap:.45em;
  min-height:44px; padding:0 2px;        /* alvo de toque */
  box-shadow:inset 0 -2px 0 transparent;
  transition:gap .2s, box-shadow .2s, color .2s;
}
.card__link:hover{ gap:.8em; color:var(--orange-d); box-shadow:inset 0 -2px 0 var(--orange); }

/* =========================================================
   ESPECIALIDADES
   ========================================================= */
.spec{
  display:grid; gap:clamp(16px,2vw,22px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
}
.spec__col{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(22px,2.4vw,30px);
  border-top:4px solid var(--green);
}
.spec__col:nth-child(2){ border-top-color:var(--orange); }
.spec__col:nth-child(3){ border-top-color:var(--green-soft); }
.spec__col:nth-child(4){ border-top-color:var(--brown); }
.spec__col h3{ margin-bottom:.9em; }
.spec__col li{
  position:relative; padding-left:1.4em; margin-bottom:.6em;
  font-size:.93rem; line-height:1.5;
}
.spec__col li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:7px; height:7px; border-radius:50%; background:var(--green-soft);
}
.spec__cta{ margin:clamp(28px,3.6vw,42px) 0 0; }

/* =========================================================
   OFERTA
   ========================================================= */
.offer{
  background:linear-gradient(150deg,var(--green-deep) 0%,#31410C 55%,#26330A 100%);
  color:#D4DEB8; padding:var(--sec) 0; position:relative; overflow:hidden;
}
.offer::after{
  content:""; position:absolute; width:520px; height:520px; right:-180px; top:-180px;
  background:radial-gradient(circle,rgba(242,135,5,.30),transparent 68%);
  pointer-events:none;
}
.offer__grid{
  position:relative; z-index:1;
  display:grid; gap:clamp(32px,4.5vw,64px);
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  align-items:center;
}
.offer h2{ color:#fff; margin-bottom:.5em; }
.offer h2 em{ color:#FFB04D; }
.offer__list{ margin:1.6em 0 2em; display:grid; gap:.7em; }
.offer__list li{ display:flex; gap:.7em; align-items:flex-start; font-size:.97rem; }
.offer__list span{
  color:var(--green-ink); background:var(--green-soft);
  width:23px; height:23px; border-radius:50%; flex:none;
  display:grid; place-items:center; font-size:.8rem; font-weight:700; margin-top:.15em;
}
.offer__note{ margin:1.1em 0 0; font-size:.85rem; color:#A7B584; }
.offer__art{ margin:0; }
.offer__art img{
  width:100%; border-radius:var(--r-xl); box-shadow:var(--sh-3);
}
@media (max-width:880px){
  .offer__grid{ grid-template-columns:1fr; }
  .offer__art{ order:-1; }
}
@media (max-width:420px){ .offer .btn{ width:100%; } }

/* =========================================================
   PROVA SOCIAL
   ========================================================= */
.rating{
  display:grid; gap:clamp(24px,3.5vw,48px);
  grid-template-columns:minmax(0,260px) minmax(0,1fr);
  align-items:center;
  background:var(--bg-cream); border:1px solid var(--line);
  border-radius:var(--r-xl); padding:clamp(26px,3.4vw,46px);
}
.rating__score{ text-align:center; }
.rating__num{
  display:block; font-family:"Fraunces",Georgia,serif;
  font-size:clamp(3.4rem,7vw,4.8rem); font-weight:700; line-height:1; color:var(--green-accent);
}
.rating__stars{ display:block; color:var(--orange-d); font-size:1.6rem; letter-spacing:.12em; margin:.2em 0 .4em; }
.rating__meta{ font-size:.88rem; color:var(--muted); }
.rating__lead{ font-weight:600; color:var(--ink); margin-bottom:1.1em; }
.bar{ margin-bottom:1em; }
.bar span{ display:block; font-size:.9rem; margin-bottom:.4em; }
.bar i{
  display:block; height:9px; border-radius:99px; background:var(--line); position:relative;
}
.bar i::after{
  content:""; position:absolute; inset:0 auto 0 0; width:var(--v);
  border-radius:99px; background:linear-gradient(90deg,var(--green-soft),var(--green));
}
@media (max-width:720px){ .rating{ grid-template-columns:1fr; } }

.kpis{
  display:grid; gap:clamp(14px,1.8vw,20px); margin-top:clamp(20px,2.6vw,28px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
}
.kpi{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:22px; text-align:center;
}
.kpi strong{
  display:block; font-family:"Fraunces",Georgia,serif; font-size:1.9rem;
  color:var(--green-deep); line-height:1; margin-bottom:.3em;
}
.kpi span{ font-size:.85rem; color:var(--muted); }

/* =========================================================
   GALERIA
   ========================================================= */
.gal{
  display:grid; gap:clamp(12px,1.6vw,18px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  grid-auto-rows:200px;
}
.gal__i{
  margin:0; position:relative; overflow:hidden; border-radius:var(--r);
  background:#222A0C;
}
.gal__i--tall{ grid-row:span 2; }
.gal__i img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.8,.3,1), opacity .3s;
  opacity:.9;
}
.gal__i:hover img{ transform:scale(1.06); opacity:1; }
.gal__i figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:26px 16px 14px; font-size:.83rem; font-weight:500; color:#fff;
  background:linear-gradient(transparent,rgba(20,26,6,.85));
}
@media (max-width:640px){
  .gal{ grid-auto-rows:170px; }
  .gal__i--tall{ grid-row:span 1; }
}

/* =========================================================
   CONVÊNIOS
   ========================================================= */
.conv{
  display:grid; gap:clamp(14px,1.8vw,20px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));
  align-items:stretch;
}
.conv li{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  min-height:104px; display:grid; place-items:center; padding:18px;
  transition:transform .2s, box-shadow .2s;
}
.conv li:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.conv img{ max-height:56px; width:auto; object-fit:contain; }

/* =========================================================
   SOBRE
   ========================================================= */
.about{
  display:grid; gap:clamp(34px,5vw,70px);
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:center;
}
.about__art{ margin:0; position:relative; }
.about__art img:first-child{
  width:100%; border-radius:var(--r-xl); box-shadow:var(--sh-2);
}
.about__art2{
  position:absolute; right:-6%; bottom:-10%;
  width:46%; border-radius:var(--r-lg);
  border:6px solid #fff; box-shadow:var(--sh-2);
}
.about__copy p{ font-size:1rem; }
.about__vals{ display:flex; flex-wrap:wrap; gap:10px; margin-top:1.6em; }
.about__vals li{
  background:var(--green-tint); color:var(--green-deep);
  border:1px solid #DDE6BF; border-radius:999px;
  padding:.45em 1.1em; font-size:.86rem; font-weight:600;
}
@media (max-width:880px){
  .about{ grid-template-columns:1fr; }
  .about__art{ max-width:520px; margin-inline:auto; width:100%; }
  .about__art2{ right:0; bottom:-8%; width:40%; }
}

/* =========================================================
   FAQ
   ========================================================= */
.faq__wrap{ max-width:900px; }
.faq{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  list-style:none; cursor:pointer; position:relative;
  padding:1.15em 46px 1.15em 0;
  font-weight:600; font-size:clamp(1rem,1.4vw,1.08rem); color:var(--ink);
  transition:color .2s;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--green-d); }
.faq summary::after{
  content:""; position:absolute; right:8px; top:50%;
  width:11px; height:11px; margin-top:-7px;
  border-right:2.2px solid var(--green); border-bottom:2.2px solid var(--green);
  transform:rotate(45deg); transition:transform .25s;
}
.faq details[open] summary::after{ transform:rotate(-135deg); margin-top:-2px; }
.faq details > div{ padding:0 0 1.35em; }
.faq details p{ margin:0; font-size:.97rem; max-width:70ch; }

/* =========================================================
   LOCALIZAÇÃO
   ========================================================= */
.local{
  display:grid; gap:clamp(24px,3.5vw,44px);
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:start;
}
.info{ display:flex; gap:16px; margin-bottom:26px; }
.info h3{ margin-bottom:.3em; }
.info p{ margin:0; font-size:.95rem; }
.info a{
  display:inline-flex; align-items:center; min-height:44px;
  color:var(--green-d); font-weight:600;
}
.info a:hover{ color:var(--orange-d); }
.local__btns{ display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
.local__map{
  border-radius:var(--r-lg); overflow:hidden;
  border:1px solid var(--line); box-shadow:var(--sh-1);
  aspect-ratio:4/3; min-height:300px;
}
.local__map iframe{ width:100%; height:100%; border:0; }
@media (max-width:860px){
  .local{ grid-template-columns:1fr; }
  .local__map{ aspect-ratio:16/12; min-height:240px; }
}
@media (max-width:380px){ .local__map{ min-height:200px; } }
@media (max-width:420px){ .local__btns .btn{ width:100%; } }

/* =========================================================
   CTA FINAL
   ========================================================= */
.final{
  background:
    linear-gradient(rgba(30,34,15,.72),rgba(30,34,15,.72)),
    url("assets/gal-1.jpg") center/cover fixed no-repeat;
  padding:clamp(60px,8vw,110px) 0; text-align:center; color:#DCE4C6;
}
.final__in{ max-width:720px; }
.final h2{ color:#fff; margin-bottom:.5em; }
.final h2 em{ color:#FFB04D; }
.final p{ margin-bottom:2em; }
@media (max-width:768px){ .final{ background-attachment:scroll; } }
@media (max-width:420px){ .final .btn{ width:100%; } }

/* =========================================================
   FOOTER
   ========================================================= */
.ft{ background:var(--green-ink); color:#A9B78A; padding:clamp(48px,6vw,76px) 0 0; }
.ft__grid{
  display:grid; gap:clamp(28px,3.4vw,44px);
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  padding-bottom:clamp(36px,4.4vw,56px);
}
.ft__brand img{ width:132px; margin-bottom:18px; }
.ft__brand p{ font-size:.92rem; max-width:38ch; }
.ft__fb{
  display:inline-flex; align-items:center; gap:.55em; min-height:44px;
  font-size:.92rem; font-weight:600; color:#D4DEB8;
  border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:.5em 1.2em;
  transition:background .2s, color .2s;
}
.ft__fb:hover{ background:rgba(255,255,255,.08); color:#fff; }
.ft__col h3{ color:#fff; font-size:.95rem; margin-bottom:1em; }
.ft__col a:not(.btn){
  display:flex; align-items:center; min-height:44px;
  font-size:.92rem; transition:color .2s, padding-left .2s;
}
.ft__col a:not(.btn):hover{ color:#fff; padding-left:5px; }
.ft__addr{ font-size:.92rem; margin-bottom:.4em; }
.ft__col .btn{ margin-top:14px; }
.ft__base{
  border-top:1px solid rgba(255,255,255,.12);
  padding-block:22px; font-size:.84rem; color:#96A578;
}
.ft__base p{ margin:0; }
.ft__preview{ margin-top:.5em; font-size:.76rem; color:#6A7A52; }
.ft__preview a{ color:#96A578; text-decoration:underline; text-underline-offset:3px; transition:color .2s; }
.ft__preview a:hover{ color:#D4DEB8; }
@media (max-width:900px){ .ft__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .ft__grid{ grid-template-columns:1fr; } }

/* =========================================================
   WHATSAPP FLUTUANTE
   ========================================================= */
.wa-float{
  position:fixed; z-index:70;
  right:clamp(14px,3vw,26px);
  bottom:clamp(14px,3vw,26px);
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  min-height:56px; min-width:56px;
  background:var(--wa); color:#fff;
  font-weight:600; font-size:.98rem;
  padding:.8em 1.35em; border-radius:999px;
  box-shadow:0 12px 34px -8px rgba(10,128,56,.55);
  transition:transform .2s, box-shadow .2s, background .2s;
}
.wa-float svg{ width:26px; height:26px; fill:currentColor; }
.wa-float:hover{ background:var(--wa-d); transform:translateY(-3px) scale(1.02); box-shadow:0 18px 44px -10px rgba(10,128,56,.65); }
@media (max-width:520px){
  .wa-float{ padding:.8em; }
  .wa-float span{ display:none; }
}

/* =========================================================
   REVEAL
   ========================================================= */
.rv{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.3,1); }
.rv.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation:none !important; transition:none !important; }
  .rv{ opacity:1; transform:none; }
}
