/* ============================================================
   FORMAÇÃO EM DETETIVE PARTICULAR — KARLA ALVES
   Sistema visual: luxo discreto · dossiê confidencial · ouro
   ============================================================ */

html { scroll-behavior: smooth; }

:root{
  /* Paleta */
  --ink:      #0F0B08;
  --ink-2:    #14100B;
  --ink-3:    #1A130D;
  --brown:    #2E2018;
  --brown-2:  #4A3427;
  --gold:     #B08A4A;
  --gold-2:   #D9B878;
  --gold-soft:#caa463;
  --cream:    #F5EFE6;
  --text:     #F5EFE6;
  --muted:    #C9BFB4;
  --muted-2:  #8c8377;
  --line:     rgba(208,170,90,.22);
  --line-soft:rgba(245,239,230,.10);

  /* Tipografia */
  --serif: "Playfair Display", Georgia, serif;
  --sans:  "Hanken Grotesk", system-ui, sans-serif;
  --mono:  "JetBrains Mono", ui-monospace, monospace;

  /* Espaçamento */
  --sp-xs: clamp(.5rem,1vw,.75rem);
  --sp-sm: clamp(.85rem,1.6vw,1.15rem);
  --sp-md: clamp(1.4rem,2.8vw,2rem);
  --sp-lg: clamp(2.4rem,5vw,4rem);
  --sp-xl: clamp(4rem,8vw,7.5rem);

  --maxw: 1180px;
  --radius: 4px;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--sans);
  background:var(--ink);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  font-size:17px;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
}

/* Textura de fundo: papel/couro sutil + grão */
body::before{
  content:"";
  position:fixed; inset:0; z-index:-2;
  background:
    repeating-linear-gradient(90deg, transparent, transparent 180px, rgba(45,157,63,.04) 180px, rgba(45,157,63,.04) 181px),
    repeating-linear-gradient(0deg, transparent, transparent 120px, rgba(208,170,90,.03) 120px, rgba(208,170,90,.03) 121px),
    radial-gradient(120% 80% at 50% -10%, rgba(176,138,74,.08), transparent 55%),
    radial-gradient(90% 60% at 90% 110%, rgba(74,52,39,.25), transparent 60%),
    var(--ink);
}
body::after{
  content:"";
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2rem); }

/* ---------- Tipografia utilitária ---------- */
.kicker{ font-family:var(--mono); font-size:.72rem; letter-spacing:.34em; text-transform:uppercase; color:var(--gold-2); display:inline-flex; align-items:center; gap:.7em; }
.kicker.green{ color:#2d9d3f; }
.kicker::before{ content:""; width:26px; height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }
.kicker.green::before{ background:linear-gradient(90deg,transparent,#2d9d3f); }
.kicker.center{ justify-content:center; }
.kicker.center::after{
  content:""; width:26px; height:1px; background:linear-gradient(90deg,var(--gold),transparent);
}

h1,h2,h3{ font-family:var(--serif); font-weight:800; line-height:1.06; letter-spacing:-.01em; }
h2.display{
  font-size:clamp(2rem,5.2vw,3.5rem);
  text-wrap:balance;
}
h2.display em{ font-style:italic; color:var(--gold-2); font-weight:700; }
.lead{ color:var(--muted); font-size:clamp(1.02rem,1.7vw,1.2rem); max-width:60ch; }

.gold-text{ color:var(--gold-2); }
.cream-text{ color:var(--cream); }

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--sans); font-weight:800; letter-spacing:.01em;
  padding:1.05em 2em; border-radius:var(--radius);
  cursor:pointer; border:1px solid transparent;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  text-align:center; line-height:1.15;
}
.btn-gold{
  background:linear-gradient(180deg,#2d9d3f,#1f7c2a);
  color:#fff;
  box-shadow:0 10px 30px -10px rgba(45,157,63,.6), inset 0 1px 0 rgba(255,255,255,.4);
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 18px 44px -12px rgba(45,157,63,.75), inset 0 1px 0 rgba(255,255,255,.5), 0 0 20px rgba(45,157,63,.5); }
.btn-ghost{
  background:transparent; color:var(--cream); border-color:var(--line);
}
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-2); }
.btn-lg{ font-size:1.08rem; padding:1.2em 2.4em; width:100%; }
.btn .arrow{ transition:transform .25s ease; }
.btn:hover .arrow{ transform:translateX(4px); }

