/* =========================================================================
   Combo POPs USF — Página de vendas premium
   Sistema "Dossiê Clínico": índigo profundo + branco clínico + coral quente
   Display: Spectral (serif) · Corpo: Hanken Grotesk (grotesca)
   ========================================================================= */

/* ----------------------------- Fontes (self-hosted) -------------------- */
@font-face{
  font-family:'Hanken Grotesk'; font-style:normal; font-weight:400 800; font-display:swap;
  src:url('/fonts/hanken.woff2') format('woff2');
}
@font-face{
  font-family:'Spectral'; font-style:normal; font-weight:600; font-display:swap;
  src:url('/fonts/spectral-600.woff2') format('woff2');
}
@font-face{
  font-family:'Spectral'; font-style:normal; font-weight:700; font-display:swap;
  src:url('/fonts/spectral-700.woff2') format('woff2');
}

/* ----------------------------- Tokens ---------------------------------- */
:root{
  /* Superfícies */
  --bg:        oklch(1 0 0);             /* branco puro — papel clínico */
  --surface:   oklch(0.976 0.008 266);  /* tinta índigo levíssima — seções alternadas */
  --surface-2: oklch(0.958 0.012 266);
  --card:      oklch(1 0 0);

  /* Tinta / texto */
  --ink:       oklch(0.235 0.035 268);  /* índigo-tinta — texto principal */
  --ink-soft:  oklch(0.435 0.030 268);  /* texto secundário */
  --ink-faint: oklch(0.560 0.022 268);  /* legendas */
  --on-dark:   oklch(0.965 0.010 266);  /* texto sobre índigo */
  --on-dark-soft: oklch(0.820 0.022 266);

  /* Linhas */
  --line:      oklch(0.910 0.012 268);
  --line-soft: oklch(0.945 0.010 268);
  --line-dark: oklch(0.420 0.040 270 / .35);

  /* Marca — índigo */
  --primary:      oklch(0.430 0.130 266);
  --primary-deep: oklch(0.330 0.105 268);
  --hero-1:       oklch(0.285 0.090 270);
  --hero-2:       oklch(0.205 0.072 272);
  --hero-3:       oklch(0.165 0.060 274);
  --indigo-tint:  oklch(0.945 0.030 266);

  /* Acento — coral/terracota (CTA, calor humano) */
  --accent:       oklch(0.625 0.165 38);
  --accent-deep:  oklch(0.560 0.160 36);
  --accent-press: oklch(0.510 0.150 35);
  --accent-soft:  oklch(0.955 0.034 45);
  --accent-line:  oklch(0.870 0.070 42);

  /* Ouro — só no selo de garantia */
  --gold:      oklch(0.800 0.098 82);
  --gold-deep: oklch(0.600 0.092 78);

  /* Apoio clínico (check verde discreto) */
  --ok:        oklch(0.560 0.110 158);
  --ok-soft:   oklch(0.945 0.040 160);

  /* Tipografia */
  --font-display: 'Spectral', Georgia, 'Times New Roman', serif;
  --font-body: 'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;

  /* Raio */
  --r-xs: 7px;
  --r-sm: 11px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 30px;
  --r-pill: 999px;

  /* Sombra — camadas suaves */
  --sh-xs: 0 1px 2px oklch(0.28 0.06 268 / .06);
  --sh-sm: 0 2px 6px oklch(0.28 0.06 268 / .07), 0 1px 2px oklch(0.28 0.06 268 / .06);
  --sh-md: 0 10px 28px oklch(0.26 0.06 268 / .10), 0 2px 8px oklch(0.26 0.06 268 / .06);
  --sh-lg: 0 26px 60px oklch(0.24 0.06 268 / .16), 0 8px 22px oklch(0.24 0.06 268 / .08);
  --sh-cta: 0 12px 26px oklch(0.55 0.16 38 / .34), 0 3px 8px oklch(0.55 0.16 38 / .22);

  /* Z-index semântico */
  --z-base: 1;
  --z-sticky: 50;
  --z-mobilebar: 60;
  --z-header: 70;
  --z-consent: 90;

  /* Layout */
  --maxw: 1160px;
  --pad: clamp(1.15rem, 4vw, 2.25rem);

  /* Motion */
  --ease: cubic-bezier(.22,.61,.36,1);          /* ease-out-quart-ish */
  --ease-expo: cubic-bezier(.16,1,.3,1);
}

