/* Dra. Gabriela Salvioni - Ateliê de Escultura
   Paleta da marca real: preto espresso das artes, nude taupe (#B0917F) e creme. */
@font-face{font-family:'Prata';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Prata-400.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/Montserrat-var.woff2) format('woff2')}

:root{
  --bg:#F4EDE7; --paper:#FBF7F3; --bg-warm:#EAE0D8;
  --ink:#231A17; --muted:#6F625B;
  --forest:#1B1412; --forest-deep:#120D0B;
  --gold:#D6BAA6; --gold-soft:#EBDDD2;
  --terra:#8C6A58; --nude:#B0917F;
  --line:rgba(35,26,23,.14); --line-soft:rgba(35,26,23,.08);
  --line-dark:rgba(214,186,166,.2);
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 28px 70px -34px rgba(18,13,11,.55);
  --radius:20px; --nav-h:76px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}
body{font-family:'Montserrat',system-ui,sans-serif;font-weight:400;font-size:1rem;color:var(--ink);background:var(--bg);line-height:1.7}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:'Prata',Georgia,serif;font-weight:400;line-height:1.14;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(2.35rem,4.6vw,3.7rem)}
h2{font-size:clamp(1.85rem,4vw,3rem)}
h3{font-size:1.3rem;line-height:1.25}
h1 em,h2 em{font-style:normal;color:var(--nude)}
.sec--light h2 em{color:var(--terra)}
p{text-wrap:pretty}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.wrap--narrow{max-width:860px}
.eyebrow{font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--terra);margin-bottom:18px}
.sec--dark .eyebrow,.hero .eyebrow{color:var(--gold)}
.lead{font-size:1.08rem;color:var(--muted);max-width:60ch;margin-top:18px}
.sec--dark .lead{color:rgba(244,237,231,.72)}
.sec{padding:clamp(72px,10vw,128px) 0;position:relative}
.sec--dark{background:var(--forest);color:var(--bg)}
.sec--warm{background:var(--bg-warm)}
.sec--paper{background:var(--paper)}
.sec__head{margin-bottom:clamp(36px,5vw,60px)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:15px 30px;border-radius:999px;
  font:500 .95rem/1.2 'Montserrat',sans-serif;letter-spacing:.02em;text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn--gold{background:var(--gold);color:var(--forest-deep)}
.btn--gold:hover{background:#E3CBBA}
.btn--solid{background:var(--forest);color:var(--bg)}
.btn--solid:hover{background:#2C211D}
.btn--ghost{border-color:var(--line-dark);color:var(--bg)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn--line{border-color:var(--line);color:var(--ink)}
.btn--line:hover{border-color:var(--terra);color:var(--terra)}
.btn svg{flex:none}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:70;height:var(--nav-h);background:rgba(18,13,11,.82);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-dark)}
.nav__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;flex:none}
.brand__logo{height:40px;width:auto}
.nav__links{display:flex;align-items:center;gap:30px;list-style:none}
.nav__links a{font-size:.86rem;letter-spacing:.04em;text-decoration:none;color:rgba(244,237,231,.82);transition:color .25s}
.nav__links a:hover{color:var(--gold)}
.nav__links .btn{min-height:42px;padding:10px 20px;font-size:.84rem;color:var(--forest-deep)}
.nav__links .btn:hover{color:var(--forest-deep)}
.nav__toggle{display:none;width:46px;height:46px;border:0;background:none;cursor:pointer;position:relative}
.nav__toggle span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--bg);transition:transform .35s var(--ease),opacity .25s}
.nav__toggle span:nth-child(1){top:17px}.nav__toggle span:nth-child(2){top:23px}.nav__toggle span:nth-child(3){top:29px}
.nav__toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav__toggle.open span:nth-child(2){opacity:0}
.nav__toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;color:var(--bg);padding:calc(var(--nav-h) + clamp(36px,6vw,84px)) 0 clamp(96px,12vw,150px);
  background:
    radial-gradient(820px 520px at 78% 8%, rgba(176,145,127,.26), transparent 62%),
    radial-gradient(620px 420px at 6% 96%, rgba(176,145,127,.10), transparent 64%),
    linear-gradient(180deg,#1E1614,var(--forest-deep))}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:clamp(32px,6vw,84px);align-content:center}
.hero__grid>*{grid-column:1}
.hero .eyebrow{align-self:end}
.hero h1{margin-bottom:26px}
.hero__sub{font-size:1.1rem;color:rgba(244,237,231,.76);max-width:52ch;margin-bottom:34px;font-weight:300}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.hero__micro{display:flex;align-items:center;gap:12px;font-size:.88rem;color:rgba(244,237,231,.7)}
.hero__micro b{color:var(--gold);font-weight:500;letter-spacing:.08em}
.hero__media{grid-column:2;grid-row:1 / span 5;position:relative;align-self:center;aspect-ratio:4/5;border-radius:240px 240px var(--radius) var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.hero__media::after{content:"";position:absolute;inset:12px;border:1px solid rgba(235,221,210,.38);border-radius:228px 228px 12px 12px;pointer-events:none}

/* ---------- prova (3 cards sobre a divisa escuro/claro) ---------- */
.prova{background:linear-gradient(180deg,var(--forest-deep) 50%,var(--bg) 50%);padding:0 0 8px}
.prova__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:-64px;position:relative;z-index:2}
.prova__card{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow)}
.prova__num{font-family:'Prata',serif;font-size:2.1rem;line-height:1;color:var(--ink);display:flex;align-items:baseline;gap:8px}
.prova__num small{font:500 .78rem 'Montserrat',sans-serif;letter-spacing:.14em;color:var(--terra)}
.prova__card p{margin-top:10px;font-size:.93rem;color:var(--muted);line-height:1.55}