/* ---------- Seções ---------- */
section{ position:relative; padding-block:var(--sp-xl); }
.sec-tag{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.3em; color:var(--muted-2);
  text-transform:uppercase;
}
.divider{ height:1px; background:linear-gradient(90deg,transparent,var(--line),transparent); border:0; }

/* Moldura/cantos de dossiê */
.ticks{ position:relative; }
.ticks::before,.ticks::after{
  content:""; position:absolute; width:14px; height:14px; pointer-events:none;
  border:1px solid var(--gold); opacity:.5;
}
.ticks::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.ticks::after{ bottom:-1px; right:-1px; border-left:0; border-top:0; }

/* ---------- Plate de retrato (foto em fundo claro) ---------- */
.plate{
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:var(--cream);
  border:1px solid rgba(176,138,74,.45);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.8), 0 0 0 6px rgba(20,16,11,.6), 0 0 60px -20px rgba(176,138,74,.4);
}
.plate img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
.plate.glow::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 -90px 90px -60px rgba(20,16,11,.5);
}
.plate-frame{ position:relative; }
.plate-frame::before{
  content:""; position:absolute; inset:14px; border:1px solid rgba(176,138,74,.55); z-index:2; pointer-events:none; border-radius:2px;
}

/* ---------- Header ---------- */
.topbar{
  background:linear-gradient(90deg,var(--brown),var(--brown-2),var(--brown));
  color:var(--cream); text-align:center; font-size:.78rem; letter-spacing:.06em;
  padding:.6em 1rem; font-family:var(--mono);
  border-bottom:1px solid var(--line);
}
.topbar b{ color:var(--gold-2); }
header.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(15,11,8,.72); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding-block:.85rem; }
.brand{ display:flex; align-items:center; gap:.7rem; }
.brand .mark{
  width:34px; height:34px; border:1px solid var(--gold); border-radius:50%;
  display:grid; place-items:center; color:var(--gold-2);
}
.brand .bn{ font-family:var(--serif); font-weight:800; font-size:1.05rem; letter-spacing:.02em; }
.brand .bs{ font-family:var(--mono); font-size:.6rem; letter-spacing:.28em; color:var(--muted-2); text-transform:uppercase; }
.nav .hcta{ font-size:.85rem; padding:.7em 1.3em; }
.nav-links{ display:flex; gap:1.6rem; font-size:.82rem; color:var(--muted); white-space:nowrap; }
.nav-links a:hover{ color:var(--gold-2); }

/* ---------- HERO ---------- */
.hero{ padding-top:var(--sp-lg); }
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.hero h1{ font-size:clamp(2.3rem,5.4vw,4rem); margin:1rem 0 1.1rem; }
.hero h1 em{ font-style:italic; color:var(--gold-2); }
.hero .lead{ margin-bottom:1.6rem; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:.9rem; align-items:center; margin-top:1.6rem; }
.hero-badges{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.8rem; }
.badge{
  display:inline-flex; align-items:center; gap:.5em;
  font-size:.76rem; letter-spacing:.02em; color:var(--cream);
  border:1px solid var(--line); border-radius:999px; padding:.5em 1em;
  background:rgba(46,32,24,.4);
}
.badge svg{ width:15px; height:15px; color:var(--gold-2); }
.hero-proof{
  margin-top:1.8rem; padding-top:1.3rem; border-top:1px solid var(--line-soft);
  display:flex; flex-direction:column; gap:.2rem;
}
.hero-proof strong{ font-size:.95rem; color:var(--cream); }
.hero-proof span{ font-family:var(--mono); font-size:.78rem; color:var(--muted-2); letter-spacing:.04em; }
.hero-portrait{ position:relative; }
.hero-filetab{
  position:absolute; top:-12px; left:18px; z-index:3;
  background:var(--ink); border:1px solid var(--gold); color:var(--gold-2);
  font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
  padding:.4em .9em;
}
.hero-stamp{
  position:absolute; bottom:16px; right:-10px; z-index:3;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-2); border:1px solid var(--gold); padding:.5em .8em;
  background:rgba(15,11,8,.85); transform:rotate(-4deg);
}

