/* ==========================================================================
   Dr. Edu Freitas · LP
   Mobile-first. Preto + dourado, marfim como camada de contraste.
   ========================================================================== */

:root{
  --bk:#090807; --bk2:#110f0c; --bk3:#1a1713;
  --gold:#C9A64A; --gold-l:#DCC27A; --gold-d:#7E611A;
  --ivory:#F2ECE1; --ivory2:#E7DECE;
  --tx:#EFE9DD; --mut:#A69E8F; --mut-d:#5B5448; --ink:#17130d;
  --line:rgba(201,166,74,.24); --line-soft:rgba(239,233,221,.1); --line-l:rgba(23,19,13,.14);
  --serif:'Cormorant Garamond', 'Cormorant', Georgia, serif;
  --sans:'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --gut:20px;
  --hdr:66px;
  --r:18px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
}
@media (min-width:600px){ :root{ --gut:32px } }
@media (min-width:1100px){ :root{ --gut:56px; --hdr:84px } }

*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100% }
html.lenis, html.lenis body{ height:auto }
.lenis.lenis-smooth{ scroll-behavior:auto !important }
body{
  margin:0; background:var(--bk); color:var(--tx);
  font:300 16px/1.6 var(--sans); letter-spacing:.005em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:clip;
}
img,video,svg{ display:block; max-width:100% }
a{ color:inherit; text-decoration:none }
button,input,select,textarea{ font:inherit; color:inherit }
button{ cursor:pointer; background:none; border:0; padding:0 }
em{ font-style:italic }
::selection{ background:var(--gold); color:var(--bk) }
:focus-visible{ outline:2px solid var(--gold-l); outline-offset:3px; border-radius:4px }
[hidden]{ display:none !important }