/* ---------- queixas ---------- */
.queixas__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.queixa{padding:30px 28px 34px 0;border-bottom:1px solid var(--line)}
.queixa:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--line)}
.queixa__n{font-family:'Prata',serif;font-size:.95rem;color:var(--nude);letter-spacing:.1em}
.queixa h3{margin:10px 0 10px}
.queixa p{color:var(--muted);font-size:.95rem}
.queixas__fim{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.queixas__fim p{font-family:'Prata',serif;font-size:1.25rem;line-height:1.4;max-width:34ch}

/* ---------- método ---------- */
.metodo{background:
    radial-gradient(760px 420px at 50% -8%, rgba(176,145,127,.2), transparent 62%),
    linear-gradient(180deg,var(--forest),var(--forest-deep))}
.metodo__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,80px);align-items:center}
.metodo__media{position:relative;aspect-ratio:8/7;border-radius:var(--radius);overflow:hidden}
.metodo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.metodo__quote{font-family:'Prata',serif;font-size:1.2rem;line-height:1.5;color:var(--gold-soft);border-left:1px solid var(--nude);padding-left:20px;margin-top:28px}
.metodo__quote cite{display:block;margin-top:10px;font:400 .8rem 'Montserrat',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,237,231,.6)}
.frentes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(44px,6vw,72px);border-top:1px solid var(--line-dark)}
.frente{padding:28px 24px 6px 0}
.frente:not(:first-child){padding-left:24px;border-left:1px solid var(--line-dark)}
.frente h3{color:var(--gold-soft);margin-bottom:10px}
.frente p{font-size:.93rem;color:rgba(244,237,231,.7)}

/* ---------- passos ---------- */
.passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:p}
.passo{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius);padding:30px 26px}
.passo::before{counter-increment:p;content:"0" counter(p);font-family:'Prata',serif;font-size:2.2rem;color:var(--nude);display:block;margin-bottom:16px;line-height:1}
.passo h3{margin-bottom:10px}
.passo p{font-size:.94rem;color:var(--muted)}

/* ---------- procedimentos ---------- */
.proc__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,64px)}
.proc__col h3{font-size:1.55rem;padding-bottom:18px;border-bottom:1px solid var(--ink)}
.proc__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .3s var(--ease)}
.proc__item:hover{padding-left:8px}
.proc__item strong{font:500 1.02rem/1.35 'Montserrat',sans-serif;display:block}
.proc__item span{font-size:.9rem;color:var(--muted);display:block;margin-top:4px}
.proc__item i{font-style:normal;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);white-space:nowrap}
.proc__item .proc__tag{display:inline-block;margin-top:0;font:500 .66rem/1.4 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);background:var(--terra);border-radius:999px;padding:4px 10px;margin-left:8px;vertical-align:middle}
.proc__nota{margin-top:34px;font-size:.92rem;color:var(--muted)}

