/* ===== Cardio Essencial — Landing (mobile-first) ===== */
:root{
  --creme:#F6F4E8; --areia:#E5DDD0; --areia2:#EFEADF;
  --sage:#5D6146; --verde:#363B29; --verde2:#2C3123;
  --marrom:#412E27; --caramelo:#7F6044; --ouro:#A9865E; --ouro-claro:#C9A97E;
  --teal:#2C4951; --teal-dark:#12262B; --teal-deep:#0E1F24;
  --texto:#33291F; --texto-suave:#5c5347;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --wrap:1160px; --radius:14px;
  --shadow:0 18px 50px -22px rgba(19,25,17,.5);
  --shadow-sm:0 8px 26px -16px rgba(19,25,17,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--creme);color:var(--texto);
  line-height:1.6;font-size:16px;overflow-x:hidden;font-weight:400;
  overflow-wrap:break-word;word-break:break-word}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;
  letter-spacing:-.01em}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 22px}
.serif{font-family:var(--serif)}
em{font-style:italic}
strong{font-weight:700;color:var(--marrom)}

/* kicker / eyebrow */
.kicker{font-family:var(--sans);font-weight:700;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--caramelo);
  display:inline-flex;align-items:center;gap:.6em;flex-wrap:wrap;max-width:100%}
.kicker::before{content:"";width:26px;height:1px;background:currentColor;opacity:.7}
.kicker.center{justify-content:center}
.kicker.center::after{content:"";width:26px;height:1px;background:currentColor;opacity:.7}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--sans);font-weight:700;font-size:.98rem;letter-spacing:.01em;
  padding:16px 26px;border-radius:60px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),
  box-shadow .25s,background .25s,color .25s;text-align:center;line-height:1.2}
.btn-primary{background:var(--caramelo);color:#fdf7ee;
  box-shadow:0 14px 30px -12px rgba(127,96,68,.7)}
.btn-primary:hover{transform:translateY(-3px);background:#6d5139;
  box-shadow:0 20px 40px -12px rgba(127,96,68,.8)}