/* ---------- Quebra de padrão (erros) ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.err-list{ display:grid; gap:.8rem; margin-top:1.6rem; }
.err-item{
  display:flex; gap:1rem; align-items:flex-start;
  padding:1.05rem 1.2rem; border:1px solid var(--line-soft); border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(46,32,24,.35),rgba(26,19,13,.2));
}
.err-item .x{
  flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center;
  border:1px solid rgba(180,90,70,.5); color:#cf8b78; font-size:.9rem; margin-top:.1rem;
}
.err-item h4{ font-family:var(--sans); font-weight:700; font-size:1rem; color:var(--cream); margin-bottom:.15rem; }
.err-item p{ font-size:.9rem; color:var(--muted); }

/* ---------- Oportunidade (grid de pilares) ---------- */
.pillars{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; margin-top:var(--sp-md); }
.pillar{ background:var(--ink-2); padding:1.8rem 1.5rem; transition:background .3s ease; }
.pillar:hover{ background:var(--ink-3); }
.pillar .ic{ width:40px; height:40px; color:var(--gold-2); margin-bottom:1rem; }
.pillar h4{ font-family:var(--serif); font-size:1.25rem; margin-bottom:.4rem; color:var(--cream); }
.pillar p{ font-size:.88rem; color:var(--muted); }
.pillar .no{ font-family:var(--mono); font-size:.65rem; color:var(--muted-2); letter-spacing:.2em; }

/* ---------- Autoridade ---------- */
.auth-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.timeline{ margin-top:1.6rem; border-left:1px solid var(--line); padding-left:1.6rem; display:grid; gap:1.4rem; }
.tl{ position:relative; }
.tl::before{ content:""; position:absolute; left:calc(-1.6rem - 5px); top:.45rem; width:9px; height:9px; border-radius:50%; background:var(--gold-2); box-shadow:0 0 0 4px rgba(176,138,74,.2); }
.tl .yr{ font-family:var(--mono); font-size:.72rem; letter-spacing:.18em; color:var(--gold-2); }
.tl p{ font-size:.94rem; color:var(--muted); margin-top:.2rem; }
.auth-quote{
  margin-top:1.8rem; font-family:var(--serif); font-style:italic; font-size:clamp(1.1rem,2vw,1.4rem);
  color:var(--cream); border-top:1px solid var(--line-soft); padding-top:1.4rem;
}

/* ---------- Transformação ---------- */
.tf-grid{ display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(1rem,3vw,2.5rem); align-items:stretch; margin-top:var(--sp-md); }
.tf-col{ border:1px solid var(--line-soft); border-radius:var(--radius); padding:1.8rem; }
.tf-col.before{ background:rgba(26,19,13,.5); }
.tf-col.after{ background:linear-gradient(180deg,rgba(46,32,24,.5),rgba(26,19,13,.4)); border-color:var(--line); }
.tf-col h3{ font-family:var(--mono); font-weight:500; font-size:.78rem; letter-spacing:.24em; text-transform:uppercase; margin-bottom:1.2rem; }
.tf-col.before h3{ color:var(--muted-2); }
.tf-col.after h3{ color:var(--gold-2); }
.tf-col ul{ list-style:none; display:grid; gap:.85rem; }
.tf-col li{ display:flex; gap:.7rem; align-items:flex-start; font-size:.96rem; }
.tf-col.before li{ color:var(--muted-2); }
.tf-col.after li{ color:var(--cream); }
.tf-col li .d{ flex:none; margin-top:.45rem; width:6px; height:6px; border-radius:50%; }
.tf-col.before li .d{ background:var(--muted-2); }
.tf-col.after li .d{ background:var(--gold-2); box-shadow:0 0 8px var(--gold); }
.tf-arrow{ display:grid; place-items:center; color:var(--gold); }
.tf-arrow svg{ width:40px; height:40px; }