/* ---------- resultados ---------- */
.res__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.res__grid figure{border-radius:var(--radius);overflow:hidden;background:var(--forest-deep)}
.res__grid img{width:100%;height:auto}
.res__nota{margin-top:22px;font-size:.84rem;color:rgba(244,237,231,.6);max-width:70ch}

/* ---------- sobre ---------- */
.sobre__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,84px);align-items:center}
.sobre__media{position:relative;aspect-ratio:4/5;border-radius:var(--radius) var(--radius) 220px 220px;overflow:hidden;box-shadow:var(--shadow)}
.sobre__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.sobre p+p{margin-top:16px}
.sobre__txt p{color:var(--muted)}
.sobre__lista{list-style:none;margin-top:28px;border-top:1px solid var(--line)}
.sobre__lista li{padding:14px 0;border-bottom:1px solid var(--line);font-size:.95rem;display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px}
.sobre__lista b{font-weight:500;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);padding-top:3px}

/* ---------- avaliações ---------- */
.deps__top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:36px}
.deps__nota{display:flex;align-items:center;gap:14px;font-size:.92rem;color:var(--muted)}
.deps__nota b{font-family:'Prata',serif;font-size:2.4rem;font-weight:400;color:var(--ink);line-height:1}
.stars{color:#E0A63A;letter-spacing:.12em;font-size:.95rem}
.deps__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 24px 24px;margin:0 -24px}
.deps__track::-webkit-scrollbar{display:none}
.dep{flex:0 0 min(86%,380px);scroll-snap-align:start;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 26px;display:flex;flex-direction:column}
.dep__txt{font-size:.96rem;color:var(--ink);display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.dep--aberto .dep__txt{display:block}
.dep__mais{align-self:flex-start;margin-top:8px;background:none;border:0;padding:4px 0;font:500 .82rem 'Montserrat',sans-serif;color:var(--terra);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dep__quem{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.88rem}
.dep__quem b{font-weight:500}
.dep__quem span{font-size:.74rem;color:var(--muted);letter-spacing:.06em}
.deps__ctrl{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:8px}
.deps__setas{display:flex;gap:10px}
.deps__nav{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:border-color .25s,opacity .25s}
.deps__nav:hover{border-color:var(--terra)}
.deps__nav:disabled{opacity:.3;cursor:default}

/* ---------- mentoria (segundo público: inversão de fundo) ---------- */
.mentoria{background:var(--nude);color:var(--forest-deep)}
.mentoria .eyebrow{color:var(--forest-deep);opacity:.75}
.mentoria__in{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:28px 48px;align-items:center}
.mentoria p{max-width:58ch;margin-top:14px}

/* ---------- faq ---------- */
.faq__grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,6vw,80px);align-items:start}
.faq__head{position:sticky;top:calc(var(--nav-h) + 28px)}
.faq__head .btn{margin-top:26px}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font:500 1.03rem/1.4 'Montserrat',sans-serif}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;border-right:1.5px solid var(--terra);border-bottom:1.5px solid var(--terra);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details p{padding:0 44px 24px 0;color:var(--muted);font-size:.97rem}

/* ---------- onde ---------- */
.onde__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:stretch}
.onde__info dl{margin-top:26px;border-top:1px solid var(--line)}
.onde__info dt{font-weight:500;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);padding-top:16px}
.onde__info dd{padding:4px 0 16px;border-bottom:1px solid var(--line);font-size:.97rem}
.onde__info .btn{margin-top:26px}
.onde__mapa{position:relative;min-height:380px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.onde__mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.02)}

/* ---------- cta final ---------- */
.cta{text-align:center;color:var(--bg);padding:clamp(84px,11vw,140px) 0;
  background:radial-gradient(720px 420px at 50% 0%, rgba(176,145,127,.3), transparent 64%),linear-gradient(180deg,var(--forest),var(--forest-deep))}
.cta .simbolo{width:44px;height:auto;margin:0 auto 26px;opacity:.9}
.cta p{max-width:52ch;margin:20px auto 34px;color:rgba(244,237,231,.74)}

