:root{
  --bg:#04060B;--navy:#0D1A38;--navy-2:#18305E;
  --gold:#C9A45C;--gold-2:#E6CB92;
  --grey:#A4AAB7;--grey-2:#6C7280;--white:#F6F7F9;
  --r-xl:34px;--r-lg:26px;--r-md:18px;
  --wrap:1200px;--pad:clamp(16px,4vw,32px);--gap:20px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter",system-ui,sans-serif;
  /* bordas prismáticas: vermelho de um lado, ciano do outro */
  --prism-in:inset 1.5px 0 0 rgba(255,80,110,.42),inset -1.5px 0 0 rgba(80,200,255,.42),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(255,255,255,.08);
  --prism-out:-4px 0 18px -8px rgba(255,60,110,.55),4px 0 18px -8px rgba(60,190,255,.55),0 30px 70px -28px rgba(0,0,0,.75);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--white);background:var(--bg);font-size:19px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;
  background:
   radial-gradient(38vmax 38vmax at 10% 10%,rgba(28,58,130,.55),transparent 60%),
   radial-gradient(30vmax 30vmax at 95% 35%,rgba(201,164,92,.20),transparent 60%),
   radial-gradient(42vmax 42vmax at 65% 100%,rgba(24,48,94,.7),transparent 60%)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- vidro prismático ---------- */
.glass{position:relative;isolation:isolate;
  background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.04) 45%,rgba(255,255,255,.09));
  -webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--prism-in),var(--prism-out)}
.glass::before{ /* faixa de arco-íris na borda superior, como luz refratada */
  content:"";position:absolute;left:8%;right:8%;top:0;height:1px;border-radius:2px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,90,120,.9) 18%,rgba(255,220,120,.9) 38%,rgba(120,255,200,.9) 58%,rgba(90,170,255,.9) 78%,transparent);
  opacity:.75;filter:blur(.3px)}
.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 30%,transparent 70%,rgba(255,255,255,.07))}
.glass-dark{position:relative;isolation:isolate;
  background:linear-gradient(150deg,rgba(8,14,30,.62),rgba(8,14,30,.38));
  -webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);
  border:1px solid rgba(255,255,255,.13);box-shadow:var(--prism-in),0 18px 44px -18px rgba(0,0,0,.7)}

