/* Verão 40+ Leve · Dra. Luciana Deister
   Sistema: duas famílias, escala contida, marfim com capítulos de cor. Dourado só em detalhe.
   A rolagem conduz a leitura: cenas presas com sticky, só com a classe js. Sem ela, tudo aparece em fluxo normal. */

@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant.woff2?v=20261105h) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-italic.woff2?v=20261105h) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Fallback";src:local("Georgia");size-adjust:83%;ascent-override:110%;descent-override:34%;line-gap-override:0%}

:root{
  --paper:#FBF7F1;
  --sand:#F4ECE2;
  --blush:#F6E8E3;
  --lilac:#EFE9F3;
  --ink:#2E1B28;
  --plum:#3A2030;
  --plum-2:#2C1824;
  --wine:#7A3A57;
  --rose:#B9787D;
  --gold:#B58B4C;
  --gold-soft:#DCC394;
  --muted:#6C5864;
  --line:rgba(58,32,48,.14);
  --line-dark:rgba(255,246,235,.18);
  --ivory:#FBF4EA;
  --serif:"Cormorant Garamond","Cormorant Fallback",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --gut:clamp(20px,5vw,64px);
  --r:20px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;background:var(--paper)}
html.travado{overflow:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;font-synthesis:none;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--wine);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html:not(.has-js) .so-js{display:none!important}
html:not(.js) .progresso,html:not(.js) .sem-conta,html:not(.js) .sem-linha,html:not(.js) .fat-pontos,html:not(.js) .obj-status{display:none!important}

/* ---------- progresso da leitura e cenas presas à rolagem ---------- */
.progresso{position:fixed;inset:0 0 auto;height:3px;z-index:60;pointer-events:none}
.progresso i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--wine));transform:scaleX(0);transform-origin:0 50%}
.cena{position:relative}
.js .cena{height:calc(var(--n,2.4)*100vh);height:calc(var(--n,2.4)*100svh)}
.js .cena-in{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.pulo{animation:pulo .42s var(--ease)}
@keyframes pulo{0%{transform:scale(1)}40%{transform:scale(1.34)}100%{transform:scale(1)}}

/* ---------- gancho: chama a próxima parte ---------- */
.gancho{display:flex;align-items:center;gap:14px;margin-top:clamp(34px,4.6vw,60px);font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(23px,2.1vw,30px);line-height:1.18;color:var(--wine)}
.gancho span{text-wrap:balance}
.gancho-seta{position:relative;flex:none;width:38px;height:38px;border-radius:50%;background:var(--wine)}
.gancho-seta::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-right:2px solid var(--ivory);border-bottom:2px solid var(--ivory);animation:desce 1.5s ease-in-out infinite;transform:translate(-50%,-70%) rotate(45deg)}
@keyframes desce{0%,100%{transform:translate(-50%,-72%) rotate(45deg)}50%{transform:translate(-50%,-34%) rotate(45deg)}}
.no-escuro .gancho{color:var(--gold-soft)}
.no-escuro .gancho-seta{background:var(--gold-soft)}
.no-escuro .gancho-seta::before{border-color:var(--plum-2)}

/* ---------- tipografia ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(36px,4.45vw,64px);line-height:1.05;letter-spacing:-.012em}
h2{font-size:clamp(31px,3.5vw,50px);line-height:1.08;letter-spacing:-.01em}
h3{font-size:clamp(23px,1.9vw,27px);line-height:1.16;letter-spacing:-.004em}
h2 em{font-style:italic;color:var(--wine)}
.lead{font-size:clamp(16.5px,1.28vw,18.5px);line-height:1.62;color:var(--muted);text-wrap:pretty}
p{text-wrap:pretty}
.rotulo{display:flex;align-items:center;gap:12px;font-size:11.5px;line-height:1.4;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.rotulo::before{content:"";width:26px;height:1px;background:currentColor;flex:none}
.rotulo + h2,.rotulo + h1{margin-top:16px}
.w,.w-i{display:inline-block}
.lnk{color:var(--wine);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s}
.lnk:hover{color:var(--ink)}

/* ---------- layout ---------- */
.wrap{width:min(100% - 2*var(--gut),1240px);margin-inline:auto}
.bloco{padding-block:clamp(68px,8.6vw,124px)}

