/* pratica.css: página de vendas do Prática do Agronegócio (v2).
   Visual: arte da Fernanda (out/2026). Paleta e tipografia da marca Bárbara Bindeli. */

:root{
  --forest:#162212; --forest-2:#2B3320; --forest-deep:#0F180C;
  --graphite:#2B2D2D; --graphite-2:#262828;
  --paper:#EDECE8; --paper-2:#F8F6F3; --cream:#F7F2EB;
  --gold:#C4AF96; --gold-2:#DAC38C; --bronze:#8C6F4C; --olive:#545C47;
  --ink:#162212; --text:#2B2D2D; --on-dark:#D9D9D9; --muted-dark:#B8B8B8;
  --rule-dark:rgba(196,175,150,.22); --rule-light:#D2CDC2;
  --accent:linear-gradient(90deg,#C1996A,#D7BD8B 55%,#DCC68D); --accent-ink:#273623;
  --serif:"Playfair Display", Georgia, "Times New Roman", serif;
  --sans:Inter, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --gx:clamp(1.25rem, 5vw, 4rem);
  --sec:clamp(4.5rem, 10vw, 7.5rem);
  --maxw:75rem;
  --pill:999px;
  --top:2.5rem;   /* altura da faixa de prazo */
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; animation:none !important; } }
body{ margin:0; background:var(--forest); color:var(--on-dark); font:300 1rem/1.65 var(--sans); -webkit-font-smoothing:antialiased; }
img{ max-width:100%; display:block; }
h1,h2,h3,p{ margin:0; }
a{ color:var(--gold); }
a:hover{ color:var(--gold-2); }
:focus-visible{ outline:2px solid var(--gold-2); outline-offset:3px; }
[hidden]{ display:none !important; }
em{ font-style:italic; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gx); }
.sec{ padding-block:var(--sec); }
.sec--forest{ background:var(--forest); }
.sec--graphite{ background:var(--graphite); }
.sec--paper{ background:var(--paper); color:var(--ink); }
.sec--moss{ background:var(--forest-2); }

