/* ============================================================
   Plataforma A2X — Página de Prospecting (Free Trial)
   Primeira dobra (hero). Tokens: identidade-visual/tokens.css
   ============================================================ */

/* ---- Fontes locais (Owners = comercial H&Co; Bricolage = OFL) ---- */
/* Mesmos arquivos do resto do site (/fonts): quem já passou pela home tem tudo em cache. */
@font-face { font-family:"Owners"; src:url("/fonts/Owners-Regular.ttf") format("truetype"); font-weight:400; font-display:swap; }
@font-face { font-family:"Owners"; src:url("/fonts/Owners-Medium.ttf")  format("truetype"); font-weight:500; font-display:swap; }
@font-face { font-family:"Owners"; src:url("/fonts/Owners-XBlack.ttf")  format("truetype"); font-weight:900; font-display:swap; }
@font-face { font-family:"Bricolage Grotesque"; src:url("/fonts/BricolageGrotesque-Variable.ttf") format("truetype"); font-weight:200 800; font-display:swap; }

:root{
  --navy:#030440; --navy-logo:#0B2340; --navy-deep:#07102F;
  --card-navy-1:#122A42; --card-navy-2:#0F2438;
  --mint:#9AF8DC; --teal-300:#5EEAD4; --teal:#12A6A8; --success:#00BE97; --cyan:#23C3C4;
  --lime:#E1FD03; --amber:#FBBF24;
  --white:#FFFFFF; --cream:#F7F7F1; --border:#E3E5EE; --muted:#9CA3AF;
  --font-display:"Owners","Space Grotesk",system-ui,sans-serif;
  --font-display-2:"Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;
  --font-body:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  --radius-card:1.5rem; --radius-lg:2.5rem; --radius-pill:9999px;
  --maxw:1200px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--navy); color:var(--white);
  font-family:var(--font-body); font-size:17px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%; height:auto; display:block;}
/* Manual de LPs: título sem palavra sozinha na última linha, parágrafo sem viúva. */
h1,h2,h3,h4{ text-wrap:balance; }
p,li,blockquote{ text-wrap:pretty; }
a{color:inherit; text-decoration:none;}
.container{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2rem);}

/* ---------------- Botões ---------------- */
.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-display); font-weight:900; line-height:1;
  border-radius:var(--radius-pill); border:0; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn--mint{ background:var(--mint); color:var(--navy); box-shadow:0 10px 30px -10px rgba(154,248,220,.55); }
.btn--mint:hover{ transform:translateY(-2px); filter:brightness(1.03); box-shadow:0 16px 40px -12px rgba(154,248,220,.7); }
.btn--sm{ padding:.6rem 1.05rem; font-size:.92rem; }
.btn--lg{ padding:1.05rem 1.9rem; font-size:1.12rem; }
.btn span{ transition:transform .18s ease; }
.btn:hover span{ transform:translateX(3px); }

/* ---------------- Header / Nav ---------------- */
.site-header{ position:absolute; inset:0 0 auto 0; z-index:20; }
.nav{ display:flex; align-items:center; justify-content:space-between; padding-block:1.15rem; }
.brand__logo{ height:52px; width:auto; }
.nav__actions{ display:flex; align-items:center; gap:1.25rem; }
.nav__login{ font-weight:600; font-size:.95rem; color:#cdd6ea; }
.nav__login:hover{ color:var(--white); }

/* ---------------- Hero ---------------- */
.hero{
  position:relative; overflow:hidden;
  padding-top:clamp(6.5rem,12vh,9rem); padding-bottom:clamp(3.5rem,7vw,6rem);
  background:
    radial-gradient(120% 90% at 85% -10%, #0a1a52 0%, rgba(10,26,82,0) 55%),
    linear-gradient(180deg,#04063f 0%, var(--navy) 60%, var(--navy-deep) 100%);
}
/* fundo de constelação sutil */
.hero__stars{
  position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 22%, rgba(255,255,255,.8), transparent 60%),
    radial-gradient(1.2px 1.2px at 28% 68%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1.6px 1.6px at 47% 34%, rgba(154,248,220,.75), transparent 60%),
    radial-gradient(1.1px 1.1px at 63% 14%, rgba(255,255,255,.5), transparent 60%),
    radial-gradient(1.5px 1.5px at 78% 52%, rgba(255,255,255,.65), transparent 60%),
    radial-gradient(1.2px 1.2px at 90% 30%, rgba(154,248,220,.6), transparent 60%),
    radial-gradient(1.1px 1.1px at 38% 84%, rgba(255,255,255,.5), transparent 60%);
}
.hero__glow{
  position:absolute; top:-15%; right:-8%; width:640px; height:640px; pointer-events:none;
  background:radial-gradient(closest-side, rgba(18,166,168,.28), rgba(3,4,64,0) 70%);
  filter:blur(6px);
}
.hero__grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,4vw,4rem); align-items:center;
}

