/* RESETLAB - Método Manhã Magra | tokens */
:root{
  --navy-950:#071426;
  --navy-900:#0b1f3a;
  --navy-800:#10294a;
  --navy-700:#183a63;
  --green:#3fd6a0;
  --green-strong:#1f9d73;
  --gold:#d8bf8b;
  --gold-deep:#a98a4d;
  --mist:#f2f6f4;
  --white:#ffffff;
  --ink:#0e1b2e;
  --muted:#4a5b70;
  --on-navy:#dce6f2;
  --on-navy-soft:#a9bbd0;
  --line:#d5dfdb;
  --line-navy:rgba(216,191,139,.28);

  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --r-arch:999px 999px 28px 28px;
  --r-card:20px;
  --r-btn:14px;
  --wrap:1160px;
  --gutter:clamp(20px,5vw,48px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;color:var(--ink);
  background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.12;margin:0;letter-spacing:-.01em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}

.skip{position:absolute;left:-9999px;top:8px;background:var(--gold);color:var(--navy-900);padding:10px 16px;border-radius:8px;z-index:100;font-weight:700}
.skip:focus{left:12px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(64px,9vw,112px)}
.section-navy{background:var(--navy-900);color:var(--on-navy)}
.section-mist{background:var(--mist)}
.section-white{background:var(--white)}
.section-navy h2,.section-navy h3{color:var(--white)}

.h2{font-size:clamp(1.9rem,4.2vw,3rem);max-width:20ch}
.h2.wide{max-width:26ch}
.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--muted);max-width:60ch}
.section-navy .lead{color:var(--on-navy-soft)}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 28px;
  font:700 1.0625rem/1.2 var(--font-body);text-decoration:none;border:0;border-radius:var(--r-btn);cursor:pointer;
  background:var(--green);color:var(--navy-950);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 10px 24px -10px rgba(63,214,160,.7);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px);background:#57e1b0}
.btn:active{transform:translateY(0)}
.btn-sm{min-height:44px;padding:10px 20px;font-size:.98rem;box-shadow:none}
.btn-lg{min-height:62px;padding:16px 34px;font-size:1.15rem}
.btn[disabled],.btn[aria-disabled="true"]{cursor:not-allowed;opacity:.55;transform:none;background:var(--green)}
.link-quiet{color:var(--on-navy);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-navy)}
.link-quiet:hover{text-decoration-color:var(--gold)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,31,58,.92);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line-navy)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px}
.brand{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--white);text-decoration:none;letter-spacing:.01em}
.brand sup{font-family:var(--font-body);font-size:.5em;font-weight:500;color:var(--gold);margin-left:2px;vertical-align:super}

/* nav do cabeçalho */
.nav{display:flex;gap:26px;align-items:center}
.nav a{color:var(--on-navy);text-decoration:none;font-size:.96rem;font-weight:500}
.nav a:hover{color:var(--gold)}
.header-right{display:flex;align-items:center;gap:28px}