.eyebrow{ font-size:.75rem; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); }
.sec--paper .eyebrow{ color:var(--olive); }
.h2{ font:400 clamp(1.85rem, 1.3rem + 2.2vw, 2.9rem)/1.18 var(--serif); color:#fff; text-wrap:balance; }
.h2 em{ color:var(--gold); }
.sec--paper .h2{ color:var(--ink); }
.sec--paper .h2 em{ color:inherit; }
.lead{ font-size:1.0625rem; line-height:1.7; color:var(--on-dark); }
.sec--paper .lead{ color:var(--text); font-weight:400; }
.quote{ font:italic 400 clamp(1.15rem, 1rem + .6vw, 1.4rem)/1.5 var(--serif); }
.stack{ display:flex; flex-direction:column; gap:1.25rem; }
.head{ max-width:56rem; margin-bottom:clamp(2.5rem, 5vw, 4rem); }
.head--center{ margin-inline:auto; text-align:center; align-items:center; }

/* ── Botões ───────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.75rem;
  min-height:3.5rem; padding:.9rem 2.25rem; border-radius:var(--pill); border:0; cursor:pointer;
  font:600 .875rem/1.25 var(--sans); letter-spacing:.1em; text-transform:uppercase; text-align:center; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn svg{ flex:none; }
.btn--gold{ background:var(--accent); color:var(--accent-ink); }
.btn--gold:hover{ color:var(--accent-ink); transform:translateY(-2px); box-shadow:0 12px 32px rgba(196,175,150,.28); }
.btn--forest{ background:var(--forest); color:var(--gold-2); }
.btn--forest:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 12px 32px rgba(22,34,18,.25); }
.btn--block{ width:100%; }
.btn:disabled{ opacity:.7; cursor:progress; transform:none; }

/* ── Faixa de prazo ──────────────────────────────────────── */
.prazo{
  position:sticky; top:0; z-index:40; min-height:var(--top);
  display:flex; align-items:center; justify-content:center; gap:.4rem 1rem; flex-wrap:wrap;
  padding:.5rem var(--gx); padding-top:calc(.5rem + env(safe-area-inset-top));
  background:var(--accent); color:var(--accent-ink); text-align:center; font-size:.85rem; font-weight:500;
}
.prazo__curto{ display:none; }
.prazo__cd{ font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.prazo a{ color:inherit; font-weight:600; text-underline-offset:3px; }

/* ── Logo ───────────────────────────────────────────────── */
.logo{ display:inline-flex; align-items:center; gap:.9rem; color:var(--gold); text-decoration:none; }
.logo svg{ width:2.1rem; height:auto; flex:none; }
.logo__txt{ font:400 1.15rem/1.05 var(--serif); color:#fff; }
.logo__txt em{ display:block; color:var(--gold); }
.logo--dark .logo__txt{ color:var(--ink); }
.logo--dark .logo__txt em, .logo--dark{ color:var(--bronze); }

/* ── Hero ───────────────────────────────────────────────── */
.hero{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); min-height:calc(100svh - var(--top)); background:var(--forest); }
.hero__txt{
  display:flex; flex-direction:column; justify-content:center; gap:clamp(1rem, 2.4vh, 1.6rem);
  padding:clamp(2rem, 5vh, 3.5rem) clamp(1.5rem, 4vw, 4.5rem) clamp(2.5rem, 7vh, 5rem) max(var(--gx), calc((100vw - var(--maxw)) / 2 + var(--gx)));
}
.hero__txt .logo{ margin-bottom:clamp(.25rem, 2vh, 1.5rem); }
.hero__txt .logo{ gap:1rem; }
.hero__txt .logo svg{ width:2.6rem; }
.hero__txt .logo__txt{ font-size:1.45rem; }
.hero h1{ font:400 clamp(1.8rem, 1.2rem + 1.9vw, 2.7rem)/1.16 var(--serif); color:#fff; max-width:40rem; text-wrap:balance; }
.hero h1 em{ color:var(--gold); }
.hero__p{ font-size:clamp(1rem, .95rem + .3vw, 1.125rem); line-height:1.65; max-width:35rem; }
.hero__acts{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; padding-top:.4rem; }
.hero__fig{ position:relative; margin:0; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; padding-top:2rem; }
.hero__fig img{ width:min(100%, 40rem); height:auto; max-height:calc(100svh - var(--top) - 2rem); object-fit:contain; object-position:bottom center; }
.hero__fig::after{ content:""; position:absolute; inset:auto 0 0 0; height:22%; background:linear-gradient(transparent, var(--forest)); pointer-events:none; }

/* ── Oportunidades ───────────────────────────────────────── */
.cols{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(2rem, 4vw, 3rem); }
.destaque{ padding:1.75rem 2rem; border:1px solid rgba(196,175,150,.35); border-radius:12px; color:var(--gold-2); }

/* ── Serviços / frentes ──────────────────────────────────── */
.frentes{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:2rem; align-items:stretch; }
.frente{ border-radius:16px; padding:clamp(2rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2.5rem); display:flex; flex-direction:column; gap:1.5rem; }
.frente--dark{ background:var(--forest); color:var(--on-dark); }
.frente--light{ background:var(--paper-2); border:1px solid var(--rule-light); color:var(--text); }
.frente__n{ font:400 4rem/1 var(--serif); color:var(--gold); }
.frente--light .frente__n{ color:var(--bronze); }
.frente h3{ font-size:.875rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:#fff; }
.frente--light h3{ color:var(--ink); }
.frente p{ font-size:1rem; line-height:1.65; }
.frente__label{ font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); padding-top:.5rem; font-weight:500; }
.checks{ list-style:none; margin:0; padding:0; }
.checks li{ display:flex; gap:.9rem; align-items:flex-start; padding:.85rem 0; border-top:1px solid var(--rule-dark); font-size:.95rem; line-height:1.5; }
.checks li:last-child{ border-bottom:1px solid var(--rule-dark); }
.checks svg{ flex:none; margin-top:.15rem; }
.contratos{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr)); gap:1px; background:var(--rule-light); border:1px solid var(--rule-light); border-radius:12px; overflow:hidden; }
.contratos li{ background:var(--paper-2); padding:1.5rem; display:flex; flex-direction:column; gap:.5rem; }
.contratos b{ font:400 1.25rem/1.3 var(--serif); color:var(--ink); }
.contratos b span{ color:var(--bronze); }
.contratos li > span{ font-size:.875rem; line-height:1.6; color:var(--text); font-weight:400; }
.fecho{ margin:clamp(2.5rem, 5vw, 3.5rem) auto 0; max-width:47rem; text-align:center; color:var(--accent-ink); }

/* ── Para quem ───────────────────────────────────────────── */
.quem{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:2rem; align-items:stretch; }
.quem__intro{ font-size:.95rem; color:var(--muted-dark); padding-bottom:.75rem; }
.lista{ list-style:none; margin:0; padding:0; }
.lista li{ display:flex; gap:1rem; align-items:flex-start; padding:1.1rem 0; border-top:1px solid var(--rule-dark); font-size:1rem; line-height:1.6; }
.lista li:last-child{ border-bottom:1px solid var(--rule-dark); }
.lista svg{ flex:none; margin-top:.2rem; }
.nao{ background:var(--forest-deep); border:1px solid rgba(196,175,150,.14); border-radius:16px; padding:clamp(2rem, 4vw, 2.5rem) clamp(1.5rem, 3vw, 2.25rem); }
.nao__t{ font-size:.75rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted-dark); font-weight:500; padding-bottom:.75rem; }
.nao li{ border-color:rgba(255,255,255,.08); color:var(--muted-dark); font-size:.95rem; }