.sr-only{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.skip{ position:fixed; left:12px; top:-60px; z-index:2000; background:var(--gold); color:var(--bk); padding:10px 14px; border-radius:6px; font-weight:500 }
.skip:focus{ top:12px }
.wrap{ width:100%; padding-inline:var(--gut); margin-inline:auto; max-width:1440px }
.results__grid > *, .faq__grid > *, .dr__info > *{ min-width:0 }

/* ---------- Tipografia ---------- */
.eyebrow{
  margin:0 0 16px; font:400 11px/1.4 var(--sans); letter-spacing:.24em; text-transform:uppercase; color:var(--gold-l);
  display:flex; align-items:center; gap:12px;
}
.eyebrow::before{ content:""; width:28px; height:1px; background:currentColor; opacity:.7 }
.layer--light .eyebrow{ color:var(--gold-d) }
.h2{ margin:0 0 18px; font:300 clamp(40px,10.4vw,92px)/.98 var(--serif); letter-spacing:-.012em }
.h2 em{ color:var(--gold-l); font-weight:300 }
.layer--light .h2 em{ color:var(--gold-d) }
.h3{ margin:0; font:400 clamp(26px,6.6vw,38px)/1.05 var(--serif) }
.lead{ margin:0; max-width:32em; color:var(--mut); font-size:15.5px }
.layer--light .lead{ color:var(--mut-d) }
.fine{ margin:0; font-size:12.5px; line-height:1.55; color:var(--mut) }
.layer--light .fine{ color:var(--mut-d) }

/* ---------- Botões ---------- */
.btn{
  --bg:transparent; --fg:var(--tx); --bd:var(--line);
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:54px; padding:0 26px; border-radius:999px; border:1px solid var(--bd);
  background:var(--bg); color:var(--fg);
  font:500 12px/1 var(--sans); letter-spacing:.16em; text-transform:uppercase; white-space:nowrap;
  transition:background .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease);
  overflow:hidden; isolation:isolate;
}
.btn::after{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:var(--tx); transform:translateY(101%); transition:transform .6s var(--ease) }
@media (hover:hover){ .btn:hover::after{ transform:translateY(0) } .btn:hover{ color:var(--bk); border-color:var(--tx) } }
.btn--gold{ --bg:var(--gold); --fg:#120e06; --bd:var(--gold) }
.btn--line{ --bd:rgba(239,233,221,.32) }
.btn--dark{ --bg:var(--gold); --fg:#120e06; --bd:var(--gold) }
.btn--sm{ min-height:42px; padding:0 18px; font-size:11px }
.btn--block{ width:100% }

.link-arrow{
  display:inline-flex; align-items:center; gap:10px; padding:10px 0;
  font:500 11.5px/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:inherit;
  background-image:linear-gradient(currentColor,currentColor); background-size:0 1px; background-position:0 100%; background-repeat:no-repeat;
  transition:background-size .6s var(--ease);
}
.link-arrow::after{ content:"→"; font-size:15px; letter-spacing:0; transition:transform .5s var(--ease) }
@media (hover:hover){ .link-arrow:hover{ background-size:100% 1px } .link-arrow:hover::after{ transform:translateX(4px) } }
.link-arrow--light{ color:var(--gold-l) }
.layer--light .link-arrow{ color:var(--gold-d) }
.link-inline{ text-decoration:underline; text-underline-offset:3px; color:var(--gold-l); font-size:inherit }
.ph-text{ color:var(--gold-l); font-size:12px; opacity:.8 }

/* ---------- Pré-carregamento ---------- */
.loader{ display:none }
.js .loader{ position:fixed; inset:0; z-index:1500; background:var(--bk); display:grid; place-items:center; align-content:center; gap:24px }
.no-loader .loader, .no-anim .loader{ display:none }
.loader__logo{ width:150px; height:auto; clip-path:inset(0 100% 0 0) }
.loader__line{ width:120px; height:1px; background:var(--line-soft); overflow:hidden }
.loader__line i{ display:block; height:100%; background:var(--gold); transform:scaleX(0); transform-origin:left }
.js:not(.ready):not(.no-anim) .hero__title,
.js:not(.ready):not(.no-anim) .hero__foot,
.js:not(.ready):not(.no-anim) .hero__ring{ opacity:0 }

/* ---------- Cursor: só a bolinha dourada ---------- */
.cursor{ display:none }
@media (hover:hover) and (pointer:fine){
  .js .cursor{
    display:block; position:fixed; left:0; top:0; z-index:1400; pointer-events:none;
    width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; border:1px solid var(--gold-l); opacity:0; transition:opacity .3s;
  }
  .cursor.is-on{ opacity:1 }
}

/* ---------- Cabeçalho ---------- */
.hdr{
  position:fixed; inset:0 0 auto; z-index:900; height:var(--hdr);
  display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 var(--gut);
  color:var(--tx); transition:transform .7s var(--ease), color .5s var(--ease);
}
.hdr::before{
  content:""; position:absolute; inset:0; z-index:-1; opacity:0; transition:opacity .5s var(--ease);
  background:rgba(9,8,7,.9); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line-soft);
}
.hdr.is-solid::before{ opacity:1 }
.hdr.is-hidden{ transform:translateY(-100%) }
.hdr.is-light{ color:var(--ink) }
.hdr.is-light::before{ background:rgba(242,236,225,.95); border-color:var(--line-l) }
.hdr.menu-open{ transform:none; color:var(--tx) }
.hdr.menu-open::before{ opacity:0 }
.logo img{ height:40px; width:auto }.hdr__nav{ display:none }
.hdr__actions{ display:flex; align-items:center; gap:12px }
.hdr__sim{ display:none; font:500 11px/1 var(--sans); letter-spacing:.16em; text-transform:uppercase; padding:10px 4px }
.burger{ position:relative; width:44px; height:44px; display:grid; place-items:center }
.burger span{ position:absolute; width:24px; height:1px; background:currentColor; transition:transform .6s var(--ease) }
.burger span:first-child{ transform:translateY(-4px) }
.burger span:last-child{ transform:translateY(4px) }
.burger[aria-expanded="true"] span:first-child{ transform:rotate(45deg) }
.burger[aria-expanded="true"] span:last-child{ transform:rotate(-45deg) }
@media (min-width:1100px){
  .logo img{ height:50px }
  .hdr__nav{ display:flex; gap:34px; position:absolute; left:50%; transform:translateX(-50%) }
  .hdr__nav a{ font:400 11.5px/1 var(--sans); letter-spacing:.18em; text-transform:uppercase; padding:10px 0; position:relative }
  .hdr__nav a::after{ content:""; position:absolute; left:0; right:0; bottom:4px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .6s var(--ease) }
  .hdr__nav a:hover::after{ transform:scaleX(1); transform-origin:left }
  .hdr__sim{ display:block }
  .burger{ display:none }
}

/* ---------- Menu (tipografia na escala da página) ---------- */
.menu{
  position:fixed; inset:0; z-index:850; background:var(--bk); visibility:hidden;
  display:flex; flex-direction:column; gap:28px; overflow:auto;
  padding:calc(var(--hdr) + 18px) var(--gut) calc(24px + env(safe-area-inset-bottom));
  clip-path:inset(0 0 100% 0); transition:clip-path .8s var(--ease-io), visibility 0s .8s;
}
.menu.is-open{ visibility:visible; clip-path:inset(0 0 0 0); transition:clip-path .8s var(--ease-io) }
.menu__nav{ display:flex; flex-direction:column }
.menu__nav a{
  display:flex; align-items:baseline; gap:14px; padding:14px 0; border-bottom:1px solid var(--line-soft);
  font:400 24px/1.15 var(--serif); color:var(--tx);
  transform:translateY(18px); opacity:0; transition:transform .7s var(--ease), opacity .7s var(--ease);
}
.menu__nav a small{ font:400 10px/1 var(--sans); letter-spacing:.2em; color:var(--gold-l) }
.menu.is-open .menu__nav a{ transform:none; opacity:1 }
.menu.is-open .menu__nav a:nth-child(1){ transition-delay:.2s } .menu.is-open .menu__nav a:nth-child(2){ transition-delay:.25s }
.menu.is-open .menu__nav a:nth-child(3){ transition-delay:.3s } .menu.is-open .menu__nav a:nth-child(4){ transition-delay:.35s }
.menu.is-open .menu__nav a:nth-child(5){ transition-delay:.4s }
.menu__ctas{ display:grid; gap:10px }
.menu__foot{ margin-top:auto; display:flex; flex-wrap:wrap; gap:10px 22px; font:400 11px/1.4 var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--mut) }
.menu__foot a{ color:var(--tx) }