/* faixas de imagem de ponta a ponta (estilo cabeçalho), com esmaecimento suave embaixo */
.band{position:relative;width:100%;height:clamp(230px,31vw,470px);overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 64%,rgba(0,0,0,.55) 84%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 0,#000 64%,rgba(0,0,0,.55) 84%,transparent 100%)}
.band img{width:100%;height:100%;object-fit:cover;display:block}
.band-2,.band-3{display:grid;gap:6px}
.band-2{grid-template-columns:repeat(2,1fr)}
.band-3{grid-template-columns:repeat(3,1fr)}
.section.has-band{padding-top:0}
.section.has-band>.band{margin-bottom:clamp(28px,4vw,56px)}

/* hero: foto de ponta a ponta, texto à esquerda sobre um véu branco */
.hero{position:relative;overflow:hidden;background:var(--white);color:var(--ink)}
.hero-bg{position:absolute;inset:0;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 78%,rgba(0,0,0,.5) 92%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 0,#000 78%,rgba(0,0,0,.5) 92%,transparent 100%)}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 10%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,rgba(255,255,255,.97) 30%,rgba(255,255,255,.7) 46%,rgba(255,255,255,0) 64%)}
.hero-inner{position:relative;min-height:clamp(580px,50vw,760px);display:flex;align-items:center;padding-block:56px 84px}
.hero-copy{max-width:590px}
.hero h1{font-size:clamp(2.35rem,5.2vw,4.1rem);color:var(--navy-900);font-weight:600;max-width:15ch}
.hero .lead{margin-top:24px;color:#33455c;font-size:clamp(1.05rem,1.6vw,1.2rem)}
.hero-cta{margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.link-quiet{color:var(--navy-900);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--gold-deep)}
.link-quiet:hover{text-decoration-color:var(--navy-900)}
.checks{margin-top:26px;display:grid;gap:10px;color:#33455c;font-size:.98rem}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks svg{flex:0 0 20px;margin-top:3px;color:var(--green-strong)}
.vsl{display:none;position:relative;width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 60px -30px rgba(11,31,58,.6)}
.vsl>*{width:100%;height:100%}
.vsl video{display:block;width:100%;height:100%;background:#000;object-fit:contain}
.hero.has-vsl .hero-bg{display:none}
.hero.has-vsl .hero-inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(24px,4vw,56px);align-items:center;padding-block:48px 64px}
.hero.has-vsl{background:linear-gradient(180deg,#fff 0,var(--mist) 100%)}
.hero.has-vsl .vsl{display:block}

/* routine */
.routine-2{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,88px);align-items:start}
.pull-col{position:sticky;top:110px}
.timeline{margin-top:36px;position:relative;display:grid;gap:0}
.timeline::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--gold),var(--line))}
.tl-item{position:relative;padding:0 0 30px 40px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--white);border:3px solid var(--gold-deep)}
.tl-item.is-peak::before{background:var(--gold-deep)}
.tl-item h3{font-size:1.28rem;margin-bottom:6px}
.tl-item p{color:var(--muted);max-width:52ch}
.pull{margin-top:0;padding:26px 28px;border-left:4px solid var(--green-strong);background:var(--white);border-radius:0 var(--r-card) var(--r-card) 0;font-size:1.12rem;color:var(--ink);max-width:60ch;box-shadow:0 14px 30px -24px rgba(11,31,58,.5)}

/* method */
.method-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,88px);align-items:center}
.method-media{max-width:420px;justify-self:center;width:100%}
.method-text p{margin-top:22px;color:var(--on-navy);max-width:58ch}
.compare{margin-top:clamp(40px,6vw,72px);border:1px solid var(--line-navy);border-radius:var(--r-card);overflow:hidden}
.compare table{width:100%;border-collapse:collapse;font-size:1rem}
.compare caption{text-align:left;padding:18px 24px;font-family:var(--font-display);font-size:1.2rem;color:var(--white);background:var(--navy-800)}
.compare th,.compare td{padding:18px 24px;text-align:left;vertical-align:top;border-top:1px solid var(--line-navy)}
.compare thead th{font-weight:700;color:var(--gold);font-size:.95rem;background:rgba(255,255,255,.03)}
.compare tbody th{font-weight:600;color:var(--white);width:22%}
.compare td{color:var(--on-navy)}
.compare td.yes{color:var(--white)}

/* split (título + imagem) e chamadas de compra */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:end}
.split .lead{margin-top:20px}
.split-media{justify-self:center;width:100%;max-width:520px}
.split-media.narrow{max-width:300px}
.cta-row{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.cta-row p{color:var(--muted);font-size:.98rem}

/* program */
.weeks{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;align-items:stretch}
.week{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:30px 28px 30px;box-shadow:0 18px 30px -26px rgba(11,31,58,.45)}
.week .n{font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--gold-deep);font-weight:600}
.week h3{font-size:1.35rem;margin:6px 0 10px}
.week p{color:var(--muted);font-size:1rem}
.week:nth-child(n){margin-top:0}
.week .days{margin-top:10px;font-size:.9rem;font-weight:600;color:var(--green-strong)}
.weeks-note{margin-top:34px;color:var(--muted);max-width:62ch}