/* ── Pilares ─────────────────────────────────────────────── */
.pilares-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:clamp(2.5rem, 6vw, 6rem); align-items:start; }
.pilares-grid .h2{ font-size:clamp(2.1rem, 1.4rem + 2.6vw, 3.5rem); line-height:1.1; }
.pilares{ list-style:none; margin:0; padding:0; counter-reset:p; }
.pilares li{ display:grid; grid-template-columns:4rem 1fr; gap:1.5rem; padding:1.75rem 0; border-top:1px solid var(--rule-light); }
.pilares li:last-child{ border-bottom:1px solid var(--rule-light); }
.pilares__n{ font:400 2.75rem/1 var(--serif); color:var(--bronze); }
.pilares h3{ font-size:.8125rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:var(--ink); margin-bottom:.5rem; }
.pilares p{ font-size:.95rem; line-height:1.65; color:var(--text); font-weight:400; }
.pilares-cta{ padding-top:2.75rem; }

/* ── Bônus ───────────────────────────────────────────────── */
.bonus28{ border:1px solid var(--gold); border-radius:24px; padding:clamp(2rem, 5vw, 4.5rem); background:var(--forest); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(2rem, 5vw, 4.5rem); align-items:center; }
.selo{ align-self:flex-start; display:inline-block; font-size:.75rem; letter-spacing:.22em; text-transform:uppercase; color:var(--accent-ink); background:var(--gold-2); padding:.5rem 1rem; border-radius:var(--pill); font-weight:600; }
.bonus28 .h2{ font-size:clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); line-height:1.2; }
.sessao{ background:var(--cream); color:var(--ink); border-radius:16px; padding:clamp(2rem, 4vw, 2.5rem) clamp(1.5rem, 3vw, 2.25rem); display:flex; flex-direction:column; gap:1.25rem; }
.sessao h3{ font:500 1.5rem/1.25 var(--serif); }
.sessao p{ font-size:.95rem; line-height:1.65; color:var(--text); font-weight:400; }
.sessao ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.65rem; font-size:.95rem; line-height:1.5; font-weight:400; }
.sessao li{ display:flex; gap:.75rem; align-items:flex-start; }
.sessao li svg{ flex:none; margin-top:.15rem; }
.sessao .btn{ margin-top:.75rem; font-size:.8125rem; }