/* ==========================================================================
   1. ABERTURA
   ========================================================================== */
.hero{ position:relative; z-index:1; height:100vh; height:100svh; min-height:600px; background:var(--bk) }
.hero__stage{ position:relative; height:100%; overflow:hidden; display:flex; flex-direction:column; padding:calc(var(--hdr) + 22px) var(--gut) 24px }
/* Vídeo girado (horizontal): no celular vira uma faixa larga no meio da tela, com as bordas esfumadas */
.hero__media{
  position:absolute; z-index:0; will-change:transform; background:#0d0b09 url("../../img/web/hero-poster.webp?v=3") center/cover;
  left:calc(50% - 110vw); width:184vw; /* o sorriso fica ~10% à direita no vídeo; desloca a faixa para centralizar */ height:103.5vw; top:calc(60% - 51.75vw);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%); mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);
}
.hero__video{ width:100%; height:100%; object-fit:cover; object-position:60% 50% }
@media (min-aspect-ratio:4/5){ .hero__media{ inset:0; width:auto; height:auto; -webkit-mask-image:none; mask-image:none } }
.hero__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(9,8,7,.86) 0%, rgba(9,8,7,.35) 30%, rgba(9,8,7,0) 46%, rgba(9,8,7,.25) 60%, rgba(9,8,7,.94) 86%);
}
.hero__title{ position:relative; z-index:2; margin:0; display:flex; flex-direction:column; font-weight:300 }
.hero__kicker{ order:3; display:block; margin-top:14px; max-width:21em; font:400 11px/1.6 var(--sans); letter-spacing:.2em; text-transform:uppercase; color:var(--tx); opacity:.86 }
.hero__l1,.hero__l2{ display:block; font-family:var(--serif) }
.hero__l1{ font-size:clamp(58px,17.4vw,220px); font-weight:600; line-height:.86; text-transform:uppercase; letter-spacing:-.02em; color:var(--gold-l) }
.hero__l2{ font-size:clamp(40px,11.6vw,150px); line-height:1; color:var(--tx); margin-top:.04em }
.hero__statement{
  position:absolute; z-index:2; left:var(--gut); right:var(--gut); top:44%; margin:0; text-align:center; pointer-events:none;
  font:300 clamp(28px,7.4vw,64px)/1.12 var(--serif); color:var(--tx); opacity:0;
}
.hero__ring{ position:absolute; z-index:2; right:var(--gut); top:47%; width:72px; height:72px; display:grid; place-items:center; pointer-events:none }
.hero__ring svg{ position:absolute; inset:0; width:100%; height:100% }
.hero__ring circle{ fill:none; stroke:rgba(239,233,221,.38); stroke-width:1; vector-effect:non-scaling-stroke }
.hero__arrow{ width:1px; height:22px; background:var(--tx); position:relative; animation:drip 2.4s var(--ease) infinite }
.hero__arrow::after{ content:""; position:absolute; left:-3px; bottom:0; width:7px; height:7px; border-right:1px solid var(--tx); border-bottom:1px solid var(--tx); transform:rotate(45deg) }
@keyframes drip{ 0%{ transform:translateY(-8px); opacity:0 } 30%{ opacity:1 } 100%{ transform:translateY(8px); opacity:0 } }
.hero__foot{ position:relative; z-index:2; margin-top:auto; padding-top:16px }
.hero__ctas{ display:flex; flex-direction:column; gap:10px }
.trust{ list-style:none; margin:16px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:4px 0; font:400 11px/1.4 var(--sans); letter-spacing:.08em; color:var(--mut) }
.trust li{ display:flex; align-items:center }
.trust li + li::before{ content:""; width:3px; height:3px; border-radius:50%; background:var(--gold); margin:0 10px }
.trust strong{ color:var(--gold-l); font-weight:500; margin-right:4px }
@media (min-width:600px){ .hero__ctas{ flex-direction:row; flex-wrap:wrap } .trust{ justify-content:flex-start } }
@media (min-width:1100px){
  .hero__stage{ padding-bottom:44px }
  .hero__title{ margin-top:4vh }
  .hero__l1{ font-size:clamp(120px,13.6vw,240px) }
  .hero__l2{ font-size:clamp(70px,7.6vw,140px); padding-left:22vw }
  .hero__kicker{ margin-top:22px; padding-left:22vw; max-width:none }
  .hero__foot{ display:flex; align-items:center; justify-content:space-between; gap:30px }
  .trust{ margin:0 }
  .hero__ring{ width:120px; height:120px; left:50%; right:auto; margin-left:-60px; top:auto; bottom:20vh }
}

/* ==========================================================================
   2. RESULTADOS
   ========================================================================== */