/* ---------- footer ---------- */
.foot{background:var(--forest-deep);color:rgba(244,237,231,.7);padding:60px 0 28px;font-size:.9rem;border-top:1px solid var(--line-dark)}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:36px}
.foot__logo{height:44px;width:auto;margin-bottom:18px}
.foot h4{font:500 .74rem 'Montserrat',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.foot ul{list-style:none}
.foot li{margin-bottom:8px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--gold)}
.foot__legalbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line-dark);font-size:.8rem;color:rgba(244,237,231,.5)}
.foot__legalbar a{text-decoration:underline;text-underline-offset:2px}
.foot__aviso{margin-top:22px;font-size:.78rem;color:rgba(244,237,231,.45);max-width:90ch}

/* ---------- whatsapp flutuante ---------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;place-items:center;width:58px;height:58px;
  border-radius:50%;background:#25D366;color:#fff;box-shadow:0 16px 34px -12px rgba(37,211,102,.65);transition:transform .3s var(--ease)}
.wa-float:hover{transform:scale(1.08)}

/* ---------- abertura em fade + gates de animação ---------- */
.js body{opacity:0}
.js.pronto body{opacity:1;transition:opacity .6s ease}
.js:not(.semanim) .hero .h-in{opacity:0}
.js.gsap .anim{visibility:hidden}
.js .anim.is-visible{visibility:visible;opacity:1;transform:none}
.palavra{display:inline-block}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js body,.js .hero .h-in{opacity:1!important}
  .js.gsap .anim{visibility:visible}
}

/* ---------- responsivo ---------- */
@media (max-width:1020px){
  .frentes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .frente{padding:24px 20px 24px 0;border-bottom:1px solid var(--line-dark)}
  .frente:nth-child(odd){padding-left:0;border-left:0}
  .frente:nth-child(even){padding-left:20px}
  .passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav__links{gap:20px}
}
@media (max-width:860px){
  :root{--nav-h:68px}
  .brand__logo{height:34px}
  .nav__toggle{display:block}
  .nav__links{position:fixed;inset:var(--nav-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--forest-deep);
    height:0;overflow:hidden;visibility:hidden;transition:height .42s var(--ease),visibility .42s var(--ease);border-bottom:1px solid var(--line-dark)}
  .nav__links.open{visibility:visible}
  .nav__links li{border-top:1px solid var(--line-dark)}
  .nav__links a{display:block;padding:17px 24px;font-size:1rem}
  .nav__links li:last-child{padding:18px 24px 24px}
  .nav__links .btn{display:flex;min-height:52px}

  .hero{padding-top:calc(var(--nav-h) + 30px)}
  .hero__grid{grid-template-columns:minmax(0,1fr)}
  .hero__grid>*{grid-column:1}
  .hero h1{margin-bottom:22px}
  .hero h1 br{display:none}
  .hero__media{grid-column:1;grid-row:auto;aspect-ratio:auto;width:100%;height:min(52svh,440px);margin-bottom:26px;border-radius:200px 200px var(--radius) var(--radius)}
  .hero__media::after{border-radius:190px 190px 12px 12px}
  .hero__ctas .btn{flex:1 1 100%}

  .prova__grid{grid-template-columns:minmax(0,1fr);margin-top:-56px;gap:12px}
  .prova__card{padding:22px}
  .queixas__grid{grid-template-columns:minmax(0,1fr)}
  .queixa,.queixa:not(:nth-child(3n+1)){padding:24px 0 26px;border-left:0}
  .metodo__grid,.sobre__grid,.faq__grid,.onde__grid,.proc__cols,.mentoria__in{grid-template-columns:minmax(0,1fr)}
  .metodo__media{aspect-ratio:auto;height:min(58vw,340px)}
  .sobre__media{aspect-ratio:auto;height:min(118vw,520px);border-radius:var(--radius) var(--radius) 180px 180px}
  .faq__head{position:static}
  .res__grid{grid-template-columns:minmax(0,1fr);max-width:440px;margin:0 auto}
  .sobre__lista li{grid-template-columns:minmax(0,1fr);gap:2px}
  .foot__grid{grid-template-columns:minmax(0,1fr)}
  .onde__mapa{min-height:320px}
  .mentoria .btn{width:100%}
}
@media (max-width:560px){
  .frentes,.passos{grid-template-columns:minmax(0,1fr)}
  .frente,.frente:nth-child(even){padding:22px 0;border-left:0}
  .proc__item{grid-template-columns:minmax(0,1fr)}
  .proc__item i{display:none}
  summary{font-size:.98rem}
  .wa-float{right:16px;bottom:16px}
  .deps__ctrl .btn{width:100%}
}
