/* SPA da Face & Odontologico - conceito "Carta do Spa"
   Paleta amostrada da marca real: creme do material, dourado da logo,
   grafite do lettering "SPA", vinho do curriculo da Dra. Gracieli. */

@font-face{font-family:'Marcellus';src:url('assets/fonts/marcellus-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Jost';src:url('assets/fonts/jost-var.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap}

:root{
  --bg:#FBF6EF;
  --bg-warm:#F4EAE0;
  --paper:#FFFFFF;
  --ink:#2B2523;
  --muted:#6E625B;
  --forest:#2A2320;        /* espresso das secoes escuras */
  --forest-deep:#1A1512;
  --gold:#A08B48;          /* dourado da logo */
  --gold-soft:#C9B47E;
  --terra:#702828;         /* vinho da marca */
  --rose:#D8C2B8;
  --line:rgba(43,37,35,.14);
  --line-soft:rgba(43,37,35,.08);
  --wa:#25D366;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 26px 60px -30px rgba(43,37,35,.42);
  --r:16px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:92px;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;font-weight:400;line-height:1.62;letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}

.h-display{font-family:'Marcellus',Georgia,serif;font-weight:400;letter-spacing:-.005em;line-height:1.12;margin:0}
.h-display em{font-style:italic;color:var(--gold)}

.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
@media (max-width:640px){ .wrap{width:min(1160px,100% - 32px)} }

.eyebrow{
  margin:0 0 14px;font-size:12px;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);
}

.skip{position:absolute;left:-9999px;top:0;background:var(--forest);color:#fff;padding:12px 18px;z-index:200}
.skip:focus{left:12px;top:12px}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:80;background:rgba(251,246,239,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.nav__in{width:min(1160px,100% - 40px);margin-inline:auto;display:flex;align-items:center;gap:20px;height:84px}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.nav__links{margin-left:auto;display:flex;gap:26px}
.nav__links a{text-decoration:none;font-size:15px;color:var(--muted);padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav__links a:hover{color:var(--ink);border-color:var(--gold)}
.nav__cta{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  background:var(--forest);color:#F5EDE3;padding:11px 18px;border-radius:999px;
  font-size:14px;font-weight:500;transition:transform .22s var(--ease),background .22s;
}
.nav__cta:hover{transform:translateY(-2px);background:var(--terra)}
.burger{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}
.burger span{display:block;height:1.6px;background:var(--ink);margin:5px 0;transition:transform .3s var(--ease),opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

@media (max-width:900px){
  .nav__in{height:74px;gap:12px}
  .brand__logo{height:44px !important}
  .burger{display:block;order:3}
  .nav__cta{margin-left:auto;padding:9px 14px;font-size:13px}
  /* o painel cresce a partir da base da nav, nunca desliza de cima */
  .nav__links{
    position:fixed;inset:74px 0 auto 0;flex-direction:column;gap:0;margin:0;
    background:var(--bg);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;visibility:hidden;
    transition:max-height .42s var(--ease),visibility .42s var(--ease);
  }
  .nav__links.open{max-height:70vh;visibility:visible;box-shadow:var(--shadow)}
  .nav__links a{padding:16px 20px;border-bottom:1px solid var(--line-soft);font-size:16px}
}

/* ---------- HERO ---------- */
.hero{position:relative;padding:clamp(48px,7vw,96px) 0 clamp(56px,7vw,104px);overflow:hidden}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(820px 460px at 74% -6%, rgba(160,139,72,.20), transparent 62%),
    radial-gradient(620px 420px at 6% 84%, rgba(216,194,184,.34), transparent 66%);
}
.hero__in{position:relative;width:min(1160px,100% - 40px);margin-inline:auto}
.hero__copy{display:grid;grid-template-columns:minmax(0,1fr) 500px;column-gap:clamp(36px,5vw,72px);align-items:center}
.hero .eyebrow{grid-column:1;margin-bottom:16px}
.hero h1{grid-column:1;font-size:clamp(38px,6.1vw,68px);margin:0 0 22px}
.hero__lead{grid-column:1;margin:0 0 30px;font-size:clamp(17px,1.5vw,19px);color:var(--muted);max-width:52ch}
.hero__act{grid-column:1;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.hero__proof{grid-column:1;display:flex;align-items:center;gap:10px;margin:0;font-size:15px;color:var(--muted)}
.hero__proof strong{color:var(--ink);font-weight:500}
.stars{color:var(--gold);letter-spacing:.1em}
.hero__media{grid-column:2;grid-row:1 / span 6;margin:0;position:relative}
.hero__media picture{display:block}
.hero__media img{
  width:100%;border-radius:230px 230px 22px 22px;object-fit:cover;aspect-ratio:4/5;
  box-shadow:var(--shadow);
}
.hero__media::after{
  content:'';position:absolute;inset:-14px -14px 22px 22px;z-index:-1;
  border:1px solid var(--gold);border-radius:236px 236px 26px 26px;opacity:.5;
}

@media (max-width:880px){
  /* mobile: titulo -> foto -> texto -> CTA, sem tocar no desktop */
  .hero__copy{display:flex;flex-direction:column;align-items:stretch}
  .hero h1{font-size:clamp(34px,8.6vw,46px);margin-bottom:24px}
  .hero__media{order:1;margin:0 auto 26px;max-width:min(400px,86vw);width:100%}
  .hero__lead{order:2;margin-bottom:24px}
  .hero__act{order:3}
  .hero__act .btn{flex:1 1 100%}
  .hero__proof{order:4}
  .hero__media img{border-radius:180px 180px 18px 18px}
  .hero__media::after{inset:-10px -10px 18px 18px;border-radius:186px 186px 22px 22px}
}
@media (max-width:880px){
  .hero .eyebrow{order:0}
  .hero h1{order:0}
}

/* ---------- BOTOES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:500;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s;
}
.btn--wa{background:var(--forest);color:#F5EDE3;box-shadow:0 18px 34px -20px rgba(42,35,32,.85)}
.btn--wa:hover{transform:translateY(-2px);background:var(--terra)}
.btn--ghost{border:1px solid var(--line);color:var(--ink);background:transparent}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn--gold{background:var(--gold-soft);color:#221D19;box-shadow:0 18px 36px -20px rgba(201,180,126,.9)}
.btn--gold:hover{transform:translateY(-2px);background:#DCC79A}

/* ---------- FAIXA DE CONFIANCA ---------- */
.proof{position:relative;background:var(--forest);color:#EFE5DA;overflow:hidden}
.proof::before{content:'';position:absolute;inset:0;background:radial-gradient(760px 380px at 50% -20%,rgba(201,180,126,.20),transparent 64%);pointer-events:none}
.proof__in{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);padding:clamp(40px,5vw,64px) 0}
.proof__item strong{display:block;font-family:'Marcellus',Georgia,serif;font-size:clamp(20px,2vw,25px);font-weight:400;color:var(--gold-soft);margin-bottom:8px}
.proof__item span{font-size:15px;color:rgba(239,229,218,.76);line-height:1.6}
@media (max-width:820px){.proof__in{grid-template-columns:1fr;gap:26px}}

/* ---------- SECOES ---------- */
.sec__head{max-width:70ch;margin-bottom:clamp(30px,4vw,44px)}
.sec__head--center{margin-inline:auto;text-align:center}
.sec__head h2{font-size:clamp(30px,4.2vw,46px);margin-bottom:14px}
.sec__lead{margin:0;color:var(--muted);font-size:17px}

/* ---------- CARTA DE TRATAMENTOS ---------- */
.carta{padding:clamp(56px,7vw,104px) 0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-warm) 100%)}
.chips{
  display:flex;gap:10px;overflow-x:auto;padding:6px 0 14px;margin-bottom:26px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  position:sticky;top:84px;z-index:40;
  background:linear-gradient(180deg,var(--bg) 62%,rgba(251,246,239,0));
}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex:0 0 auto;border:1px solid var(--line);background:rgba(255,255,255,.7);
  border-radius:999px;padding:10px 20px;font-size:14px;cursor:pointer;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s;
}
.chip:hover{border-color:var(--gold)}
.chip.is-on{background:var(--forest);color:#F5EDE3;border-color:var(--forest)}
@media (max-width:900px){.chips{top:74px}}

.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
@media (max-width:1040px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}

.svc{margin:0}
.svc[hidden]{display:none}
.svc__btn{
  display:block;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line-soft);
  border-radius:var(--r);overflow:hidden;padding:0;cursor:pointer;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
}
.svc__btn:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold)}
.svc__btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.svc__ph{display:block;overflow:hidden;background:var(--bg-warm)}
.svc__ph img{width:100%;aspect-ratio:4/5;object-fit:cover;height:auto;transition:transform .6s var(--ease)}
.svc__btn:hover .svc__ph img{transform:scale(1.05)}
.svc__body{display:block;padding:16px 16px 18px}
.svc__cat{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.svc__name{display:block;font-family:'Marcellus',Georgia,serif;font-size:clamp(17px,1.5vw,20px);line-height:1.24;margin-bottom:8px;overflow-wrap:break-word;hyphens:auto}
.svc__line{display:block;font-size:14px;color:var(--muted);line-height:1.5}
.svc__more{display:inline-block;margin-top:12px;font-size:13px;color:var(--gold);border-bottom:1px solid currentColor;padding-bottom:1px}
/* aviso das abas corporais e capilares: aparece so quando a aba esta ativa */
.aviso{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;
  margin-top:26px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r);
  background:rgba(255,255,255,.66);
}
.aviso[hidden]{display:none}
.aviso p{margin:0;font-size:15px;color:var(--muted);max-width:62ch}
.aviso strong{color:var(--ink);font-weight:500}
.aviso .btn{flex:0 0 auto;padding:13px 22px;font-size:14px}
.carta__nota{margin:26px 0 0;font-size:13px;color:var(--muted);text-align:center}
@media (max-width:400px){
  .svc__body{padding:13px 13px 15px}
  .svc__name{font-size:15.5px}
  .svc__line{font-size:13px}
}

/* ---------- FICHA (dialog) ---------- */
.ficha{
  border:0;padding:0;max-width:min(940px,calc(100vw - 32px));width:100%;
  max-height:min(88vh,880px);border-radius:var(--r);background:var(--paper);
  color:var(--ink);box-shadow:0 40px 90px -40px rgba(0,0,0,.6);margin:auto;overflow:visible;
}
.ficha::backdrop{background:rgba(26,21,18,.62);backdrop-filter:blur(3px)}
.ficha__in{display:grid;grid-template-columns:300px minmax(0,1fr);max-height:min(88vh,880px);border-radius:var(--r);overflow:hidden}
.ficha__media{margin:0;background:var(--bg-warm)}
.ficha__media img{width:100%;height:100%;object-fit:cover;min-height:280px}
.ficha__copy{padding:clamp(24px,3vw,38px);overflow-y:auto}
.ficha__cat{margin:0 0 10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.ficha__copy h3{font-size:clamp(24px,3vw,32px);margin:0 0 18px}
.ficha__txt p{margin:0 0 14px;font-size:16px;color:var(--muted)}
.ficha__txt strong{color:var(--ink);font-weight:500}
/* assinatura de responsavel tecnica dentro da ficha */
.svc__rt{margin:18px 0 0 !important;padding-top:14px;border-top:1px solid var(--line-soft);font-size:13.5px}
.ficha__nota{margin:14px 0 0;font-size:13px;color:var(--muted)}
.ficha__x{
  position:absolute;top:-14px;right:-14px;width:44px;height:44px;border-radius:50%;
  border:0;background:var(--forest);color:#F5EDE3;font-size:24px;line-height:1;cursor:pointer;z-index:2;
  box-shadow:0 10px 24px -10px rgba(0,0,0,.6);
}
.ficha__x:hover{background:var(--terra)}
.ficha__x:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ficha__copy:focus{outline:none}
@media (max-width:760px){
  .ficha{max-height:92vh}
  .ficha__in{grid-template-columns:1fr;max-height:92vh;overflow-y:auto}
  .ficha__media img{max-height:200px;min-height:0}
  .ficha__copy{overflow:visible}
  .ficha__x{top:8px;right:8px}
}

/* ---------- SOBRE ---------- */
.sobre{padding:clamp(56px,7vw,104px) 0;background:var(--bg-warm)}
.sobre__in{display:grid;grid-template-columns:420px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.sobre__media{margin:0;position:relative}
.sobre__media img{width:100%;border-radius:var(--r);object-fit:cover;aspect-ratio:5/6;box-shadow:var(--shadow)}
.sobre__media::after{content:'';position:absolute;inset:16px -16px -16px 16px;z-index:-1;border:1px solid var(--gold);border-radius:var(--r);opacity:.55}
.sobre__copy h2{font-size:clamp(30px,4vw,44px);margin-bottom:18px}
.sobre__copy p{margin:0 0 16px;color:var(--muted)}
.sobre__quote{
  margin:24px 0 18px;padding:20px 24px;border-left:2px solid var(--gold);
  background:rgba(255,255,255,.6);border-radius:0 var(--r) var(--r) 0;
}
.sobre__quote p{font-family:'Marcellus',Georgia,serif;font-size:clamp(18px,1.8vw,21px);line-height:1.5;color:var(--ink);margin:0 0 10px}
.sobre__quote cite{font-style:normal;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
/* faixa de formacao: as duas fotos de carreira que a cliente mandou */
.formacao{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 20px;max-width:440px}
.formacao figure{margin:0}
.formacao img{width:100%;height:auto;aspect-ratio:5/6;object-fit:cover;border-radius:12px;box-shadow:var(--shadow)}
.formacao figcaption{margin-top:10px;font-size:13px;font-weight:500;line-height:1.35}
.formacao figcaption span{display:block;font-weight:400;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.sobre__cro{font-size:14px;color:var(--muted);margin:0}
@media (max-width:880px){.sobre__in{grid-template-columns:1fr}.sobre__media{max-width:340px}}

/* ---------- PASSOS ---------- */
.passos{position:relative;padding:clamp(56px,7vw,104px) 0;background:var(--forest);color:#EFE5DA;overflow:hidden}
.passos::before{content:'';position:absolute;inset:0;background:radial-gradient(820px 420px at 50% -8%,rgba(201,180,126,.18),transparent 62%);pointer-events:none}
.passos .wrap{position:relative}
.passos .eyebrow{color:var(--gold-soft)}
.passos__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);counter-reset:p}
.passos__list li{position:relative;padding-top:8px}
.passos__n{
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  border:1px solid rgba(201,180,126,.5);border-radius:50%;color:var(--gold-soft);
  font-family:'Marcellus',Georgia,serif;font-size:19px;margin-bottom:16px;
}
.passos__list h3{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:21px;margin:0 0 10px}
.passos__list p{margin:0;color:rgba(239,229,218,.76);font-size:15.5px}
@media (max-width:820px){.passos__list{grid-template-columns:1fr;gap:28px}}

/* ---------- AVALIACOES ---------- */
.rev{padding:clamp(56px,7vw,104px) 0;background:var(--bg)}
.rev__wrap{position:relative}
.rev__track{
  display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:4px 2px 22px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.rev__track::-webkit-scrollbar{display:none}
.rev__card{
  flex:0 0 min(390px,84vw);scroll-snap-align:start;margin:0;background:var(--paper);
  border:1px solid var(--line-soft);border-radius:var(--r);padding:26px 24px;
  display:flex;flex-direction:column;
}
.rev__stars{margin:0 0 12px;color:var(--gold);letter-spacing:.12em}
.rev__card blockquote{margin:0 0 18px;font-size:15.5px;color:var(--muted);line-height:1.62;flex:1}
.rev__card figcaption{font-size:14px;font-weight:500}
.rev__card figcaption span{display:block;font-weight:400;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:4px}
.rev__nav{display:flex;gap:10px;justify-content:center;margin-top:6px}
.rev__arrow{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);
  cursor:pointer;font-size:18px;color:var(--ink);transition:border-color .2s,opacity .2s;
}
.rev__arrow:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.rev__arrow:disabled{opacity:.32;cursor:default}
.rev__link{text-align:center;margin:22px 0 0;font-size:15px}
.rev__link a{color:var(--gold)}

/* ---------- FAQ ---------- */
.faq{padding:clamp(56px,7vw,104px) 0;background:var(--bg-warm)}
.faq__in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);align-items:start}
.faq .sec__head{margin-bottom:0}
.faq__list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:20px 34px 20px 0;position:relative;
  font-size:17px;font-weight:500;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);
  color:var(--gold);font-size:22px;font-weight:300;transition:transform .3s var(--ease);
}
.faq details[open] summary::after{content:'−'}
.faq details p{margin:0 0 22px;color:var(--muted);font-size:16px;max-width:70ch}
@media (max-width:880px){.faq__in{grid-template-columns:1fr}}