.results{ position:relative; z-index:2; background:var(--bk); padding:84px 0 72px }
.results__grid{ display:grid; gap:26px }
.results__copy .h2{ margin-bottom:14px }
.ba{ margin:0 }
.ba__frame{
  position:relative; aspect-ratio:1100/719; border-radius:var(--r); overflow:hidden; background:var(--bk3);
  touch-action:pan-y; user-select:none; -webkit-user-select:none; cursor:ew-resize; --p:50%; outline:none;
}
.ba__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; transition:opacity .5s var(--ease) }
.ba__clip{ position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--p)) 0 0) }
.ba__frame.is-swap .ba__img{ opacity:0 }
.ba__tag{
  position:absolute; top:12px; z-index:2; padding:6px 10px; border-radius:999px;
  font:500 10px/1 var(--sans); letter-spacing:.2em; text-transform:uppercase; background:rgba(9,8,7,.6); color:var(--tx); backdrop-filter:blur(6px); transition:opacity .3s;
}
.ba__tag--l{ left:12px } .ba__tag--r{ right:12px; background:var(--gold); color:#120e06 }
.ba__handle{ position:absolute; top:0; bottom:0; left:var(--p); z-index:3; width:1px; background:var(--gold-l); pointer-events:none }
.ba__handle span{
  position:absolute; top:50%; left:50%; width:52px; height:52px; margin:-26px 0 0 -26px; border-radius:50%;
  border:1px solid var(--gold-l); background:rgba(9,8,7,.55); backdrop-filter:blur(6px); display:grid; place-items:center; transition:transform .4s var(--ease);
}
.ba__handle span::before{ content:"‹  ›"; font:400 22px/1 var(--serif); color:var(--gold-l); margin-top:-3px }
.ba__frame.is-drag .ba__handle span{ transform:scale(.86) }
.ba__range{ position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; pointer-events:none }
.ba__frame:focus-within{ box-shadow:0 0 0 2px var(--gold-l) }
.ba__bar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:14px }
.ba__cases{ display:flex; gap:6px }
.ba__cases button{ min-height:38px; padding:0 14px; border-radius:999px; border:1px solid rgba(239,233,221,.18); font:400 12px/1 var(--sans); letter-spacing:.06em; color:var(--mut); transition:all .4s var(--ease) }
.ba__cases button.is-on{ background:var(--tx); border-color:var(--tx); color:var(--bk) }
.results__cta .btn{ width:100% }
@media (min-width:600px){ .results__cta .btn{ width:auto } }
@media (min-width:900px){
  .results{ padding:130px 0 120px }
  .results__grid{ grid-template-columns:.75fr 1.4fr; align-items:center; gap:24px 80px }
  .results__copy{ grid-row:1 / span 2 }
  .results__cta{ grid-column:2 }
}

/* ==========================================================================
   3. DR. EDU FREITAS
   ========================================================================== */
.dr{ position:relative; z-index:2; background:var(--bk); padding:30px 0 90px; overflow:hidden }
.dr__stage{ --fs:clamp(66px,19vw,280px); position:relative; display:grid; justify-items:center; padding:calc(var(--fs) * .5) 0 calc(var(--fs) * .38) }
.dr__photo{ position:relative; z-index:2; width:66vw; max-width:440px; aspect-ratio:3/4; margin:0; overflow:hidden; border-radius:3px; will-change:transform }
.dr__photo img{ width:100%; height:112%; object-fit:cover; object-position:50% 15% }
.dr__photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(9,8,7,0) 60%,rgba(9,8,7,.45)) }
.dr__w{
  position:absolute; left:0; right:0; text-align:center; white-space:nowrap; pointer-events:none;
  font:300 var(--fs)/.8 var(--serif); letter-spacing:-.02em; text-transform:uppercase; will-change:transform;
}
.dr__w--back{ top:0; z-index:1; color:var(--tx) }
.dr__w--front{ bottom:0; z-index:3; color:var(--gold-l) }
.dr__ring{ position:absolute; z-index:4; right:5vw; top:50%; width:104px; height:104px; display:grid; place-items:center; border-radius:50%; background:rgba(9,8,7,.55); border:1px solid rgba(220,194,122,.5); backdrop-filter:blur(6px) }
.dr__ring svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; animation:spin 22s linear infinite }
.dr__ring text{ font:400 13px var(--sans); letter-spacing:.18em; fill:var(--tx) }
.dr__ring > span[aria-hidden]{ font:300 24px/1 var(--serif); color:var(--gold-l) }
@keyframes spin{ to{ transform:rotate(360deg) } }
.dr__info{ display:grid; gap:22px; margin-top:34px }
.dr__title{ margin:0; font:400 11px/1.4 var(--sans); letter-spacing:.24em; text-transform:uppercase; color:var(--gold-l); display:flex; align-items:center; gap:12px }
.dr__title::before{ content:""; width:28px; height:1px; background:currentColor; opacity:.7 }
.dr__quote{ margin:0; font:300 italic clamp(26px,6.8vw,48px)/1.18 var(--serif); color:var(--tx); text-wrap:pretty }
.dr__quote em{ color:var(--gold-l) }
.dr__id{ margin:0 0 22px; font:400 11px/1.8 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--mut) }
.dr__side .btn{ width:100% }
@media (min-width:600px){ .dr__side .btn{ width:auto } }
@media (min-width:900px){
  .dr{ padding:60px 0 140px }
  .dr__stage{ --fs:clamp(120px,15vw,280px) }
  .dr__photo{ width:30vw }
  .dr__ring{ right:16vw; width:150px; height:150px }
  .dr__info{ grid-template-columns:1.4fr 1fr; align-items:end; gap:20px 80px; margin-top:60px }
  .dr__title{ grid-column:1 / -1 }
}