/* ---------- O que vai aprender (cards) ---------- */
.learn-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; margin-top:var(--sp-md); }
.lcard{ position:relative; padding:1.4rem 1.2rem; border:1px solid var(--line-soft); border-radius:var(--radius); background:linear-gradient(180deg,var(--ink-2),rgba(26,19,13,.4)); transition:transform .3s ease, border-color .3s ease, background .3s ease; overflow:hidden; }
.lcard:nth-child(odd){ background:linear-gradient(180deg,rgba(45,157,63,.08),rgba(26,19,13,.4)); border-color:rgba(45,157,63,.3); }
.lcard:hover{ transform:translateY(-2px); border-color:var(--gold); background:linear-gradient(180deg,rgba(45,157,63,.12),rgba(26,19,13,.5)); }
.lcard .chk{ width:32px; height:32px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; color:var(--gold-2); margin-bottom:1rem; font-size:1.1rem; }
.lcard:nth-child(odd) .chk{ color:#2d9d3f; border-color:rgba(45,157,63,.5); }
.lcard h4{ font-family:var(--serif); font-size:1.1rem; color:var(--cream); margin-bottom:.3rem; line-height:1.2; }
.lcard p{ font-size:.85rem; color:var(--muted); }

/* ---------- Prova social ---------- */
.testi-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem; margin-top:var(--sp-md); }
.testi{
  border:1px solid var(--line-soft); border-radius:var(--radius); padding:1.6rem;
  background:rgba(26,19,13,.4); display:flex; flex-direction:column; gap:1rem;
}
.testi .stars{ color:var(--gold-2); letter-spacing:.15em; font-size:.9rem; }
.testi p{ font-size:.96rem; color:var(--cream); font-style:italic; }
.testi .who{ display:flex; align-items:center; gap:.8rem; margin-top:auto; }
.testi .av{ width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--brown-2),var(--brown)); display:grid; place-items:center; color:var(--gold-2); font-family:var(--serif); font-weight:700; border:1px solid var(--line); }
.testi .who b{ font-size:.9rem; color:var(--cream); display:block; }
.testi .who span{ font-size:.76rem; color:var(--muted-2); font-family:var(--mono); letter-spacing:.04em; }
.slot-note{
  margin-top:1.4rem; text-align:center; font-family:var(--mono); font-size:.74rem; letter-spacing:.08em;
  color:var(--muted-2); border:1px dashed var(--line); border-radius:var(--radius); padding:1rem;
}

/* ---------- Bônus ---------- */
.bonus-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin-top:var(--sp-md); }
.bonus{
  border:1px solid var(--line-soft); border-radius:var(--radius); padding:1.5rem;
  background:linear-gradient(180deg,rgba(46,32,24,.3),rgba(26,19,13,.3));
  position:relative;
}
.bonus .tagb{ position:absolute; top:1.1rem; right:1.1rem; font-family:var(--mono); font-size:.6rem; letter-spacing:.15em; color:var(--gold-2); border:1px solid var(--line); padding:.25em .6em; border-radius:2px; }
.bonus .ic{ width:34px; height:34px; color:var(--gold-2); margin-bottom:1rem; }
.bonus h4{ font-family:var(--sans); font-weight:700; font-size:1rem; color:var(--cream); margin-bottom:.3rem; }
.bonus p{ font-size:.84rem; color:var(--muted); }
.bonus .val{ font-family:var(--mono); font-size:.78rem; color:var(--gold-2); margin-top:.7rem; display:block; }

/* ---------- Stack de valor + preço ---------- */
.offer{ background:linear-gradient(180deg,rgba(26,19,13,.6),rgba(15,11,8,0)); }
.offer-grid{ display:grid; grid-template-columns:1fr .9fr; gap:clamp(1.5rem,4vw,3rem); align-items:start; }
.stack{ border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; }
.stack-row{ display:flex; justify-content:space-between; align-items:center; padding:1rem 1.3rem; border-bottom:1px solid var(--line-soft); }
.stack-row:last-child{ border-bottom:0; }
.stack-row .nm{ display:flex; flex-direction:column; }
.stack-row .nm b{ font-size:.96rem; color:var(--cream); font-weight:600; }
.stack-row .nm span{ font-size:.78rem; color:var(--muted-2); }
.stack-row .pv{ font-family:var(--mono); font-size:.9rem; color:var(--muted); }
.stack-row.total{ background:rgba(46,32,24,.4); }
.stack-row.total .nm b{ color:var(--gold-2); font-family:var(--serif); font-size:1.05rem; }
.stack-row.total .pv{ color:var(--gold-2); text-decoration:line-through; }

.pricebox{
  border:1px solid var(--gold); border-radius:var(--radius); padding:2rem 1.8rem; text-align:center;
  background:linear-gradient(180deg,var(--ink-3),var(--ink));
  box-shadow:0 40px 80px -40px rgba(0,0,0,.8), 0 0 60px -30px rgba(176,138,74,.4);
  position:relative;
}
.pricebox .plabel{ font-family:var(--mono); font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted-2); }
.pricebox .install{ color:var(--muted); font-size:.92rem; margin-top:1rem; }
.pricebox .install b{ color:var(--cream); }
.pricebox .avista{ color:var(--muted-2); font-size:.82rem; margin-top:.6rem; }
.pricebox .price{ font-family:var(--serif); font-weight:900; font-size:clamp(3rem,8vw,4.4rem); color:var(--cream); line-height:1; margin:.2rem 0 .1rem; }
.pricebox .price small{ font-size:.4em; color:var(--gold-2); vertical-align:.7em; margin-right:.1em; }
.pricebox .secure{ display:block; font-family:var(--mono); font-size:.7rem; letter-spacing:.04em; color:var(--muted-2); margin-top:1rem; }
.pricebox .btn{ margin-top:1.4rem; }