/* ---------- botão ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:7px 26px 7px 8px;border-radius:999px;background:var(--plum);color:var(--ivory);font-size:15.5px;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .25s var(--ease),background .25s,box-shadow .25s;box-shadow:0 10px 24px -14px rgba(58,32,48,.7)}
.btn:hover{transform:translateY(-2px);background:var(--wine)}
.btn:active{transform:translateY(0) scale(.985)}
.btn-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ivory);color:var(--plum);flex:none}
.btn-ico svg{width:20px;height:20px;fill:currentColor}
.nota{margin-top:12px;font-size:13.5px;line-height:1.5;color:var(--muted);max-width:40ch}
.no-escuro .btn{background:var(--gold-soft);color:var(--plum-2);box-shadow:none}
.no-escuro .btn:hover{background:#E8D3AC}
.no-escuro .btn-ico{background:var(--plum);color:var(--gold-soft)}

/* ---------- topo ---------- */
.topo{position:absolute;inset:0 0 auto;z-index:6;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px var(--gut)}
.topo-logo{width:clamp(112px,12vw,172px);height:auto}
.topo-id{padding:6px 9px;border-radius:9px;background:rgba(251,247,241,.9);font-size:10.5px;line-height:1.38;text-align:right;color:var(--ink);max-width:60vw}
.topo-id b{font-weight:600}