/* ==========================================================================
   Camadas
   ========================================================================== */
.layer{ position:relative; background:var(--bk) }
.layer--light{ background:var(--ivory); color:var(--ink); border-radius:26px 26px 0 0 }
.steps.layer{ border-radius:26px 26px 0 0 }
.layer__inner{ position:relative; transform-origin:50% 0 }
.treat{ z-index:3 } .steps{ z-index:4 } .faq{ z-index:5 } .foot{ z-index:6 }

/* ==========================================================================
   4. TRATAMENTOS
   ========================================================================== */
.treat{ padding:84px 0 80px }
.treat__head{ margin-bottom:36px }
.stack{ display:grid; gap:16px }
.card{
  position:sticky; top:calc(var(--hdr) + 8px);
  display:flex; flex-direction:column; overflow:hidden; border-radius:var(--r);
  background:var(--bk2); color:var(--tx); box-shadow:0 30px 60px -30px rgba(23,19,13,.5);
  transform-origin:50% 0; will-change:transform;
}
.card + .card{ top:calc(var(--hdr) + 22px) }
.card__media{ position:relative; margin:0; height:clamp(140px,22svh,230px); overflow:hidden }
.card__media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.08) }
.card__body{ padding:18px 20px 20px }
.card__num{ margin:0 0 8px; font:400 10.5px/1 var(--sans); letter-spacing:.22em; text-transform:uppercase; color:var(--gold-l) }
.card__title{ margin:0 0 8px; font:300 clamp(32px,8.6vw,54px)/1 var(--serif) }
.card__text{ margin:0 0 14px; font-size:14px; line-height:1.5; color:var(--mut) }
.price{ margin:0 0 16px; display:grid; border-top:1px solid var(--line-soft) }
.price div{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line-soft) }
.price dt{ font:400 12px/1.3 var(--sans); letter-spacing:.06em; color:var(--mut) }
.price dd{ margin:0; font:400 20px/1 var(--serif); white-space:nowrap }
.price__big{ font-size:34px !important; color:var(--tx) }
.price__pix{ color:var(--gold-l) }
.card__ctas{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px }
.card__ctas .btn{ flex:1 1 auto; min-height:48px }
.card__ctas .link-arrow{ color:var(--tx) }
@media (max-width:899px) and (max-height:720px){ .card,.card + .card{ position:relative; top:auto } }
@media (min-width:900px){
  .treat{ padding:140px 0 130px }
  .treat__head{ display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:20px 60px; margin-bottom:64px }
  .treat__head .eyebrow{ grid-column:1 / -1 }
  .treat__head .h2{ margin:0 }
  .card{ flex-direction:row; min-height:min(72vh,600px) }
  .card__media{ flex:1.1; height:auto }
  .card__body{ flex:1; padding:48px; display:flex; flex-direction:column; justify-content:center }
  .card + .card{ top:calc(var(--hdr) + 36px) }
}
.more{ margin-top:64px }
.more__head{ display:grid; gap:16px; margin-bottom:6px }
.chips{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; margin-inline:calc(var(--gut) * -1); padding:2px var(--gut) 6px }
.chips::-webkit-scrollbar{ display:none }
.chip{ flex:0 0 auto; min-height:40px; padding:0 16px; border-radius:999px; border:1px solid var(--line-l); font:400 12px/1 var(--sans); letter-spacing:.06em; color:var(--mut-d); transition:all .4s var(--ease) }
.chip.is-on{ background:var(--ink); border-color:var(--ink); color:var(--ivory) }
.svc{ list-style:none; margin:0; padding:0 }
.svc li{ display:grid; grid-template-columns:1fr auto; grid-template-areas:"name price" "unit price"; align-items:center; column-gap:16px; padding:13px 0; border-bottom:1px solid var(--line-l) }
.svc__name{ grid-area:name; font:400 21px/1.15 var(--serif) }
.svc__unit{ grid-area:unit; font-size:12px; color:var(--mut-d) }
.svc__price{ grid-area:price; font:400 22px/1 var(--serif); color:var(--gold-d); white-space:nowrap }
.more__foot{ display:grid; gap:8px; margin-top:18px }
@media (min-width:900px){
  .more{ margin-top:110px; display:grid; grid-template-columns:.9fr 1.4fr; gap:0 80px }
  .more__head{ align-content:start }
  .chips{ flex-wrap:wrap; margin:0; padding:0; overflow:visible }
  .more__foot{ grid-column:2 }
}

/* ==========================================================================
   5. COMO FUNCIONA
   ========================================================================== */