/* ----------------------------- Reset ----------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0;
  font-family:var(--font-body);
  font-size:clamp(1rem, 0.96rem + 0.2vw, 1.075rem);
  line-height:1.65;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,picture{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
strong,b{ font-weight:700; }
:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; border-radius:6px; }
::selection{ background:oklch(0.625 0.165 38 / .22); }

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-0.012em;
  color:var(--ink);
  margin:0;
  text-wrap:balance;
}
p{ margin:0; }
p.lead{ font-size:clamp(1.08rem,1rem+0.5vw,1.3rem); color:var(--ink-soft); line-height:1.6; text-wrap:pretty; }

/* ----------------------------- Layout ---------------------------------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }
.section{ padding-block:clamp(3.75rem, 7vw, 6.5rem); }
.section--tight{ padding-block:clamp(2.75rem,5vw,4.5rem); }
.sec-head{ max-width:46rem; margin-bottom:clamp(2rem,4vw,3rem); }
.sec-head.center{ margin-inline:auto; text-align:center; }
.sec-head h2{ font-size:clamp(1.9rem, 1.3rem + 2.5vw, 3rem); }
.sec-head p{ margin-top:1rem; }
.kicker{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-body); font-weight:700;
  font-size:.74rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--primary);
  margin-bottom:1rem;
}
.kicker::before{ content:""; width:1.6rem; height:2px; border-radius:2px; background:var(--accent); }
.sec-head.center .kicker{ justify-content:center; }

/* ----------------------------- Botões ---------------------------------- */
.btn{
  --bg:var(--ink); --fg:#fff;
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--font-body); font-weight:700; font-size:1rem; line-height:1;
  padding:1rem 1.5rem; border:1px solid transparent; border-radius:var(--r-pill);
  background:var(--bg); color:var(--fg);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease), background .2s var(--ease);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn svg{ width:1.05em; height:1.05em; }

.btn-cta{ --bg:var(--accent); --fg:#fff; box-shadow:var(--sh-cta);
  background:linear-gradient(180deg, var(--accent), var(--accent-deep)); }
.btn-cta:hover{ background:linear-gradient(180deg, var(--accent), var(--accent-press)); box-shadow:0 16px 34px oklch(0.55 0.16 38 / .42); }
.btn-cta .arrow{ transition:transform .25s var(--ease-expo); }
.btn-cta:hover .arrow{ transform:translateX(4px); }

.btn-lg{ font-size:1.08rem; padding:1.18rem 2rem; }
.btn-block{ display:flex; width:100%; }

.btn-ghost{ --bg:transparent; --fg:var(--on-dark); border-color:oklch(1 0 0 / .28); }
.btn-ghost:hover{ background:oklch(1 0 0 / .08); border-color:oklch(1 0 0 / .5); }

.btn-outline{ --bg:transparent; --fg:var(--ink); border-color:var(--line); }
.btn-outline:hover{ background:var(--surface); border-color:var(--ink-faint); }

.btn-gold{ --bg:var(--gold); --fg:oklch(0.30 0.06 80); }
.btn-gold:hover{ filter:brightness(1.04); }

.btn-sheen{ position:relative; overflow:hidden; }
.btn-sheen::after{
  content:""; position:absolute; inset:0 -40% 0 -40%;
  background:linear-gradient(105deg, transparent 40%, oklch(1 0 0 / .28) 50%, transparent 60%);
  transform:translateX(-60%); transition:transform .7s var(--ease-expo); pointer-events:none;
}
.btn-sheen:hover::after{ transform:translateX(60%); }

/* ----------------------------- Header ---------------------------------- */
.site-header{
  position:sticky; top:0; z-index:var(--z-header);
  background:oklch(1 0 0 / .82); backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
}
.site-header.scrolled{ border-bottom-color:var(--line); box-shadow:var(--sh-sm); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; height:clamp(60px,8vw,72px); }
.brand{ display:flex; align-items:center; gap:.62rem; font-weight:800; letter-spacing:-0.01em; }
.brand-mark{
  width:34px; height:34px; border-radius:9px; flex:none;
  background:linear-gradient(150deg, var(--hero-1), var(--hero-3));
  display:grid; place-items:center; color:#fff; box-shadow:var(--sh-sm);
}
.brand-mark svg{ width:19px; height:19px; }
.brand-txt{ display:flex; flex-direction:column; line-height:1.05; }
.brand-txt b{ font-size:1rem; }
.brand-txt small{ font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); font-weight:700; }
.nav{ display:flex; align-items:center; gap:.35rem; }
.nav a.navlink{ padding:.55rem .8rem; border-radius:var(--r-sm); font-weight:600; font-size:.95rem; color:var(--ink-soft); transition:color .2s, background .2s; }
.nav a.navlink:hover{ color:var(--ink); background:var(--surface); }
.header-cta{ display:flex; align-items:center; gap:.75rem; }
.header-cta .btn{ padding:.7rem 1.15rem; font-size:.95rem; }
.nav-toggle{ display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:11px; background:var(--bg); }
.nav-toggle span{ display:block; width:19px; height:2px; margin:3px auto; background:var(--ink); border-radius:2px; transition:transform .25s var(--ease), opacity .2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-5px) rotate(-45deg); }