.bonus30{ display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; list-style:none; margin:0; padding:0; }
.bonus30 > li{ flex:0 1 calc((100% - 2rem) / 3); min-width:min(100%, 17rem); }
.bonus30 li{ border:1px solid rgba(196,175,150,.28); border-radius:14px; padding:2rem 1.75rem; display:flex; flex-direction:column; gap:.9rem; background:rgba(15,24,12,.45); }
.bonus30 small{ font-size:.6875rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-weight:500; }
.bonus30 h3{ font:400 1.3rem/1.25 var(--serif); color:#fff; }
.bonus30 p{ font-size:.875rem; line-height:1.6; color:var(--muted-dark); }

/* ── Investimento ────────────────────────────────────────── */
.invest{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(2.5rem, 6vw, 5.5rem); align-items:center; }
.invest .h2{ font-size:clamp(2.1rem, 1.4rem + 2.6vw, 3.5rem); line-height:1.1; }
.inclui{ list-style:none; margin:.5rem 0 0; padding:0; display:flex; flex-direction:column; gap:.6rem; font-size:.95rem; }
.inclui li{ display:flex; gap:.75rem; align-items:flex-start; }
.inclui svg{ flex:none; margin-top:.2rem; }
.preco{ width:min(100%, 28rem); justify-self:center; background:var(--cream); color:var(--ink); border-radius:24px; padding:clamp(2.25rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2.5rem); display:flex; flex-direction:column; align-items:center; gap:1.1rem; text-align:center; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.preco .logo{ color:var(--bronze); }
.preco .logo{ gap:1.1rem; }
.preco .logo svg{ width:3.1rem; }
.preco .logo__txt{ font-size:1.75rem; }
.preco__risco{ width:3rem; height:1px; background:var(--gold); }
.preco__label{ font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--olive); font-weight:500; }
.preco__valor{ display:flex; align-items:baseline; justify-content:center; gap:.6rem; flex-wrap:wrap; }
.preco__valor span{ font-size:1.25rem; color:var(--text); }
.preco__valor b{ font:400 clamp(3rem, 2.3rem + 3vw, 4rem)/1 var(--serif); color:var(--ink); white-space:nowrap; }
.preco__vista{ font-size:1rem; color:var(--text); font-weight:400; }
.preco__vista b{ font-weight:600; }
.preco .btn{ margin-top:.6rem; min-height:3.75rem; }
.preco__seg{ display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:var(--olive); font-weight:400; }
.preco__nota{ font-size:.75rem; line-height:1.5; color:var(--olive); font-weight:400; }

/* ── Bio ─────────────────────────────────────────────────── */
.bio{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:clamp(2.5rem, 6vw, 5.5rem); align-items:center; }
.bio__fig{ position:relative; width:min(100%, 26rem); justify-self:center; margin:0; }
.bio__fig::before{ content:""; position:absolute; inset:1.1rem 1.1rem -1.1rem -1.1rem; border:1px solid var(--gold); border-radius:24px 24px 999px 999px; }
.bio__fig img{ position:relative; width:100%; aspect-ratio:7/9; height:auto; object-fit:cover; object-position:center 30%; border-radius:24px 24px 999px 999px; }
.bio .h2{ font-size:clamp(2.1rem, 1.4rem + 2.6vw, 3.5rem); line-height:1.1; }
.forma{ background:var(--paper-2); border:1px solid var(--rule-light); border-radius:14px; padding:1.75rem; display:flex; flex-direction:column; gap:.9rem; }
.forma__t{ font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--olive); font-weight:500; }
.forma ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr)); gap:.75rem 1.5rem; font-size:.95rem; line-height:1.5; font-weight:400; }
.forma li{ display:flex; gap:.6rem; align-items:flex-start; }
.forma svg{ flex:none; margin-top:.15rem; }
.bio .quote{ color:var(--accent-ink); }

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:clamp(2.5rem, 6vw, 5.5rem); align-items:start; }
.faq details{ border-top:1px solid var(--rule-dark); padding:1.25rem 0; }
.faq details:last-child{ border-bottom:1px solid var(--rule-dark); }
.faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; min-height:2.75rem; font-size:1.0625rem; font-weight:500; color:#fff; line-height:1.45; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary svg{ flex:none; transition:transform .2s ease; }
.faq details[open] summary svg{ transform:rotate(45deg); }
.faq details p{ margin-top:.75rem; font-size:.95rem; line-height:1.7; max-width:42rem; }