/* ---------- CTA FINAL ---------- */
.end{position:relative;padding:clamp(56px,7vw,104px) 0;background:var(--forest-deep);color:#EFE5DA;overflow:hidden}
.end::before{content:'';position:absolute;inset:0;background:radial-gradient(880px 460px at 50% -10%,rgba(160,139,72,.26),transparent 64%);pointer-events:none}
.end__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:start}
.end__cta h2{font-size:clamp(30px,4.2vw,46px);margin-bottom:16px}
.end__cta p{color:rgba(239,229,218,.78);margin:0 0 24px;max-width:46ch}
/* o .btn e inline-flex e, na linha, a caixa dele sobra para baixo do line box:
   a margem do <p> seguinte partia dali e o numero colava no botao. Como bloco
   (width:fit-content preserva a largura), a margem passa a valer de verdade. */
.end__cta .btn{display:flex;width:fit-content}
/* o padding-left casa com o padding horizontal do .btn: o numero alinha com o
   rotulo do botao, nao com a borda dele */
/* precisa da especificidade de .end__cta p, senao o margin:0 daquela regra vence */
.end__cta .end__ph{margin:22px 0 0;padding-left:26px;font-size:16px}
.end__ph a{color:var(--gold-soft);text-decoration:none}
.end__info address{font-style:normal;display:block;margin-bottom:22px;color:rgba(239,229,218,.78);font-size:15.5px;line-height:1.7}
.end__info address strong{display:block;color:var(--gold-soft);font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:19px;margin-bottom:6px}
.end__map{display:block;width:fit-content;margin-top:10px;color:var(--gold-soft);font-size:14px}
.end__hours{margin-bottom:18px;font-size:15.5px;color:rgba(239,229,218,.78)}
.end__hours strong{display:block;color:var(--gold-soft);font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:19px;margin-bottom:6px}
.end__hours span{display:block}
.end__ig{margin:0;font-size:15px}
.end__ig a{color:var(--gold-soft);text-decoration:none}
.end__ig a:hover{text-decoration:underline}
@media (max-width:880px){.end__in{grid-template-columns:1fr}}