/* Coluna texto */
.pill{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.82rem; font-weight:600; letter-spacing:.01em;
  padding:.5rem .95rem; border-radius:var(--radius-pill);
}
.pill--outline{ color:#d7f7ec; background:rgba(154,248,220,.06); border:1px solid rgba(154,248,220,.32); }
.pill__dot{ width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 4px rgba(154,248,220,.18); }

.hero__title{
  font-family:var(--font-display); font-weight:900;
  font-size:clamp(1.85rem,3.3vw,2.7rem); line-height:1.07; letter-spacing:-.015em;
  margin:1.35rem 0 0; color:var(--white); text-wrap:balance;
}
.hero__title .pivo{ color:var(--mint); }

.hero__sub{
  margin:1.35rem 0 0; max-width:33ch;
  font-size:clamp(1.02rem,1.4vw,1.18rem); line-height:1.55; color:#c3cbe0;
}

.hero__cta{ margin-top:2rem; }
.hero__reassure{ margin:.85rem 0 0; font-size:.9rem; color:#9fb0cf; display:flex; align-items:center; gap:.4rem; }

/* Prova social */
.proof{ margin-top:2.4rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.proof__avatars{ list-style:none; display:flex; margin:0; padding:0; }
.proof__avatars li{ margin-left:-12px; }
.proof__avatars li:first-child{ margin-left:0; }
.proof__avatars img{
  width:46px; height:46px; border-radius:50%; object-fit:cover;
  border:2px solid var(--navy); box-shadow:0 0 0 2px rgba(154,248,220,.35);
}
.proof__text{ margin:0; font-size:.92rem; color:#bcc6de; max-width:22ch; }
.proof__text strong{ color:var(--white); font-weight:700; }

/* Coluna produto */
.hero__product{ position:relative; }
.product__frame{ position:relative; }
.product__shot{
  width:100%; height:auto; border-radius:var(--radius-card);
  filter:drop-shadow(0 40px 70px rgba(0,0,0,.5));
}
.float-card{
  position:absolute; z-index:3;
  display:flex; align-items:center; gap:.7rem;
  background:linear-gradient(180deg,var(--card-navy-1),var(--card-navy-2));
  border:1px solid rgba(154,248,220,.22); border-radius:1rem;
  padding:.7rem .9rem; box-shadow:0 18px 40px -14px rgba(0,0,0,.65);
  backdrop-filter:blur(4px);
}
.float-card strong{ display:block; font-family:var(--font-display); font-weight:500; font-size:.86rem; color:var(--white); }
.float-card span{ font-size:.76rem; color:#a7b3cf; }
.float-card__icon{
  flex:0 0 auto; width:30px; height:30px; border-radius:8px;
  display:grid; place-items:center; font-size:.95rem;
  background:rgba(154,248,220,.14); color:var(--mint);
}
.float-card__icon--ok{ background:rgba(0,190,151,.16); color:var(--success); }
.float-card--tl{ top:-6%; left:-7%; }
.float-card--br{ bottom:-4%; right:-5%; }

/* ---------------- Responsivo ---------------- */
@media (max-width:900px){
  .hero__grid{ grid-template-columns:1fr; gap:2.75rem; }
  .hero__sub{ max-width:46ch; }
  .hero__product{ order:2; max-width:520px; margin-inline:auto; }
  .float-card--tl{ left:-2%; }
  .float-card--br{ right:-1%; }
}
@media (max-width:560px){
  .nav__login{ display:none; }
  .hero__title{ font-size:clamp(2rem,8.5vw,2.6rem); }
  .btn--lg{ width:100%; justify-content:center; }
  .float-card span{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
}

/* ============================================================
   SEÇÕES (2–14)
   ============================================================ */
/* Ritmo único de seção (manual de LPs): 64px no celular, 96px a partir do tablet. */
.section{ position:relative; overflow:hidden; padding-block:4rem; }
@media (min-width:768px){ .section{ padding-block:6rem; } }
.section--cream{ background:var(--cream); color:var(--navy); }
.section--navy{ background:linear-gradient(180deg,#04063f,var(--navy)); color:var(--white); }
.section--deep{ background:var(--navy-deep); color:var(--white); }
.container--narrow{ max-width:760px; }

.eyebrow{ display:inline-block; font-family:var(--font-display); font-weight:500;
  font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--mint); margin-bottom:.9rem; }
.eyebrow--dark{ color:var(--teal); }

.section__title{ font-family:var(--font-display); font-weight:900; color:var(--white);
  font-size:clamp(1.7rem,3.1vw,2.5rem); line-height:1.1; letter-spacing:-.015em; margin:0 0 1.4rem; text-wrap:balance; }
.section__title--dark{ color:var(--navy); }
.section__title .pivo{ color:var(--mint); }
.pivo-dark{ color:var(--teal); }

.section__cta{ margin-top:2.6rem; text-align:center; }
.btn--md{ padding:.85rem 1.5rem; font-size:1rem; }
.btn--xl{ padding:1.2rem 2.3rem; font-size:1.22rem; }
.btn--dark{ background:var(--navy); color:var(--white); box-shadow:0 10px 30px -12px rgba(3,4,64,.5); }
.btn--dark:hover{ transform:translateY(-2px); filter:brightness(1.08); }

.lead{ font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.6; color:#3a4a63; max-width:62ch; }
.section--navy .lead, .section--deep .lead{ color:#c3cbe0; }
.lead--strong{ font-weight:600; color:var(--navy); margin-top:1.6rem; }
.lead--light{ color:#c3cbe0; }
.lead--center{ text-align:center; margin-inline:auto; margin-top:1.8rem; }
.lead strong{ color:inherit; font-weight:700; }

/* 2 · STATS */
.stats{ background:var(--navy-deep); border-block:1px solid rgba(255,255,255,.06); padding-block:2.2rem; }
.stats__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; text-align:center; }
.stat{ display:flex; flex-direction:column; gap:.35rem; padding-inline:.5rem; }
.stat__num{ font-family:var(--font-display); font-weight:900; font-size:clamp(1.8rem,3.4vw,2.6rem); color:var(--mint); line-height:1; }
.stat__label{ font-size:.86rem; color:#aeb8d2; line-height:1.35; }
.stats__grid .stat + .stat{ border-left:1px solid rgba(255,255,255,.08); }

/* 3 · PROBLEMA */
.problema .section__title{ margin-bottom:1.6rem; }
.painlist{ list-style:none; margin:1.8rem 0 0; padding:0; display:grid; gap:1rem; }
.painlist li{ position:relative; padding-left:1.9rem; color:#3a4a63; font-size:1.05rem; line-height:1.5; }
.painlist li::before{ content:""; position:absolute; left:0; top:.55em; width:10px; height:2px; background:#c2452f; border-radius:2px; }

/* 4 · MECANISMO */
.mecanismo__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; margin-top:1rem; }
.mecanismo__text p{ margin:0 0 1.2rem; }
.mecanismo__text .btn{ margin-top:.6rem; }
.chart{ margin:0; background:linear-gradient(180deg,var(--card-navy-1),var(--card-navy-2));
  border:1px solid rgba(154,248,220,.18); border-radius:var(--radius-card); padding:1.4rem 1.2rem 1rem; }
.chart svg{ width:100%; height:auto; display:block; }
.chart .axis{ stroke:rgba(255,255,255,.25); stroke-width:1; }
.chart .axis-label{ fill:#8595b5; font-size:11px; font-family:var(--font-body); }
.chart .line-forget{ fill:none; stroke:#7b88a8; stroke-width:2.5; stroke-dasharray:5 5; }
.chart .line-win{ fill:none; stroke:var(--mint); stroke-width:3; }
.chart .dot{ fill:var(--mint); }
.chart .dot--end{ fill:var(--mint); stroke:#04063f; stroke-width:2; }
.chart .tag{ font-family:var(--font-body); font-size:11px; font-weight:600; }
.chart .tag--forget{ fill:#8f9bbd; }
.chart .tag--win{ fill:var(--mint); }
.chart figcaption{ margin-top:.8rem; font-size:.82rem; color:#9fb0cf; text-align:center; }

/* 5 · COMO FUNCIONA */
.steps{ list-style:none; margin:2.4rem 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:1.3rem; }
.step{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-card); padding:1.6rem 1.5rem; }
.step__n{ display:inline-flex; font-family:var(--font-display); font-weight:900; font-size:1.05rem;
  color:var(--navy); background:var(--mint); border-radius:var(--radius-pill); padding:.25rem .8rem; margin-bottom:1rem; }
.step h3{ font-family:var(--font-display); font-weight:500; font-size:1.18rem; color:var(--navy); margin:0 0 .5rem; }
.step p{ margin:0; color:#4a5a72; font-size:1rem; line-height:1.5; }

/* 6 · PLATAFORMA / FEATURES */
.features{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2.4rem; }
.feature{ background:linear-gradient(180deg,var(--card-navy-1),var(--card-navy-2));
  border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-card); padding:1.5rem 1.4rem; }
.feature--wide{ grid-column:span 3; display:grid; grid-template-columns:auto 1fr; column-gap:1.1rem; align-items:start; }
.feature--wide .feature__ic{ grid-row:span 2; }
.feature__ic{ display:inline-grid; place-items:center; width:38px; height:38px; border-radius:10px;
  background:rgba(154,248,220,.14); color:var(--mint); font-size:1.05rem; margin-bottom:.9rem; }
.feature h3{ font-family:var(--font-display); font-weight:500; font-size:1.1rem; color:var(--white); margin:0 0 .45rem; }
.feature p{ margin:0; color:#aeb8d2; font-size:.95rem; line-height:1.5; }

/* 7 · PROVA SOCIAL */
.aprovados{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:2.2rem; }
.aprovado{ margin:0; background:var(--white); border:1px solid var(--border); border-radius:var(--radius-card); overflow:hidden; display:flex; flex-direction:column; }
.aprovado img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
.aprovado figcaption{ padding:1rem 1.1rem 1.2rem; }
.aprovado__banca{ display:inline-block; background:var(--navy-logo); color:#fff; font-size:.72rem; font-weight:700;
  border-radius:var(--radius-pill); padding:.25rem .7rem; margin-bottom:.6rem; }
.aprovado strong{ display:block; font-family:var(--font-display); color:var(--navy); font-size:1.02rem; margin-bottom:.4rem; }
.aprovado p{ margin:0; font-size:.9rem; color:#556; line-height:1.45; }
.aprovado em{ color:#9aa3b5; font-style:normal; font-size:.8rem; }
.prova__num{ text-align:center; margin-top:1.8rem; font-size:1.1rem; color:var(--navy); }
.prova__num strong{ color:var(--teal); font-family:var(--font-display); font-weight:900; }

/* 8 · AUTORIDADE */
.autoridade__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.autoridade__foto{ margin:0; }
.autoridade__foto img{ width:100%; border-radius:var(--radius-lg); border:1px solid rgba(255,255,255,.1); }
.bios{ list-style:none; margin:1.4rem 0 0; padding:0; display:grid; gap:1.3rem; }
.bios strong{ font-family:var(--font-display); color:var(--mint); font-size:1.1rem; }
.bios p{ margin:.35rem 0 0; color:#c3cbe0; font-size:1rem; line-height:1.5; }
.autoridade__fecho{ margin-top:1.6rem; color:#dfe6f5; font-weight:500; }

/* 9 · NÃO É CHATGPT */
.compare{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:1.8rem; }
.compare__col{ border-radius:var(--radius-card); padding:1.6rem 1.5rem; }
.compare__col h3{ font-family:var(--font-display); font-weight:500; font-size:1.1rem; margin:0 0 1rem; }
.compare__col ul{ list-style:none; margin:0; padding:0; display:grid; gap:.7rem; }
.compare__col li{ position:relative; padding-left:1.6rem; font-size:.98rem; line-height:1.45; }
.compare__col li::before{ position:absolute; left:0; top:0; font-weight:700; }
.compare__col--bad{ background:#efeee7; color:#5b5f52; }
.compare__col--bad li::before{ content:"✕"; color:#b0553f; }
.compare__col--bad h3{ color:#6a6f5e; }
.compare__col--good{ background:var(--navy); color:#dfe6f5; }
.compare__col--good li::before{ content:"✓"; color:var(--mint); }
.compare__col--good h3{ color:var(--mint); }

/* 10 · CONVITE */
.convite{ text-align:center; }
.convite .lead{ margin-inline:auto; }
.unlock{ list-style:none; margin:2rem auto 0; padding:0; max-width:620px; display:grid; grid-template-columns:1fr 1fr; gap:.8rem 1.4rem; text-align:left; }
.unlock li{ position:relative; padding-left:1.7rem; color:#dfe6f5; font-size:.98rem; line-height:1.4; }
.unlock li::before{ content:"✓"; position:absolute; left:0; color:var(--mint); font-weight:700; }

/* 11 · RISCO */
.risco__box{ text-align:center; }
.risco__ic{ display:inline-grid; place-items:center; width:64px; height:64px; border-radius:50%;
  background:rgba(0,190,151,.12); color:var(--success); margin-bottom:1.2rem; }
.risco .lead{ margin-inline:auto; }

/* 12 · FAQ */
.accordion{ margin-top:2rem; display:grid; gap:.8rem; }
.ac{ background:var(--white); border:1px solid var(--border); border-radius:1rem; padding:.3rem 1.3rem; }
.ac summary{ cursor:pointer; list-style:none; padding:1.1rem 2rem 1.1rem 0; position:relative;
  font-family:var(--font-display); font-weight:500; font-size:1.05rem; color:var(--navy); }
.ac summary::-webkit-details-marker{ display:none; }
.ac summary::after{ content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-size:1.4rem; color:var(--teal); transition:transform .2s ease; }
.ac[open] summary::after{ content:"–"; }
.ac p{ margin:0 0 1.1rem; color:#4a5a72; font-size:1rem; line-height:1.55; }
.ac em{ color:#9aa3b5; font-style:normal; font-size:.86rem; }

/* 13 · FINAL */
.final{ text-align:center; }
.stack-inline{ list-style:none; margin:1.8rem 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1.4rem; }
.stack-inline li{ position:relative; padding-left:1.4rem; color:#c3cbe0; font-size:.98rem; }
.stack-inline li::before{ content:"✓"; position:absolute; left:0; color:var(--mint); font-weight:700; }

/* RODAPÉ */
.site-footer{ background:var(--navy-deep); color:#93a0bd; padding-block:2.6rem; border-top:1px solid rgba(255,255,255,.06); }
.site-footer__grid{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.2rem; }
.site-footer__logo{ height:44px; width:auto; }
.site-footer__links{ display:flex; gap:1.4rem; flex-wrap:wrap; }
.site-footer__links a{ font-size:.9rem; color:#aeb8d2; }
.site-footer__links a:hover{ color:#fff; }
.site-footer__legal{ margin:0; font-size:.82rem; width:100%; color:#6f7c99; }

/* STICKY CTA (mobile) */
.sticky-cta{ position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:50;
  display:none; align-items:center; justify-content:center; gap:.5rem;
  background:var(--mint); color:var(--navy); font-family:var(--font-display); font-weight:900;
  padding:1rem; border-radius:var(--radius-pill); box-shadow:0 14px 34px -8px rgba(0,0,0,.5);
  bottom:calc(1rem + env(safe-area-inset-bottom));
  opacity:0; visibility:hidden; transform:translateY(calc(100% + 1.5rem));
  transition:opacity .25s ease, transform .25s ease, visibility 0s linear .25s; }
.sticky-cta.is-shown{ opacity:1; visibility:visible; transform:none; transition:opacity .25s ease, transform .25s ease; }
@media (prefers-reduced-motion:reduce){ .sticky-cta, .sticky-cta.is-shown{ transition:none; } }

/* REVEAL */
.reveal{ opacity:0; transform:translateY(18px); }
.reveal.is-in{ opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease; }

/* ============================================================
   RESPONSIVO (novas seções)
   ============================================================ */
@media (max-width:900px){
  .mecanismo__grid, .autoridade__grid{ grid-template-columns:1fr; }
  .autoridade__foto{ order:-1; max-width:480px; margin-inline:auto; }
  .features{ grid-template-columns:repeat(2,1fr); }
  .feature--wide{ grid-column:span 2; }
  .aprovados{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .stats__grid{ grid-template-columns:repeat(2,1fr); gap:1.6rem 1rem; }
  .stats__grid .stat + .stat{ border-left:0; }
  .stats__grid .stat:last-child:nth-child(odd){ grid-column:1 / -1; }
  .steps{ grid-template-columns:1fr; }
  .features{ grid-template-columns:1fr; }
  .feature--wide{ grid-column:span 1; grid-template-columns:1fr; }
  .feature--wide .feature__ic{ grid-row:auto; }
  .aprovados{ grid-template-columns:repeat(2,1fr); }
  .compare, .unlock{ grid-template-columns:1fr; }
  .sticky-cta{ display:flex; }
}
@media (max-width:400px){
  .aprovados{ grid-template-columns:1fr; }
}

/* ============================================================
   REVISÕES v2 — background dinâmico, blocos visuais, showcase, oferta
   ============================================================ */

/* R1 · canvas de constelação do hero */
.hero__net{ position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; }
.hero__stars{ z-index:1; }
.hero__glow{ z-index:1; }

/* helpers de título */
.section__title--center{ text-align:center; margin-inline:auto; }
.eyebrow--center{ display:block; text-align:center; }
.section__title--underline .pivo, .section__title--underline{ position:relative; }
.section__title--underline::after{ content:""; display:block; width:120px; height:4px; border-radius:4px;
  background:var(--mint); margin:.7rem auto 0; }

/* R2 · Problema em 3 blocos */
.problema .lead--center{ margin-bottom:2.4rem; }
.prob-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.prob-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-card);
  padding:1.8rem 1.6rem; text-align:left; }
.prob-card__ic{ display:inline-grid; place-items:center; width:48px; height:48px; border-radius:14px;
  background:rgba(18,166,168,.1); color:var(--teal); margin-bottom:1rem; }
.prob-card h3{ font-family:var(--font-display); font-weight:500; font-size:1.18rem; color:var(--navy); margin:0 0 .5rem; }
.prob-card p{ margin:0; color:#4a5a72; font-size:1rem; line-height:1.5; }
.prob-punch{ margin:2.6rem auto 0; max-width:760px; text-align:center; font-family:var(--font-display);
  font-weight:500; font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.35; color:var(--navy); }
.prob-punch strong{ color:var(--teal); }

/* R3 · Mecanismo com imagem da curva */
.mec-steps{ list-style:none; margin:.2rem 0 1.2rem; padding:0; display:grid; gap:.7rem; }
.mec-steps li{ position:relative; padding-left:1.7rem; color:#dfe6f5; font-size:1.02rem; line-height:1.45; }
.mec-steps li::before{ content:""; position:absolute; left:0; top:.55em; width:9px; height:9px; border-radius:50%;
  background:var(--mint); box-shadow:0 0 0 4px rgba(154,248,220,.16); }
.mec-figure{ margin:0; }
.mec-figure img{ width:100%; height:auto; display:block;
  filter:drop-shadow(0 30px 55px rgba(0,0,0,.45)); }

/* R4 · Showcase da plataforma */
.showcase{ margin-top:2.4rem; display:grid; gap:1.2rem; }
.shot{ background:linear-gradient(180deg,var(--card-navy-1),var(--card-navy-2));
  border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-card); overflow:hidden; }
.shot__media{ background:#e9e9e0; overflow:hidden; }
.shot__media img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.shot__media--tall{ aspect-ratio:4/5; }
.shot__txt{ padding:1.4rem 1.5rem 1.6rem; }
.shot__tag{ display:inline-block; font-family:var(--font-display); font-weight:500; font-size:.72rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--mint); margin-bottom:.6rem; }
.shot h3{ font-family:var(--font-display); font-weight:500; font-size:1.25rem; color:#fff; margin:0 0 .5rem; }
.shot h4{ font-family:var(--font-display); font-weight:500; font-size:1.05rem; color:#fff; margin:1rem 1.3rem .3rem; }
.shot p{ color:#aeb8d2; font-size:.95rem; line-height:1.5; margin:0; }
.shot--tall-wrap p, .shot > p{ margin:0 1.3rem 1.3rem; }
.shot .shot__media--tall + h4{ margin-top:1rem; }
.shot--wide{ display:grid; grid-template-columns:1.25fr 1fr; align-items:stretch; }
.shot--wide .shot__media{ aspect-ratio:auto; }
.shot--wide .shot__txt{ align-self:center; }
.shot-grid{ display:grid; gap:1.2rem; }
.shot-grid--3{ grid-template-columns:repeat(3,1fr); }
.shot-grid--2{ grid-template-columns:repeat(2,1fr); }
.shot-grid--3 .shot p{ margin:0 1.3rem 1.3rem; }
.shot--row .shot__media{ aspect-ratio:16/10; }
.more-feats{ list-style:none; margin:.6rem 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem 1.4rem; }
.more-feats li{ position:relative; padding-left:1.7rem; color:#c3cbe0; font-size:.98rem; line-height:1.4; }
.more-feats li::before{ content:"✓"; position:absolute; left:0; color:var(--mint); font-weight:700; }

/* R5 · Depoimentos (modelo home) */
.depo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; margin-top:2.2rem; }
.depo{ margin:0; background:var(--white); border:1px solid var(--border); border-radius:var(--radius-card);
  overflow:hidden; box-shadow:0 14px 34px -22px rgba(3,4,64,.3); }
.depo__media{ height:300px; overflow:hidden; background:#101010; }
.depo__media img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.depo figcaption{ padding:1rem 1.2rem 1.2rem; display:flex; flex-direction:column; gap:.15rem; }
.depo figcaption strong{ font-family:var(--font-display); color:var(--navy); font-size:1.02rem; }
.depo figcaption span{ font-size:.86rem; color:#8a93a6; }
.depo .stars{ color:var(--amber); letter-spacing:.12em; font-size:.95rem; margin-top:.2rem; }
.depoimentos .prova__num{ text-align:center; margin-top:2rem; font-size:1.1rem; color:var(--navy); }
.depoimentos .prova__num strong{ color:var(--teal); font-family:var(--font-display); font-weight:900; }

/* R6 · Card de oferta (modelo UFRGS) */
.oferta .lead--center{ margin-bottom:2.6rem; }
.offer-card{ max-width:780px; margin:0 auto; background:linear-gradient(180deg,#0c1f3f,#07132b);
  border:1px solid rgba(154,248,220,.2); border-radius:var(--radius-lg); padding:clamp(1.6rem,3vw,2.6rem);
  box-shadow:0 40px 80px -30px rgba(3,4,64,.6); }
.offer-card__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.offer-card__name{ font-family:var(--font-display); font-weight:900; color:#fff; font-size:clamp(1.5rem,3vw,2rem); margin:0; }
.offer-card__sub{ margin:.4rem 0 0; color:#aeb8d2; font-size:.95rem; max-width:34ch; }
.offer-card__price{ text-align:right; line-height:1; }
.offer-card__big{ display:block; font-family:var(--font-display); font-weight:900; color:var(--mint); font-size:clamp(2rem,4vw,2.8rem); }
.offer-card__small{ display:block; margin-top:.3rem; color:#aeb8d2; font-size:.9rem; }
.offer-card__divider{ height:1px; background:rgba(255,255,255,.12); margin:1.6rem 0; }
.offer-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.85rem 1.4rem; }
.offer-list li{ position:relative; padding-left:1.8rem; color:#dfe6f5; font-size:.98rem; line-height:1.4; }
.offer-list li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--mint); font-weight:700; }
.offer-note{ margin-top:1.6rem; background:rgba(154,248,220,.07); border:1px solid rgba(154,248,220,.22);
  border-radius:1rem; padding:1rem 1.2rem; color:#cfd8ea; font-size:.96rem; line-height:1.5; }
.offer-note strong{ color:var(--mint); }
.offer-cta{ display:flex; width:100%; justify-content:center; margin-top:1.6rem; }
.offer-badges{ list-style:none; margin:1.2rem 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 1.4rem; }
.offer-badges li{ position:relative; color:#9fb0cf; font-size:.86rem; padding-left:1.3rem; }
.offer-badges li::before{ content:"✓"; position:absolute; left:0; color:var(--success); font-weight:700; }

/* Responsivo das revisões */
@media (max-width:900px){
  .prob-cards{ grid-template-columns:1fr; }
  .shot--wide{ grid-template-columns:1fr; }
  .shot-grid--2{ grid-template-columns:1fr; }
  .depo-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .shot-grid--3{ grid-template-columns:1fr; }
  .shot__media--tall{ aspect-ratio:16/10; }
  .depo-grid{ grid-template-columns:1fr; }
  .offer-list, .more-feats{ grid-template-columns:1fr; }
  .offer-card__head{ flex-direction:column; }
  .offer-card__price{ text-align:left; }
}

/* R1 · Mecanismo — SVG recriado (responsivo, sem margens) */
.mec-chart{ margin:0; align-self:stretch; background:linear-gradient(180deg,var(--card-navy-1),var(--card-navy-2));
  border:1px solid rgba(154,248,220,.18); border-radius:var(--radius-card);
  padding:1.3rem 1.2rem; box-shadow:0 30px 60px -24px rgba(0,0,0,.55); }
.mec-chart svg{ width:100%; height:auto; display:block; overflow:visible; }
.mec-guide{ stroke:rgba(255,255,255,.1); stroke-width:1; stroke-dasharray:3 4; }
.mec-ytitle, .mec-xtitle{ fill:#8595b5; font-family:var(--font-body); font-size:11px; }
.mec-ntitle{ fill:#fff; font-family:var(--font-display); font-weight:500; font-size:12.5px; }
.mec-ntitle--win{ fill:var(--mint); }
.mec-glow{ fill:rgba(154,248,220,.18); }
.mec-arrow{ fill:none; stroke:var(--mint); stroke-width:1.6; stroke-linecap:round; opacity:.7; }
.mec-chart .axis{ fill:none; stroke:rgba(255,255,255,.22); stroke-width:1; }
.mec-chart .axis-label{ fill:#8595b5; font-family:var(--font-body); font-size:11px; }
.mec-chart .line-forget{ fill:none; stroke:#7b88a8; stroke-width:2.5; stroke-dasharray:5 5; stroke-linecap:round; }
.mec-chart .line-win{ fill:none; stroke:var(--mint); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.mec-chart .dot{ fill:var(--mint); stroke:#07132b; stroke-width:2; }
.mec-chart .dot--end{ fill:var(--mint); stroke:#07132b; stroke-width:2.5; }
.mec-chart .tag{ font-family:var(--font-body); font-size:11px; font-weight:600; }
.mec-chart .tag--forget{ fill:#8f9bbd; }
.mec-chart .tag--win{ fill:var(--mint); }

/* R2 · Showcase — telas dos 3 modos sem corte (contain) */
.shot-grid--3 .shot__media{ aspect-ratio:4/3; background:#0a1733; }
.shot-grid--3 .shot__media img{ object-fit:cover; object-position:top left; width:100%; height:100%; }
@media (max-width:640px){
  .shot-grid--3 .shot__media{ aspect-ratio:16/10; }
}

/* R3 · "30% de aprovação" — spotlight carousel (réplica da home) */
.aprov__layout{ display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(1.8rem,4vw,3.5rem); align-items:center; }
.aprov__h{ margin-bottom:1.2rem; }
.aprov__hsub{ display:block; color:#5b6480; font-family:var(--font-display); font-weight:500;
  font-size:.52em; letter-spacing:-.01em; margin-top:.15em; }
.aprov__intro .lead{ max-width:40ch; }
.aprov__counter{ display:flex; align-items:center; gap:.5rem; color:#8a93a6; font-size:.92rem; margin-top:2rem; }
.aprov__dot{ width:9px; height:9px; border-radius:50%; background:var(--mint); }
.aprov__nav{ display:flex; gap:.7rem; margin-top:1rem; }
.aprov__arrow{ width:48px; height:48px; border-radius:50%; border:1px solid var(--border); background:#fff;
  color:var(--navy); font-size:1.5rem; line-height:1; cursor:pointer; display:grid; place-items:center;
  transition:background .18s, color .18s, transform .18s, box-shadow .18s; }
.aprov__arrow:hover{ background:var(--navy); color:#fff; transform:translateY(-1px); box-shadow:0 10px 22px -10px rgba(3,4,64,.5); }

.aprov__card{ position:relative; background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:clamp(1.6rem,3vw,2.6rem); box-shadow:0 34px 80px -40px rgba(3,4,64,.4);
  display:grid; grid-template-columns:auto 1fr; gap:clamp(1.3rem,3vw,2.2rem); align-items:center; overflow:hidden; }
.aprov__qmark{ position:absolute; top:.2rem; right:1.5rem; font-family:var(--font-display); font-weight:900;
  font-size:4rem; color:#e6e9f2; line-height:1; pointer-events:none; }
.aprov__photo{ margin:0; width:clamp(140px,17vw,220px); aspect-ratio:1/1; border-radius:50%; overflow:hidden;
  flex:0 0 auto; box-shadow:0 0 0 4px #fff, 0 0 0 7px rgba(154,248,220,.65); }
.aprov__photo img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.aprov__body{ min-width:0; position:relative; z-index:1; }
.aprov__inst{ display:block; font-family:var(--font-display); font-weight:700; font-size:.92rem; color:var(--navy); margin-bottom:.3rem; }
.aprov__name{ display:block; font-family:var(--font-display); font-weight:900; font-size:clamp(1.4rem,2.4vw,1.9rem); color:var(--navy); line-height:1.05; }
.aprov__cat{ display:block; font-size:.9rem; color:#6b768f; margin-top:.25rem; }
.aprov__quote{ margin:1rem 0 .5rem; padding-left:1rem; border-left:3px solid var(--mint); color:#2f3b52;
  font-style:italic; font-size:1.02rem; line-height:1.55;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6; overflow:hidden; }
.aprov__quote.is-open{ -webkit-line-clamp:unset; }
.aprov__more{ background:none; border:0; padding:0; cursor:pointer; color:var(--navy);
  font-family:var(--font-body); font-weight:600; font-size:.9rem; border-bottom:1px dashed #9aa3b5; }
.aprov__handle{ display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; color:#8a93a6; font-size:.9rem; }
.aprov__handle:hover{ color:var(--teal); }

.aprov__strip{ grid-column:1 / -1; list-style:none; margin:2.2rem 0 0; padding:.2rem; display:flex;
  flex-wrap:nowrap; gap:.55rem; justify-content:flex-start; overflow-x:auto; }
.aprov__strip::-webkit-scrollbar{ height:6px; }
.aprov__strip::-webkit-scrollbar-thumb{ background:#d6dae6; border-radius:6px; }
.aprov__strip li{ flex:0 0 auto; }
.aprov__strip button{ padding:0; border:0; background:none; cursor:pointer; border-radius:50%; line-height:0; flex:0 0 auto; }
.aprov__strip img{ width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:top center;
  border:2px solid transparent; opacity:.5; transition:opacity .18s, border-color .18s, box-shadow .18s; }
.aprov__strip .is-active img, .aprov__strip button:hover img{ opacity:1; border-color:var(--mint); box-shadow:0 0 0 2px rgba(154,248,220,.45); }

@media (max-width:860px){
  .aprov__layout{ grid-template-columns:1fr; }
  .aprov__card{ grid-template-columns:1fr; justify-items:center; text-align:center; }
  .aprov__photo{ order:-1; }
  .aprov__quote{ text-align:left; }
  .aprov__nav{ justify-content:flex-start; }
}

/* ============================================================
   REVISÃO v3 (10/10) — hero novo, fluxo do mecanismo, demos
   ============================================================ */

/* Mecanismo — fluxo simples erro → questão → revisão */
.mec-flow{ margin:0; align-self:stretch;
  background:linear-gradient(180deg,var(--card-navy-1),var(--card-navy-2));
  border:1px solid rgba(154,248,220,.18); border-radius:var(--radius-card);
  padding:1.7rem 1.6rem; box-shadow:0 30px 60px -24px rgba(0,0,0,.55); }
.mec-flow__step{ display:flex; align-items:flex-start; gap:1rem; }
.mec-flow__ic{ flex:0 0 auto; width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background:rgba(154,248,220,.12); color:var(--mint); }
.mec-flow__step strong{ display:block; font-family:var(--font-display); font-weight:500; color:#fff; font-size:1.06rem; }
.mec-flow__step span{ display:block; color:#aeb8d2; font-size:.95rem; line-height:1.45; margin-top:.15rem; }
.mec-flow__link{ display:block; width:2px; height:24px; margin:.35rem 0 .35rem 21px;
  background:linear-gradient(180deg,rgba(154,248,220,.55),rgba(154,248,220,.1)); border-radius:2px; }

/* Demonstrações "A IA na prática" */
.demos .section__title{ margin-bottom:clamp(2rem,4vw,3rem); }
.demo{ display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(1.8rem,4vw,3.4rem);
  align-items:center; margin-bottom:clamp(2.6rem,5vw,4.2rem); }
.demo:last-of-type{ margin-bottom:0; }
.demo--reverse .demo__media{ order:2; }
.demo__media{ margin:0; }
.demo__media img{ width:100%; height:auto; display:block; }
.demo__media--gif{ aspect-ratio:16/9; border-radius:var(--radius-card); overflow:hidden;
  background:#0a1733; box-shadow:0 34px 70px -34px rgba(3,4,64,.45);
  display:flex; align-items:center; justify-content:center; }
.demo__media--gif img, .demo__media--gif video{ width:100%; height:100%; object-fit:cover; display:block; }
.demo__tag{ display:inline-block; font-family:var(--font-display); font-weight:500; font-size:.74rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--teal); margin-bottom:.6rem; }
.demo__txt h3{ font-family:var(--font-display); font-weight:900; font-size:clamp(1.4rem,2.3vw,1.95rem);
  color:var(--navy); line-height:1.1; margin:0 0 .7rem; text-wrap:balance; }
.demo__txt p{ color:#4a5a72; font-size:1.05rem; line-height:1.6; margin:0; }

@media (max-width:820px){
  .demo{ grid-template-columns:1fr; gap:1.3rem; }
  .demo--reverse .demo__media{ order:0; }
}

/* ============================================================
   REVISÃO v4 (13/10) — hero proporcional + fluxo mecanismo 3 cards
   ============================================================ */

/* Hero — imagem com mais presença e acabamento */
.product__frame--hero{ position:relative; }
/* Asset com fundo transparente: sem caixa, sem borda; a sombra segue o recorte. */
.product__frame--hero .product__shot{ width:100%; height:auto; border-radius:0; box-shadow:none;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.35)); }
.product__frame--hero::before{ content:""; position:absolute; inset:-6% -4%; z-index:-1;
  background:radial-gradient(55% 55% at 55% 45%, rgba(18,166,168,.28), transparent 70%); filter:blur(14px); }
@media (min-width:901px){
  /* Imagem maior: coluna mais larga, quase encostada no texto, e terminando a ~3,5rem da borda da tela. */
  .hero__grid{ grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:.5rem; }
  .product__frame--hero{ margin-left:-1rem; margin-right:min(0rem, calc((var(--maxw) - 100vw) / 2 + 1.5rem)); }
}
@media (max-width:900px){
  .hero__product{ max-width:680px; }
  .product__frame--hero{ margin-inline:-1rem; }
}

/* Mecanismo — fluxo de 3 cards */
.mecanismo__intro{ max-width:720px; margin:1.3rem auto 0; text-align:center; }
.mec3{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:stretch;
  gap:1rem; margin-top:clamp(2.4rem,4vw,3.6rem); }
.mec3__card{ display:flex; flex-direction:column; align-items:flex-start;
  background:linear-gradient(180deg,var(--card-navy-1),var(--card-navy-2));
  border:1px solid rgba(154,248,220,.18); border-radius:var(--radius-card); padding:1.9rem 1.7rem; }
.mec3__n{ font-family:var(--font-display); font-weight:900; font-size:.9rem; color:var(--mint);
  background:rgba(154,248,220,.12); border-radius:var(--radius-pill); padding:.22rem .75rem; }
.mec3__ic{ display:grid; place-items:center; width:50px; height:50px; border-radius:14px;
  background:rgba(154,248,220,.1); color:var(--mint); margin:1.3rem 0 1.1rem; }
.mec3__card h3{ font-family:var(--font-display); font-weight:500; font-size:1.22rem; color:#fff; margin:0 0 .5rem; }
.mec3__card p{ color:#aeb8d2; font-size:1rem; line-height:1.5; margin:0; }
.mec3__arrow{ align-self:center; color:var(--mint); font-size:1.7rem; line-height:1; }
.mecanismo .section__cta{ margin-top:clamp(2.2rem,4vw,3rem); }
@media (max-width:820px){
  .mec3{ grid-template-columns:1fr; gap:.6rem; }
  .mec3__arrow{ transform:rotate(90deg); justify-self:center; margin:.1rem 0; }
}

/* ---------------- Modal de captura do teste grátis ---------------- */
html.has-modal{ overflow:hidden; }
.lead-modal{
  width:min(440px, calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto;
  padding:0; border:0; border-radius:var(--radius-card);
  background:var(--cream); color:var(--navy);
  box-shadow:0 30px 80px -20px rgba(3,4,64,.6);
}
.lead-modal::backdrop{ background:rgba(3,4,64,.72); backdrop-filter:blur(3px); }
.lead-modal[open]{ animation:lead-in .22s ease-out; }
@keyframes lead-in{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .lead-modal[open]{ animation:none; } }
.lead-form{ position:relative; padding:2rem 1.5rem 1.5rem; display:flex; flex-direction:column; gap:1rem; }
.lead-modal__close{
  position:absolute; top:.75rem; right:.75rem; width:2.5rem; height:2.5rem;
  border:0; border-radius:50%; background:transparent; color:var(--navy);
  font-size:1.6rem; line-height:1; cursor:pointer;
}
.lead-modal__close:hover{ background:rgba(3,4,64,.06); }
.lead-modal__title{ font-family:var(--font-display); font-weight:900; font-size:1.7rem; line-height:1.1; margin:0; }
.lead-modal__sub{ margin:0; color:#4a5070; font-size:.98rem; }
.lead-field{ display:flex; flex-direction:column; gap:.35rem; }
.lead-field span{ font-weight:600; font-size:.9rem; }
/* 16px no mínimo: abaixo disso o iPhone dá zoom no campo. */
.lead-field input{
  font:inherit; font-size:16px; padding:.85rem 1rem; border-radius:.9rem;
  border:1.5px solid var(--border); background:#fff; color:var(--navy);
}
.lead-field input:focus{ outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(18,166,168,.18); }
.lead-form__error{ margin:0; color:#b42318; font-size:.92rem; font-weight:600; }
.lead-form__submit{ justify-content:center; width:100%; margin-top:.25rem; }
.lead-form__submit:disabled{ opacity:.7; cursor:progress; transform:none; }
.lead-form__legal{ margin:0; font-size:.78rem; color:#6b7090; text-align:center; }
.lead-form__legal a{ text-decoration:underline; }