/* ── Chamada final e rodapé ──────────────────────────────── */
.final{ max-width:57.5rem; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:1.75rem; text-align:center; }
.final .h2{ font-size:clamp(2rem, 1.4rem + 2.4vw, 3.25rem); line-height:1.15; }
.rodape{ background:var(--forest-deep); border-top:1px solid rgba(196,175,150,.15); padding-block:2.5rem calc(2.5rem + env(safe-area-inset-bottom)); }
.rodape .wrap{ display:flex; flex-wrap:wrap; gap:1.25rem 2rem; align-items:center; justify-content:space-between; font-size:.8125rem; color:#A3A3A3; }
.rodape nav{ display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.rodape a, .rodape button{ color:#A3A3A3; background:none; border:0; padding:0; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.rodape a:hover, .rodape button:hover{ color:var(--gold); }

/* ── Barra de compra (celular) ───────────────────────────── */
.barra{
  position:fixed; inset:auto 0 0 0; z-index:30; display:none; align-items:center; justify-content:space-between; gap:1rem;
  padding:.75rem var(--gx) calc(.75rem + env(safe-area-inset-bottom)); background:var(--forest-deep);
  border-top:1px solid rgba(196,175,150,.3); transform:translateY(110%); transition:transform .25s ease;
}
.barra[data-on="true"]{ transform:none; }
.barra__p{ font-size:.8rem; line-height:1.3; color:var(--muted-dark); }
.barra__p b{ display:block; color:#fff; font-size:1rem; font-weight:600; }
.barra .btn{ min-height:3rem; padding:.6rem 1.25rem; font-size:.75rem; }

/* ── Pré-checkout ────────────────────────────────────────── */
.dlg{ width:min(100% - 2rem, 30rem); max-height:calc(100svh - 2rem); padding:0; border:0; border-radius:20px; background:var(--cream); color:var(--ink); box-shadow:0 30px 80px rgba(0,0,0,.45); overflow:auto; }
.dlg::backdrop{ background:rgba(15,24,12,.72); backdrop-filter:blur(3px); }
.dlg__in{ padding:2rem clamp(1.25rem, 5vw, 2rem) 1.5rem; display:flex; flex-direction:column; gap:1rem; }
.dlg__x{ position:absolute; top:.6rem; right:.6rem; width:2.75rem; height:2.75rem; border:0; background:none; cursor:pointer; color:var(--olive); font-size:1.5rem; line-height:1; border-radius:50%; }
.dlg__x:hover{ background:rgba(22,34,18,.06); }
.dlg__passo{ font-size:.75rem; letter-spacing:.18em; text-transform:uppercase; color:var(--olive); font-weight:500; }
.dlg h2{ font:400 1.6rem/1.2 var(--serif); padding-right:2rem; }
.dlg__sub{ font-size:.9rem; color:var(--text); font-weight:400; line-height:1.5; }
.campo{ display:flex; flex-direction:column; gap:.35rem; }
.campo label{ font-size:.85rem; font-weight:500; color:var(--ink); }
.campo input{ min-height:3rem; padding:.65rem .9rem; border:1px solid #BDB6A8; border-radius:10px; background:#fff; color:var(--ink); font:400 1rem var(--sans); }
.campo input:focus{ outline:2px solid var(--bronze); outline-offset:1px; border-color:var(--bronze); }
.campo[data-invalid="true"] input{ border-color:#A33A2B; }
.campo__err{ font-size:.8rem; color:#A33A2B; font-weight:500; }
.hp{ position:absolute; left:-9999px; }
.dlg .btn{ margin-top:.25rem; }
.dlg__pular{ align-self:center; background:none; border:0; color:var(--olive); font:400 .85rem var(--sans); text-decoration:underline; text-underline-offset:3px; cursor:pointer; padding:.5rem; min-height:2.75rem; }
.dlg__lgpd{ font-size:.72rem; line-height:1.5; color:var(--olive); font-weight:400; text-align:center; }
.dlg__lgpd a{ color:inherit; }

/* ── Banner de cookies ───────────────────────────────────── */
.cc{ position:fixed; inset:auto 0 0 0; z-index:50; display:none; gap:1rem; flex-wrap:wrap; align-items:center; padding:1rem var(--gx) calc(1rem + env(safe-area-inset-bottom)); background:var(--cream); color:var(--ink); box-shadow:0 -10px 30px -12px rgba(0,0,0,.35); font-size:.88rem; font-weight:400; }
.cc[data-open="true"]{ display:flex; }
.cc__txt{ flex:1 1 22rem; }
.cc a{ color:var(--ink); text-decoration:underline; }
.cc__acts{ display:flex; gap:.6rem; }
.cc__btn{ min-height:44px; padding:.6em 1.1em; border:1px solid var(--rule-light); background:transparent; cursor:pointer; border-radius:var(--pill); font:inherit; color:var(--ink); }
.cc__btn--primary{ background:var(--forest); color:#fff; border-color:var(--forest); min-width:7.5rem; font-weight:600; }
.cc__btn--discreto{ border-color:transparent; opacity:.75; }
.cc__prefs{ display:none; flex:1 1 100%; gap:1rem; flex-wrap:wrap; padding-top:.8rem; border-top:1px solid var(--rule-light); }
.cc[data-prefs="true"] .cc__prefs{ display:flex; }
.cc__opt{ display:flex; align-items:center; gap:.5rem; }

/* ── Entrada ─────────────────────────────────────────────── */
.rv{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.rv.is-in{ opacity:1; transform:none; }

/* ── Responsivo ──────────────────────────────────────────── */
@media (min-width: 961px){
  /* coluna da esquerda acompanha a rolagem enquanto a lista passa */
  .pilares-grid > .stack:first-child, .faq-grid > .stack:first-child{ position:sticky; top:calc(var(--top) + 2.5rem); }
}
@media (max-width: 960px){
  .hero{ grid-template-columns:1fr; min-height:0; }
  .hero__txt{ padding:2.25rem var(--gx) 2.75rem; gap:1.35rem; }
  .hero__fig{ padding-top:0; }
  .hero__fig img{ width:min(88%, 26rem); max-height:none; }
  .cols, .frentes, .quem, .pilares-grid, .bonus28, .invest, .bio, .faq-grid{ grid-template-columns:1fr; }
  .bio__fig{ width:min(100%, 22rem); }
  .barra{ display:flex; }
  .rodape{ padding-bottom:calc(6rem + env(safe-area-inset-bottom)); }
}
@media (max-width: 640px){
  :root{ --top:auto; }
  .prazo{ font-size:.72rem; line-height:1.35; padding-block:.5rem; gap:.15rem .5rem; flex-wrap:wrap; }
  .prazo a, .prazo__lbl, .prazo__longo{ display:none; }
  .prazo__curto{ display:inline; }
  .btn{ letter-spacing:.06em; padding-inline:1.25rem; }
  .hero__txt .logo{ margin-bottom:0; }
  .hero__acts .btn{ width:100%; }
  .hero__fig{ display:none; }
  .hero__txt{ align-items:center; text-align:center; }
  .hero h1, .hero__p{ margin-inline:auto; }
  .hero__acts{ justify-content:center; }
  .head{ margin-inline:auto; text-align:center; align-items:center; }
  /* celular: texto centralizado; só as perguntas do FAQ seguem à esquerda */
  .lead, .quote, .cols, .sec .stack, .final, .frente, .contratos li, .nao, .sessao, .bonus30 li{ text-align:center; }
  .sec .stack, .frente, .sessao, .bonus30 li{ align-items:center; }
  .frente .checks, .frente .contratos, .sec .stack > ul{ width:100%; }
  .checks li, .lista li, .sessao li, .inclui li{ display:block; text-align:center; }
  .checks svg, .lista svg, .sessao li svg, .inclui svg{ display:inline-block; vertical-align:-.2em; margin:0 .45rem 0 0; }
  .sessao ul, .inclui{ width:100%; }
  .faq details{ text-align:left; }
  .rodape .wrap{ flex-direction:column; justify-content:center; text-align:center; }
  .rodape nav{ justify-content:center; }
  .rodape nav > span{ flex-basis:100%; order:2; margin-top:.75rem; }
  .pilares li{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:.75rem; }
  .pilares__n{ font-size:2.2rem; }
  .final .btn, .pilares-cta .btn{ width:100%; }
  .frente__n{ font-size:3.2rem; }
  .cc{ gap:.6rem; padding:.75rem var(--gx) calc(.75rem + env(safe-area-inset-bottom)); }
  .cc__txt{ flex-basis:100%; font-size:.8rem; line-height:1.45; }
  .cc__acts{ width:100%; }
  .cc__btn{ flex:1; min-height:40px; }
}