/* ---------- FOOTER ---------- */
/* folga extra embaixo para o botao flutuante do WhatsApp nao cobrir o credito */
.foot{background:var(--forest);color:rgba(239,229,218,.72);padding:40px 0 96px;border-top:1px solid rgba(201,180,126,.16)}
@media (min-width:721px){.foot{padding-bottom:56px}}
/* align-self: sem isso o stretch do flex column faz o width:auto da logo
   virar a largura toda do container e distorcer a marca */
.foot__in{display:flex;flex-direction:column;gap:22px}
.foot__logo{align-self:flex-start}
.foot__legalbar{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;font-size:13.5px}
.foot__legalbar a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* ---------- WHATSAPP FLUTUANTE ---------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;
  background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 34px -12px rgba(37,211,102,.65);transition:transform .22s var(--ease);
}
.wa-float:hover{transform:scale(1.08)}

/* ---------- ANIMACAO ----------
   O gate so esconde quando o JS rodou, a pessoa nao pediu menos movimento e o
   GSAP ainda nao assumiu (.anim-ready). Se o CDN falhar, o failsafe de 3,5s cai. */
.js-anim:not(.anim-ready):not(.anim-failsafe) .anim{visibility:hidden}
@media print{.anim{visibility:visible !important;opacity:1 !important}}
@media (prefers-reduced-motion:reduce){.anim{visibility:visible !important;opacity:1 !important}}

/* ---------- MODO VITRINE ----------
   No dominio da Scott Digital os canais de contato do cliente ficam inertes. */
[aria-disabled="true"]{cursor:not-allowed}