.steps{ padding:84px 0 84px }
.steps__video{ position:relative; margin:26px 0 0; aspect-ratio:4/5; border-radius:var(--r); overflow:hidden; background:var(--bk3) url("../../img/web/consultorio-poster.webp") center/cover }
.steps__video video{ width:100%; height:100%; object-fit:cover }
.steps__video figcaption{ position:absolute; left:12px; bottom:12px; padding:6px 10px; border-radius:999px; font:500 10px/1 var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--tx); background:rgba(9,8,7,.6); backdrop-filter:blur(6px) }
.steps__list{ list-style:none; margin:26px 0 30px; padding:0; display:grid }
.steps__list li{ display:grid; grid-template-columns:62px 1fr; gap:6px; padding:20px 0; border-top:1px solid var(--line-soft) }
.steps__list li:last-child{ border-bottom:1px solid var(--line-soft) }
.steps__n{ font:300 46px/.9 var(--serif); color:var(--gold-l) }
.steps__list h3{ margin:4px 0 6px; font:400 24px/1.1 var(--serif) }
.steps__list p{ margin:0; font-size:14.5px; color:var(--mut) }
.steps__cta .btn{ width:100% }
@media (min-width:600px){ .steps__cta .btn{ width:auto } }
@media (min-width:900px){
  .steps{ padding:140px 0 130px }
  .steps__grid{ display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr); column-gap:90px; align-items:start }
  .steps__video{ grid-column:1; grid-row:1 / span 3; margin:0; max-height:80vh }
  .steps__head, .steps__list, .steps__cta{ grid-column:2 }
  .steps__list{ margin:40px 0 40px }
  .steps__list li{ grid-template-columns:90px 1fr; padding:26px 0 }
  .steps__n{ font-size:60px }
  .steps__list h3{ font-size:28px }
}

/* ==========================================================================
   6. DÚVIDAS (marfim)
   ========================================================================== */
.faq{ padding:84px 0 90px }
.faq__grid{ display:grid; gap:28px }
.acc details{ border-bottom:1px solid var(--line-l) }
.acc details:first-child{ border-top:1px solid var(--line-l) }
.acc summary{ list-style:none; cursor:pointer; position:relative; padding:18px 40px 18px 0; font:400 21px/1.25 var(--serif); color:var(--ink); transition:color .4s }
.acc summary::-webkit-details-marker{ display:none }
.acc summary::before,.acc summary::after{ content:""; position:absolute; right:6px; top:50%; width:14px; height:1px; background:var(--gold-d); transition:transform .5s var(--ease) }
.acc summary::after{ transform:rotate(90deg) }
.acc details[open] summary::after{ transform:rotate(0) }
.acc details[open] summary{ color:var(--gold-d) }
.acc__body{ overflow:hidden }
.acc__body p{ margin:0; padding:0 30px 20px 0; color:var(--mut-d); font-size:15px }
@media (hover:hover){ .acc summary:hover{ color:var(--gold-d) } }
@media (min-width:900px){
  .faq{ padding:140px 0 140px }
  .faq__grid{ grid-template-columns:1fr 1.3fr; gap:80px }
  .faq__head{ position:sticky; top:calc(var(--hdr) + 40px); align-self:start }
  .acc summary{ font-size:25px }
}

/* ==========================================================================
   Rodapé
   ========================================================================== */