/* ---------- 1. hero: Ipanema, beach club. A rolagem atravessa o arco ---------- */
.hero{position:relative;background:var(--paper)}
.hero-visual{position:relative;height:clamp(216px,33svh,380px);overflow:hidden;border-radius:0 0 26px 26px;isolation:isolate;background:#F2E3D2}
.hero-visual::before{content:"";position:absolute;inset:0 0 auto;height:84px;z-index:1;background:linear-gradient(180deg,rgba(251,247,241,.82),rgba(251,247,241,0))}
.hero-cena-w{position:absolute;inset:0}
.hero-cena{width:100%;height:100%;object-fit:cover;object-position:50% 34%;transform-origin:42% 58%;will-change:transform}
.hero-dra{position:absolute;right:-1%;bottom:0;z-index:2;height:92%;width:auto;max-width:none;transform-origin:60% 100%;will-change:transform}
.contagem{position:absolute;z-index:3;left:var(--gut);bottom:12px;padding:7px 12px 8px;border-radius:12px;background:rgba(251,247,241,.94);font-size:12.5px;line-height:1.25;color:var(--ink);box-shadow:0 8px 20px -14px rgba(58,32,48,.55)}
.contagem-l{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.contagem b{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1;color:var(--wine);font-variant-numeric:lining-nums}
.contagem-n{display:block;font-size:11px;color:var(--muted)}
.hero-txt{display:flex;flex-direction:column;padding:10px var(--gut) 34px}
.cena-nota{order:0;margin-bottom:10px;font-size:10.5px;line-height:1.35;color:var(--muted)}
.hero-txt .rotulo{order:1;letter-spacing:.06em;font-size:10.5px}
.hero-txt .rotulo::before{display:none}
.hero h1{order:2;margin-top:7px}
.beneficios{order:3;margin-top:11px;border-top:1px solid var(--line)}
.beneficios li{display:flex;align-items:center;gap:12px;padding:5px 0 6px;border-bottom:1px solid var(--line);font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(21px,1.95vw,27px);line-height:1.2;color:var(--wine)}
.beneficios li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.apoio{order:4;margin-top:11px;font-size:clamp(14px,1.1vw,16px);line-height:1.46;color:var(--muted);max-width:52ch}
.hero-acao{order:5;margin-top:13px}
.prova{order:6;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:16px;font-size:13px;color:var(--muted)}
.prova li{display:flex;align-items:center;gap:7px}
.prova b{font-weight:600;color:var(--ink)}
.estrelas{display:inline-flex;gap:1px;color:var(--gold)}
.estrelas svg{width:12px;height:12px}

/* entrada do hero em CSS: pinta na primeira renderização, sem esperar script. Sem movimento, a regra final zera tudo. */
@keyframes sobe{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes cena{from{transform:scale(1.07)}to{transform:none}}
.hero-cena-w{animation:cena 2.4s cubic-bezier(.2,.6,.2,1) backwards}
.hero h1{animation:sobe .8s var(--ease) .05s backwards}
.beneficios li{animation:sobe .7s var(--ease) backwards}
.beneficios li:nth-child(1){animation-delay:.25s}
.beneficios li:nth-child(2){animation-delay:.36s}
.beneficios li:nth-child(3){animation-delay:.47s}
.hero-dra{animation:sobe 1.1s var(--ease) .1s backwards}

/* ---------- 2. primeiro passo: a frase acende ---------- */
.primeiro{position:relative;z-index:2;background:var(--paper)}
[data-cena="passo"]{--n:1.75}
html:not(.js) .cena-frase{padding-block:clamp(56px,8vw,110px) 30px}
.intro{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.7vw,24px);line-height:1.25;color:var(--gold)}
.acende{margin-top:14px;font-size:clamp(35px,4.4vw,62px);line-height:1.08;letter-spacing:-.012em;max-width:17em}
.acende em{font-style:italic;color:var(--wine)}
.primeiro-fim{display:grid;gap:30px;padding-block:clamp(10px,2vw,30px) clamp(46px,6vw,80px)}
.foto{overflow:hidden;border-radius:var(--r);background:var(--sand)}
.foto img{width:100%;height:100%;object-fit:cover}
.arco{border-radius:999px 999px var(--r) var(--r)}
.primeiro-foto{aspect-ratio:16/11;border-radius:24px}
.etapas{position:relative;display:grid;gap:26px;padding-left:46px}
.etapas::before{content:"";position:absolute;left:15px;top:10px;bottom:30px;width:1px;background:var(--gold);transform:scaleY(var(--p,1));transform-origin:50% 0}
.etapas li{position:relative}
.num{position:absolute;left:-46px;top:-3px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--plum);color:var(--ivory);font-family:var(--serif);font-style:italic;font-size:18px;line-height:1;font-variant-numeric:lining-nums}
.etapas p{margin-top:6px;color:var(--muted);max-width:44ch}
.obs{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.3;color:var(--wine)}
.primeiro-fim .gancho{margin-top:6px}

/* ---------- 3. identificação: interativa ---------- */
.ident{background:var(--blush)}
.ident.bloco{padding-block:clamp(56px,7vw,100px) clamp(44px,5vw,70px)}
.ident-grid{display:grid;gap:26px}
.ident-sub{margin-top:12px;font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1.22;color:var(--wine);max-width:24em}
.marcar{padding:clamp(20px,2.4vw,34px);border-radius:24px;background:var(--paper);box-shadow:0 22px 50px -38px rgba(58,32,48,.55)}
.grupo h3{font-size:clamp(23px,2vw,27px)}
.grupo h3 span{display:block;margin-top:3px;font-family:var(--sans);font-size:13.5px;font-weight:400;line-height:1.4;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{min-height:42px;padding:8px 15px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:14px;line-height:1.2;color:var(--ink);transition:background .2s,color .2s,border-color .2s,transform .28s cubic-bezier(.34,1.56,.64,1)}
.chip:hover{border-color:var(--wine)}
.chip:active{transform:scale(.95)}
.chip[aria-pressed="true"]{background:var(--plum);border-color:var(--plum);color:var(--ivory);transform:scale(1.04)}
.painel{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.painel-topo{display:flex;align-items:center;gap:13px}
.painel-n{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--blush);font-family:var(--serif);font-size:26px;font-weight:600;line-height:1;color:var(--wine);font-variant-numeric:lining-nums}
.painel-msg{font-size:14.5px;line-height:1.45;color:var(--ink)}
.painel-aviso{margin:10px 0 16px;font-size:12.5px;line-height:1.5;color:var(--muted)}

/* ---------- 4. por quê: um fator por vez ---------- */
.porque{background:var(--paper)}
[data-cena="fatores"]{--n:3.4}
.fat-grid{display:grid;gap:26px;padding-block:clamp(56px,7vw,100px) 0}
.fat-foto{aspect-ratio:4/4.2;max-height:440px}
.fat-foto img{object-position:50% 16%}
.fat-pontos{display:flex;gap:7px;margin-top:16px}
.fat-pontos i{width:30px;height:3px;border-radius:2px;background:var(--line);transition:background .25s}
.fat-pontos i.on{background:var(--gold)}
.fat-txt h2{margin-top:12px}
.fatores{margin-top:18px}
.fatores li{display:block;padding:16px 0 18px;border-top:1px solid var(--line)}
.fatores b{display:block;font-family:var(--serif);font-weight:500;font-style:italic;font-size:clamp(33px,3.6vw,50px);line-height:1.08;color:var(--wine)}
.fatores span{display:block;margin-top:7px;font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.5;color:var(--muted);max-width:42ch}
.js .fat-grid{display:flex;flex-direction:column;gap:16px;height:100%;padding-block:58px 16px}
.js .fat-foto{flex:1 1 0;min-height:0;max-height:none;aspect-ratio:auto;width:min(66%,300px);margin-inline:auto}
.js .fat-txt h2{font-size:clamp(26px,7.4vw,34px)}
.js .fat-txt{flex:none}
.js .fatores{position:relative;height:clamp(128px,20svh,180px);margin-top:12px}
.js .fatores li{position:absolute;inset:0;padding:0;border:0}
.porque-fim{padding-block:clamp(26px,4vw,50px) clamp(50px,6vw,84px)}
.fat-fecho{font-family:var(--serif);font-size:clamp(23px,2.2vw,31px);line-height:1.22;color:var(--ink);max-width:26em}
.porque-fim .gancho{margin-top:22px}

/* ---------- 5. balança: capítulo escuro, com matéria real ---------- */
.balanca{background:var(--plum);color:var(--ivory)}
.balanca h2{color:var(--ivory)}
.balanca h2 em{color:var(--gold-soft)}
.balanca .rotulo{color:var(--gold-soft)}
[data-cena="balanca"]{--n:2.7}
.bal-grid{display:grid;gap:30px;padding-block:clamp(56px,7vw,100px) 30px}
.js .bal-grid{display:flex;flex-direction:column;gap:14px;height:100%;padding-block:46px 14px}
.js .bal-txt{flex:none}
.js .bal-txt h2{margin-top:10px;font-size:clamp(25px,7vw,34px)}
.js .grafico{flex:1 1 0;min-height:0;display:flex;flex-direction:column}
.js .g-area{flex:1 1 0;min-height:150px;height:auto!important}
.bal-sub{font-family:var(--serif);font-style:italic;font-size:clamp(23px,2.1vw,30px);line-height:1.22;color:var(--ivory);max-width:25em}
.grafico{min-width:0}
.g-area{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2.2vw,28px);height:clamp(330px,58vw,500px)}
.g-col{position:relative;display:flex;align-items:flex-end;height:100%}
.g-partida{position:absolute;inset:0;border:1px dashed rgba(220,195,148,.42);border-radius:999px 999px 18px 18px}
.g-arco{position:relative;display:flex;flex-direction:column;width:100%;height:78%;overflow:hidden;border-radius:999px 999px 18px 18px;box-shadow:0 26px 60px -30px rgba(0,0,0,.75),0 0 0 1px rgba(255,246,235,.18)}
.g-arco::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 26%,rgba(0,0,0,0) 70%,rgba(0,0,0,.22) 100%);box-shadow:inset 0 0 26px rgba(40,18,10,.32)}
.g-fat,.g-mus{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;background-repeat:repeat}
.g-fat{background-color:#D4A366;background-image:url(img/gordura-720.webp);background-size:300px;background-position:50% 40%}
.g-mus{flex:1;background-color:#77363D;background-image:url(img/musculo-720.webp);background-size:360px;background-position:50% 50%;border-top:1px solid rgba(255,246,235,.7)}
.tex-adiada .g-fat,.tex-adiada .g-mus{background-image:none}
.g-a .g-fat{height:55%}
.g-b .g-fat{height:49%}
.g-fat span,.g-mus span{position:relative;z-index:1;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;line-height:1.3}
.g-fat span{background:rgba(251,244,234,.86);color:#5A3A12}
.g-mus span{background:rgba(44,24,36,.62);color:var(--ivory)}
.g-marca{position:absolute;left:-6px;right:-6px;top:22%;height:0;border-top:1px solid rgba(251,244,234,.78);z-index:3;display:flex;justify-content:center;align-items:flex-start}
.g-marca span{transform:translateY(-52%);padding:5px 13px;border-radius:999px;background:var(--ivory);color:var(--plum-2);font-size:12px;font-weight:600;line-height:1.25;white-space:nowrap}
.g-legendas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2.2vw,28px);margin-top:18px}
.g-legendas p{font-size:13.5px;line-height:1.5;color:rgba(251,244,234,.74)}
.g-legendas b{display:block;margin-bottom:4px;font-weight:600;color:var(--ivory)}
.grafico figcaption{margin-top:14px;font-size:12px;line-height:1.45;color:rgba(251,244,234,.6)}
.g-legendas{margin-top:12px}
.g-legendas p{font-size:12.5px;line-height:1.4}
.g-legendas b{margin-bottom:3px}
.grafico figcaption{margin-top:8px;font-size:11px;line-height:1.35}
.bal-fim{display:grid;gap:22px;padding-block:clamp(30px,4vw,56px) clamp(50px,6vw,84px)}
.bal-bio-w{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center}
.modelos{aspect-ratio:1/1.1;border-radius:16px}
.bal-bio{font-size:15px;line-height:1.5;color:rgba(251,244,234,.84);max-width:54ch}
.bal-fim .gancho{margin-top:4px}

/* ---------- 6. objetivos: cartões que se empilham ---------- */
.objetivos{background:var(--paper);padding-block:clamp(56px,7vw,100px) 0}
.obj-cab .rotulo + h2{margin-top:12px}
.obj-pilha{position:relative;margin-top:26px;padding-inline:clamp(10px,2.6vw,40px)}
.obj-status{position:sticky;top:12px;z-index:5;display:flex;gap:6px;width:max-content;margin:0 auto 10px;padding:5px 7px;border-radius:999px;background:rgba(251,247,241,.94);box-shadow:0 8px 20px -14px rgba(58,32,48,.5);opacity:0;transition:opacity .3s}
.obj-status.on{opacity:1}
.obj-status li{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);font-family:var(--serif);font-size:15px;line-height:1;font-style:italic;color:var(--muted);font-variant-numeric:lining-nums;transition:background .25s,color .25s,border-color .25s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.obj-status li.on{background:var(--gold);border-color:var(--gold);color:#fff;transform:scale(1.12)}
.obj{display:flex;flex-direction:column;overflow:hidden;margin-bottom:14px;border-radius:26px;box-shadow:0 -18px 44px -32px rgba(46,27,40,.5)}
.js .obj{position:sticky;top:calc(52px + var(--i)*7px);height:calc(100vh - 78px);height:calc(100svh - 78px);transform-origin:50% 0;will-change:transform;margin-bottom:30vh}
.js .obj:last-of-type{margin-bottom:14px}
.obj-foto{flex:1 1 auto;min-height:0;overflow:hidden;aspect-ratio:1/1}
.js .obj-foto{aspect-ratio:auto}
.obj-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;will-change:transform}
.obj-txt{flex:none;order:-1;padding:18px 22px 16px}
.obj-n{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.obj h3{margin-top:6px;font-style:italic;font-size:clamp(30px,3.3vw,46px);line-height:1.06;color:var(--wine)}
.obj-txt > p:last-child{margin-top:9px;font-size:15px;line-height:1.5;color:var(--muted);max-width:46ch}
.obj-1{background:#FFF1E9}
.obj-2{background:var(--plum)}
.obj-2 h3{color:var(--gold-soft)}
.obj-2 .obj-n{color:var(--gold-soft)}
.obj-2 .obj-txt > p:last-child{color:rgba(251,244,234,.82)}
.obj-3{background:var(--lilac)}
.obj-fim{padding-block:clamp(14px,2vw,26px) clamp(50px,6vw,84px)}
.obj-aviso{font-size:13.5px;line-height:1.5;color:var(--muted);max-width:68ch}
.obj-fim .gancho{margin-top:20px}

/* ---------- 7. as 8 semanas: trilho lateral com contador ---------- */
.semanas{background:var(--lilac)}
[data-cena="semanas"]{--n:3.5}
.sem-pin{padding-block:clamp(56px,7vw,100px)}
.sem-cab{display:flex;flex-direction:column;gap:6px}
.sem-cab .lead{margin-top:8px;font-size:15.5px}
.sem-conta{font-family:var(--serif);font-size:20px;line-height:1.1;color:var(--ink);font-variant-numeric:lining-nums}
.sem-conta b{display:inline-block;min-width:.7em;font-size:40px;font-weight:600;line-height:1;color:var(--wine)}
.sem-corpo{position:relative;margin-top:14px}
.sem-linha{position:relative;height:1px;margin-inline:var(--gut);background:var(--line)}
.sem-fill{position:absolute;inset:0;background:var(--gold);transform:scaleX(1);transform-origin:0 50%}
.sem-sol{position:absolute;left:0;top:-5px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(181,139,76,.2)}
.sem-track{display:grid;gap:30px;padding:0 var(--gut)}
.sem-q{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.sem-item h3{margin-top:4px}
.sem-item p:not(.sem-q){margin-top:6px;font-size:15px;line-height:1.48;color:var(--muted)}
.sem-item b{font-weight:600;color:var(--ink)}
.sem-foto{aspect-ratio:16/10.5;margin-bottom:10px;border-radius:16px}
.sem-item .btn{margin-top:16px}
.js .sem-pin{justify-content:center;gap:0;padding-block:30px 16px}
.js .sem-track{display:flex;gap:16px;width:max-content;padding:18px var(--gut) 0;will-change:transform}
.js .sem-item{flex:0 0 min(76vw,330px)}
.js .sem-fim{align-self:center;flex-basis:min(76vw,300px)}

/* ---------- 8. tratamento e quem cuida ---------- */
.cuidado.bloco{padding-block:clamp(56px,7vw,100px)}
.cuidado .rotulo + .med-frase{margin-top:14px}
.med-frase{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.3vw,46px);line-height:1.12;letter-spacing:-.008em;color:var(--ink);max-width:21em}
.med-frase em{font-style:italic;color:var(--wine)}
.med-txt{margin-top:16px;color:var(--muted);max-width:56ch}
.int-grid{display:grid;gap:26px;margin-top:clamp(44px,6vw,84px)}
.int-foto{aspect-ratio:16/11;border-radius:24px}
.int-txt h2{margin-top:12px}
.equipe{margin-top:20px;border-top:1px solid var(--line)}
.equipe li{padding:13px 0 14px;border-bottom:1px solid var(--line)}
.equipe b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(22px,1.8vw,25px);line-height:1.2}
.equipe span{display:block;margin-top:2px;font-size:14px;color:var(--muted)}

/* ---------- 9. virada: o arco abre até a tela inteira ---------- */
.virada{background:var(--paper)}
[data-cena="virada"]{--n:2.3}
.virada .cena-in{position:relative;min-height:clamp(500px,74svh,720px)}
.js .virada .cena-in{position:sticky;justify-content:flex-start}
.virada-img{position:absolute;inset:0;overflow:hidden;background:#F6DFC7}
.virada-img img{width:100%;height:100%;object-fit:cover;object-position:50% 100%;will-change:transform}
.virada-txt{position:relative;z-index:1;padding-block:clamp(56px,11vh,120px)}
.virada h2{max-width:13em}
.virada p{margin-top:12px;max-width:27em;font-family:var(--serif);font-style:italic;font-size:clamp(21px,1.9vw,27px);line-height:1.26;color:var(--ink)}

/* ---------- 10. clínica ---------- */
.cli-cab p{margin-top:12px;color:var(--muted);max-width:52ch}
.tour{display:flex;gap:12px;margin:30px calc(var(--gut)*-1) 0;padding-inline:var(--gut);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tour::-webkit-scrollbar{display:none}
.tour figure{flex:0 0 72vw;max-width:320px;scroll-snap-align:center}
.t-img{aspect-ratio:4/5;overflow:hidden;border-radius:18px;background:var(--sand)}
.t-img img{width:100%;height:100%;object-fit:cover}
.tour figcaption{margin-top:9px;font-size:13px;line-height:1.4;color:var(--muted)}
.tour figcaption b{display:block;font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.2;color:var(--ink)}
.tour-dica{margin-top:12px;font-size:12px;color:var(--muted)}
.onde{display:grid;gap:22px;margin-top:clamp(40px,9vw,120px);padding-top:30px;border-top:1px solid var(--line)}
.onde-end{font-family:var(--serif);font-size:clamp(23px,1.9vw,27px);line-height:1.18}
.onde-txt p + p{margin-top:9px;color:var(--muted)}
.onde-links{display:flex;gap:18px;margin-top:14px}
.onde-mapa{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:var(--sand)}
.onde-capa{width:100%;height:100%;object-fit:cover}
.onde-mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.onde-abrir{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 18px;border-radius:999px;background:var(--plum);color:var(--ivory);font-size:14px;font-weight:600}

/* ---------- avaliações ---------- */
.avaliacoes{background:var(--sand)}
.av-grid{display:grid;gap:30px}
.av-num{font-family:var(--serif);font-size:clamp(58px,6vw,84px);font-weight:500;line-height:.95;color:var(--ink);font-variant-numeric:lining-nums}
.av-est{display:flex;gap:2px;margin-top:8px;color:var(--gold)}
.av-est svg{width:15px;height:15px}
.av-cap{margin-top:10px;font-size:14px;color:var(--muted);max-width:26ch}
.av-falas{display:grid;gap:22px}
.av-falas blockquote{font-family:var(--serif);font-size:clamp(21px,1.75vw,25px);line-height:1.28;color:var(--ink)}
.av-falas figcaption{margin-top:7px;font-size:12.5px;color:var(--muted)}

/* ---------- 11. perguntas ---------- */
.perg-grid{display:grid;gap:28px}
.perg-foto{display:none}
.perg-foto img{object-position:50% 20%}
.perg-lista{border-top:1px solid var(--line)}
.perg-lista details{border-bottom:1px solid var(--line)}
.perg-lista summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;font-family:var(--serif);font-size:clamp(21px,1.7vw,24px);line-height:1.2;cursor:pointer;list-style:none}
.perg-lista summary::-webkit-details-marker{display:none}
.perg-lista summary i{position:relative;flex:none;width:14px;height:14px}
.perg-lista summary i::before,.perg-lista summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--wine);transition:transform .25s var(--ease)}
.perg-lista summary i::after{transform:rotate(90deg)}
.perg-lista details[open] summary i::after{transform:rotate(0)}
.resp{overflow:hidden}
.resp p{padding-bottom:18px;color:var(--muted);max-width:60ch}
.perg-lista .btn{margin-top:24px}

/* ---------- 12. fechamento: quadro a quadro com a rolagem ---------- */
.fecho{background:var(--plum);color:var(--ivory)}
[data-cena="jaqueta"]{--n:3.2}
.fecho-grid{display:grid;gap:22px;padding-block:clamp(56px,7vw,100px) 26px}
.js .fecho-grid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100%;padding-block:22px 16px}
.jq-fotos{position:relative;width:min(78vw,430px);aspect-ratio:548/638;overflow:hidden;border-radius:999px 999px 20px 20px;background:var(--plum-2);margin-inline:auto}
.js .jq-fotos{width:min(76vw,44svh);flex:none;will-change:transform}
.jq-q{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .07s linear}
.jq-q.on{opacity:1}
.fecho-txt{width:100%}
.fecho h2{color:var(--ivory);font-size:clamp(31px,4.2vw,58px);line-height:1.06}
.jq-l1,.jq-l2{display:block}
.fecho h2 em{color:var(--gold-soft)}
.fecho-ressalva{margin-top:10px;font-size:14px;line-height:1.45;color:rgba(251,244,234,.84);max-width:44ch}
.fecho-acao{margin-top:13px}
.fecho-gente{margin-top:8px;font-family:var(--serif);font-style:italic;font-size:18px;color:rgba(251,244,234,.86)}
.fecho-base{padding-block:6px 40px}
.fecho-passos{border-top:1px solid var(--line-dark)}
.fecho-passos li{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-dark);font-size:15px;color:rgba(251,244,234,.84)}
.fecho-passos span{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold-soft);font-variant-numeric:lining-nums}