@media (max-width:940px){
  .nav{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:.15rem;
    background:var(--bg); border-bottom:1px solid var(--line); box-shadow:var(--sh-md);
    padding:.6rem var(--pad) 1.1rem;
    transform:translateY(-8px); opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
  }
  .nav.open{ transform:translateY(0); opacity:1; visibility:visible; pointer-events:auto; }
  .nav a.navlink{ padding:.85rem .6rem; font-size:1.05rem; border-bottom:1px solid var(--line-soft); border-radius:0; }
  .nav-toggle{ display:block; }
  .header-cta .btn-header-desktop{ display:none; }
}

/* ----------------------------- Hero ------------------------------------ */
.hero{
  position:relative; isolation:isolate; overflow:hidden;
  background:
    radial-gradient(120% 95% at 85% -10%, oklch(0.40 0.12 274 / .55), transparent 55%),
    radial-gradient(90% 80% at 8% 110%, oklch(0.55 0.16 38 / .18), transparent 60%),
    linear-gradient(168deg, var(--hero-1) 0%, var(--hero-2) 52%, var(--hero-3) 100%);
  color:var(--on-dark);
  padding-block:clamp(2.5rem, 5vw, 4rem) clamp(3.5rem,7vw,6rem);
}
.hero::before{ /* grão sutil */
  content:""; position:absolute; inset:0; z-index:-1; opacity:.5; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}
.hero-ekg{ position:absolute; left:0; right:0; bottom:8%; width:100%; height:90px; z-index:-1; opacity:.16; color:var(--on-dark); }
.hero-ekg path{ stroke:currentColor; stroke-width:2; fill:none; vector-effect:non-scaling-stroke; }