.foot{ position:relative; background:var(--bk); padding:80px 0 calc(96px + env(safe-area-inset-bottom)) }
.foot__top{ display:grid; gap:26px; padding-bottom:44px; border-bottom:1px solid var(--line-soft) }
.foot__title{ margin:0; font:300 clamp(40px,10vw,90px)/1 var(--serif) }
.foot__title em{ color:var(--gold-l) }
.foot__ctas{ display:grid; gap:10px }
.foot__cols{ display:grid; gap:24px; padding-top:36px; padding-bottom:30px }
.foot__cols p{ margin:0 0 4px; font-size:14px; color:var(--tx) }
.foot__cols a{ border-bottom:1px solid var(--line) }
.foot__label{ font:400 10.5px/1.3 var(--sans) !important; letter-spacing:.2em; text-transform:uppercase; color:var(--mut) !important; margin-bottom:10px !important }
.foot__word{
  margin:30px 0 26px; overflow:hidden; text-align:center; white-space:nowrap; font:600 15vw/.8 var(--serif); letter-spacing:-.02em;
  background:linear-gradient(180deg,var(--gold-l),rgba(201,166,74,.06) 85%); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.foot__legal{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; font-size:12px; color:var(--mut) }
@media (min-width:600px){ .foot__ctas{ display:flex; flex-wrap:wrap } }
@media (min-width:900px){
  .foot{ padding-bottom:40px }
  .foot__top{ grid-template-columns:1fr auto; align-items:end }
  .foot__cols{ grid-template-columns:repeat(3,1fr); align-items:start }
}

/* ==========================================================================
   Barra fixa (celular) + WhatsApp flutuante (desktop)
   ========================================================================== */
.dock{
  position:fixed; z-index:880; left:10px; right:10px; bottom:calc(10px + env(safe-area-inset-bottom));
  display:grid; grid-template-columns:auto 1fr auto; gap:6px; padding:6px; border-radius:999px;
  background:rgba(17,15,12,.88); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid var(--line);
  transform:translateY(150%); transition:transform .8s var(--ease); box-shadow:0 16px 40px -12px rgba(0,0,0,.6);
}
.dock.is-on{ transform:none }
.dock > *{ display:flex; align-items:center; justify-content:center; min-height:48px; border-radius:999px; font:500 11px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase }
.dock__sim{ padding:0 16px; color:var(--tx); border:1px solid rgba(239,233,221,.18) }
.dock__cta{ background:var(--gold); color:#120e06; padding:0 10px; white-space:nowrap }
.dock__wa{ width:48px; color:var(--tx); border:1px solid rgba(239,233,221,.18) }
.dock__wa svg,.wa-float svg{ width:22px; height:22px; fill:currentColor }
@media (max-width:359px){ .dock__cta{ font-size:10px; letter-spacing:.08em } .dock__sim{ padding:0 12px } }
.wa-float{ display:none }
@media (min-width:900px){
  .dock{ display:none }
  .wa-float{ position:fixed; z-index:880; right:28px; bottom:28px; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:#120e06; box-shadow:0 18px 40px -14px rgba(0,0,0,.6); transform:scale(0); transition:transform .7s var(--ease) }
  .wa-float.is-on{ transform:scale(1) }
}

/* ==========================================================================
   Folhas: simulador, agendamento, privacidade
   ========================================================================== */
.sheet{ padding:0; margin:0; border:0; width:100%; height:100%; max-width:none; max-height:none; background:transparent; color:var(--tx); overflow:hidden }
.sheet[open]{ display:flex; align-items:flex-end; justify-content:center }
.sheet::backdrop{ background:rgba(5,4,3,.6); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px) }
.sheet__panel{
  position:relative; width:100%; max-height:92svh; overflow:auto; overscroll-behavior:contain;
  background:var(--bk2); border:1px solid var(--line); border-bottom:0; border-radius:26px 26px 0 0;
  padding:10px 20px calc(22px + env(safe-area-inset-bottom));
  transform:translateY(100%); transition:transform .7s var(--ease);
}
.sheet.is-in .sheet__panel{ transform:none }
.sheet__grab{ width:42px; height:4px; border-radius:4px; background:rgba(239,233,221,.22); margin:0 auto 14px }
.sheet__head{ position:relative; padding-right:44px; margin-bottom:18px }
.sheet__head .eyebrow{ margin-bottom:8px }
.sheet__title{ margin:0; font:300 31px/1.05 var(--serif) }
.sheet__close{ position:absolute; right:-6px; top:-8px; width:44px; height:44px; font:300 34px/1 var(--serif); color:var(--tx) }
.sheet__text p{ color:var(--mut); margin:0 0 14px }
@media (min-width:700px){
  .sheet[open]{ align-items:center }
  .sheet__panel{ width:min(540px, calc(100% - 48px)); border-radius:26px; border-bottom:1px solid var(--line); padding:18px 34px 30px; transform:translateY(30px) scale(.97); opacity:0; transition:transform .7s var(--ease), opacity .5s var(--ease) }
  .sheet.is-in .sheet__panel{ opacity:1 }
  .sheet__grab{ display:none }
}

/* Segmentos e campos (dentro das folhas) */
.seg{ display:flex; flex-wrap:wrap; gap:8px }
.seg label{ position:relative; flex:1 1 auto; cursor:pointer }
.seg input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer }
.seg span{ display:flex; align-items:center; justify-content:center; min-height:46px; padding:0 14px; border-radius:999px; border:1px solid rgba(239,233,221,.18); font:400 14px/1.15 var(--sans); text-align:center; color:var(--tx); transition:background .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease) }
.seg input:checked + span{ background:var(--gold); border-color:var(--gold); color:#120e06; font-weight:500 }
.seg input:focus-visible + span{ outline:2px solid var(--gold-l); outline-offset:2px }
.seg--sm span{ min-height:40px; font-size:13px }

.sim__group{ margin-bottom:16px }
.sim__label{ display:block; margin-bottom:8px; font:400 10.5px/1.3 var(--sans); letter-spacing:.2em; text-transform:uppercase; color:var(--mut) }
.sim__select{ margin-top:10px; width:100%; min-height:48px; padding:0 40px 0 14px; border-radius:12px; border:1px solid rgba(239,233,221,.16); background:rgba(239,233,221,.04) linear-gradient(45deg,transparent 50%,var(--gold-l) 50%) calc(100% - 20px) 50%/5px 5px no-repeat; color:var(--tx); font-size:15px; -webkit-appearance:none; appearance:none }
.sim__select option{ background:var(--bk2) }
.sim__range{ margin-top:14px }
.sim__nrow{ display:flex; justify-content:space-between; align-items:baseline; font-size:13px; color:var(--mut) }
.sim__nrow strong{ font:400 24px/1 var(--serif); color:var(--gold-l) }
.sim__range input{ width:100%; accent-color:var(--gold); height:28px }
.sim__ticks{ position:relative; height:14px; margin:2px 9px 0; font:400 10.5px/1 var(--sans); color:var(--mut); letter-spacing:.06em }
.sim__ticks span{ position:absolute; top:0; transform:translateX(-50%) }
.sim__out{ display:flex; flex-direction:column; gap:6px; margin:6px 0 12px; padding:18px 18px 16px; border-radius:16px; background:linear-gradient(140deg, rgba(201,166,74,.16), rgba(201,166,74,.03)); border:1px solid var(--line) }
.sim__kicker{ font:400 10.5px/1.3 var(--sans); letter-spacing:.2em; text-transform:uppercase; color:var(--gold-l) }
.sim__value{ font:300 44px/1 var(--serif); color:var(--tx); font-variant-numeric:lining-nums tabular-nums }
.sim__detail{ font-size:13px; color:var(--mut) }
.sim__fine{ margin-bottom:14px }

.book__price{ margin:8px 0 0; font-size:13px; color:var(--mut) }
.book__price strong{ font:400 20px/1 var(--serif); color:var(--gold-l); margin-right:4px }
.form__progress{ height:2px; background:var(--line-soft); border-radius:2px; overflow:hidden; margin:16px -44px 0 0 }
.form__progress i{ display:block; height:100%; width:33.33%; background:var(--gold); transition:width .7s var(--ease) }
#bookingForm{ position:relative }
.fstep{ border:0; margin:0; padding:0; min-width:0; display:none }
.fstep.is-active{ display:block }
.fstep legend,.fstep .legend{ display:block; padding:0; margin:0 0 16px; font:300 26px/1.1 var(--serif); color:var(--tx) }
.field{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px }
.field > span{ font:400 10.5px/1.3 var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--mut) }
.field input,.field select,.field textarea{ width:100%; min-height:50px; padding:12px 14px; border-radius:12px; border:1px solid rgba(239,233,221,.16); background:rgba(239,233,221,.04); color:var(--tx); font-size:16px; outline:none; transition:border-color .3s, background .3s; -webkit-appearance:none; appearance:none }
.field select{ background-image:linear-gradient(45deg,transparent 50%,var(--gold-l) 50%),linear-gradient(135deg,var(--gold-l) 50%,transparent 50%); background-position:calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size:5px 5px; background-repeat:no-repeat; padding-right:40px }
.field select option{ background:var(--bk2); color:var(--tx) }
.field textarea{ resize:vertical; min-height:70px }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--gold); background:rgba(201,166,74,.06) }
.field input[type="date"]{ color-scheme:dark }
.is-bad{ border-color:#d58a6a !important }
.date-row{ padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--line-soft) }
.date-row .field{ margin-bottom:10px }
.link-add{ font:400 13px/1.3 var(--sans); color:var(--gold-l); padding:6px 0 }
.check{ display:flex; gap:12px; align-items:flex-start; font-size:13.5px; color:var(--mut); margin:4px 0; cursor:pointer }
.check input{ flex:0 0 22px; width:22px; height:22px; margin:1px 0 0; accent-color:var(--gold) }
.review{ margin:0 0 14px; padding:16px; border-radius:12px; background:rgba(239,233,221,.05); border:1px solid var(--line-soft); white-space:pre-wrap; word-break:break-word; font:400 14px/1.6 var(--sans); color:var(--tx); max-height:300px; overflow:auto }
.form__sim{ margin:-4px 0 14px; padding:12px 14px; border-radius:12px; border:1px dashed var(--line); font-size:13px; color:var(--gold-l) }
.form__error{ margin:0; color:#e6a184; font-size:13.5px }
.form__error:not(:empty){ margin:0 0 12px }
.form__nav{ display:flex; gap:10px; align-items:center; margin-top:8px }
.form__nav [data-next],.form__nav [data-send]{ flex:1 }
.form__privacy{ margin-top:14px }

/* ==========================================================================
   Movimento reduzido
   ========================================================================== */
.reduced .hero__arrow, .reduced .dr__ring svg{ animation:none }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ transition-duration:.01ms !important; animation-duration:.01ms !important }
}
.menu.is-open ~ .dock{ transform:translateY(150%) }
.hp{ position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0 }