/* ---------- rodapé ---------- */
.rodape{background:var(--plum-2);color:rgba(251,244,234,.72);padding:34px 0 96px;font-size:13px;line-height:1.55}
.rodape-in{display:grid;gap:18px}
.rodape img{width:140px;height:auto}
.rodape b{font-weight:600;color:var(--ivory)}
.rodape p + p{margin-top:6px}

/* ---------- botão fixo ---------- */
.dock{position:fixed;z-index:40;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%,160%);transition:transform .45s var(--ease);width:max-content;max-width:calc(100vw - 28px)}
.dock.on{transform:translate(-50%,0)}
.dock .btn{min-height:48px;padding:5px 20px 5px 6px;font-size:14.5px;box-shadow:0 14px 34px -14px rgba(46,27,40,.75)}
.dock .btn-ico{width:36px;height:36px}

/* ---------- folha de região ---------- */
.folha{position:fixed;inset:auto 0 0;width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink)}
.folha::backdrop{background:rgba(44,24,36,.5)}
.folha-in{position:relative;padding:24px var(--gut) calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--paper);transform:translateY(100%);transition:transform .3s var(--ease)}
.folha.in .folha-in{transform:translateY(0)}
.folha-t{padding-right:34px;font-family:var(--serif);font-size:25px;line-height:1.14}
.folha-x{position:absolute;right:14px;top:14px;width:34px;height:34px;display:grid;place-items:center;color:var(--muted)}
.folha-x svg{width:24px;height:24px}
.folha-ops{display:grid;gap:8px;margin-top:16px}
.folha-op{display:flex;align-items:center;min-height:48px;padding:0 16px;border:1px solid var(--line);border-radius:14px;font-size:15px;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s}
.folha-op:hover{border-color:var(--wine);background:var(--sand)}
.folha-pular{display:block;margin-top:12px;text-align:center;font-size:13.5px;color:var(--muted)}

