/* =========================================================
   R3 EDUCAÇÃO — LP E-BOOK COLABORADORES DE CARTÓRIOS
   Identidade: roxo #7B469F · laranja #F4702F · azul #0D85C4 · verde #00B061
   ========================================================= */

:root{
  --purple:#7B469F;
  --purple-d:#5B2E7A;
  --purple-x:#2B0D3F;
  --orange:#F4702F;
  --orange-d:#DB531B;
  --blue:#0D85C4;
  --green:#00B061;

  --ink:#111015;
  --ink-2:#3A3742;
  --ink-3:#6B6775;
  --bg:#F1F1F3;
  --bg-2:#E9E9EE;
  --white:#FFFFFF;

  --glass: rgba(255,255,255,.55);
  --glass-solid: rgba(255,255,255,.82);
  --shadow-s: 0 1px 2px rgba(20,10,35,.05), 0 4px 14px rgba(20,10,35,.05);
  --shadow-m: 0 2px 6px rgba(20,10,35,.05), 0 18px 44px -14px rgba(20,10,35,.16);
  --shadow-l: 0 30px 90px -30px rgba(43,13,63,.42), 0 8px 24px -12px rgba(43,13,63,.22);

  --r-s:14px; --r-m:20px; --r-l:28px; --r-xl:36px;
  --wrap:1200px;
  --ease:cubic-bezier(.22,.9,.24,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --nav-h:76px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:96px; }
body{
  margin:0;
  font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3{ margin:0; line-height:1.06; letter-spacing:-.03em; font-weight:800; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
::selection{ background:var(--orange); color:#fff; }

.wrap{ width:min(100% - 40px, var(--wrap)); margin-inline:auto; }
.wrap--narrow{ width:min(100% - 40px, 840px); }

/* ---------- BACKDROP: AURORA + GRAIN + SPOTLIGHT ---------- */
.aurora{ position:fixed; inset:-20vh -10vw; z-index:-2; pointer-events:none; filter:blur(90px) saturate(1.2); opacity:.42; }
.blob{ position:absolute; display:block; border-radius:50%; will-change:transform; }
.blob--purple{ width:52vw; height:52vw; left:-8vw; top:2vh; background:radial-gradient(circle at 30% 30%, rgba(123,70,159,.85), rgba(123,70,159,0) 68%); animation:drift1 26s var(--ease) infinite alternate; }
.blob--orange{ width:44vw; height:44vw; right:-6vw; top:-4vh; background:radial-gradient(circle at 60% 40%, rgba(244,112,47,.75), rgba(244,112,47,0) 68%); animation:drift2 31s var(--ease) infinite alternate; }
.blob--blue{ width:48vw; height:48vw; right:6vw; top:52vh; background:radial-gradient(circle at 50% 50%, rgba(13,133,196,.6), rgba(13,133,196,0) 68%); animation:drift3 36s var(--ease) infinite alternate; }
.blob--green{ width:36vw; height:36vw; left:8vw; top:74vh; background:radial-gradient(circle at 50% 50%, rgba(0,176,97,.45), rgba(0,176,97,0) 68%); animation:drift4 29s var(--ease) infinite alternate; }
@keyframes drift1{ to{ transform:translate3d(9vw,10vh,0) scale(1.15);} }
@keyframes drift2{ to{ transform:translate3d(-11vw,14vh,0) scale(1.2);} }
@keyframes drift3{ to{ transform:translate3d(-8vw,-12vh,0) scale(1.1);} }
@keyframes drift4{ to{ transform:translate3d(12vw,-8vh,0) scale(1.18);} }

.grain{
  position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.4; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
}
.spotlight{
  position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:0; transition:opacity .5s ease;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.55), transparent 62%);
}
body.has-pointer .spotlight{ opacity:1; }

/* ---------- GLASS (sem borda de vidro) ---------- */
.glass{
  background:var(--glass);
  -webkit-backdrop-filter:blur(26px) saturate(180%);
  backdrop-filter:blur(26px) saturate(180%);
  border-radius:var(--r-l);
  box-shadow:var(--shadow-m), inset 0 1px 0 rgba(255,255,255,.6);
}
.glass-solid{
  background:var(--glass-solid);
  -webkit-backdrop-filter:blur(34px) saturate(190%);
  backdrop-filter:blur(34px) saturate(190%);
  border-radius:var(--r-l);
  box-shadow:var(--shadow-l), inset 0 1px 0 rgba(255,255,255,.75);
}

/* ---------- PROGRESS ---------- */
.progress{ position:fixed; inset:0 0 auto 0; height:3px; z-index:70; pointer-events:none; }
.progress i{
  display:block; height:100%; width:100%; transform-origin:0 50%; transform:scaleX(0);
  background:linear-gradient(90deg,var(--purple),var(--blue),var(--green),var(--orange));
}
@supports (animation-timeline: scroll()){
  .progress i{ animation:grow linear; animation-timeline:scroll(root block); }
  @keyframes grow{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }
}

/* ---------- NAV ---------- */
.nav{ position:fixed; top:14px; left:0; right:0; z-index:60; pointer-events:none; }
.nav__inner{
  pointer-events:auto;
  width:min(100% - 32px, var(--wrap)); margin-inline:auto;
  height:var(--nav-h); padding:0 12px 0 18px;
  display:flex; align-items:center; gap:22px;
  border-radius:999px;
  transition:height .4s var(--ease), background .4s ease, box-shadow .4s ease, transform .5s var(--ease);
}
.nav.is-hidden .nav__inner{ transform:translateY(-140%); }
.nav.is-stuck .nav__inner{ height:64px; background:rgba(255,255,255,.78); }
.nav__brand{ display:flex; align-items:center; gap:11px; text-decoration:none; font-size:15px; letter-spacing:-.02em; white-space:nowrap; }
.nav__brand img{ width:46px; height:46px; padding:4px; background:#fff; border-radius:13px; box-shadow:0 1px 3px rgba(20,10,35,.08); }
.nav__brand span{ font-weight:500; color:var(--ink-2); }
.nav__brand b{ font-weight:800; color:var(--ink); }
.nav__links{ display:flex; gap:6px; margin-left:auto; }
.nav__links a{
  position:relative; text-decoration:none; font-size:14px; font-weight:600; color:var(--ink-2);
  padding:9px 14px; border-radius:999px; transition:color .3s, background .3s;
}
.nav__links a:hover{ color:var(--ink); background:rgba(123,70,159,.08); }

/* ---------- BUTTONS ---------- */
.btn{
  --bh:56px;
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:var(--bh); padding:0 26px; border:0; cursor:pointer;
  border-radius:999px; font:inherit; font-weight:700; font-size:15.5px; letter-spacing:-.01em;
  text-decoration:none; white-space:nowrap; overflow:hidden; isolation:isolate;
  transition:transform .45s var(--ease-out), box-shadow .45s var(--ease-out), filter .3s;
  will-change:transform;
}
.btn svg{ width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.btn--sm{ --bh:42px; padding:0 18px; font-size:14px; }
.btn--lg{ --bh:62px; padding:0 34px; font-size:16.5px; }
.btn--block{ display:flex; width:100%; }
.btn--solid{
  color:#fff;
  background:linear-gradient(115deg,var(--purple) 0%, var(--purple-d) 38%, var(--orange-d) 100%);
  background-size:220% 100%; background-position:0% 50%;
  box-shadow:0 12px 30px -12px rgba(123,70,159,.75), 0 2px 6px rgba(43,13,63,.18);
  transition:transform .45s var(--ease-out), box-shadow .45s var(--ease-out), background-position .7s var(--ease);
}
.btn--solid::after{
  content:""; position:absolute; inset:0; z-index:-1; opacity:0;
  background:linear-gradient(115deg,var(--orange),var(--orange-d));
  transition:opacity .5s var(--ease);
}
.btn--solid:hover{ background-position:100% 50%; box-shadow:0 20px 44px -14px rgba(244,112,47,.7), 0 2px 8px rgba(43,13,63,.2); }
.btn--solid:active{ transform:scale(.975); }
.btn--ghost{ background:rgba(17,16,21,.05); color:var(--ink); }
.btn--ghost:hover{ background:rgba(17,16,21,.09); }
.btn:focus-visible{ outline:3px solid var(--blue); outline-offset:3px; }
.btn .btn__spin{ display:none; width:19px; height:19px; border-radius:50%; border:2.2px solid rgba(255,255,255,.35); border-top-color:#fff; animation:spin .7s linear infinite; }
.btn.is-loading{ pointer-events:none; filter:saturate(.85); }
.btn.is-loading .btn__label{ opacity:.55; }
.btn.is-loading .btn__spin{ display:block; }
@keyframes spin{ to{ transform:rotate(360deg);} }

/* ---------- MOTION PRIMITIVES ---------- */
.blur-line{ display:block; }
[data-blur] .w{
  display:inline-block; opacity:0; filter:blur(14px);
  transform:translate3d(0,.5em,0) scale(.985);
  transition:opacity .9s var(--ease-out), filter .9s var(--ease-out), transform 1s var(--ease-out);
  transition-delay:var(--d,0ms);
  will-change:opacity, filter, transform;
}
[data-blur].in .w{ opacity:1; filter:blur(0); transform:none; }

.reveal{ opacity:0; transform:translate3d(0,26px,0); filter:blur(6px);
  transition:opacity .85s var(--ease-out), transform .95s var(--ease-out), filter .85s var(--ease-out);
  transition-delay:var(--d,0ms); }
.reveal.in{ opacity:1; transform:none; filter:blur(0); }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal,[data-blur] .w{ opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
  .aurora,.marquee__track{ animation:none !important; }
}

/* ---------- HERO ---------- */
.hero{ position:relative; padding:calc(var(--nav-h) + 60px) 0 0; }
.hero__grid{
  display:grid; grid-template-columns:1.06fr .94fr; gap:56px; align-items:center;
  min-height:calc(100svh - 120px); padding-block:40px 70px;
}
.pill{
  display:inline-flex; align-items:center; gap:9px;
  padding:8px 16px 8px 12px; border-radius:999px;
  background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(18px) saturate(180%); backdrop-filter:blur(18px) saturate(180%);
  box-shadow:var(--shadow-s), inset 0 1px 0 rgba(255,255,255,.7);
  font-size:13px; font-weight:700; letter-spacing:.01em; color:var(--ink-2);
}
.pill .dot{ width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(0,176,97,.5); animation:ping 2.2s var(--ease) infinite; }
@keyframes ping{ 70%{ box-shadow:0 0 0 9px rgba(0,176,97,0);} 100%{ box-shadow:0 0 0 0 rgba(0,176,97,0);} }

.h1{
  margin:22px 0 20px;
  font-size:clamp(36px, 4.9vw, 62px);
  letter-spacing:-.042em;
}
.h1 .blur-line{ font-weight:500; color:var(--orange); }
.h1 .blur-line.grad{
  font-weight:500;
  background:linear-gradient(100deg,var(--orange) 10%, var(--orange-d) 55%, var(--purple) 110%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.h1 .blur-line.strong{ font-weight:800; color:var(--purple-d); }
.h1 .blur-line.strong:last-child{ color:var(--purple); }

.lead{ font-size:clamp(16.5px,1.35vw,19px); color:var(--ink-2); max-width:56ch; }
.lead b{ color:var(--ink); font-weight:700; }

.hero__cta{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:34px; }
.hero__micro{ display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:600; color:var(--ink-3); }
.hero__micro i{ width:4px; height:4px; border-radius:50%; background:var(--ink-3); opacity:.5; }

.trust{ display:flex; gap:34px; margin-top:36px; flex-wrap:wrap; }
.trust li{ display:flex; flex-direction:column; }
.trust b{ font-size:26px; font-weight:800; letter-spacing:-.04em; color:var(--purple-d); }
.trust span{ font-size:12.5px; font-weight:600; color:var(--ink-3); letter-spacing:.01em; }

/* cover */
.hero__art{ display:flex; justify-content:center; }
.cover-stage{ position:relative; width:min(100%, 430px); perspective:1600px; }
.cover-glow{
  position:absolute; inset:6% -14% -10%; border-radius:50%; filter:blur(60px); opacity:.6; z-index:0;
  background:conic-gradient(from 200deg, rgba(244,112,47,.7), rgba(123,70,159,.7), rgba(13,133,196,.6), rgba(0,176,97,.55), rgba(244,112,47,.7));
  animation:spin 22s linear infinite;
}
.cover, .cover-shadow{
  position:relative; z-index:1; width:100%; height:auto; border-radius:8px 18px 18px 8px;
  transform:rotateY(-14deg) rotateX(calc(4deg + var(--tilt,0deg))) rotateZ(-1.4deg);
  transform-style:preserve-3d;
  box-shadow:
    -16px 0 0 -8px rgba(255,255,255,.9),
    -22px 0 0 -8px rgba(123,70,159,.14),
    var(--shadow-l);
  transition:transform 1.1s var(--ease-out);
}
.cover-shadow{ position:absolute; inset:0; z-index:0; filter:blur(26px) saturate(1.4); opacity:.35; transform:rotateY(-14deg) translateY(24px) scale(.94); box-shadow:none; }
.cover-stage:hover .cover{ transform:rotateY(-6deg) rotateX(2deg) rotateZ(0) translateY(-8px); }
.cover-tag{
  position:absolute; z-index:3; right:-16px; bottom:44px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:104px; height:104px; border-radius:50%;
  animation:float 6s var(--ease) infinite alternate;
}
.cover-tag b{ font-size:19px; font-weight:800; color:var(--orange-d); letter-spacing:-.03em; }
.cover-tag span{ font-size:11px; font-weight:700; color:var(--ink-3); text-decoration:line-through; }
@keyframes float{ to{ transform:translateY(-14px) rotate(-5deg);} }

/* marquee */
.marquee{
  overflow:hidden; padding:16px 0; margin-top:8px;
  background:linear-gradient(90deg, var(--purple), var(--purple-d) 55%, var(--orange-d));
  -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; align-items:center; gap:26px; width:max-content; animation:slide 46s linear infinite; }
.marquee span{ font-size:13.5px; font-weight:700; letter-spacing:.02em; color:rgba(255,255,255,.94); white-space:nowrap; text-transform:uppercase; }
.marquee i{ width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.5); flex:none; }
@keyframes slide{ to{ transform:translateX(-50%);} }

/* ---------- SECTIONS ---------- */
.section{ position:relative; padding:clamp(72px,9vw,132px) 0; }
.section--tint{ background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.5) 22%, rgba(255,255,255,.5) 78%, rgba(255,255,255,0)); }
.sec-head{ max-width:760px; margin-bottom:clamp(38px,4.4vw,62px); }
.eyebrow{
  display:inline-block; margin-bottom:16px; padding:6px 14px; border-radius:999px;
  background:rgba(123,70,159,.1); color:var(--purple-d);
  font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
}
.h2{ font-size:clamp(30px,4.1vw,52px); letter-spacing:-.04em; color:var(--ink); }
.h2 em{ font-style:italic; font-weight:600; color:var(--purple); }
.h2 .grad{
  background:linear-gradient(100deg,var(--purple) 0%, var(--orange-d) 78%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.sec-sub{ margin-top:20px; font-size:17px; color:var(--ink-2); max-width:62ch; }

/* ---------- PAIN ---------- */
.pain-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pain{ padding:32px 28px 30px; }
.pain__q{ display:block; font-size:19px; font-weight:800; letter-spacing:-.025em; color:var(--purple-d); margin-bottom:12px; }
.pain p{ font-size:15.4px; color:var(--ink-2); }
.pain b{ color:var(--ink); }
.pain-turn{
  margin-top:34px; padding:26px 30px; border-radius:var(--r-m);
  background:linear-gradient(100deg, rgba(244,112,47,.12), rgba(123,70,159,.1));
  font-size:17.5px; font-weight:600; color:var(--ink-2); text-align:center;
}
.pain-turn b{ color:var(--purple-d); font-weight:800; }

/* ---------- CARDS ---------- */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card{
  position:relative; padding:34px 30px 32px; overflow:hidden;
  transition:transform .6s var(--ease-out), box-shadow .6s var(--ease-out);
  will-change:transform;
}
.card::before{
  content:""; position:absolute; inset:0; opacity:0; transition:opacity .5s ease; pointer-events:none;
  background:radial-gradient(340px circle at var(--cx,50%) var(--cy,0%), rgba(123,70,159,.14), transparent 70%);
}
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-l); }
.card:hover::before{ opacity:1; }
.card__n{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; margin-bottom:20px; border-radius:13px;
  font-size:14px; font-weight:800; letter-spacing:-.02em; color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--purple-d));
  box-shadow:0 8px 20px -8px rgba(123,70,159,.7);
}
.card:nth-child(3n+2) .card__n{ background:linear-gradient(135deg,var(--orange),var(--orange-d)); box-shadow:0 8px 20px -8px rgba(244,112,47,.7); }
.card:nth-child(3n) .card__n{ background:linear-gradient(135deg,var(--blue),#0A6797); box-shadow:0 8px 20px -8px rgba(13,133,196,.7); }
.card h3{ font-size:20px; letter-spacing:-.03em; margin-bottom:10px; }
.card p{ font-size:15px; color:var(--ink-2); }

/* ---------- STATS (DARK) ---------- */
.stats{
  position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(120% 140% at 12% 0%, #43206A 0%, #2B0D3F 46%, #1A0726 100%);
  border-radius:clamp(28px,4vw,48px);
  width:min(100% - 40px, 1360px); margin-inline:auto;
  padding-block:clamp(56px,6vw,84px);
}
.stats__pattern{
  position:absolute; inset:auto 0 0 0; height:120px; opacity:.16;
  background:url("../img/pattern.png") repeat-x bottom center / auto 120px;
  -webkit-mask-image:linear-gradient(0deg,#000,transparent); mask-image:linear-gradient(0deg,#000,transparent);
}
.stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; z-index:1; }
.stat{ text-align:center; }
.stat b{
  display:block; font-size:clamp(44px,5.4vw,72px); font-weight:800; letter-spacing:-.05em; line-height:1;
  background:linear-gradient(180deg,#fff 20%, #E4CFF3 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat span{ display:block; margin-top:10px; font-size:13.5px; font-weight:600; color:rgba(255,255,255,.62); letter-spacing:.01em; }

/* ---------- CTA / FORM ---------- */
.cta{ scroll-margin-top:90px; }
.cta__grid{ display:grid; grid-template-columns:1fr .86fr; gap:56px; align-items:center; }
.checks{ display:grid; gap:12px; margin-top:28px; }
.checks li{ position:relative; padding-left:32px; font-size:16px; font-weight:600; color:var(--ink-2); }
.checks li::before{
  content:""; position:absolute; left:0; top:3px; width:20px; height:20px; border-radius:50%;
  background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
}
.cta__mini{ display:flex; align-items:center; gap:14px; margin-top:36px; padding:16px 22px; border-radius:var(--r-m); width:fit-content; }
.cta__mini img{ width:54px; height:54px; padding:4px; background:#fff; border-radius:15px; box-shadow:0 1px 3px rgba(20,10,35,.08); }
.cta__mini b{ display:block; font-size:15px; letter-spacing:-.02em; }
.cta__mini span{ font-size:13px; color:var(--ink-3); font-weight:600; }

.formcard{ padding:clamp(28px,3vw,40px); }
.formcard__top{ margin-bottom:26px; }
.formcard__top h3{ font-size:25px; letter-spacing:-.035em; }
.formcard__top p{ margin-top:8px; font-size:14.5px; color:var(--ink-3); }

.field{ position:relative; margin-bottom:16px; }
.field input{
  width:100%; height:62px; padding:22px 18px 8px; border:0; border-radius:16px;
  background:rgba(17,16,21,.045);
  font:inherit; font-size:16px; font-weight:600; color:var(--ink);
  box-shadow:inset 0 0 0 1.5px rgba(17,16,21,.06);
  transition:box-shadow .3s var(--ease), background .3s ease;
}
.field input:hover{ background:rgba(17,16,21,.06); }
.field input:focus{ outline:0; background:rgba(255,255,255,.9); box-shadow:inset 0 0 0 2px var(--purple), 0 0 0 4px rgba(123,70,159,.14); }
.field label{
  position:absolute; left:18px; top:20px; pointer-events:none;
  font-size:15.5px; font-weight:600; color:var(--ink-3);
  transform-origin:0 0; transition:transform .32s var(--ease), color .3s;
}
.field input:focus + label,
.field input:not(:placeholder-shown) + label{ transform:translateY(-11px) scale(.76); color:var(--purple-d); }
.field.is-bad input{ box-shadow:inset 0 0 0 2px #E03B3B; }
.err{ display:block; margin:-8px 0 12px 4px; font-size:12.5px; font-weight:700; color:#D32C2C; min-height:0; }
.err:empty{ display:none; }

.consent{ display:flex; gap:12px; align-items:flex-start; margin:8px 0 6px; cursor:pointer; }
.consent input{ position:absolute; opacity:0; width:0; height:0; }
.consent .box{
  flex:none; width:22px; height:22px; margin-top:2px; border-radius:7px;
  background:rgba(17,16,21,.06); box-shadow:inset 0 0 0 1.5px rgba(17,16,21,.12);
  transition:background .3s var(--ease), box-shadow .3s var(--ease);
}
.consent input:checked + .box{
  background:var(--purple) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;
  box-shadow:inset 0 0 0 1.5px var(--purple);
}
.consent input:focus-visible + .box{ box-shadow:0 0 0 3px rgba(13,133,196,.5); }
.consent .txt{ font-size:12.8px; line-height:1.55; color:var(--ink-3); font-weight:500; }
.consent a{ color:var(--purple-d); font-weight:700; }
.consent.is-bad .box{ box-shadow:inset 0 0 0 2px #E03B3B; }

.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
#submitBtn{ margin-top:18px; }
.formcard__note{ display:flex; align-items:center; gap:8px; margin-top:16px; font-size:12.4px; color:var(--ink-3); font-weight:600; }
.formcard__note svg{ width:15px; height:15px; flex:none; fill:none; stroke:var(--green); stroke-width:1.9; stroke-linejoin:round; }
.formcard__fail{ margin-top:14px; padding:12px 16px; border-radius:12px; background:rgba(224,59,59,.1); color:#B12222; font-size:13.5px; font-weight:700; }

/* ---------- FAQ ---------- */
.faq{ display:grid; gap:12px; }
.faq details{ padding:4px 26px; overflow:hidden; border-radius:var(--r-m); }
.faq summary{
  list-style:none; cursor:pointer; padding:22px 34px 22px 0; position:relative;
  font-size:17px; font-weight:700; letter-spacing:-.025em; color:var(--ink);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:""; position:absolute; right:0; top:50%; width:13px; height:13px; margin-top:-6px;
  border-right:2.4px solid var(--purple); border-bottom:2.4px solid var(--purple);
  transform:rotate(45deg) translateY(-3px); transition:transform .4s var(--ease);
}
.faq details[open] summary::after{ transform:rotate(-135deg) translateY(-3px); }
.faq details > div{ padding:0 0 24px; }
.faq p{ font-size:15.2px; color:var(--ink-2); }
.faq details[open] > div{ animation:fadeDown .5s var(--ease-out); }
@keyframes fadeDown{ from{ opacity:0; transform:translateY(-8px);} }

/* ---------- FOOTER ---------- */
.foot{ position:relative; overflow:hidden; padding:64px 0 0; background:var(--purple-x); color:#fff; margin-top:clamp(40px,6vw,90px); }
.foot__inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; padding-bottom:56px; }
.foot__brand{ display:flex; align-items:center; gap:14px; }
.foot__brand img{ width:56px; height:56px; padding:4px; background:#fff; border-radius:16px; }
.foot__brand b{ display:block; font-size:16px; letter-spacing:-.02em; }
.foot__brand span{ font-size:13px; color:rgba(255,255,255,.55); font-weight:600; }
.foot__links{ display:flex; gap:24px; flex-wrap:wrap; }
.foot__links a{ font-size:13.6px; font-weight:600; color:rgba(255,255,255,.7); text-decoration:none; transition:color .3s; }
.foot__links a:hover{ color:#fff; }
.foot small{ font-size:12.4px; color:rgba(255,255,255,.42); width:100%; }
.foot__pattern{ height:92px; background:url("../img/pattern.png") repeat-x center / auto 92px; opacity:.92; }

/* ---------- MODAIS ---------- */
.modal{ position:fixed; inset:0; z-index:90; display:grid; place-items:center; padding:20px; }
.modal[hidden]{ display:none; }
.modal__scrim{ position:absolute; inset:0; background:rgba(26,7,38,.5); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); animation:fade .45s ease; }
@keyframes fade{ from{ opacity:0;} }
.modal__card{
  position:relative; width:min(100%, 470px); padding:44px 38px 34px; text-align:center;
  max-height:88svh; overflow-y:auto;
  animation:pop .7s var(--ease-out);
}
@keyframes pop{ from{ opacity:0; transform:translateY(26px) scale(.94); filter:blur(12px);} }
.modal__card--doc{ width:min(100%, 640px); text-align:left; padding:44px 38px 38px; }
.modal__x{
  position:absolute; top:16px; right:16px; width:38px; height:38px; border:0; cursor:pointer;
  border-radius:50%; background:rgba(17,16,21,.06); display:grid; place-items:center; transition:background .3s, transform .3s;
}
.modal__x:hover{ background:rgba(17,16,21,.12); transform:rotate(90deg); }
.modal__x svg{ width:16px; height:16px; fill:none; stroke:var(--ink-2); stroke-width:2.4; stroke-linecap:round; }
.modal__check{ width:74px; height:74px; margin:0 auto 20px; }
.modal__check svg{ width:100%; height:100%; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.modal__check circle{ stroke:var(--green); stroke-width:2.4; opacity:.28; }
.modal__check path{ stroke:var(--green); stroke-width:4; stroke-dasharray:40; stroke-dashoffset:40; animation:draw .7s .25s var(--ease-out) forwards; }
@keyframes draw{ to{ stroke-dashoffset:0;} }
.modal__card h2{ font-size:26px; letter-spacing:-.035em; }
.modal__card h2 span{ color:var(--orange-d); }
.modal__card > p{ margin:12px 0 22px; font-size:15px; color:var(--ink-2); }
.modal__cover{ width:120px; margin:0 auto 24px; border-radius:6px 10px 10px 6px; box-shadow:var(--shadow-m); transform:rotate(-3deg); }
.modal__alt{ display:inline-block; margin-top:16px; font-size:13.2px; font-weight:700; color:var(--ink-3); text-decoration:none; border-bottom:1.5px solid rgba(17,16,21,.15); }
.modal__alt:hover{ color:var(--purple-d); }
.doc h3{ font-size:15.5px; margin:22px 0 6px; letter-spacing:-.02em; color:var(--purple-d); }
.doc h3:first-child{ margin-top:16px; }
.doc p{ font-size:14px; color:var(--ink-2); }

/* ---------- COOKIE ---------- */
.cookie{
  position:fixed; z-index:80; left:16px; right:16px; bottom:16px;
  width:min(100% - 32px, 760px); margin-inline:auto;
  display:flex; align-items:center; gap:18px; padding:18px 22px; border-radius:22px;
  animation:cookieIn .8s .8s var(--ease-out) both;
}
.cookie[hidden]{ display:none; }
@keyframes cookieIn{ from{ opacity:0; transform:translateY(30px); filter:blur(10px);} }
.cookie__ico{ flex:none; width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:rgba(244,112,47,.13); color:var(--orange-d); }
.cookie__ico svg{ width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
.cookie p{ font-size:13.2px; color:var(--ink-2); line-height:1.5; }
.cookie b{ color:var(--ink); }
.cookie a{ color:var(--purple-d); font-weight:700; white-space:nowrap; }
.cookie__acts{ display:flex; gap:9px; margin-left:auto; flex:none; }

/* ---------- STICKY MOBILE CTA ---------- */
.sticky-cta{
  position:fixed; z-index:75; left:16px; right:16px; bottom:16px;
  display:none; align-items:center; justify-content:center; height:56px;
  border-radius:999px; text-decoration:none; color:#fff; font-weight:800; font-size:15.5px;
  background:linear-gradient(115deg,var(--purple),var(--orange-d));
  box-shadow:0 14px 34px -10px rgba(123,70,159,.7);
  transform:translateY(140%); transition:transform .6s var(--ease-out);
}
.sticky-cta.show{ transform:none; }

/* ---------- RESPONSIVO ---------- */
@media (max-width:1080px){
  .cards{ grid-template-columns:repeat(2,1fr); }
  .pain-grid{ grid-template-columns:1fr; }
  .stats__grid{ grid-template-columns:repeat(2,1fr); gap:40px 20px; }
}
@media (max-width:920px){
  .nav__links{ display:none; }
  .nav__inner{ justify-content:space-between; padding-right:10px; }
  .hero__grid{ grid-template-columns:1fr; gap:40px; text-align:left; min-height:auto; padding-block:20px 56px; }
  .hero__art{ order:2; }
  .hero__copy{ order:1; }
  .cover-stage{ width:min(66%, 260px); }
  .cover-tag{ width:80px; height:80px; right:-12px; bottom:-12px; }
  .trust{ margin-top:30px; }
  .cta__grid{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width:720px){
  :root{ --nav-h:64px; }
  .hero{ padding-top:calc(var(--nav-h) + 34px); }
  .cards{ grid-template-columns:1fr; }
  .trust{ gap:22px; }
  .trust b{ font-size:22px; }
  .cookie{ flex-direction:column; align-items:flex-start; gap:14px; bottom:12px; padding:20px; }
  .cookie__acts{ margin-left:0; width:100%; }
  .cookie__acts .btn{ flex:1; }
  .sticky-cta{ display:flex; }
  body.cookie-open .sticky-cta{ display:none; }
  .foot__inner{ flex-direction:column; align-items:flex-start; }
  .modal__card{ padding:38px 24px 28px; }
}

/* ---------- FIX: linhas com gradiente animam inteiras
   (background-clip:text no pai + filter nos filhos não compõe) ---------- */
[data-blur].grad{
  opacity:0; filter:blur(16px); transform:translate3d(0,.36em,0);
  transition:opacity .95s var(--ease-out), filter .95s var(--ease-out), transform 1.05s var(--ease-out);
  transition-delay:90ms;
  will-change:opacity, filter, transform;
}
[data-blur].grad.in{ opacity:1; filter:blur(0); transform:none; }
[data-blur].grad .w{ opacity:1 !important; filter:none !important; transform:none !important; transition:none !important; will-change:auto !important; }