.hero-grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.hero-label{
  display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1.3rem;
  padding:.42rem .85rem .42rem .55rem; border-radius:var(--r-pill);
  background:oklch(1 0 0 / .1); border:1px solid oklch(1 0 0 / .18);
  font-size:.78rem; font-weight:700; letter-spacing:.02em; color:var(--on-dark);
  backdrop-filter:blur(6px);
}
.hero-label .dot{ width:.5rem; height:.5rem; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px oklch(0.625 0.165 38 / .3); }
.hero h1{
  color:#fff; font-weight:600;
  font-size:clamp(2.15rem, 1.3rem + 3.9vw, 3.85rem);
  line-height:1.04; letter-spacing:-0.022em;
}
.hero h1 .hl{ color:transparent; position:relative; white-space:nowrap; }
.hero h1 em{ font-style:italic; color:oklch(0.88 0.07 42); font-weight:500; }
.hero h1 .u{
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
  background-image:linear-gradient(180deg, transparent 58%, oklch(0.625 0.165 38 / .92) 58%, oklch(0.625 0.165 38 / .5) 100%);
  padding-bottom:.02em;
}
.hero-sub{ margin-top:1.4rem; max-width:34rem; font-size:clamp(1.04rem,1rem+0.35vw,1.2rem); color:var(--on-dark-soft); line-height:1.62; text-wrap:pretty; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2rem; }
.hero-trust{ display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin-top:1.7rem; }
.hero-trust span{ display:inline-flex; align-items:center; gap:.45rem; font-size:.9rem; font-weight:600; color:var(--on-dark-soft); }
.hero-trust svg{ width:1.05rem; height:1.05rem; color:oklch(0.80 0.11 158); flex:none; }
.hero-pricechip{ margin-top:1.8rem; display:inline-flex; align-items:baseline; gap:.55rem; color:var(--on-dark-soft); font-size:.96rem; }
.hero-pricechip b{ color:#fff; font-size:1.16rem; font-weight:800; }
.hero-pricechip s{ color:oklch(0.74 0.03 266); }

/* Entrada do hero — transform-only; o texto (LCP) tem opacidade sempre 1 */
@keyframes heroUp{ from{ transform:translateY(18px); } to{ transform:none; } }
@keyframes heroArtIn{ from{ opacity:0; transform:translateY(22px) scale(.985); } to{ opacity:1; transform:none; } }
.hero-copy > *{ animation:heroUp .7s var(--ease-expo) both; }
.hero-copy > *:nth-child(1){ animation-delay:.02s; }
.hero-copy > *:nth-child(2){ animation-delay:.09s; }
.hero-copy > *:nth-child(3){ animation-delay:.16s; }
.hero-copy > *:nth-child(4){ animation-delay:.23s; }
.hero-copy > *:nth-child(5){ animation-delay:.30s; }
.hero-copy > *:nth-child(6){ animation-delay:.37s; }
.hero-art{ animation:heroArtIn .9s var(--ease-expo) .12s both; }
@media (prefers-reduced-motion:reduce){ .hero-copy > *, .hero-art{ animation:none !important; } }

/* Mockup de dossiê (produto tangível) */
.hero-art{ position:relative; perspective:1400px; }
.dossier{ position:relative; transform-style:preserve-3d; transform:rotateY(-13deg) rotateX(5deg) rotate(.4deg); }
@media (prefers-reduced-motion:no-preference){
  .dossier{ animation:floaty 7s var(--ease) infinite alternate; }
}
@keyframes floaty{ to{ transform:rotateY(-10deg) rotateX(3deg) translateY(-12px); } }
.sheet{
  position:relative; background:#fff; color:var(--ink); border-radius:var(--r-md);
  box-shadow:var(--sh-lg); border:1px solid oklch(0.9 0.01 268);
  padding:1.25rem 1.3rem;
}
.sheet--back{ position:absolute; inset:0; transform:translate(26px, 30px) rotate(4deg) scale(.97); opacity:.5; z-index:-2; }
.sheet--mid{ position:absolute; inset:0; transform:translate(13px, 15px) rotate(2deg) scale(.985); opacity:.8; z-index:-1; }
.sheet-top{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding-bottom:.85rem; border-bottom:1px solid var(--line); }
.sheet-tag{ font-family:var(--font-body); font-weight:800; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--primary); padding:.32rem .55rem; border-radius:6px; }
.sheet-rev{ font-size:.66rem; font-weight:700; color:var(--ink-faint); letter-spacing:.02em; }
.sheet h4{ font-size:1.02rem; margin:.85rem 0 .2rem; letter-spacing:-0.01em; }
.sheet .sheet-sub{ font-size:.74rem; color:var(--ink-faint); font-weight:600; }
.sheet-rows{ margin-top:.9rem; display:grid; gap:.62rem; }
.srow{ display:grid; grid-template-columns:auto 1fr; gap:.55rem; align-items:center; }
.srow .ic{ width:1.15rem; height:1.15rem; border-radius:5px; background:var(--indigo-tint); color:var(--primary); display:grid; place-items:center; flex:none; }
.srow .ic svg{ width:.78rem; height:.78rem; }
.srow .ln{ height:.5rem; border-radius:3px; background:var(--line); }
.srow .ln.w1{ width:88%; } .srow .ln.w2{ width:72%; } .srow .ln.w3{ width:94%; } .srow .ln.w4{ width:64%; }
.sheet-foot{ margin-top:1rem; padding-top:.85rem; border-top:1px dashed var(--line); display:flex; justify-content:space-between; align-items:center; }
.sig{ width:46%; }
.sig .ln{ height:.45rem; background:var(--line); border-radius:3px; }
.sig small{ display:block; margin-top:.35rem; font-size:.6rem; color:var(--ink-faint); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.dossier-badge{
  position:absolute; z-index:3; right:-14px; top:-20px;
  background:#fff; border-radius:var(--r-pill); box-shadow:var(--sh-md);
  padding:.5rem .9rem; display:flex; align-items:center; gap:.5rem; font-weight:800; font-size:.84rem; color:var(--ink);
  border:1px solid var(--line);
}
.dossier-badge .n{ font-family:var(--font-display); font-weight:700; color:var(--accent); font-size:1.4rem; line-height:1; }
.dossier-stamp{
  position:absolute; left:-22px; bottom:34px; z-index:3; width:92px; height:92px; border-radius:50%;
  display:grid; place-items:center; text-align:center; color:#fff; font-weight:800; font-size:.62rem; line-height:1.15;
  letter-spacing:.04em; text-transform:uppercase; transform:rotate(-12deg);
  background:radial-gradient(circle at 35% 30%, var(--accent), var(--accent-deep));
  box-shadow:var(--sh-md), inset 0 0 0 3px oklch(1 0 0 / .35);
}

/* faixa de normas */
.normbar{ position:relative; z-index:1; margin-top:clamp(2.2rem,4vw,3.2rem); border-top:1px solid oklch(1 0 0 / .14); padding-top:1.3rem; }
.normbar .nb-label{ font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--on-dark-soft); margin-bottom:.9rem; }
.marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.marquee-track{ display:flex; gap:.7rem; width:max-content; animation:scrollx 38s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.norm-chip{ flex:none; display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .9rem; border-radius:var(--r-pill); background:oklch(1 0 0 / .08); border:1px solid oklch(1 0 0 / .16); font-size:.84rem; font-weight:600; color:var(--on-dark); white-space:nowrap; }
.norm-chip svg{ width:.9rem; height:.9rem; color:oklch(0.82 0.10 82); }
@keyframes scrollx{ to{ transform:translateX(-50%); } }

/* ----------------------------- Dores ----------------------------------- */
.pain-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.1rem; }
.pain{
  position:relative; background:var(--card); border:1px solid var(--line); border-radius:var(--r-md);
  padding:1.4rem 1.4rem 1.5rem; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;
}
.pain:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); border-color:var(--line-soft); }
.pain-ic{ width:2.7rem; height:2.7rem; border-radius:12px; display:grid; place-items:center; margin-bottom:1rem;
  background:var(--accent-soft); color:var(--accent-deep); }