/* ==========================================================================
   Rodada 10/11: sem preços nem simulador; textos novos dos tratamentos
   ========================================================================== */
.dock{ grid-template-columns:1fr auto }
.card,.card + .card{ position:relative; top:auto }
.card__label{ margin:4px 0 8px; font:500 10.5px/1.3 var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--gold-l) }
.card__list{ list-style:none; margin:0 0 14px; padding:0; border-top:1px solid var(--line-soft) }
.card__list li{ display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid var(--line-soft); font-size:13.5px; line-height:1.45 }
.card__list li span:first-child{ font:400 19px/1.2 var(--serif); color:var(--tx) }
.card__list li span:last-child{ color:var(--mut); text-align:right }
.card__list--stack li{ flex-direction:column; gap:4px }
.card__list--stack li span:last-child{ text-align:left }
.card__more{ font-size:13px }
.card__more strong{ color:var(--tx); font-weight:500 }
.treat__cta{ display:flex; justify-content:center; margin-top:40px }
.book__price{ margin:8px 0 0; font-size:12px; line-height:1.5; color:var(--mut); max-width:34em }
@media (min-width:900px){ .card__body{ padding:44px 48px } .card__media img{ min-height:100% } }

/* Cards: foto vertical no desktop (10/11) */
.card__media picture{ display:contents }