/* títulos com aberração cromática */
.chroma{text-shadow:none}
.chroma-soft{text-shadow:none}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 26px;border-radius:999px;font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;transition:transform .2s,filter .2s}
.btn:active{transform:scale(.97)}
.btn svg{width:18px;height:18px}
.btn-gold{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#1A1206;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),-3px 0 14px -6px rgba(255,80,110,.55),3px 0 14px -6px rgba(80,190,255,.55)}
.btn-gold:hover{filter:brightness(1.07)}
.btn-glass:hover{background:rgba(255,255,255,.16)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}

/* navegação */
.nav{position:fixed;top:14px;left:0;right:0;z-index:50;padding:0 var(--pad)}
.nav-in{max-width:var(--wrap);margin:0 auto;height:62px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 22px}
.nav img{height:42px;width:auto}
.nav ul{list-style:none;display:flex;gap:6px}
.nav ul a{display:block;padding:9px 16px;border-radius:999px;font-size:15px;font-weight:500;color:#E5E7EC}
.nav ul a:hover{background:rgba(255,255,255,.12)}
.nav .btn{height:46px;padding:0 20px;font-size:15px}
@media(max-width:860px){.nav ul{display:none}}

/* ---------- hero em tela cheia ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;top:0;bottom:0;right:0;left:30%}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-bg .bw{filter:grayscale(1) contrast(1.08) brightness(.88)}
.hero-bg .col{position:absolute;inset:0;clip-path:circle(0 at 50% 50%);-webkit-clip-path:circle(0 at 50% 50%);filter:saturate(1.15)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(4,6,11,.55) 18%,rgba(4,6,11,0) 40%),linear-gradient(180deg,rgba(4,6,11,.35) 0%,rgba(4,6,11,0) 25%,rgba(4,6,11,0) 70%,var(--bg) 100%)}
.lens{position:absolute;z-index:3;width:clamp(150px,18vw,240px);aspect-ratio:1;border-radius:50%;left:66%;top:46%;transform:translate(-50%,-50%);pointer-events:none;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 6px 0 14px -6px rgba(255,60,110,.65),inset -6px 0 14px -6px rgba(60,200,255,.65),inset 0 10px 22px -10px rgba(255,255,255,.55),0 30px 60px -20px rgba(0,0,0,.6);
  transition:opacity .3s}
.lens::after{content:"";position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 40%)}
.hero .wrap{position:relative;z-index:4;width:100%;padding-bottom:clamp(24px,4vw,48px)}
.hero{align-items:center}
.hero-card{max-width:560px!important}
.hero-card{border-radius:var(--r-xl);padding:clamp(24px,4vw,44px);max-width:720px}
.hero-card>*{position:relative;z-index:1}
.eyebrow{display:block;font-size:16px;font-weight:600;color:var(--gold-2);margin-bottom:14px}
.h-hero{font-size:clamp(42px,5.4vw,74px);font-weight:700;letter-spacing:-.045em;line-height:1.02}
.hero .lead{margin:20px 0 30px}
.lead{font-size:clamp(18px,1.7vw,22px);color:#C7CCD6;line-height:1.45;letter-spacing:-.015em}
.hero-side{position:absolute;right:var(--pad);bottom:clamp(24px,4vw,48px);z-index:4;display:grid;gap:12px;width:280px}
.pill{border-radius:20px;padding:16px 18px;display:flex;gap:14px;align-items:center}
.pill>*{position:relative;z-index:1}
.pill .ic{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#1A1206}
.pill .ic svg{width:21px;height:21px}
.pill b{display:block;font-size:16px;font-weight:600}
.pill span{display:block;font-size:14px;color:#CDD2DB;line-height:1.35}
@media(max-width:1100px){.hero-side{display:none}}
@media(max-width:900px){.hero{display:block;min-height:0;padding-top:0}.hero-bg{position:relative;left:0;height:62svh}.hero-bg img{object-position:58% center}.hero-bg::after{background:linear-gradient(180deg,rgba(4,6,11,.45) 0%,rgba(4,6,11,0) 25%,rgba(4,6,11,0) 70%,var(--bg) 100%)}.hero .wrap{margin-top:-60px}}

/* ---------- seções ---------- */
section.s{padding:clamp(88px,11vw,140px) 0 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,52px)}
.h-sec{font-size:clamp(38px,5.4vw,62px);font-weight:700;letter-spacing:-.04em;line-height:1.04}
.sec-head .lead{max-width:420px}

/* tratamentos: 4 cards iguais */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.card{border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.card .ph{aspect-ratio:4/5;overflow:hidden;position:relative;z-index:1}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .4s}
.card:hover .ph img{transform:scale(1.03)}
.card .b{position:relative;z-index:1;padding:22px 22px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.2}
.card p{font-size:15.5px;color:var(--grey);line-height:1.45}
.card .more{margin-top:auto;padding-top:10px;font-size:15px;font-weight:600;color:var(--gold-2)}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card .ph img.imp{object-position:center 8%}
@media(max-width:560px){.cards{grid-template-columns:1fr}.card .ph{aspect-ratio:4/3}.card .ph img.imp{object-position:center 58%}}

/* doutor */
.doc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap);align-items:stretch}
.doc figure{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--prism-out)}
.doc figure img{width:100%;height:100%;object-fit:cover;object-position:center 88%}
.doc .panel{border-radius:var(--r-xl);padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.doc .panel>*{position:relative;z-index:1}
.doc .lead{margin-top:18px}
.creds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:32px 0}
.creds div{border-radius:var(--r-md);padding:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.creds b{display:block;font-size:16px;font-weight:600;line-height:1.25}
.creds span{display:block;font-size:13.5px;color:var(--grey);margin-top:4px}
@media(max-width:900px){.doc{grid-template-columns:1fr}.creds{grid-template-columns:1fr}}

/* passos em linha do tempo */
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);list-style:none}
.timeline::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,rgba(255,80,110,.8),rgba(230,203,146,.9) 35%,rgba(120,255,210,.7) 65%,rgba(80,170,255,.8))}
.timeline li{position:relative}
.timeline .node{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:17px;margin-bottom:22px}
.timeline .node>*{position:relative;z-index:1}
.timeline h3{font-size:21px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}
.timeline p{font-size:16px;color:var(--grey);line-height:1.45;max-width:30ch}
@media(max-width:900px){.timeline{grid-template-columns:1fr;gap:28px}.timeline::before{left:24px;right:auto;top:24px;bottom:24px;width:2px;height:auto;background:linear-gradient(180deg,rgba(255,80,110,.8),rgba(230,203,146,.9),rgba(80,170,255,.8))}.timeline li{padding-left:72px}.timeline .node{position:absolute;left:0;top:0}}