.pain-ic svg{ width:1.35rem; height:1.35rem; }
.pain h3{ font-size:1.16rem; margin-bottom:.5rem; }
.pain p{ color:var(--ink-soft); font-size:.97rem; }

/* ----------------------------- Solução --------------------------------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.solution{ background:var(--surface); }
.before-after{ display:grid; gap:1rem; }
.ba{ display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; padding:1.15rem 1.25rem; border-radius:var(--r-md); border:1px solid var(--line); background:var(--card); }
.ba .ba-ic{ width:2.4rem; height:2.4rem; border-radius:50%; display:grid; place-items:center; flex:none; }
.ba.bad .ba-ic{ background:oklch(0.95 0.03 30); color:oklch(0.55 0.16 30); }
.ba.good .ba-ic{ background:var(--ok-soft); color:var(--ok); }
.ba b{ display:block; margin-bottom:.15rem; }
.ba.good{ border-color:var(--accent-line); box-shadow:var(--sh-sm); }
.ba p{ color:var(--ink-soft); font-size:.95rem; }
.ba s{ color:var(--ink-faint); }

/* ----------------------------- Conteúdo / 35 POPs ---------------------- */
.content-meta{ display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:2.2rem; }
.meta-pill{ display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1rem; border-radius:var(--r-pill); background:var(--indigo-tint); color:var(--primary-deep); font-weight:700; font-size:.92rem; }
.meta-pill svg{ width:1.05rem; height:1.05rem; }
.blocks{ display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:1.15rem; }
.block{
  position:relative; overflow:hidden; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:1.5rem 1.5rem 1.6rem;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;
}
.block:hover{ transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:var(--line-soft); }
.block-num{ position:absolute; top:.4rem; right:1.1rem; font-family:var(--font-display); font-weight:700; font-size:4.2rem; line-height:1; color:var(--surface-2); z-index:0; }
.block-head{ position:relative; z-index:1; display:flex; align-items:center; gap:.85rem; margin-bottom:1.1rem; }
.block-ic{ width:2.9rem; height:2.9rem; border-radius:13px; flex:none; display:grid; place-items:center; color:#fff;
  background:linear-gradient(150deg, var(--primary), var(--primary-deep)); box-shadow:var(--sh-sm); }
.block-ic svg{ width:1.45rem; height:1.45rem; }
.block-head h3{ font-size:1.16rem; line-height:1.15; }
.block-head .cnt{ display:block; margin-top:.2rem; font-family:var(--font-body); font-size:.76rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--accent-deep); }
.pop-list{ position:relative; z-index:1; display:grid; gap:.1rem; }
.pop-list li{ display:grid; grid-template-columns:auto 1fr; gap:.6rem; align-items:start; padding:.5rem 0; border-top:1px solid var(--line-soft); font-size:.95rem; color:var(--ink-soft); }
.pop-list li:first-child{ border-top:0; }
.pop-list li .chk{ width:1.15rem; height:1.15rem; margin-top:.12rem; flex:none; color:var(--ok); }
.pop-list li .chk svg{ width:100%; height:100%; }
.content-note{ margin-top:1.8rem; display:flex; gap:.7rem; align-items:center; justify-content:center; flex-wrap:wrap; color:var(--ink-faint); font-size:.92rem; }

/* ----------------------------- Diferenciais ---------------------------- */
.features{ background:var(--surface); }
.feat-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1.5rem 1.3rem; }
.feat{ display:grid; gap:.65rem; }
.feat-ic{ width:3rem; height:3rem; border-radius:14px; display:grid; place-items:center; background:var(--bg); border:1px solid var(--line); color:var(--primary); box-shadow:var(--sh-xs); }
.feat-ic svg{ width:1.5rem; height:1.5rem; }
.feat h3{ font-size:1.12rem; }
.feat p{ color:var(--ink-soft); font-size:.96rem; }