/* library */
.books{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.book{display:flex;flex-direction:column;gap:16px}
.cover{position:relative;aspect-ratio:3/4;border-radius:10px 14px 14px 10px;padding:72% 16px 16px;display:flex;flex-direction:column;justify-content:flex-start;color:var(--white);
  background:linear-gradient(160deg,var(--navy-700),var(--navy-950));box-shadow:0 22px 34px -22px rgba(7,20,38,.9),inset 5px 0 0 rgba(0,0,0,.25)}
.cover::before{content:"";position:absolute;left:16px;right:16px;top:16px;height:46%;border:1.5px solid var(--gold);border-radius:999px 999px 0 0;opacity:.75}
.cover::after{content:"";position:absolute;left:0;right:0;top:0;height:100%;border-radius:inherit;background:radial-gradient(60% 40% at 50% 22%,rgba(216,191,139,.18),transparent 70%);pointer-events:none}
.cover .tag{position:relative;z-index:1;font-size:.72rem;color:var(--gold);font-weight:600;margin-bottom:8px}
.cover .ttl{position:relative;z-index:1;font-family:var(--font-display);font-size:1.18rem;line-height:1.12;font-weight:600}
.cover.c2{background:linear-gradient(160deg,#14503f,var(--navy-950))}
.cover.c3{background:linear-gradient(160deg,#2a3f66,#0a1a30)}
.cover.c4{background:linear-gradient(160deg,#5a4a29,#0f1a2a)}
.cover.c5{background:linear-gradient(160deg,#1a5b58,#08192a)}
.book p{font-size:.95rem;color:var(--muted)}
.lib-foot{margin-top:40px;font-size:1.05rem;max-width:64ch}

/* fit */
.fit-grid{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fit{border-radius:var(--r-card);padding:32px 30px}
.fit.yes{background:var(--mist);border:1px solid var(--line)}
.fit.no{background:var(--white);border:1px solid var(--line)}
.fit h3{font-size:1.4rem;margin-bottom:18px}
.fit li{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);color:var(--ink);font-size:1rem}
.fit li:first-of-type{border-top:0;padding-top:0}
.fit svg{flex:0 0 22px;margin-top:2px}
.fit.yes svg{color:var(--green-strong)}
.fit.no svg{color:#a3472f}

/* offer */
.offer{background:
  radial-gradient(50% 60% at 50% 0%,rgba(216,191,139,.16),transparent 70%),
  linear-gradient(180deg,var(--navy-900),var(--navy-950))}
.offer-card{margin:40px auto 0;max-width:640px;background:var(--white);color:var(--ink);border-radius:26px;padding:clamp(28px,5vw,48px);text-align:center;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.offer-card h3{color:var(--navy-900);font-size:1.6rem}
.price{margin-top:22px;display:flex;align-items:baseline;justify-content:center;gap:16px;flex-wrap:wrap}
.price .old{font-size:1.25rem;color:var(--muted);text-decoration:line-through}
.price .now{font-family:var(--font-display);font-size:clamp(3.6rem,10vw,5.2rem);line-height:1;font-weight:700;color:var(--navy-900)}
.price .now small{font-size:.38em;font-weight:600;margin-right:4px;vertical-align:.9em}
.price-note{margin-top:8px;color:var(--muted);font-size:.98rem}
.includes{margin:30px 0;text-align:left;display:grid;gap:0}
.includes li{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:1.02rem}
.includes li:last-child{border-bottom:1px solid var(--line)}
.includes svg{flex:0 0 22px;margin-top:2px;color:var(--green-strong)}
.offer-card .btn{width:100%}
.gate{margin-top:14px;font-size:.92rem;color:var(--muted);min-height:1.4em}
.offer-sub{margin-top:18px;color:var(--muted);font-size:.95rem}

/* faq */
.faq{margin-top:40px;max-width:820px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:var(--font-display);font-size:1.22rem;font-weight:600;color:var(--navy-900)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 14px;height:14px;background:
  linear-gradient(var(--gold-deep),var(--gold-deep)) center/100% 2px no-repeat,
  linear-gradient(var(--gold-deep),var(--gold-deep)) center/2px 100% no-repeat;transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 0 24px;color:var(--muted);max-width:66ch}

/* footer */
.site-footer{background:var(--navy-950);color:var(--on-navy-soft);padding-block:56px 110px;font-size:.92rem}
.site-footer .brand{font-size:1.25rem}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px 64px}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end}
.foot-links a{color:var(--on-navy);text-underline-offset:4px}
.legal{margin-top:34px;padding-top:26px;border-top:1px solid var(--line-navy);display:grid;gap:12px;max-width:90ch}
.legal small{font-size:.86rem;line-height:1.6}

/* sticky bar (mobile) */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(7,20,38,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line-navy);
  padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px));display:none;align-items:center;justify-content:space-between;gap:14px;transform:translateY(110%);transition:transform .25s ease}
.sticky-cta.on{transform:none}
.sticky-cta .p{color:var(--white);font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1}
.sticky-cta .p small{display:block;font-family:var(--font-body);font-size:.78rem;font-weight:500;color:var(--on-navy-soft)}
.sticky-cta .btn{flex:1;max-width:260px}

/* legal pages */
.doc{max-width:760px;margin-inline:auto;padding:56px var(--gutter) 96px}
.doc h1{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:12px;color:var(--navy-900)}
.doc h2{font-size:1.4rem;margin:36px 0 10px;color:var(--navy-900)}
.doc p,.doc li{color:var(--muted);margin-top:10px}
.doc ul{list-style:disc;padding-left:22px}

@media (max-width:980px){
  .routine-2,.split{grid-template-columns:1fr}
  .pull-col{position:static}
  .hero h1{max-width:18ch}
  .hero-bg{position:relative;inset:auto;height:clamp(220px,64vw,360px)}
  .hero-bg img{object-position:66% 30%}
  .hero-bg::after{background:linear-gradient(to bottom,rgba(255,255,255,0) 55%,#fff 100%)}
  .hero-inner{min-height:0;padding-block:6px 44px}
  .hero.has-vsl .hero-inner{grid-template-columns:1fr;padding-block:20px 40px;gap:26px}
  .hero.has-vsl .vsl{order:-1;border-radius:14px}
  .weeks{grid-template-columns:1fr}
  .week:nth-child(n){margin-top:0}
  .books{grid-template-columns:repeat(2,1fr)}
  .fit-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .foot-links{justify-content:flex-start}
  .sticky-cta{display:flex}
}
@media (max-width:620px){
  body{font-size:1.02rem}
  .weeks{grid-template-columns:1fr}
  .books{grid-template-columns:repeat(2,1fr);gap:16px 14px}
  .compare th,.compare td{padding:14px 16px}
  .compare thead{display:none}
  .compare tr{display:block;border-top:1px solid var(--line-navy)}
  .compare tbody th,.compare td{display:block;width:auto;border:0;padding:10px 16px}
  .compare tbody th{padding-top:16px;color:var(--gold)}
  .compare td[data-l]::before{content:attr(data-l);display:block;font-size:.8rem;color:var(--on-navy-soft);margin-bottom:2px}
  .hero-cta .btn,.cta-row .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:860px){.nav{display:none}}
@media (max-width:620px){.btn-lg{font-size:1.04rem;padding:16px 16px}}

@media (max-width:620px){.band-3{grid-template-columns:repeat(2,1fr)}.band-3 img:nth-child(3){display:none}.band{height:clamp(200px,52vw,280px)}}

/* prova social */
.proofs{margin-top:44px;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,3vw,36px);max-width:980px}
.proof{margin:0}
.proof img{width:100%;height:auto;border-radius:20px;box-shadow:0 26px 44px -30px rgba(11,31,58,.55);background:var(--white)}
.proof figcaption{margin-top:12px;font-size:.9rem;color:var(--muted)}
.proof-note{margin-top:28px;max-width:62ch;font-size:.95rem;color:var(--muted)}
@media (max-width:760px){.proofs{grid-template-columns:1fr}}

.vsl-sound{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:rgba(7,20,38,.38);cursor:pointer;width:100%;height:100%}
.vsl-sound[hidden]{display:none}
.vsl-pop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;background:rgba(255,255,255,.97);color:#0b1f3a;border-radius:16px;padding:16px 22px;max-width:86%;box-shadow:0 12px 34px rgba(0,0,0,.4);animation:vslpulse 1.8s ease-in-out infinite}
.vsl-pop strong{font:700 1.15rem/1.2 var(--font-body)}
.vsl-pop small{font:500 .86rem/1.3 var(--font-body);color:#3b4a5e}
.vsl-mute{color:#c0392b}
@keyframes vslpulse{50%{transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.vsl-pop{animation:none}}