/* ========== desktop ========== */
@media (min-width:720px){
  .tour{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px);margin-inline:0;padding-inline:0;overflow:visible}
  .tour figure{max-width:none}
  .tour-dica{display:none}
  .bal-bio-w{grid-template-columns:150px 1fr;gap:22px}
  .bal-bio{font-size:16px}
}

@media (min-width:1024px){
  .bloco{padding-block:clamp(84px,8.6vw,124px)}
  .topo{padding:16px var(--gut);align-items:center}
  .topo-id{padding:7px 12px;border-radius:10px;font-size:11.5px;line-height:1.4;max-width:none}

  .hero{display:flex;align-items:center;min-height:max(100svh,760px)}
  .hero-visual{position:absolute;inset:0;height:auto;border-radius:0}
  .hero-visual::before{display:none}
  .hero-visual::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(251,247,241,.86) 0%,rgba(251,247,241,.72) 30%,rgba(251,247,241,.18) 42%,rgba(251,247,241,0) 47%)}
  .hero-cena{object-position:0% 40%;transform-origin:70% 60%}
  .hero-dra{right:clamp(0px,1.4vw,28px);height:88%;filter:drop-shadow(-10px 8px 26px rgba(70,40,30,.24))}
  .contagem{left:auto;right:clamp(350px,36vw,700px);bottom:clamp(22px,4vh,40px);padding:9px 15px 10px;font-size:13px}
  .contagem b{font-size:28px}
  .contagem-n{font-size:11.5px}
  .hero-txt{position:relative;z-index:3;width:min(41vw,600px);margin-left:max(var(--gut),calc((100vw - 1240px)/2));padding:96px 0 40px}
  .cena-nota{order:7;margin:12px 0 0;font-size:11.5px}
  .hero-txt .rotulo{letter-spacing:.14em;font-size:11.5px}
  .hero-txt .rotulo::before{display:block}
  .hero h1{font-size:clamp(38px,4.05vw,60px);margin-top:14px}
  .beneficios{margin-top:16px}
  .beneficios li{padding:8px 0 9px}
  .apoio{margin-top:15px;font-size:15.5px;line-height:1.55}
  .hero-acao{margin-top:18px}

  .primeiro{margin-top:-30px;border-radius:30px 30px 0 0}
  .primeiro-fim{grid-template-columns:5fr 6fr;gap:clamp(30px,3vw,44px) clamp(40px,6vw,88px);align-items:center;padding-bottom:clamp(60px,6vw,90px)}
  .primeiro-foto{grid-row:1/3;aspect-ratio:1/1;border-radius:999px 999px var(--r) var(--r)}
  .primeiro-fim .obs{align-self:start;padding-left:46px}
  .primeiro-fim .gancho{grid-column:1/-1;margin-top:10px}

  .ident-grid{grid-template-columns:5fr 6fr;gap:clamp(40px,6vw,88px);align-items:center}

  .fat-grid{grid-template-columns:5fr 7fr;gap:clamp(44px,7vw,104px);align-items:center}
  .js .fat-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(44px,7vw,104px);height:auto;padding-block:0}
  .js .fat-foto{width:auto;height:78svh;max-width:100%;margin:0;aspect-ratio:auto}
  .js .fat-txt h2{font-size:clamp(31px,3.5vw,50px)}
  .js .fatores{height:190px;margin-top:22px}

  .bal-grid{grid-template-columns:5fr 7fr;gap:clamp(44px,6vw,96px);align-items:center}
  .js .bal-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(44px,6vw,96px);height:auto;padding-block:0}
  .js .bal-txt h2{font-size:clamp(31px,3.5vw,50px)}
  .js .grafico{display:block}
  .js .g-area{height:clamp(380px,60svh,560px)!important}
  .g-legendas p{font-size:13.5px}
  .bal-fim{grid-template-columns:1fr 1fr;gap:18px clamp(44px,6vw,96px);align-items:center}
  .bal-fim .gancho{grid-column:1/-1}

  .obj-pilha{padding-inline:max(var(--gut),calc((100vw - 1240px)/2))}
  .obj{flex-direction:row}
  .obj-txt{order:0}
  .js .obj{height:min(calc(100svh - 110px),640px);top:calc(58px + var(--i)*9px)}
  .obj-foto{flex:0 0 48%;aspect-ratio:auto;min-height:440px}
  .obj-txt{flex:1;align-self:center;order:0;padding:clamp(28px,4vw,60px)}
  .obj-txt > p:last-child{font-size:17px}

  .sem-cab{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:40px}
  .sem-conta{font-size:24px}
  .sem-conta b{font-size:56px}
  .sem-track{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .js .sem-track{padding:24px var(--gut) 0 max(var(--gut),calc((100vw - 1240px)/2));gap:clamp(24px,2.6vw,40px)}
  .js .sem-item{flex:0 0 clamp(290px,25vw,360px)}
  .js .sem-fim{flex-basis:clamp(260px,22vw,320px)}
  .sem-linha{margin-inline:max(var(--gut),calc((100vw - 1240px)/2))}

  .int-grid{grid-template-columns:6fr 6fr;gap:clamp(44px,6vw,88px);align-items:center}
  .int-foto{aspect-ratio:1/.86;border-radius:999px 999px var(--r) var(--r)}

  .virada-img img{object-position:100% 70%}

  .onde{grid-template-columns:5fr 7fr;gap:clamp(36px,5vw,72px);align-items:center}

  .av-grid{grid-template-columns:3fr 9fr;gap:clamp(40px,6vw,88px);align-items:start}
  .av-falas{grid-template-columns:repeat(2,1fr);gap:26px clamp(28px,4vw,56px)}

  .perg-grid{grid-template-columns:5fr 7fr;gap:clamp(44px,7vw,104px);align-items:start}
  .perg-foto{display:block;margin-top:26px;aspect-ratio:1/1.05;max-width:320px;border-radius:999px 999px var(--r) var(--r)}

  .fecho-grid{grid-template-columns:5fr 6fr;gap:clamp(44px,6vw,96px);align-items:center}
  .js .fecho-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(44px,6vw,96px);height:auto;padding-block:0}
  .js .jq-fotos{width:auto;height:min(84svh,700px);margin:0}
  .fecho-ressalva{margin-top:16px;font-size:15.5px}
  .fecho-acao{margin-top:18px}
  .fecho-base{padding-block:10px 60px}
  .fecho-passos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px);border-top:0}
  .fecho-passos li{border-top:1px solid var(--line-dark);border-bottom:0}

  .rodape{padding-bottom:40px}
  .rodape-in{grid-template-columns:190px 1fr;gap:32px;align-items:start}

  .dock{left:auto;right:22px;bottom:22px;transform:translateY(160%);width:auto}
  .dock.on{transform:translateY(0)}

  .folha{inset:0;margin:auto;width:min(92vw,440px);height:max-content}
  .folha-in{border-radius:22px;padding:28px;transform:translateY(14px);opacity:0;transition:transform .28s var(--ease),opacity .22s}
  .folha.in .folha-in{transform:none;opacity:1}
}

/* telas baixas: o texto do hero continua cabendo */
@media (min-width:1024px) and (max-height:800px){
  .hero h1{font-size:clamp(36px,3.7vw,52px)}
  .beneficios li{font-size:22px;padding:5px 0 6px}
  .hero-txt{padding:76px 0 22px}
  .apoio{margin-top:10px;font-size:14.5px;line-height:1.45}
  .hero-acao{margin-top:12px}
  .nota{margin-top:8px;font-size:12.5px}
  .prova{margin-top:10px}
  .cena-nota{margin-top:8px}
}

/* celulares baixos: as cenas continuam cabendo */
@media (max-width:719px) and (max-height:700px){
  .js .bal-txt .rotulo{display:none}
  .js .bal-txt h2{font-size:24px}
  .js .fat-txt .rotulo{display:none}
  .g-legendas p{font-size:12px}
  .grafico figcaption{font-size:10.5px}
  .js .jq-fotos{width:min(72vw,40svh)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