/* ----------------------------- Stats ----------------------------------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.stat{ background:var(--card); padding:1.6rem 1.2rem; text-align:center; }
.stat .num{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.9rem,1.2rem+2vw,2.7rem); color:var(--primary); line-height:1; letter-spacing:-0.02em; }
.stat .lbl{ margin-top:.4rem; font-size:.86rem; color:var(--ink-soft); font-weight:600; }
@media (max-width:680px){ .stats{ grid-template-columns:repeat(2,1fr); } }

/* ----------------------------- Depoimentos ----------------------------- */
.tst-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1.2rem; }
.tst{ display:flex; flex-direction:column; gap:1rem; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.6rem 1.55rem; box-shadow:var(--sh-sm); }
.tst .stars{ display:flex; gap:.15rem; color:var(--gold); }
.tst .stars svg{ width:1.05rem; height:1.05rem; }
.tst blockquote{ margin:0; font-size:1.04rem; line-height:1.55; color:var(--ink); }
.tst-quote-mark{ font-family:var(--font-display); font-size:2.6rem; line-height:0; color:var(--accent-line); height:.5rem; }
.tst-who{ display:flex; align-items:center; gap:.8rem; margin-top:auto; padding-top:.4rem; }
.tst-av{ width:2.7rem; height:2.7rem; border-radius:50%; flex:none; display:grid; place-items:center; color:#fff; font-weight:700; font-family:var(--font-display); background:linear-gradient(150deg,var(--primary),var(--primary-deep)); }
.tst-who b{ display:block; font-size:.98rem; }
.tst-who small{ color:var(--ink-faint); font-size:.84rem; font-weight:600; }

/* ----------------------------- Autora ---------------------------------- */
.author{ background:linear-gradient(168deg, var(--hero-2), var(--hero-3)); color:var(--on-dark); position:relative; overflow:hidden; }
.author::before{ content:""; position:absolute; inset:0; opacity:.5; mix-blend-mode:overlay; z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E"); }
.author .wrap{ position:relative; z-index:1; }
.author-grid{ display:grid; grid-template-columns:auto 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.author-photo{ width:clamp(120px,18vw,168px); height:clamp(120px,18vw,168px); border-radius:50%; flex:none;
  display:grid; place-items:center; font-family:var(--font-display); font-weight:600; font-size:clamp(2.6rem,6vw,3.6rem); color:#fff;
  background:linear-gradient(150deg, var(--primary), var(--accent-deep)); box-shadow:var(--sh-lg), inset 0 0 0 4px oklch(1 0 0 / .2); }
.author h2{ color:#fff; font-size:clamp(1.7rem,1.2rem+2vw,2.4rem); }
.author .role{ color:oklch(0.86 0.07 42); font-weight:700; margin:.4rem 0 1rem; }
.author p{ color:var(--on-dark-soft); max-width:42rem; }
.author-badges{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.3rem; }
.author-badges span{ display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .9rem; border-radius:var(--r-pill); background:oklch(1 0 0 / .1); border:1px solid oklch(1 0 0 / .18); font-size:.86rem; font-weight:600; }
.author-badges svg{ width:1rem; height:1rem; color:oklch(0.82 0.10 82); }

/* ----------------------------- Oferta ---------------------------------- */
.offer{ background:radial-gradient(120% 80% at 50% 0%, var(--indigo-tint), var(--surface) 60%); }
.offer-card{
  max-width:660px; margin-inline:auto; background:var(--card);
  border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--sh-lg); overflow:hidden;
}
.offer-top{ background:linear-gradient(165deg,var(--hero-1),var(--hero-3)); color:var(--on-dark); padding:1.9rem clamp(1.4rem,4vw,2.6rem) 1.7rem; text-align:center; position:relative; }
.offer-flag{ display:inline-flex; align-items:center; gap:.45rem; padding:.4rem .9rem; border-radius:var(--r-pill); background:var(--accent); color:#fff; font-weight:800; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; margin-bottom:1rem; box-shadow:var(--sh-sm); }
.offer-top h3{ color:#fff; font-size:clamp(1.4rem,1.1rem+1.4vw,2rem); }
.offer-top .incl{ margin-top:.5rem; color:var(--on-dark-soft); font-size:.96rem; }
.offer-body{ padding:clamp(1.6rem,4vw,2.4rem); }
.price-row{ display:flex; align-items:baseline; justify-content:center; gap:.7rem; flex-wrap:wrap; }
.price-old{ color:var(--ink-faint); font-size:1.2rem; text-decoration:line-through; text-decoration-color:var(--accent); }
.price-now{ font-family:var(--font-display); font-weight:700; color:var(--ink); letter-spacing:-0.02em; line-height:.9; font-size:clamp(3rem,2rem+5vw,4.4rem); }
.price-now .cur{ font-size:.42em; vertical-align:.55em; color:var(--ink-soft); margin-right:.1rem; }
.price-install{ text-align:center; margin-top:.5rem; color:var(--ink-soft); font-weight:600; }
.price-install b{ color:var(--primary); }
.price-save{ display:block; text-align:center; margin-top:.7rem; color:var(--accent-deep); font-weight:700; font-size:.95rem; }
.offer-cta{ margin-top:1.5rem; }
.offer-pay{ display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; margin-top:1.1rem; color:var(--ink-faint); font-size:.88rem; font-weight:600; }
.offer-pay .pay-ic{ display:inline-flex; align-items:center; gap:.4rem; }
.offer-pay svg{ width:1.15rem; height:1.15rem; }
.offer-incl{ margin-top:1.6rem; padding-top:1.5rem; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:.7rem .9rem; }
.offer-incl li{ display:grid; grid-template-columns:auto 1fr; gap:.55rem; align-items:start; font-size:.94rem; color:var(--ink-soft); }
.offer-incl .chk{ color:var(--ok); width:1.15rem; height:1.15rem; margin-top:.1rem; flex:none; }
@media (max-width:540px){ .offer-incl{ grid-template-columns:1fr; } }

/* Garantia */
.guarantee{ display:grid; grid-template-columns:auto 1fr; gap:clamp(1.2rem,3vw,2.2rem); align-items:center; max-width:760px; margin:clamp(1.8rem,4vw,2.6rem) auto 0; padding:clamp(1.4rem,3vw,2rem); background:var(--card); border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--sh-md); }
.seal{ width:clamp(94px,16vw,128px); height:clamp(94px,16vw,128px); flex:none; border-radius:50%; display:grid; place-items:center; text-align:center; color:oklch(0.34 0.07 80); position:relative;
  background:radial-gradient(circle at 38% 32%, var(--gold), var(--gold-deep)); box-shadow:var(--sh-md), inset 0 0 0 4px oklch(1 0 0 / .35); }
.seal b{ font-family:var(--font-display); font-size:clamp(1.8rem,4vw,2.4rem); line-height:.85; }
.seal small{ font-weight:800; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; margin-top:.2rem; }
.guarantee h3{ font-size:clamp(1.3rem,1.1rem+1vw,1.7rem); margin-bottom:.5rem; }
.guarantee p{ color:var(--ink-soft); }

/* ----------------------------- FAQ ------------------------------------- */
.faq{ max-width:780px; margin-inline:auto; display:grid; gap:.8rem; }
.qa{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; transition:box-shadow .25s var(--ease), border-color .25s; }
.qa[open]{ box-shadow:var(--sh-md); border-color:var(--line-soft); }
.qa summary{ list-style:none; cursor:pointer; padding:1.15rem 1.3rem; display:flex; align-items:center; gap:1rem; font-weight:700; font-size:1.04rem; color:var(--ink); }
.qa summary::-webkit-details-marker{ display:none; }
.qa summary .q-i{ margin-left:auto; flex:none; width:1.6rem; height:1.6rem; border-radius:50%; background:var(--surface-2); color:var(--primary); display:grid; place-items:center; transition:transform .3s var(--ease), background .25s; }
.qa[open] summary .q-i{ transform:rotate(45deg); background:var(--accent); color:#fff; }
.qa summary .q-i svg{ width:.95rem; height:.95rem; }
.qa .qa-body{ padding:0 1.3rem 1.25rem; color:var(--ink-soft); }
.qa .qa-body p{ max-width:64ch; }
.qa .qa-body a{ color:var(--primary); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* ----------------------------- CTA final ------------------------------- */
.finalcta{ position:relative; isolation:isolate; overflow:hidden; color:var(--on-dark); text-align:center;
  background:radial-gradient(100% 120% at 50% -20%, oklch(0.42 0.13 274 / .6), transparent 60%), linear-gradient(168deg,var(--hero-1),var(--hero-3)); }
.finalcta::before{ content:""; position:absolute; inset:0; z-index:-1; opacity:.5; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E"); }
.finalcta h2{ color:#fff; font-size:clamp(1.9rem,1.3rem+2.6vw,3rem); max-width:20ch; margin-inline:auto; }
.finalcta p{ color:var(--on-dark-soft); max-width:52ch; margin:1.1rem auto 0; font-size:1.08rem; }
.finalcta .hero-cta{ justify-content:center; }
.finalcta .hero-trust{ justify-content:center; }

/* ----------------------------- Footer ---------------------------------- */
.site-footer{ background:var(--ink); color:var(--on-dark-soft); padding-block:clamp(2.6rem,5vw,3.6rem) 2rem; }
.footer-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2rem; padding-bottom:2rem; border-bottom:1px solid oklch(1 0 0 / .12); }
.footer-brand b{ color:#fff; font-size:1.1rem; font-family:var(--font-display); }
.footer-brand p{ margin-top:.7rem; max-width:34ch; font-size:.94rem; }
.site-footer h4{ color:#fff; font-size:.84rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:.9rem; font-family:var(--font-body); font-weight:800; }
.footer-links{ display:grid; gap:.55rem; }
.footer-links a{ color:var(--on-dark-soft); font-size:.95rem; transition:color .2s; }
.footer-links a:hover{ color:#fff; }
.footer-legal{ display:grid; gap:.5rem; padding:1.6rem 0; }
.footer-legal details{ border:1px solid oklch(1 0 0 / .12); border-radius:var(--r-sm); }
.footer-legal summary{ cursor:pointer; padding:.85rem 1.1rem; font-weight:700; color:#fff; display:flex; justify-content:space-between; }
.footer-legal summary::-webkit-details-marker{ display:none; }
.footer-legal .legal-body{ padding:0 1.1rem 1.1rem; font-size:.88rem; line-height:1.6; }
.footer-legal .legal-body h4{ color:#fff; margin:1rem 0 .3rem; font-size:.82rem; }
.footer-legal .legal-body a{ color:oklch(0.82 0.09 42); text-decoration:underline; }
.warn{ font-size:.82rem; color:var(--on-dark-soft); opacity:.85; padding:.4rem 0 1.4rem; max-width:80ch; }
.footer-note{ display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; justify-content:space-between; font-size:.82rem; color:oklch(0.7 0.02 266); padding-top:1.4rem; border-top:1px solid oklch(1 0 0 / .1); }
@media (max-width:780px){ .footer-top{ grid-template-columns:1fr; gap:1.6rem; } }

/* ----------------------------- Mobile bar ------------------------------ */
.mobile-bar{ position:fixed; left:0; right:0; bottom:0; z-index:var(--z-mobilebar);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.7rem var(--pad); background:oklch(1 0 0 / .92); backdrop-filter:blur(14px);
  border-top:1px solid var(--line); box-shadow:0 -8px 24px oklch(0.24 0.06 268 / .12);
  transform:translateY(120%); transition:transform .35s var(--ease-expo); }
.mobile-bar.show{ transform:translateY(0); }
.mb-price{ display:flex; flex-direction:column; line-height:1.15; }
.mb-price small{ font-size:.7rem; color:var(--ink-faint); font-weight:700; }
.mb-price b{ font-size:1.05rem; }
.mb-price s{ color:var(--ink-faint); font-weight:500; margin-right:.3rem; }
.mobile-bar .btn{ padding:.8rem 1.2rem; }
@media (min-width:861px){ .mobile-bar{ display:none; } }

/* ----------------------------- Consentimento --------------------------- */
.consent{ position:fixed; left:50%; transform:translateX(-50%) translateY(20px); bottom:1rem; z-index:var(--z-consent);
  width:min(720px, calc(100% - 2rem)); background:var(--card); border:1px solid var(--line);
  border-radius:var(--r-lg); box-shadow:var(--sh-lg); padding:1.1rem 1.25rem; opacity:0; transition:opacity .3s var(--ease), transform .3s var(--ease); }
.consent.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.consent[hidden]{ display:none; }
.consent-inner{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.consent-text{ flex:1 1 280px; font-size:.92rem; color:var(--ink-soft); }
.consent-text a{ color:var(--primary); font-weight:700; text-decoration:underline; }
.consent-actions{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.consent-btn{ padding:.65rem 1.05rem; font-size:.9rem; }
.consent-link{ background:none; border:0; color:var(--ink-faint); font-weight:700; font-size:.88rem; padding:.5rem .4rem; text-decoration:underline; }
.consent-prefs[hidden]{ display:none; }
.cprefs-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.8rem; }
.cprefs-list{ display:grid; gap:.6rem; }
.cpref{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem .85rem; border:1px solid var(--line); border-radius:var(--r-sm); }
.cpref-info b{ display:block; font-size:.95rem; }
.cpref-info small{ color:var(--ink-faint); font-size:.82rem; }
.cprefs-actions{ margin-top:.9rem; display:flex; justify-content:flex-end; }

/* ----------------------------- Motion / reveal ------------------------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease-expo), transform .7s var(--ease-expo); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.07s; } .reveal.d2{ transition-delay:.14s; } .reveal.d3{ transition-delay:.21s; } .reveal.d4{ transition-delay:.28s; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .dossier, .marquee-track, .btn, .btn-cta .arrow{ animation:none !important; }
  *{ scroll-behavior:auto !important; }
}

/* ----------------------------- Responsivo ------------------------------ */
@media (max-width:920px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-art{ order:-1; max-width:380px; margin-inline:auto; }
  .split{ grid-template-columns:1fr; }
  .solution .split > div:first-child{ order:-1; }
}
@media (max-width:560px){
  .header-cta .btn span.cta-full{ display:none; }
  .dossier-stamp{ left:-8px; } .dossier-badge{ right:-4px; }
  .footer-note{ flex-direction:column; }
}
.nowrap{ white-space:nowrap; }
.center{ text-align:center; }