.btn-ghost{background:transparent;border-color:rgba(169,134,94,.55);color:var(--marrom)}
.btn-ghost:hover{border-color:var(--caramelo);background:rgba(127,96,68,.08)}
.btn-light{background:var(--creme);color:var(--verde)}
.btn-light:hover{transform:translateY(-3px);background:#fff}
.btn .arrow{transition:transform .25s}
.btn:hover .arrow{transform:translateX(4px)}
.btn-block{width:100%}

/* ===== header ===== */
header.top{position:sticky;top:0;z-index:50;background:rgba(20,34,30,.0);
  transition:background .3s,box-shadow .3s,padding .3s;padding:14px 0}
header.top.solid{background:rgba(18,32,29,.92);backdrop-filter:blur(10px);
  box-shadow:0 6px 24px -14px rgba(0,0,0,.6)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{display:flex;align-items:center;gap:11px;color:var(--creme)}
.brand .mark{width:34px;height:34px;flex:none}
.brand .name{font-family:var(--serif);font-size:1.12rem;letter-spacing:.14em;
  line-height:1;color:var(--creme)}
.brand .name small{display:block;font-family:var(--sans);font-size:.52rem;
  letter-spacing:.34em;color:var(--ouro-claro);margin-top:3px;font-weight:600}
header.top .btn{padding:11px 20px;font-size:.85rem}
.nav-cta{display:none}

/* ===== hero ===== */
.hero{position:relative;background:
  radial-gradient(120% 90% at 80% 0%,#33452f 0%,#22362e 42%,#132a2c 100%);
  color:var(--creme);padding:118px 0 64px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;opacity:.5;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
  pointer-events:none;mix-blend-mode:overlay}
.hero .wrap{position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;align-items:center}
.hero-grid>*{min-width:0}
.hero h1{font-size:clamp(2rem,7.2vw,4.4rem);color:#fbf7ec;margin:18px 0 0;
  overflow-wrap:break-word}
.hero h1 em{color:var(--ouro-claro);font-style:italic}
.hero .sub{font-size:clamp(1.02rem,4vw,1.22rem);color:#e4e6d9;
  max-width:33ch;margin:20px 0 26px;font-weight:400;line-height:1.55}
.hero-cta{display:flex;flex-direction:column;gap:12px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chip{font-size:.78rem;font-weight:600;letter-spacing:.02em;
  padding:8px 14px;border-radius:40px;border:1px solid rgba(201,169,126,.35);
  color:#e9e4d3;background:rgba(255,255,255,.03)}
.chip b{color:var(--ouro-claro);font-weight:700}
.hero-photo{position:relative;justify-self:center;max-width:420px;width:100%}
.hero-photo img{width:100%;border-radius:18px;box-shadow:var(--shadow);
  border:1px solid rgba(201,169,126,.28)}
.hero-photo .badge{position:absolute;left:-6px;bottom:22px;background:var(--creme);
  color:var(--verde);padding:13px 18px;border-radius:12px;box-shadow:var(--shadow-sm);
  max-width:200px}
.hero-photo .badge b{display:block;font-family:var(--serif);font-size:1.5rem;
  color:var(--caramelo);line-height:1}
.hero-photo .badge span{font-size:.74rem;font-weight:600;color:var(--texto-suave);
  letter-spacing:.02em}

/* ===== faixa dado ===== */
.stripe{background:var(--verde);color:#eef0e2;padding:22px 0}
.stripe .wrap{display:flex;flex-wrap:wrap;gap:12px 30px;align-items:center;
  justify-content:center;text-align:center}
.stripe p{font-size:.96rem;max-width:60ch;color:#e7ead8}
.stripe .src{font-size:.72rem;color:var(--ouro-claro);letter-spacing:.04em}

/* ===== section base ===== */
section{padding:64px 0}
.sec-head{max-width:40ch}
.sec-head.center{margin:0 auto;text-align:center;max-width:44ch}
h2{font-size:clamp(1.9rem,6.4vw,3rem);margin:14px 0 0}
.lead{font-size:1.06rem;color:var(--texto-suave);margin-top:16px}
.eb{color:var(--sage)}

/* dor */
.dor{background:var(--areia2)}
.dor .list{margin-top:30px;display:grid;gap:14px}
.pain{display:flex;gap:14px;align-items:flex-start;background:#fff;
  border:1px solid rgba(65,46,39,.1);border-radius:12px;padding:16px 18px;
  box-shadow:var(--shadow-sm)}
.pain .x{flex:none;width:26px;height:26px;border-radius:50%;background:#efe3dd;
  color:var(--marrom);display:grid;place-items:center;font-size:.8rem;font-weight:800;
  margin-top:2px}
.pain p{font-size:.98rem;color:var(--texto)}
.pain p b{color:var(--marrom)}

/* virada */
.virada{background:
  linear-gradient(160deg,#16292d 0%,#1c332e 100%);color:var(--creme)}
.virada h2{color:#f7f4e8}
.virada .lead{color:#d9dccd}
.virada .grid{margin-top:34px;display:grid;gap:16px}
.turn{background:rgba(255,255,255,.045);border:1px solid rgba(201,169,126,.22);
  border-radius:14px;padding:22px}
.turn .n{font-family:var(--serif);font-size:1.05rem;color:var(--ouro-claro);
  letter-spacing:.05em}
.turn h3{font-size:1.22rem;color:#f4f1e4;margin:8px 0 8px}
.turn p{font-size:.94rem;color:#cdd1c2}

/* para quem */
.filtro .cols{margin-top:30px;display:grid;gap:18px}
.fcard{border-radius:16px;padding:26px 24px;box-shadow:var(--shadow-sm)}
.fcard.yes{background:#fff;border:1px solid rgba(93,97,70,.28)}
.fcard.no{background:#f0e7e2;border:1px solid rgba(65,46,39,.16)}
.fcard h3{font-size:1.3rem;display:flex;align-items:center;gap:10px}
.fcard.yes h3{color:var(--verde)}
.fcard.no h3{color:var(--marrom)}
.fcard ul{list-style:none;margin-top:16px;display:grid;gap:12px}
.fcard li{display:flex;gap:11px;font-size:.96rem;align-items:flex-start;line-height:1.45}
.fcard li i{flex:none;font-style:normal;font-weight:800;margin-top:1px}
.fcard.yes li i{color:var(--sage)}
.fcard.no li i{color:#a86b56}

/* módulos */
.mods{background:var(--verde2);color:var(--creme)}
.mods h2{color:#f7f4e8}.mods .lead{color:#d4d8c7}
.mod-grid{margin-top:36px;display:grid;gap:18px}
.mod{background:rgba(246,244,232,.04);border:1px solid rgba(201,169,126,.22);
  border-radius:16px;padding:26px 24px;transition:transform .3s,border-color .3s,background .3s}
.mod:hover{transform:translateY(-5px);border-color:rgba(201,169,126,.55);
  background:rgba(246,244,232,.07)}
.mod .num{font-family:var(--serif);font-size:2.1rem;color:var(--ouro-claro);
  line-height:1;opacity:.85}
.mod h3{font-size:1.4rem;color:#f6f3e6;margin:10px 0 14px}
.mod p{font-size:.92rem;color:#cbcfbf;margin-bottom:16px}
.mod .tags{display:flex;flex-wrap:wrap;gap:7px}
.mod .tags span{font-size:.72rem;font-weight:600;letter-spacing:.02em;
  color:#e7e2d0;padding:6px 11px;border-radius:30px;border:1px solid rgba(201,169,126,.3)}
.mod-note{margin-top:26px;text-align:center;font-size:.9rem;color:#c2c7b6}

/* formato / timeline */
.formato{background:var(--creme)}
.fmt-top{display:grid;gap:22px;margin-top:32px}
.fmt-stat{background:#fff;border:1px solid rgba(65,46,39,.1);border-radius:14px;
  padding:22px;box-shadow:var(--shadow-sm);text-align:center}
.fmt-stat b{display:block;font-family:var(--serif);font-size:2.3rem;color:var(--caramelo);
  line-height:1}
.fmt-stat span{font-size:.86rem;color:var(--texto-suave);font-weight:600;margin-top:6px;display:block}
.tl{margin-top:40px;position:relative;display:grid;gap:8px}
.tl::before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(var(--ouro),rgba(169,134,94,.15))}
.tl-item{position:relative;padding:14px 0 14px 46px}
.tl-item .dot{position:absolute;left:8px;top:18px;width:16px;height:16px;border-radius:50%;
  background:var(--creme);border:3px solid var(--caramelo)}
.tl-item h4{font-family:var(--sans);font-weight:700;font-size:1.02rem;color:var(--verde)}
.tl-item p{font-size:.92rem;color:var(--texto-suave)}
.incl{margin-top:34px;display:grid;gap:12px}
.incl li{list-style:none;display:flex;gap:12px;align-items:flex-start;font-size:.98rem}
.incl li svg{flex:none;margin-top:3px}

/* diferenciais */
.difs{background:var(--areia2)}
.dif-grid{margin-top:34px;display:grid;gap:16px}
.dif{background:#fff;border:1px solid rgba(65,46,39,.1);border-radius:14px;padding:24px;
  box-shadow:var(--shadow-sm)}
.dif .ic{width:44px;height:44px;border-radius:12px;background:#f0e8df;display:grid;
  place-items:center;margin-bottom:14px}
.dif h3{font-size:1.16rem;color:var(--verde)}
.dif p{font-size:.93rem;color:var(--texto-suave);margin-top:8px}

/* autoridade */
.auth{background:
  linear-gradient(160deg,#132a2c 0%,#1d332e 100%);color:var(--creme);overflow:hidden}
.auth-grid{display:grid;gap:34px;align-items:center}
.auth-photo{position:relative;max-width:400px;width:100%;justify-self:center}
.auth-photo img{width:100%;border-radius:16px;border:1px solid rgba(201,169,126,.28);
  box-shadow:var(--shadow)}
.auth h2{color:#f7f4e8}
.auth .role{color:var(--ouro-claro);font-weight:700;font-size:.86rem;letter-spacing:.14em;
  text-transform:uppercase;margin-top:14px}
.auth p{color:#d7dacb;margin-top:16px;font-size:1rem}
.auth .creds{margin-top:22px;display:grid;gap:11px}
.auth .creds li{list-style:none;display:flex;gap:11px;font-size:.95rem;color:#e4e6d9}
.auth .creds i{color:var(--ouro-claro);font-style:normal;font-weight:800}
.auth blockquote{margin-top:24px;font-family:var(--serif);font-style:italic;
  font-size:1.2rem;color:#f2efe1;border-left:3px solid var(--caramelo);padding-left:18px;line-height:1.4}

/* preço */
.preco{background:var(--creme)}
.price-card{max-width:560px;margin:36px auto 0;background:#fff;border-radius:22px;
  border:1px solid rgba(65,46,39,.12);box-shadow:var(--shadow);overflow:hidden}
.price-card .ph{background:var(--verde);color:var(--creme);padding:26px 28px;text-align:center}
.price-card .ph .k{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ouro-claro);font-weight:700}
.price-card .ph h3{font-size:1.7rem;color:#f7f4e8;margin-top:6px}
.price-body{padding:28px}
.price-body .val{text-align:center;padding-bottom:22px;border-bottom:1px dashed rgba(65,46,39,.2)}
.price-body .val .from{font-size:.9rem;color:var(--texto-suave);text-decoration:line-through;opacity:.7}
.price-body .val .x{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--texto-suave);margin-top:4px}
.price-body .val .big{display:block;font-family:var(--serif);font-size:3rem;color:var(--marrom);line-height:1;margin:2px 0}
.price-body .val .big.range{font-size:clamp(1.7rem,7.5vw,2.6rem);letter-spacing:-.01em}
.price-body .val .cash{display:block;font-size:.92rem;color:var(--texto-suave);margin-top:10px;max-width:42ch;margin-left:auto;margin-right:auto}
.price-body .val .cond{display:inline-block;margin-top:12px;font-size:.76rem;font-weight:700;
  letter-spacing:.03em;color:var(--caramelo);background:#f4ece1;padding:7px 14px;border-radius:30px}
.price-list{list-style:none;margin:22px 0;display:grid;gap:12px}
.price-list li{display:flex;gap:11px;font-size:.96rem;align-items:flex-start}
.price-list li svg{flex:none;margin-top:3px}
.price-body .btn{margin-top:6px}
.pay-note{text-align:center;font-size:.8rem;color:var(--texto-suave);margin-top:14px}

/* garantia */
.garantia{background:var(--verde2);color:var(--creme)}
.guar{max-width:640px;margin:0 auto;text-align:center;background:rgba(246,244,232,.05);
  border:1px solid rgba(201,169,126,.25);border-radius:20px;padding:38px 28px}
.guar .seal{width:74px;height:74px;margin:0 auto 18px;border-radius:50%;
  border:2px solid var(--ouro-claro);display:grid;place-items:center;color:var(--ouro-claro)}
.guar h2{color:#f7f4e8;font-size:clamp(1.6rem,5.5vw,2.2rem)}
.guar p{color:#d7dacb;margin-top:14px;font-size:1rem}

/* faq */
.faq{background:var(--creme)}
.faq-list{max-width:760px;margin:34px auto 0;display:grid;gap:12px}
details{background:#fff;border:1px solid rgba(65,46,39,.12);border-radius:12px;
  padding:4px 20px;box-shadow:var(--shadow-sm)}
details[open]{border-color:rgba(127,96,68,.4)}
summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:700;font-size:1.02rem;
  color:var(--verde);display:flex;justify-content:space-between;gap:14px;align-items:center}
summary::-webkit-details-marker{display:none}
summary .plus{flex:none;width:24px;height:24px;position:relative;transition:transform .3s}
summary .plus::before,summary .plus::after{content:"";position:absolute;background:var(--caramelo);
  border-radius:2px}
summary .plus::before{width:14px;height:2px;top:11px;left:5px}
summary .plus::after{width:2px;height:14px;top:5px;left:11px;transition:transform .3s}
details[open] summary .plus::after{transform:rotate(90deg)}
details[open] summary .plus{transform:rotate(180deg)}
details p{padding:0 0 20px;color:var(--texto-suave);font-size:.96rem;line-height:1.6}

/* cta final */
.final{background:radial-gradient(120% 100% at 50% 0%,#33452f 0%,#1b322c 55%,#112629 100%);
  color:var(--creme);text-align:center}
.final h2{color:#f9f6ea;font-size:clamp(2rem,7vw,3.2rem);max-width:18ch;margin:16px auto 0}
.final .sub{color:#d9dccd;max-width:46ch;margin:18px auto 28px;font-size:1.05rem}
.final .btn{margin:0 auto}
.final .re{margin-top:18px;font-size:.86rem;color:var(--ouro-claro)}

/* footer */
footer.ft{background:var(--teal-deep);color:#aeb8ac;padding:40px 0;font-size:.86rem}
footer.ft .wrap{display:grid;gap:18px}
footer.ft .brand .name{font-size:1.05rem}
footer.ft p{max-width:52ch;line-height:1.55}
footer.ft .disc{font-size:.76rem;color:#7d8a80;border-top:1px solid rgba(255,255,255,.08);
  padding-top:16px}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}

/* ===== responsive ===== */
@media(min-width:680px){
  .stripe .wrap{flex-wrap:nowrap}
  .filtro .cols{grid-template-columns:1fr 1fr}
  .fmt-top{grid-template-columns:repeat(3,1fr)}
  .dif-grid{grid-template-columns:1fr 1fr}
  .virada .grid{grid-template-columns:repeat(3,1fr)}
  .hero-cta{flex-direction:row}
}
@media(min-width:900px){
  body{font-size:17px}
  .wrap{padding:0 32px}
  section{padding:96px 0}
  .nav-cta{display:inline-flex}
  .hero{padding:150px 0 90px}
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:50px}
  .hero-photo{justify-self:end;max-width:460px}
  .hero .sub{font-size:1.24rem}
  .mod-grid{grid-template-columns:1fr 1fr}
  .dif-grid{grid-template-columns:repeat(4,1fr)}
  .auth-grid{grid-template-columns:.9fr 1.1fr;gap:56px}
  .auth-photo{justify-self:start}
  .dor .list{grid-template-columns:1fr 1fr}
  .incl{grid-template-columns:1fr 1fr}
  footer.ft .wrap{grid-template-columns:1.3fr 1fr}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .rv{opacity:1;transform:none;transition:none}
  .btn,.mod{transition:none}
}