/* ---------- Garantia ---------- */
.guarantee{ }
.gu-grid{ display:grid; grid-template-columns:auto 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.seal{
  width:clamp(150px,22vw,210px); aspect-ratio:1; flex:none; border-radius:50%;
  border:2px solid var(--gold); display:grid; place-items:center; text-align:center;
  background:radial-gradient(circle at 50% 35%, rgba(176,138,74,.18), transparent 65%);
  position:relative;
}
.seal::before{ content:""; position:absolute; inset:10px; border:1px dashed rgba(208,170,90,.5); border-radius:50%; }
.seal .num{ font-family:var(--serif); font-weight:900; font-size:clamp(3.8rem,9vw,5rem); color:var(--gold-2); line-height:.9; }
.seal .un{ font-family:var(--sans); font-weight:600; font-size:.92rem; letter-spacing:.08em; text-transform:uppercase; color:var(--cream); margin-top:.5rem; }

/* ---------- FAQ ---------- */
.faq-list{ margin-top:var(--sp-md); border-top:1px solid var(--line-soft); }
.fq{ border-bottom:1px solid var(--line-soft); }
.fq summary{ list-style:none; cursor:pointer; padding:1.3rem .4rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; font-family:var(--serif); font-size:clamp(1.05rem,2vw,1.25rem); color:var(--cream); }
.fq summary::-webkit-details-marker{ display:none; }
.fq summary .pm{ flex:none; width:26px; height:26px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; color:var(--gold-2); transition:transform .3s ease, background .3s ease; }
.fq[open] summary .pm{ transform:rotate(45deg); background:rgba(176,138,74,.15); }
.fq p{ padding:0 .4rem 1.4rem; color:var(--muted); font-size:.96rem; max-width:70ch; }

/* ---------- Fechamento ---------- */
.closing{ text-align:center; }
.closing .lead{ margin-inline:auto; }
.closing h2.display{ margin:1rem 0; }
.closing p{ color:var(--muted); max-width:60ch; margin:1rem auto; font-size:1.05rem; }
.closing .sig{ display:block; font-family:var(--serif); font-style:italic; font-size:1.3rem; color:var(--gold-2); margin-top:1.6rem; }
.closing .btn{ margin-top:1.8rem; }

footer{ border-top:1px solid var(--line-soft); padding-block:var(--sp-lg); color:var(--muted-2); font-size:.82rem; }
.foot-inner{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; align-items:center; }
footer .fbrand{ font-family:var(--serif); color:var(--cream); font-size:1.1rem; }
footer .disc{ max-width:60ch; line-height:1.6; font-size:.76rem; }

/* ---------- Sticky CTA (mobile) ---------- */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  display:none; align-items:center; justify-content:space-between; gap:1rem;
  padding:.7rem 1rem; background:rgba(15,11,8,.92); backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
  transform:translateY(120%); transition:transform .35s ease;
}
.sticky-cta.show{ transform:translateY(0); }
.sticky-cta span{ font-size:.8rem; color:var(--cream); font-weight:700; }
.sticky-cta b{ color:var(--gold-2); }
.sticky-cta a{ flex:none; }

/* ---------- Reveal ---------- */
.rv{ opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.rv.in{ opacity:1; transform:none; }
.rv.d1{ transition-delay:.1s; } .rv.d2{ transition-delay:.2s; } .rv.d3{ transition-delay:.3s; }

@media (prefers-reduced-motion:reduce){ .rv{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

/* ---------- Responsivo ---------- */
@media (max-width:900px){
  .nav-links{ display:none; }
  .hero-grid,.split,.auth-grid,.offer-grid{ grid-template-columns:1fr; }
  .hero-portrait{ max-width:440px; margin-inline:auto; order:-1; }
  .tf-grid{ grid-template-columns:1fr; }
  .tf-arrow{ transform:rotate(90deg); }
  .gu-grid{ grid-template-columns:1fr; justify-items:center; text-align:center; }
  .sticky-cta{ display:flex; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .nav .hcta{ display:none; }
  .stack-row{ padding:.85rem 1rem; }
  .sticky-cta a{ padding:.8em 1.1em; font-size:.82rem; }
}