/* resultados */
.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.res{border-radius:var(--r-lg);overflow:hidden}
.res .ph{position:relative;z-index:1;overflow:hidden}
.res img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:filter .4s}
.res figcaption{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;font-size:16px;font-weight:600}
.res figcaption span{font-weight:400;color:var(--grey);font-size:14.5px}
.note{margin-top:18px;font-size:14px;color:var(--grey-2)}
@media(max-width:1000px){.results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.results{grid-template-columns:1fr}}

/* depoimento em destaque */
.voice{border-radius:var(--r-xl);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,48px);align-items:center;padding:clamp(20px,3vw,32px)}
.voice>*{position:relative;z-index:1}
.voice figure{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.voice figure img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.voice blockquote{font-size:clamp(28px,3.4vw,44px);font-weight:600;letter-spacing:-.035em;line-height:1.15}
.voice .who{margin-top:26px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:16px;color:var(--grey)}
.voice .who a{color:var(--gold-2);font-weight:600}
.others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}
.q{border-radius:var(--r-lg);padding:24px;display:flex;gap:16px;align-items:flex-start}
.q>*{position:relative;z-index:1}
.q img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 22%;flex:none}
.q p{font-size:16.5px;line-height:1.45}
@media(max-width:900px){.voice{grid-template-columns:1fr}.voice figure{aspect-ratio:1/1}.others{grid-template-columns:1fr}}


/* depoimentos em vídeo */
.vids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.vid{border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s}
.vid:hover{transform:translateY(-4px)}
.vid .thumb{position:relative;z-index:1;display:block;aspect-ratio:4/5;overflow:hidden}
.vid .thumb img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .6s}
.vid:hover .thumb img{transform:scale(1.04)}
.vid .play{position:absolute;right:14px;bottom:14px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;transition:transform .25s}
.vid .play>span{position:relative;z-index:1;display:grid;place-items:center;color:#fff}
.vid .play svg{width:22px;height:22px;margin-left:3px}
.vid:hover .play{transform:scale(1.08)}
.vid .vb{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;padding:18px 18px 20px;flex:1}
.vid .vq{font-size:16px;line-height:1.42;font-weight:500;letter-spacing:-.015em}
.vid .vcta{margin-top:auto;font-size:14.5px;font-weight:600;color:var(--gold-2)}
@media(max-width:1000px){.vids{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vids{grid-template-columns:1fr}.vid .thumb{aspect-ratio:1/1}}
/* final */
.final{padding-bottom:clamp(88px,11vw,140px)}
.cta{border-radius:var(--r-xl);padding:clamp(32px,6vw,72px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,48px);align-items:center;overflow:hidden}
.cta>*{position:relative;z-index:1}
.cta .lead{margin:18px 0 30px}
.cta dl{display:grid;gap:16px}
.cta dt{font-size:14px;color:var(--grey)}
.cta dd{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
@media(max-width:900px){.cta{grid-template-columns:1fr}}
footer{border-top:1px solid rgba(255,255,255,.08);padding:28px 0 40px;color:var(--grey-2);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tagm{position:fixed;left:16px;bottom:16px;z-index:60;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- botão fixo de WhatsApp ---------- */
.wa-float{position:fixed;z-index:60;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));
  display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 22px 0 18px;border-radius:999px;
  font:600 16px/1 var(--font);color:#1A1206;text-decoration:none;
  background:linear-gradient(180deg,var(--gold-2),var(--gold));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 14px 34px -10px rgba(0,0,0,.75),-3px 0 14px -6px rgba(255,80,110,.55),3px 0 14px -6px rgba(80,190,255,.55);
  opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s,box-shadow .2s}
.wa-float.in{opacity:1;transform:none}
.wa-float:hover{transform:translateY(-2px)}
.wa-float:focus-visible{outline:2px solid #fff;outline-offset:3px}
.wa-float svg{width:24px;height:24px;flex:none}
.wa-float .wa-s{display:none}
@media(max-width:600px){
  .wa-float{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));height:54px;padding:0 18px 0 15px}
  .wa-float .wa-l{display:none}.wa-float .wa-s{display:inline}
}
@media(prefers-reduced-motion:reduce){.wa-float{transition:none}}
/* menu sem o botão Agendar (o WhatsApp fixo cumpre esse papel) */
.nav-in{padding:0 14px 0 22px}
@media(max-width:860px){.nav-in{justify-content:center;padding:0 22px}}
/* botão "Página inicial" no menu das páginas internas */
.nav-back{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px 0 12px;border-radius:999px;font-size:15px;font-weight:600;color:#fff;
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);transition:background .2s}
.nav-back:hover{background:rgba(255,255,255,.14)}
.nav-back svg{width:18px;height:18px}
.nav-in:has(.nav-back){padding:0 9px 0 22px}
@media(max-width:860px){.nav-in:has(.nav-back){justify-content:space-between}}
