/* ============================================================
   YouRH · LP — Mês do RH (Maio)
   Paleta restrita: #000 · #FFF · #6212B3 (roxo) · #61DD75 (verde)
   Tipografia: Owners (impacto) · General Sans (apoio)
   font-synthesis:none — impede bold artificial
============================================================ */

:root{
  --black:#000000;
  --white:#ffffff;
  --paper:#fafafa;
  --paper-2:#f3f1f6;
  --ink:#0a0610;
  --ink-2:#1a1424;
  --muted-dark:#5a5468;
  --purple:#6212B3;
  --purple-2:#7d2dd1;
  --purple-3:#9b5fdb;
  --purple-deep:#3a0a6f;
  --green:#61DD75;
  --green-2:#7ef090;
  --green-deep:#2a9d3e;
  --error:#e8504a;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --line-dark:rgba(10,6,16,.10);
  --line-dark-2:rgba(10,6,16,.18);
  --text:#ece8f5;
  --muted:#a8a3b8;
  --radius:16px;
  --radius-md:22px;
  --radius-lg:28px;
  --radius-xl:36px;
  --shadow-card:0 30px 80px -30px rgba(98,18,179,.55), 0 12px 30px -10px rgba(0,0,0,.65);
  --shadow-soft:0 24px 60px -24px rgba(0,0,0,.18);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --nav-h:78px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth; scroll-padding-top:90px}
body{
  background:var(--black);
  color:var(--text);
  font-family:'General Sans','Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-weight:400;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  font-synthesis:none;
  -webkit-font-synthesis:none;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button{font-family:inherit; cursor:pointer}

.container{
  width:min(1240px, 92%);
  margin:0 auto;
  position:relative;
}

/* =========================================================
   TIPOGRAFIA — jogo entre Owners (impacto) e General Sans (apoio)
   ========================================================= */
/* Container de título: usa GeneralSans Semibold por padrão (texto de apoio)
   .text-soft     → General Sans Semibold (mais leve, contexto)
   .hl-block etc  → Owners Bold dentro de tarja
   .line--impact  → Owners Bold (pura impacto)
*/
.display, .display-md, .display--xl, h1, h2, h3{
  font-family:'General Sans','Inter',system-ui,sans-serif;
  font-weight:600;
  letter-spacing:-.018em;
  line-height:1.12;
  color:#fff;
  margin:0;
  word-break:keep-all;
  hyphens:none;
  text-wrap:balance;
}
.display{font-size:clamp(2.2rem, 5vw, 4.6rem); line-height:1.08}
.display--xl{font-size:clamp(2.6rem, 6vw, 5.6rem); line-height:1}
.display-md{font-size:clamp(1.8rem, 3.6vw, 3.2rem); line-height:1.16}
.display-md--dark{color:var(--ink)}
h3{font-family:'Owners','Clash Display','General Sans',sans-serif; font-size:clamp(1.2rem,1.7vw,1.5rem); line-height:1.25; font-weight:700}

/* Texto "soft" dentro de títulos — General Sans Semibold */
.text-soft{
  font-family:'General Sans',sans-serif;
  font-weight:500;
  color:inherit;
  letter-spacing:-.01em;
}
.display-md--dark .text-soft, .pain__top .text-soft{color:var(--ink-2)}

/* Linha "impact" — Owners Bold puro */
.line--impact{
  font-family:'Owners','Clash Display',sans-serif;
  font-weight:700;
  letter-spacing:-.025em;
}
.line--soft{
  font-family:'General Sans',sans-serif;
  font-weight:500;
  letter-spacing:-.01em;
}

.lead{
  font-family:'General Sans', sans-serif;
  font-weight:400;
  font-size:clamp(1.02rem, 1.3vw, 1.18rem);
  color:var(--text);
  max-width:60ch;
  line-height:1.62;
  margin:0;
}
.lead--center{margin:24px auto 0; text-align:center; color:#cfc9dc}
.lead--dark{color:var(--muted-dark); max-width:54ch}
.lead strong{font-weight:600; color:inherit}

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'General Sans', sans-serif;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#cfc9dc;
  padding:7px 14px;
  border:1px solid var(--line-strong);
  border-radius:99px;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-weight:500;
}
.eyebrow--light{color:#e9e1f8; border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.06)}
.eyebrow--dark{color:var(--purple); border-color:rgba(98,18,179,.3); background:rgba(98,18,179,.06)}
.eyebrow::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--green); flex-shrink:0}
.eyebrow__pill{
  display:inline-block;
  background:var(--purple);
  color:#fff;
  padding:3px 10px;
  border-radius:99px;
  font-weight:600;
  letter-spacing:.08em;
  font-size:.72rem;
}
.eyebrow__pill--green{background:var(--green); color:var(--ink)}

.text-purple{color:var(--purple-2)}
.text-green{color:var(--green)}

/* =========================================================
   TARJAS — Owners Bold dentro de retângulo verde/preto
   inline + box-decoration-break:clone para quebrar bem
   ========================================================= */
.hl-block, .hl-block--green, .hl-purple{
  font-family:'Owners','Clash Display',sans-serif;
  font-weight:700;
  display:inline;
  padding:.05em .26em;
  border-radius:.16em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  letter-spacing:-.02em;
  line-height:1.16;
}
.hl-block{ background:#000; color:#fff }
.hl-block--green{ background:var(--green); color:var(--ink) }
.hl-purple{ background:var(--purple); color:#fff }

/* Quando há tarja em title, garante respiro entre linhas */
.display:has(.hl-block), .display-md:has(.hl-block){ line-height:1.22 }

/* Aspas estilizadas como "frase ouvida" (na seção dor) */
.quote-line{
  font-family:'Owners','Clash Display',sans-serif;
  font-weight:700;
  font-style:italic;
  color:var(--purple);
}

/* ====== NAV ====== */
.nav{
  position:fixed; top:0; left:0; right:0;
  z-index:50;
  padding:14px 0;
  backdrop-filter:saturate(140%) blur(16px);
  -webkit-backdrop-filter:saturate(140%) blur(16px);
  background:linear-gradient(180deg, rgba(0,0,0,.7), rgba(0,0,0,.3));
  border-bottom:1px solid var(--line);
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.nav.is-light{
  background:linear-gradient(180deg, rgba(250,250,250,.95), rgba(250,250,250,.75));
  border-bottom-color:var(--line-dark);
}
.nav.is-light .nav__links a{color:var(--ink-2)}
.nav.is-light .nav__links a:hover{color:var(--purple)}

.nav__inner{
  width:min(1240px,92%); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.nav__logo{display:flex; align-items:center; gap:10px}
.nav__logo-img{height:30px; width:auto; display:block}
.nav__logo-img--dark{display:none}
.nav.is-light .nav__logo-img--light{display:none}
.nav.is-light .nav__logo-img--dark{display:block}

.nav__links{display:flex; gap:32px}
.nav__links a{
  color:#cfc9dc; font-size:.95rem;
  transition:color .25s var(--ease);
  font-weight:500; font-family:'General Sans',sans-serif;
}
.nav__links a:hover{color:var(--green)}

@media (max-width:880px){ .nav__links{display:none} }
@media (max-width:520px){ .nav__cta{padding:10px 16px; font-size:.85rem} }

/* ====== Countdown timer ====== */
.hero__countdown{
  display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:10px 18px;
  border-radius:99px;
  background:rgba(97,221,117,.08);
  border:1px solid rgba(97,221,117,.3);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  align-self:flex-start;
}
.countdown__icon{
  width:16px; height:16px; color:var(--green); flex-shrink:0;
}
.countdown__label{
  font-family:'General Sans',sans-serif;
  font-size:.84rem; color:#cfc9dc; font-weight:500; white-space:nowrap;
}
.countdown__digits{
  display:flex; align-items:center; gap:4px;
}
.countdown__unit{
  display:flex; flex-direction:column; align-items:center; gap:1px;
  min-width:30px;
}
.countdown__unit b{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:1.15rem; font-weight:700; color:var(--green);
  line-height:1; letter-spacing:-.02em;
}
.countdown__unit small{
  font-family:'General Sans',sans-serif;
  font-size:.58rem; color:var(--muted); text-transform:uppercase;
  letter-spacing:.1em; font-weight:500;
}
.countdown__sep{
  color:var(--green); font-weight:700; font-size:1rem;
  line-height:1; margin-bottom:10px; opacity:.7;
}

/* ====== Buttons ====== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 24px;
  border-radius:99px;
  font-family:'General Sans', sans-serif;
  font-weight:600;
  font-size:1rem;
  border:1px solid transparent;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
  white-space:nowrap;
  letter-spacing:-.005em;
  position:relative;
  overflow:hidden;
  text-align:center;
  cursor:pointer;
}
.btn--sm{padding:11px 20px; font-size:.92rem; min-height:44px}
.btn--lg{padding:17px 30px; font-size:1.05rem; min-height:52px}
.btn--block{width:100%}

.btn--green{
  background:var(--green); color:var(--ink);
  box-shadow:0 14px 36px -14px rgba(97,221,117,.7), 0 0 0 1px rgba(97,221,117,.4) inset;
}
.btn--green::after{
  content:""; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.5), transparent);
  transition:left .8s var(--ease);
}
.btn--green:hover{background:var(--green-2); transform:translateY(-2px); box-shadow:0 22px 50px -18px rgba(97,221,117,.85)}
.btn--green:hover::after{left:120%}

.btn--ghost{
  background:rgba(255,255,255,.05); color:#fff;
  border-color:var(--line-strong);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.btn--ghost:hover{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.3)}

/* ====== Sections base ====== */
section{padding:clamp(80px, 11vw, 150px) 0; position:relative; isolation:isolate}
.section-head{text-align:center; max-width:820px; margin:0 auto 70px}
.section-head--left{text-align:left; margin-left:0; margin-right:auto; max-width:720px}
.section-head .eyebrow{margin-bottom:24px}

/* =========================================================
   IMAGENS DE APOIO (fundos)
   ========================================================= */
.bg-photo{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  filter:blur(2px) saturate(.9);
  opacity:.18;
  z-index:0;
}
.bg-photo--solution{
  background-image:url("https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=1800&q=80");
  mix-blend-mode:luminosity;
}
.bg-photo--benefits{
  background-image:url("https://images.unsplash.com/photo-1556761175-5973dc0f32e7?auto=format&fit=crop&w=1800&q=80");
  mix-blend-mode:luminosity;
  opacity:.14;
}

/* ============ 1. HERO ============ */
.hero{
  min-height:100vh;
  padding:calc(var(--nav-h) + 60px) 0 90px;
  display:flex; align-items:center;
  position:relative;
  background:
    radial-gradient(1100px 800px at 80% 10%, rgba(98,18,179,.55), transparent 60%),
    radial-gradient(900px 700px at 0% 100%, rgba(58,10,111,.55), transparent 60%),
    linear-gradient(180deg, #1a0830 0%, #0a0414 60%, #050309 100%);
  overflow:hidden;
}
.hero__bg{position:absolute; inset:0; z-index:0; pointer-events:none}
.hero__noise{
  position:absolute; inset:0; opacity:.4; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .15 0 0 0 0 .07 0 0 0 0 .25 0 0 0 .25 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.hero__grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%);
  opacity:.5;
}
.hero__glow{
  position:absolute; border-radius:50%;
  filter:blur(110px);
  opacity:.55;
  animation:floatGlow 14s ease-in-out infinite alternate;
}
.hero__glow--1{ width:560px; height:560px; background:var(--purple); top:-120px; right:-80px;}
.hero__glow--2{ width:480px; height:480px; background:#3a0a6f; bottom:-160px; left:-100px; animation-duration:18s}
.hero__glow--3{ width:680px; height:680px; background:var(--purple); top:30%; left:50%; transform:translateX(-50%); opacity:.28}

@keyframes floatGlow{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(40px,30px) scale(1.08)}
}
@keyframes floatY{ from{transform:translateY(0)} to{transform:translateY(-14px)} }

.hero__symbol{
  position:absolute;
  bottom:-100px; left:-80px;
  width:380px; height:auto;
  opacity:.05;
  pointer-events:none;
  z-index:1;
}

.hero__inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:80px;
  align-items:center;
  z-index:2;
  position:relative;
}
.hero__copy{display:flex; flex-direction:column; gap:26px; min-width:0}
.hero__copy .display{margin-top:6px}
.hero__ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:8px}
.hero__chips{
  list-style:none; padding:0; margin:14px 0 0;
  display:flex; gap:24px; flex-wrap:wrap; color:#cfc9dc;
  font-size:.94rem;
  font-family:'General Sans',sans-serif;
}
.hero__chips li{display:flex; align-items:center; gap:10px; font-weight:500}
.dot{width:8px; height:8px; border-radius:50%; display:inline-block}
.dot--green{background:var(--green); box-shadow:0 0 14px var(--green)}

.hero__scroll{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:6px;
  color:rgba(255,255,255,.55);
  font-size:.74rem; letter-spacing:.2em; text-transform:uppercase;
  z-index:3;
  font-family:'General Sans',sans-serif;
  font-weight:500;
}
.hero__scroll svg{width:18px; height:18px; animation:bounceY 2s infinite}
@keyframes bounceY{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }

.hero__visual{position:relative; z-index:2; min-width:0}
.hero__visual-stage{position:relative; width:100%; padding:30px 24px; min-height:480px}

/* ====== Glass system ====== */
.glass{
  background:linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:var(--shadow-card), inset 0 1px 0 rgba(255,255,255,.18);
  position:relative;
  overflow:hidden;
}
.glass--strong{
  background:linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(26px) saturate(160%);
  -webkit-backdrop-filter:blur(26px) saturate(160%);
}
.glass__shine{
  position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, transparent 30%, transparent 100%);
  mix-blend-mode:screen;
  opacity:.5;
}
.glass--main{ width:100%; max-width:460px; margin-left:auto }
.glass__head{
  display:flex; align-items:center; gap:8px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
  margin-bottom:18px;
}
.glass__dot{width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.22)}
.glass__title{
  margin-left:10px; font-size:.85rem;
  color:#cfc9dc; letter-spacing:.04em;
  font-family:'General Sans',sans-serif;
  font-weight:500;
}
.glass__body{display:flex; flex-direction:column; gap:18px}

.metric{display:flex; flex-direction:column; gap:6px; min-width:0}
.metric--row{flex-direction:row; gap:20px}
.metric--row > div{flex:1; min-width:0}
.metric__label{
  font-family:'General Sans',sans-serif;
  font-size:.72rem; color:var(--muted);
  letter-spacing:.1em; text-transform:uppercase;
  font-weight:500;
}
.metric__value{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(1.6rem, 2.4vw, 2.1rem);
  font-weight:700;
  color:#fff; line-height:1;
  letter-spacing:-.025em;
}
.metric__value small{font-size:1rem; color:#cfc9dc; margin-left:2px; font-weight:500}

.bar{
  height:8px; border-radius:99px;
  background:rgba(255,255,255,.08);
  overflow:hidden; position:relative;
}
.bar > span{
  display:block; height:100%; width:0;
  background:var(--c, var(--purple-2));
  border-radius:99px;
  transition:width 1.6s var(--ease) .2s;
  box-shadow:0 0 14px var(--c, var(--purple-2));
}
.bar.is-in > span{ width:var(--w, 60%) }

.glass--float{
  position:absolute;
  padding:14px 18px;
  display:flex; flex-direction:column; gap:4px;
  min-width:170px;
  border-radius:18px;
  z-index:3;
}
.glass--float .glass__label{
  font-family:'General Sans',sans-serif;
  font-size:.7rem; color:var(--muted);
  letter-spacing:.1em; text-transform:uppercase;
  font-weight:500;
}
.glass--float strong{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:1.05rem; color:#fff; font-weight:700;
}
.glass--float-1{ left:-60px; top:-30px; animation:floatY 6s ease-in-out infinite alternate}
.glass--float-2{ right:-50px; bottom:-20px; animation:floatY 7s ease-in-out infinite alternate-reverse}

.badge{
  align-self:flex-start;
  font-family:'General Sans',sans-serif;
  font-size:.68rem; padding:5px 11px; border-radius:99px;
  letter-spacing:.06em; text-transform:uppercase; font-weight:600; margin-top:4px;
}
.badge--green{background:rgba(97,221,117,.18); color:var(--green); border:1px solid rgba(97,221,117,.4)}

/* ============ 5. DIAGNÓSTICO ESTRATÉGICO ============ */
.diag{
  background:linear-gradient(180deg, #04020a 0%, #0a0612 100%);
  padding:clamp(80px,10vw,140px) 0;
  position:relative;
}
.diag__bg{position:absolute; inset:0; z-index:0; opacity:.45}

.diag__steps{
  display:grid;
  grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
  align-items:start;
  gap:0;
  margin:60px 0;
  position:relative; z-index:1;
}
.diag__step{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg);
  padding:32px 28px;
  display:flex; flex-direction:column; gap:12px;
}
.diag__step-num{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:2.4rem; font-weight:700;
  color:var(--green); line-height:1;
  letter-spacing:-.04em;
}
.diag__step h3{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:1.1rem; color:#fff; margin:0; font-weight:700;
}
.diag__step p{
  font-family:'General Sans',sans-serif;
  font-size:.93rem; color:#9b94aa; margin:0; line-height:1.55;
}
.diag__connector{
  display:flex; align-items:center; justify-content:center;
  padding-top:52px;
  color:rgba(255,255,255,.25);
}
.diag__connector svg{width:22px; height:22px}

.diag__bottom{
  display:grid; grid-template-columns:1fr 1fr; gap:40px;
  margin-bottom:60px;
  position:relative; z-index:1;
}
.diag__receives{
  background:rgba(0,0,0,.35);
  border:1px solid rgba(97,221,117,.25);
  border-radius:var(--radius-xl);
  padding:40px;
  display:flex; flex-direction:column; gap:28px;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.diag__receives .vs__list{gap:10px}
.diag__receives .vs__list li{
  font-family:'General Sans',sans-serif;
  padding:14px 16px;
  background:rgba(0,0,0,.3);
  border:1px solid rgba(97,221,117,.18);
  border-radius:14px;
  color:#fff; font-size:1rem; font-weight:500;
  display:flex; align-items:center; gap:14px;
}

.diag__icp{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-xl);
  padding:40px;
  display:flex; flex-direction:column; gap:28px;
}
.diag__icp-grid{display:flex; flex-direction:column; gap:16px}
.diag__icp-item{
  display:flex; align-items:flex-start; gap:16px;
  padding:18px 20px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
}
.diag__icp-icon{
  width:40px; height:40px; flex-shrink:0;
  background:rgba(98,18,179,.25);
  border:1px solid rgba(98,18,179,.4);
  border-radius:10px;
  display:grid; place-items:center;
  color:var(--green);
}
.diag__icp-icon svg{width:18px; height:18px}
.diag__icp-item div{display:flex; flex-direction:column; gap:3px}
.diag__icp-item strong{
  font-family:'General Sans',sans-serif;
  color:#fff; font-size:.95rem; font-weight:600;
}
.diag__icp-item span{
  font-family:'General Sans',sans-serif;
  color:#9b94aa; font-size:.85rem; line-height:1.45;
}

.diag__cta{
  display:flex; flex-direction:column; align-items:center; gap:16px;
  text-align:center; position:relative; z-index:1;
}
.diag__cta-sub{
  font-family:'General Sans',sans-serif;
  color:#9b94aa; font-size:.9rem; letter-spacing:.04em;
}

@media (max-width:1000px){
  .diag__steps{grid-template-columns:1fr 32px 1fr; grid-template-rows:auto auto}
  .diag__steps .diag__step:nth-child(7),
  .diag__steps .diag__connector:nth-child(6){ display:none }
  .diag__bottom{grid-template-columns:1fr}
}
@media (max-width:700px){
  .diag__steps{grid-template-columns:1fr; gap:12px}
  .diag__connector{display:none}
}

/* ============ 2. DOR — LIGHT + planilhas voando ============ */
.pain--light{
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);
  color:var(--ink);
  padding:clamp(90px,12vw,160px) 0;
  overflow:hidden;
}

/* PLANILHAS VOANDO */
.paper-storm{
  position:absolute; inset:0;
  pointer-events:none; z-index:0;
  overflow:hidden;
}
.paper{
  position:absolute;
  width:80px; height:104px;
  background:#fff;
  border:1px solid rgba(10,6,16,.12);
  border-radius:6px;
  box-shadow:0 18px 30px -16px rgba(10,6,16,.18);
  background-image:
    linear-gradient(180deg, transparent 18px, rgba(10,6,16,.08) 18px, rgba(10,6,16,.08) 19px, transparent 19px),
    linear-gradient(180deg, transparent 32px, rgba(10,6,16,.08) 32px, rgba(10,6,16,.08) 33px, transparent 33px),
    linear-gradient(180deg, transparent 46px, rgba(10,6,16,.08) 46px, rgba(10,6,16,.08) 47px, transparent 47px),
    linear-gradient(180deg, transparent 60px, rgba(10,6,16,.08) 60px, rgba(10,6,16,.08) 61px, transparent 61px),
    linear-gradient(180deg, transparent 74px, rgba(10,6,16,.08) 74px, rgba(10,6,16,.08) 75px, transparent 75px),
    linear-gradient(180deg, transparent 88px, rgba(10,6,16,.08) 88px, rgba(10,6,16,.08) 89px, transparent 89px);
  opacity:.55;
  will-change:transform;
}
.paper::before{
  content:""; position:absolute; top:6px; left:6px;
  width:24px; height:6px; background:var(--purple); border-radius:2px; opacity:.7;
}
.paper--1{ top:8%;  left:6%;  transform:rotate(-12deg) translate(0, var(--py,0)); animation:floatPaper 12s ease-in-out infinite }
.paper--2{ top:18%; right:8%; transform:rotate(8deg)  translate(0, var(--py,0)); animation:floatPaper 14s ease-in-out infinite reverse }
.paper--3{ top:42%; left:3%;  transform:rotate(-22deg) translate(0, var(--py,0)); animation:floatPaper 11s ease-in-out infinite }
.paper--4{ top:55%; right:5%; transform:rotate(15deg) translate(0, var(--py,0)); animation:floatPaper 13s ease-in-out infinite reverse }
.paper--5{ bottom:14%; left:14%; transform:rotate(-6deg) translate(0, var(--py,0)); animation:floatPaper 15s ease-in-out infinite }
.paper--6{ bottom:8%;  right:18%; transform:rotate(20deg) translate(0, var(--py,0)); animation:floatPaper 12s ease-in-out infinite reverse }
.paper--7{ top:30%; left:46%; transform:rotate(-18deg) translate(0, var(--py,0)); animation:floatPaper 16s ease-in-out infinite }
.paper--8{ bottom:30%; right:42%; transform:rotate(10deg) translate(0, var(--py,0)); animation:floatPaper 14s ease-in-out infinite reverse }

@keyframes floatPaper{
  0%,100%{ transform:rotate(var(--r,-12deg)) translate(0,0) }
  50%{ transform:rotate(calc(var(--r,-12deg) + 6deg)) translate(8px,-14px) }
}

.pain__symbol{
  position:absolute; top:80px; right:-60px;
  width:300px; height:auto;
  opacity:.04; pointer-events:none;
  z-index:0;
}

.pain__top{
  display:grid; grid-template-columns:1.1fr 1fr; gap:36px; align-items:end;
  margin-bottom:80px;
  position:relative; z-index:1;
}
.pain__top .display-md{margin-top:18px; line-height:1.18}
.pain__top .lead{font-size:clamp(1.1rem, 1.55vw, 1.32rem); line-height:1.68}
.pain__copy{display:flex; flex-direction:column; gap:20px}

@media (max-width:900px){
  .pain__top{grid-template-columns:1fr; gap:24px; margin-bottom:56px}
}

.num-list{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column;
  border-top:1px solid var(--line-dark-2);
  position:relative; z-index:1;
  background:rgba(250,250,250,.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-radius:var(--radius);
}
.num-list__item{
  display:grid; grid-template-columns:140px 1fr;
  gap:40px;
  padding:32px 24px;
  border-bottom:1px solid var(--line-dark-2);
  align-items:start;
  transition:padding .3s var(--ease), background .3s var(--ease);
  position:relative;
}
.num-list__item:last-child{border-bottom:0}
.num-list__item::before{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:linear-gradient(90deg, var(--purple), var(--green));
  transform:scaleX(0); transform-origin:left;
  transition:transform .6s var(--ease);
}
.num-list__item:hover::before{transform:scaleX(1)}
.num-list__item:hover{padding-left:38px; background:rgba(255,255,255,.7)}
.num-list__num{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(2.2rem, 4vw, 3.6rem);
  font-weight:700;
  color:var(--purple);
  line-height:.9;
  letter-spacing:-.04em;
}
.num-list__body h3{
  color:var(--ink); margin-bottom:10px;
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(1.25rem,1.9vw,1.7rem);
  font-weight:700;
  line-height:1.22;
  letter-spacing:-.018em;
}
.num-list__body p{
  font-family:'General Sans',sans-serif;
  color:var(--muted-dark); margin:0;
  font-size:1rem;
  max-width:60ch; line-height:1.62;
  font-weight:400;
}

@media (max-width:700px){
  .num-list__item{grid-template-columns:80px 1fr; gap:18px; padding:26px 18px}
  .num-list__num{font-size:1.9rem}
}
@media (max-width:480px){
  .num-list__item{grid-template-columns:1fr; gap:8px}
  .num-list__num{font-size:1.7rem}
}

.pain__close{
  margin-top:80px;
  padding:64px 60px;
  border-radius:var(--radius-xl);
  background:linear-gradient(140deg, var(--ink) 0%, #1a0830 100%);
  text-align:center;
  position:relative;
  overflow:hidden;
  z-index:1;
}
.pain__close::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(600px 300px at 50% 0%, rgba(98,18,179,.4), transparent 70%);
}
.pain__close .display-md{color:#fff; position:relative; line-height:1.22}
.pain__close .text-soft{color:rgba(255,255,255,.85)}

@media (max-width:700px){ .pain__close{padding:44px 28px; margin-top:60px} }

/* ============ 3. SOLUÇÃO ============ */
.solution{
  background:
    radial-gradient(900px 600px at 50% -10%, rgba(98,18,179,.35), transparent 70%),
    linear-gradient(180deg, #060410 0%, #0a0612 100%);
}
.solution__bg{position:absolute; inset:0; z-index:0; opacity:1; overflow:hidden}

.bento{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:minmax(180px, auto);
  gap:20px;
  position:relative; z-index:1;
}
.bento__card{
  position:relative;
  padding:32px;
  border-radius:var(--radius-lg);
  background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  display:flex; flex-direction:column; gap:14px;
  overflow:hidden;
  transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, var(--shadow-soft);
  min-width:0;
}
.bento__card::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(500px 220px at 50% -20%, rgba(98,18,179,.35), transparent 70%);
  opacity:0; transition:opacity .4s var(--ease);
}
.bento__shine{
  position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:linear-gradient(135deg, rgba(255,255,255,.16) 0%, transparent 35%);
  mix-blend-mode:screen; opacity:.5;
}
.bento__card:hover{transform:translateY(-6px); border-color:rgba(98,18,179,.55); box-shadow:0 30px 80px -30px rgba(98,18,179,.6)}
.bento__card:hover::before{opacity:1}

.bento__card--lg{grid-column:span 4; grid-row:span 2}
.bento__card--md{grid-column:span 2; grid-row:span 2}
.bento__card--sm{grid-column:span 3}
.bento__card--green{
  background:linear-gradient(160deg, rgba(97,221,117,.12), rgba(255,255,255,.02));
  border-color:rgba(97,221,117,.3);
}
.bento__card--green::before{background:radial-gradient(500px 220px at 50% -20%, rgba(97,221,117,.3), transparent 70%)}
.bento__card--green:hover{border-color:rgba(97,221,117,.55); box-shadow:0 30px 80px -30px rgba(97,221,117,.5)}

.bento__card--stat{
  background:linear-gradient(140deg, var(--purple) 0%, #2a0654 100%);
  border-color:rgba(255,255,255,.2);
}
.bento__card--stat::before{display:none}

.bento__head{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px}
.bento__card h3{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(1.2rem,1.7vw,1.55rem);
  margin:0; color:#fff; line-height:1.22;
  font-weight:700;
  letter-spacing:-.018em;
}
.bento__card p{
  font-family:'General Sans',sans-serif;
  color:#cfc9dc; margin:0; font-size:.98rem; line-height:1.58;
  font-weight:400;
  max-width:48ch;
}

.module__tag{
  align-self:flex-start;
  font-family:'General Sans',sans-serif;
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  padding:7px 14px; border-radius:99px;
  background:rgba(98,18,179,.2); color:#d4baf5;
  border:1px solid rgba(98,18,179,.45);
  font-weight:600;
}
.module__tag--green{background:rgba(97,221,117,.15); color:var(--green); border-color:rgba(97,221,117,.45)}
.module__tag--white{background:rgba(255,255,255,.18); color:#fff; border-color:rgba(255,255,255,.35)}

.bento__viz{
  margin-top:auto;
  padding:18px;
  background:rgba(0,0,0,.45);
  border:1px solid var(--line);
  border-radius:14px;
  display:flex; flex-direction:column; gap:12px;
}
.viz-row{
  display:grid; grid-template-columns:80px 1fr 38px; align-items:center; gap:12px;
  font-family:'General Sans',sans-serif;
  font-size:.85rem; color:#cfc9dc; font-weight:500;
}
.viz-row b{color:#fff; font-family:'Owners','Clash Display',sans-serif; text-align:right; font-weight:700}

.bento__chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:auto}
.tag{
  font-family:'General Sans',sans-serif;
  font-size:.82rem; padding:7px 14px; border-radius:99px;
  background:rgba(255,255,255,.06); border:1px solid var(--line-strong);
  color:#dcd5ed; font-weight:500;
}

.bento__steps{display:flex; gap:8px; margin-top:auto; flex-wrap:wrap}
.step{
  flex:1 1 calc(25% - 6px); min-width:64px;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:14px 6px; border-radius:12px;
  background:rgba(255,255,255,.04); border:1px solid var(--line);
  font-family:'General Sans',sans-serif;
  font-size:.76rem; color:#cfc9dc; text-align:center; font-weight:500;
}
.step b{
  width:28px; height:28px; border-radius:50%;
  background:rgba(98,18,179,.25); border:1px solid rgba(98,18,179,.5);
  display:grid; place-items:center; color:#d4baf5;
  font-family:'Owners',sans-serif; font-size:.85rem; font-weight:700;
}
.step--active{background:rgba(97,221,117,.12); border-color:rgba(97,221,117,.45)}
.step--active b{background:var(--green); color:var(--ink); border-color:var(--green)}

.big-stat{display:flex; flex-direction:column; gap:14px; margin-top:auto}
.big-stat--row{
  flex-direction:row; align-items:center; justify-content:flex-start; gap:32px; margin-top:0; flex:1;
}
.bento__card--stat{justify-content:center}
.big-stat__num{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(3rem,5.2vw,4.6rem);
  font-weight:700;
  line-height:1;
  color:#fff;
  letter-spacing:-.035em;
  flex-shrink:0;
}
.big-stat--row .big-stat__num{
  font-size:clamp(4rem,7vw,7rem);
}
.big-stat p{
  font-family:'General Sans',sans-serif;
  color:rgba(255,255,255,.85); font-size:.95rem;
  max-width:24ch; font-weight:400;
}
.big-stat--row p{
  font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.55; max-width:22ch;
}
.stat__tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:4px}
.stat__tag{
  font-family:'General Sans',sans-serif;
  font-size:.72rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.18);
  border-radius:100px;
  padding:5px 12px;
}
.stat__deco{
  position:absolute; right:-40px; bottom:-40px;
  width:200px; height:200px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 40px rgba(255,255,255,.03), 0 0 0 80px rgba(255,255,255,.015);
  pointer-events:none;
}

@media (max-width:1000px){
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento__card--lg, .bento__card--md{grid-column:span 2; grid-row:auto}
  .bento__card--sm{grid-column:span 1}
}
@media (max-width:600px){
  .bento{grid-template-columns:1fr}
  .bento__card--sm{grid-column:span 1}
  .bento__card{padding:26px}
}

/* ============ 4. TRILHAS — capas dos cursos ============ */
.trilhas{
  background:
    radial-gradient(900px 600px at 0% 50%, rgba(98,18,179,.35), transparent 70%),
    linear-gradient(180deg, #050309 0%, #0a0612 100%);
  overflow:hidden;
}
.trilhas__bg{position:absolute; inset:0; z-index:0}

.trilhas__inner{
  display:grid; grid-template-columns:.95fr 1.05fr;
  gap:80px; align-items:center;
  z-index:1;
}
.trilhas__content{
  display:flex; flex-direction:column; gap:24px; min-width:0;
}

/* Título com 550+ */
.trilhas__title{
  font-family:'General Sans',sans-serif;
  font-weight:600;
  margin:0;
  line-height:1;
  color:#fff;
}
.trilhas__title .line{display:block; line-height:.95; margin-bottom:6px}
.trilhas__title .line--sm{
  font-family:'General Sans',sans-serif;
  font-weight:500;
  font-size:clamp(1.3rem,2.4vw,1.95rem);
  line-height:1.18;
  color:#fff;
  margin-top:6px;
}

.count--xl{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(4.5rem,11vw,8.6rem);
  font-weight:700;
  background:linear-gradient(180deg,#fff 0%, var(--purple-3));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  letter-spacing:-.05em;
  display:inline-block;
  line-height:.92;
}
.plus-xl{
  font-family:'Owners',sans-serif;
  font-size:clamp(2.4rem,6vw,4.6rem);
  color:var(--green);
  font-weight:700;
  vertical-align:super;
  margin-left:8px;
  line-height:.92;
  text-shadow:0 0 30px rgba(97,221,117,.5);
}

/* Catálogo editorial — 3 colunas com divisórias sutis */
.cat-grid{
  list-style:none; padding:0; margin:8px 0 0;
  columns:3;
  column-gap:56px;
  column-rule:1px solid rgba(255,255,255,.08);
}
.cat-grid li{
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
  display:flex; align-items:center; gap:14px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-family:'General Sans',sans-serif;
  font-size:.98rem;
  color:#fff;
  font-weight:500;
  letter-spacing:-.005em;
  line-height:1.35;
  transition:padding .3s var(--ease), color .3s var(--ease);
}
.cat-grid li:hover{
  padding-left:6px;
  color:var(--green);
}
.cat-grid li::before{
  content:""; width:6px; height:6px; border-radius:50%; flex-shrink:0;
  background:var(--green);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.cat-grid li:hover::before{ transform:scale(1.4) }
.cat-grid li:nth-child(3n+1)::before{background:var(--purple-2); box-shadow:0 0 8px rgba(98,18,179,.55)}
.cat-grid li:nth-child(3n+2)::before{background:var(--green); box-shadow:0 0 8px rgba(97,221,117,.55)}
.cat-grid li:nth-child(3n)::before{background:#fff}

@media (max-width:1000px){
  .cat-grid{columns:2; column-gap:40px}
}
@media (max-width:520px){
  .cat-grid{columns:1; column-rule:0}
  .cat-grid li{font-size:.95rem; padding:12px 0}
}

/* Stagger reveal proporcional ao número de itens (usa --i setado via JS) */
.cat-grid.reveal-stagger.in-view li{
  transition-delay:calc(var(--i, 0) * 28ms);
}

.trilhas__content .btn{align-self:flex-start; margin-top:6px}

/* Stack de capas */
.trilhas__stack{
  position:relative;
  display:flex; flex-direction:column; gap:24px;
  min-width:0;
}

.cover-stack{
  position:relative;
  width:100%;
  aspect-ratio:16/12;
  perspective:1400px;
  z-index:1;
}
.cover{
  position:absolute;
  inset:0;
  margin:auto;
  width:74%;
  aspect-ratio:16/9;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:
    0 20px 50px -20px rgba(0,0,0,.6),
    0 0 0 1px rgba(255,255,255,.05) inset;
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transform:
    translate(calc(var(--i) * 18px - 45px), calc(var(--i) * -14px + 35px))
    rotate(calc(var(--i) * -3deg + 7deg));
  transition:transform .8s var(--ease-out);
  z-index:calc(10 - var(--i));
}
.cover img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.cover-stack.is-animating .cover{
  animation:coverFloat 18s ease-in-out infinite;
  animation-delay:calc(var(--i) * -3s);
}
@keyframes coverFloat{
  0%,100%{
    transform:
      translate(calc(var(--i) * 18px - 45px), calc(var(--i) * -14px + 35px))
      rotate(calc(var(--i) * -3deg + 7deg));
  }
  50%{
    transform:
      translate(calc(var(--i) * 18px - 45px - 6px), calc(var(--i) * -14px + 35px - 12px))
      rotate(calc(var(--i) * -3deg + 7deg + 1.5deg));
  }
}

/* Marquee de capas inferior — loop infinito */
.cover-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  z-index:1;
}
.cover-marquee__track{
  display:flex; gap:14px;
  width:max-content;
  animation:marquee 30s linear infinite;
}
.cover-marquee__track img{
  width:160px; aspect-ratio:16/9; object-fit:cover;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 24px -10px rgba(0,0,0,.5);
  flex-shrink:0;
}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media (max-width:1000px){
  .trilhas__inner{grid-template-columns:1fr; gap:50px}
  .cover-stack{max-width:520px; margin:0 auto; aspect-ratio:16/10}
}
@media (max-width:600px){
  .cover-stack{aspect-ratio:16/11}
  .cover{width:80%}
  .cover-marquee__track img{width:130px}
}

/* ============ 5. ANTES x DEPOIS ============ */
.vs{
  background:linear-gradient(180deg, #04020a 0%, #0a0612 100%);
}
.vs__bg{position:absolute; inset:0; z-index:0; opacity:.45}

.vs__grid{
  display:grid;
  grid-template-columns:1fr 80px 1fr;
  gap:24px; align-items:stretch;
  margin-bottom:60px;
}
.vs__col{
  border-radius:var(--radius-xl);
  padding:42px 36px;
  display:flex; flex-direction:column; gap:22px;
  position:relative;
  overflow:hidden;
}
.vs__col--before{
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.005));
  border:1px solid var(--line);
  color:#8c8699;
}
.vs__col--after{
  background:
    radial-gradient(500px 280px at 50% 0%, rgba(97,221,117,.18), transparent 70%),
    linear-gradient(160deg, rgba(98,18,179,.35), rgba(97,221,117,.08));
  border:1px solid rgba(97,221,117,.4);
  box-shadow:
    0 30px 80px -30px rgba(97,221,117,.4),
    0 30px 80px -30px rgba(98,18,179,.5),
    inset 0 1px 0 rgba(255,255,255,.15);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.vs__head{display:flex; align-items:center; gap:14px; flex-wrap:wrap}
.vs__sub{
  font-family:'General Sans',sans-serif;
  color:#9b94aa; font-size:.85rem;
  letter-spacing:.06em; text-transform:uppercase;
  font-weight:500;
}
.vs__col--after .vs__sub{color:#fff}
.vs__tag{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:.85rem; letter-spacing:.18em;
  padding:8px 16px; border-radius:99px;
  background:rgba(255,255,255,.05); border:1px solid var(--line-strong); color:#cfc9dc;
  font-weight:700;
}
.vs__tag--green{
  background:rgba(97,221,117,.18); border-color:rgba(97,221,117,.45); color:var(--green);
}

.vs__list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px}

.vs__col--before .vs__list li{
  font-family:'General Sans',sans-serif;
  padding:14px 16px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--line);
  border-radius:14px;
  font-size:1rem;
  display:flex; align-items:center; gap:14px;
  font-weight:500;
  color:#a39db1;
}
.vs__col--after .vs__list li{
  font-family:'General Sans',sans-serif;
  padding:14px 16px;
  background:rgba(0,0,0,.3);
  border:1px solid rgba(97,221,117,.18);
  border-radius:14px;
  color:#fff; font-size:1.04rem; font-weight:500;
  display:flex; align-items:center; gap:14px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.vs__col--after .vs__list li:hover{
  border-color:rgba(97,221,117,.5);
  background:rgba(0,0,0,.45);
}

.vs__icon{
  width:26px; height:26px; flex-shrink:0;
  border-radius:50%;
  display:grid; place-items:center;
}
.vs__icon svg{width:14px; height:14px; stroke-linecap:round; stroke-linejoin:round}
.vs__icon--x{
  background:rgba(232,80,74,.12);
  border:1px solid rgba(232,80,74,.4);
  color:var(--error);
}
.vs__icon--check{
  background:var(--green);
  color:var(--ink);
  box-shadow:0 0 16px rgba(97,221,117,.4);
}

.vs__divider{display:grid; place-items:center; position:relative}
.vs__line{
  position:absolute; top:10%; bottom:10%; left:50%; width:1px;
  background:linear-gradient(180deg, transparent, rgba(98,18,179,.6), var(--green), transparent);
}
.vs__arrow{
  width:54px; height:54px; border-radius:50%;
  background:var(--purple); color:#fff;
  display:grid; place-items:center;
  box-shadow:0 0 0 6px rgba(98,18,179,.18), 0 0 30px var(--purple);
  z-index:2;
}
.vs__arrow svg{width:22px; height:22px}

@media (max-width:900px){
  .vs__grid{grid-template-columns:1fr; gap:16px}
  .vs__divider{transform:rotate(90deg); padding:8px 0; height:80px}
  .vs__line{top:20%; bottom:20%}
}
@media (max-width:600px){ .vs__col{padding:32px 24px} }

.vs__close{
  text-align:center;
  font-family:'General Sans',sans-serif;
  font-size:clamp(1.3rem,2.2vw,1.95rem);
  color:#fff;
  line-height:1.4;
  max-width:820px; margin:0 auto;
  font-weight:500;
}

/* ============ 6. BENEFÍCIOS 2x2 ============ */
.benefits{
  background:
    radial-gradient(800px 500px at 100% 0%, rgba(98,18,179,.3), transparent 70%),
    linear-gradient(180deg, #0a0612 0%, #060310 100%);
}
.benefits__bg{position:absolute; inset:0; z-index:0; opacity:1; overflow:hidden}

.bgrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-xl);
  overflow:hidden;
  background:rgba(10,6,16,.5);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  position:relative; z-index:1;
}
.bgrid__item{
  padding:46px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex; flex-direction:column; gap:14px;
  transition:background .35s var(--ease);
  position:relative;
  min-width:0;
}
.bgrid__item:nth-child(2n){border-right:0}
.bgrid__item:nth-last-child(-n+2){border-bottom:0}
.bgrid__item:hover{background:rgba(98,18,179,.12)}
.bgrid__item::before{
  content:""; position:absolute; left:0; top:0; width:3px; height:0;
  background:var(--green);
  transition:height .5s var(--ease);
}
.bgrid__item:hover::before{height:100%}

.bgrid__num{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:.92rem;
  color:var(--green);
  letter-spacing:.18em;
  font-weight:700;
}
.bgrid__item h3{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(1.3rem,1.95vw,1.7rem);
  color:#fff; margin:0; line-height:1.22;
  font-weight:700;
  letter-spacing:-.018em;
}
.bgrid__item p{
  font-family:'General Sans',sans-serif;
  color:#cfc9dc; margin:0; font-size:1rem;
  line-height:1.6;
  max-width:42ch;
  font-weight:400;
}

@media (max-width:800px){
  .bgrid{grid-template-columns:1fr}
  .bgrid__item{padding:32px 26px; border-right:0}
  .bgrid__item:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .bgrid__item:last-child{border-bottom:0}
}

/* ============ 7. DEPOIMENTOS ============ */
.testimonials--light{
  background:linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);
  color:var(--ink);
  padding:clamp(90px,12vw,160px) 0;
}
.t-head{margin-bottom:56px; max-width:780px}
.t-video{margin-bottom:56px}
.t-video__wrap{
  position:relative; width:100%; padding-bottom:56.25%;
  border-radius:var(--radius-xl); overflow:hidden;
  box-shadow:0 30px 80px -20px rgba(10,6,16,.25);
}
.t-video__wrap iframe{
  position:absolute; inset:0; width:100%; height:100%;
  border:none;
}
.t-head .display-md{margin-top:18px; line-height:1.2}

.t-edit{
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
}
@media (max-width:900px){ .t-edit{grid-template-columns:1fr} }

.t-card--light{
  background:#fff;
  border:1px solid var(--line-dark);
  border-radius:var(--radius-xl);
  padding:42px;
  display:flex; flex-direction:column; gap:22px;
  position:relative; overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(10,6,16,.15);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  min-width:0;
}
.t-card--light:hover{transform:translateY(-6px); box-shadow:0 40px 80px -30px rgba(98,18,179,.25)}
.t-card__top{display:flex; align-items:flex-start; gap:18px}
.quote-mark{
  font-family:'Owners','Clash Display',serif;
  font-size:4.5rem; line-height:.7;
  color:var(--purple);
  flex-shrink:0;
  font-weight:700;
}
.t-stat{
  flex:1; min-width:0;
  padding:18px 20px;
  border-radius:14px;
  background:linear-gradient(140deg, rgba(98,18,179,.06), rgba(97,221,117,.08));
  border:1px solid rgba(97,221,117,.25);
  display:flex; flex-direction:column; gap:8px;
}
.t-stat__num{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(2.4rem, 4.2vw, 3.4rem);
  font-weight:700;
  line-height:.95;
  letter-spacing:-.035em;
  display:inline-flex;
  align-items:baseline;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}
.t-stat__num .count{display:inline-block}
.t-stat__unit{
  font-size:.5em;
  font-weight:700;
  letter-spacing:-.015em;
  margin-left:.05em;
  position:relative;
  top:-.04em;
}
.t-stat__unit--h{
  top:-.02em;
  margin-left:.04em;
  font-size:.46em;
}
.t-stat__sign{
  font-size:.46em;
  font-weight:600;
  letter-spacing:-.02em;
  margin-right:.04em;
  position:relative;
  top:-.32em;
  opacity:.9;
}
.t-stat__desc{
  font-family:'General Sans',sans-serif;
  color:var(--muted-dark);
  font-size:.93rem;
  line-height:1.5;
  font-weight:400;
}
.t-card__quote{
  font-family:'General Sans',sans-serif;
  font-size:clamp(1.05rem,1.4vw,1.2rem);
  line-height:1.6; color:var(--ink);
  font-weight:500;
  margin:0;
}
.t-card__author{display:flex; align-items:center; gap:14px; padding-top:18px; border-top:1px solid var(--line-dark)}
.avatar{
  width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center;
  flex-shrink:0;
  overflow:hidden;
  box-shadow:0 8px 20px -8px rgba(98,18,179,.4);
}
.avatar svg{width:100%; height:100%; display:block}
.avatar--photo{width:54px; height:54px; border-radius:50%; object-fit:cover; flex-shrink:0; box-shadow:0 8px 20px -8px rgba(98,18,179,.4)}
.t-card__author strong{
  display:block; color:var(--ink);
  font-family:'Owners','Clash Display',sans-serif;
  font-weight:700; font-size:1.02rem;
  letter-spacing:-.01em;
}
.t-card__author span{
  font-family:'General Sans',sans-serif;
  color:var(--muted-dark); font-size:.88rem; font-weight:400;
}

@media (max-width:600px){ .t-card--light{padding:28px 24px} }

/* ============ 8. CTA / FORM ============ */
.cta{
  background:
    radial-gradient(1100px 700px at 80% 0%, rgba(98,18,179,.55), transparent 70%),
    radial-gradient(900px 600px at 0% 100%, rgba(58,10,111,.5), transparent 70%),
    linear-gradient(180deg, #1a0830 0%, #0a0414 60%, #050309 100%);
  overflow:hidden;
}
.cta__bg{position:absolute; inset:0; z-index:0; opacity:.7}
.cta__inner{
  display:grid; grid-template-columns:1fr 1.05fr;
  gap:60px; align-items:start;
  z-index:2;
}
@media (max-width:1000px){ .cta__inner{grid-template-columns:1fr; gap:40px} }

.cta__copy{display:flex; flex-direction:column; gap:22px; position:sticky; top:110px}
@media (max-width:1000px){ .cta__copy{position:static} }

.benefits-list{list-style:none; padding:0; margin:6px 0 0; display:flex; flex-direction:column; gap:14px}
.benefits-list li{
  display:flex; align-items:flex-start; gap:14px;
  font-family:'General Sans',sans-serif;
  font-size:1.04rem; color:#fff; font-weight:500;
  line-height:1.5;
  opacity:0; transform:translateX(-12px);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.cta__copy.in-view .benefits-list li{ opacity:1; transform:none }
.cta__copy.in-view .benefits-list li:nth-child(1){transition-delay:.15s}
.cta__copy.in-view .benefits-list li:nth-child(2){transition-delay:.3s}
.cta__copy.in-view .benefits-list li:nth-child(3){transition-delay:.45s}
.cta__copy.in-view .benefits-list li:nth-child(4){transition-delay:.6s}

.check-ic{
  width:26px; height:26px; flex-shrink:0;
  border-radius:50%;
  background:var(--green);
  color:var(--ink);
  display:grid; place-items:center;
  margin-top:1px;
  box-shadow:0 0 16px rgba(97,221,117,.4);
}
.check-ic svg{width:14px; height:14px}

.urgency{
  display:inline-flex; align-items:center; gap:10px;
  margin-top:8px; color:#cfc9dc; font-size:.93rem;
  padding:10px 18px; background:rgba(255,255,255,.04);
  border:1px solid var(--line); border-radius:99px;
  align-self:flex-start;
  font-family:'General Sans',sans-serif;
  font-weight:500;
}
.pulse{
  width:10px; height:10px; border-radius:50%; background:var(--green);
  box-shadow:0 0 0 0 rgba(97,221,117,.7);
  animation:pulse 1.8s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(97,221,117,.6)}
  100%{box-shadow:0 0 0 18px rgba(97,221,117,0)}
}

/* Form */
.form{
  padding:36px;
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
  border-radius:var(--radius-xl);
  z-index:2;
  background:linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  box-shadow:var(--shadow-card);
}
.form__head{grid-column:1/-1; margin-bottom:6px}
.form__head h3{
  font-family:'Owners','Clash Display',sans-serif;
  font-size:clamp(1.4rem,1.8vw,1.6rem);
  margin-bottom:6px; color:#fff; font-weight:700;
  letter-spacing:-.018em;
}
.form__head p{
  font-family:'General Sans',sans-serif;
  color:#cfc9dc; margin:0; font-size:.95rem; font-weight:400;
}

.field{display:flex; flex-direction:column; gap:8px; min-width:0}
.field--full{grid-column:1/-1}
.field label{
  font-family:'General Sans',sans-serif;
  font-size:.88rem; color:#dcd5ed; font-weight:500;
}
.field input, .field select, .field textarea{
  width:100%;
  padding:14px 16px;
  background:rgba(0,0,0,.4);
  border:1px solid var(--line-strong);
  border-radius:12px;
  color:#fff;
  font-size:1rem;
  font-family:'General Sans',sans-serif;
  font-weight:400;
  transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none;
  border-color:var(--green);
  background:rgba(0,0,0,.55);
  box-shadow:0 0 0 4px rgba(97,221,117,.18);
}
.field input::placeholder, .field textarea::placeholder{color:#7a7390}
.field textarea{resize:vertical; min-height:96px}
.field select{appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23a8a3b8' d='M6 8L0 0h12z'/></svg>"); background-repeat:no-repeat; background-position:right 16px center}

.check-line{
  grid-column:1/-1;
  display:flex; align-items:flex-start; gap:10px;
  font-family:'General Sans',sans-serif;
  font-size:.9rem; color:#cfc9dc;
  line-height:1.5; font-weight:400;
}
.check-line input{
  width:18px; height:18px; margin-top:2px; accent-color:var(--green); flex-shrink:0;
}
.check-line a{color:var(--green); text-decoration:underline}

.form .btn{grid-column:1/-1; padding:18px 28px; font-size:1.05rem; margin-top:6px}
.form__support{
  grid-column:1/-1; text-align:center;
  font-family:'General Sans',sans-serif;
  color:var(--muted); font-size:.88rem; margin:0; font-weight:400;
}
.form__lgpd{
  grid-column:1/-1;
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 16px;
  border-radius:10px;
  background:rgba(97,221,117,.06);
  border:1px solid rgba(97,221,117,.2);
  font-family:'General Sans',sans-serif;
  font-size:.82rem; color:#a8a3b8; font-weight:400;
  line-height:1.4;
}
.form__lgpd svg{
  width:14px; height:14px; flex-shrink:0; color:var(--green);
}
.form__lgpd strong{color:#cfc9dc; font-weight:600}
.form__success{
  grid-column:1/-1;
  padding:18px 22px; border-radius:14px;
  background:rgba(97,221,117,.14); border:1px solid rgba(97,221,117,.45);
  color:var(--green); font-weight:600; text-align:center;
  font-family:'General Sans',sans-serif;
  font-size:1.02rem;
  display:flex; align-items:center; justify-content:center; gap:10px;
  animation:successPop .4s var(--ease-out) both;
}
@keyframes successPop{
  from{ opacity:0; transform:scale(.96) translateY(8px) }
  to{ opacity:1; transform:none }
}

/* ====== Field validation states ====== */
.field input.is-error,
.field select.is-error,
.field textarea.is-error{
  border-color:var(--error);
  box-shadow:0 0 0 4px rgba(232,80,74,.15);
}
.field__error{
  font-family:'General Sans',sans-serif;
  font-size:.82rem; color:var(--error);
  font-weight:500; line-height:1.4;
  animation:fadeInUp .25s var(--ease-out) both;
}
@keyframes fadeInUp{
  from{ opacity:0; transform:translateY(-4px) }
  to{ opacity:1; transform:none }
}
.check-line.is-error{ color:var(--error) }
.check-line.is-error a{ color:var(--error) }

/* ====== Button loading state ====== */
.btn--loading{ opacity:.85; cursor:not-allowed; pointer-events:none }
.btn__spinner{
  display:inline-block;
  width:16px; height:16px;
  border:2px solid rgba(10,6,16,.3);
  border-top-color:var(--ink);
  border-radius:50%;
  animation:spin .7s linear infinite;
  flex-shrink:0;
}
@keyframes spin{ to{ transform:rotate(360deg) } }

@media (max-width:600px){
  .form{grid-template-columns:1fr; padding:26px 22px}
  .form .btn{padding:16px 22px}
}

/* ============ FOOTER ============ */
.site-footer {
  background: var(--ink);
  color: var(--muted);
  padding-block: 64px 32px;
  border-top: 1px solid var(--line-dark-2);
  font-family: 'General Sans', sans-serif;
}

.footer__main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--line);
}

@media (min-width: 768px) {
  .footer__main {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.footer__brand {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer__brand-logo {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.footer__brand-eyebrow {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.50);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
}

.footer__brand-logo img { height: 40px; width: auto; }

.footer__tagline {
  font-size: 0.875rem;
  color: var(--muted);
  line-height: 1.5;
  max-width: 300px;
}

.footer__social-box {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 260px;
}

.footer__social-label {
  font-size: 0.875rem;
  color: var(--green);
  font-weight: 600;
}

.footer__social-links {
  display: flex;
  gap: 20px;
  align-items: center;
}

.footer__social-icon {
  color: var(--muted);
  transition: color 0.2s, transform 0.2s;
  display: flex;
  align-items: center;
}

.footer__social-icon:hover {
  color: var(--white);
  transform: translateY(-2px);
}

.footer__info {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.footer__addresses {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.footer__address {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.875rem;
  color: var(--muted);
  line-height: 1.5;
}

.footer__address strong {
  color: var(--white);
  font-weight: 600;
  font-size: 1rem;
}

.footer__jobs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,0.80);
  border-radius: 100px;
  padding: 12px 32px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--white);
  letter-spacing: 0.02em;
  width: fit-content;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  text-transform: uppercase;
  text-decoration: none;
}

.footer__jobs-btn:hover {
  background: var(--white);
  color: var(--ink);
}

.footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding-top: 24px;
  text-align: center;
}

@media (min-width: 768px) {
  .footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}

.footer__copy {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.02em;
}

.footer__link {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.45);
  transition: color 0.2s;
  text-decoration: none;
}

.footer__link:hover {
  color: var(--green);
}

/* ============ Reveal animations ============ */
.reveal,
.reveal-zoom,
.reveal-x,
.reveal-mask,
.reveal-left,
.reveal-right,
.reveal-grid{
  will-change:opacity, transform, filter;
}

.reveal{
  opacity:0; transform:translateY(28px);
  filter:blur(6px);
  transition:opacity .8s var(--ease-out), transform .8s var(--ease-out), filter .8s var(--ease-out);
}
.reveal.in-view{opacity:1; transform:none; filter:blur(0)}

.reveal-zoom{
  opacity:0; transform:scale(.96);
  filter:blur(8px);
  transition:opacity 1s var(--ease-out), transform 1s var(--ease-out), filter 1s var(--ease-out);
}
.reveal-zoom.in-view{opacity:1; transform:scale(1); filter:blur(0)}

.reveal-lines .line{
  display:block;
  opacity:0; transform:translateY(35%);
  transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);
}
.reveal-lines.in-view .line{opacity:1; transform:none}
.reveal-lines.in-view .line:nth-child(1){transition-delay:.05s}
.reveal-lines.in-view .line:nth-child(2){transition-delay:.18s}
.reveal-lines.in-view .line:nth-child(3){transition-delay:.32s}

.reveal-x{
  opacity:0; transform:translateX(-40px);
  transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
.reveal-x.in-view{opacity:1; transform:none}
.num-list__item.reveal-x.in-view{ transition-delay:calc(var(--i,0) * 80ms) }

.reveal-mask{
  clip-path:inset(0 100% 0 0);
  transition:clip-path 1.2s var(--ease-out);
}
.reveal-mask.in-view{clip-path:inset(0 0 0 0)}

.reveal-left{
  opacity:0; transform:translateX(-40px);
  transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);
}
.reveal-right{
  opacity:0; transform:translateX(40px);
  transition:opacity .9s var(--ease-out), transform .9s var(--ease-out) .15s;
}
.reveal-left.in-view, .reveal-right.in-view{opacity:1; transform:none}

.reveal-grid{
  opacity:0; transform:translateY(28px) scale(.97);
  transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
.reveal-grid.in-view{opacity:1; transform:none}
.bgrid__item.reveal-grid:nth-child(1).in-view{transition-delay:0s}
.bgrid__item.reveal-grid:nth-child(2).in-view{transition-delay:.12s}
.bgrid__item.reveal-grid:nth-child(3).in-view{transition-delay:.24s}
.bgrid__item.reveal-grid:nth-child(4).in-view{transition-delay:.36s}

.reveal-stagger li{
  opacity:0; transform:translateY(12px);
  transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);
}
.reveal-stagger.in-view li{opacity:1; transform:none}
.reveal-stagger.in-view li:nth-child(1){transition-delay:.05s}
.reveal-stagger.in-view li:nth-child(2){transition-delay:.12s}
.reveal-stagger.in-view li:nth-child(3){transition-delay:.19s}
.reveal-stagger.in-view li:nth-child(4){transition-delay:.26s}
.reveal-stagger.in-view li:nth-child(5){transition-delay:.33s}
.reveal-stagger.in-view li:nth-child(6){transition-delay:.4s}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-zoom, .reveal-x, .reveal-mask, .reveal-left, .reveal-right, .reveal-grid,
  .reveal-lines .line, .reveal-stagger li{
    opacity:1; transform:none; filter:none; clip-path:none; transition:none
  }
  .hero__glow, .glass--float, .pulse, .paper, .cover-stack.is-animating .cover, .cover-marquee__track{animation:none}
}

/* ============ HERO grid responsive ============ */
@media (max-width:1000px){
  .hero{padding:calc(var(--nav-h) + 40px) 0 70px; min-height:auto}
  .hero__inner{grid-template-columns:1fr; gap:60px}
  .hero__visual{max-width:480px; margin:0 auto; width:100%}
  .hero__visual-stage{min-height:auto; padding:30px 20px}
  .glass--float-1{ left:-20px; top:-20px}
  .glass--float-2{ right:-20px; bottom:-20px}
  .hero__scroll{display:none}
}
@media (max-width:600px){
  .hero{padding:calc(var(--nav-h) + 30px) 0 50px}
  .hero__ctas .btn{width:100%}
  .glass--main{padding:20px}
  .glass--float{display:none}
  .hero__visual-stage{padding:0}
  body{font-size:16px}
  .section-head{margin-bottom:48px}
}

/* Estilos para o Card de Redirecionamento de Autodiagnóstico no Rodapé */
.cta__visual-box {
  padding: 50px 40px;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  background: linear-gradient(160deg, rgba(98, 18, 179, 0.2) 0%, rgba(5, 3, 9, 0.95) 100%);
  box-shadow: 0 40px 100px -20px rgba(0,0,0,0.7);
  position: relative;
  overflow: hidden;
}
.cta__visual-head h3 {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 10px 0 14px;
  color: #fff;
  line-height: 1.1;
}
.cta__visual-head p {
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.5;
}
.cta__preview-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.preview-step {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  color: #ece8f5;
  font-size: 0.95rem;
}
.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.dot--green {
  background-color: var(--green);
  box-shadow: 0 0 10px var(--green);
}
.form__support {
  text-align: center;
  font-size: 0.85rem;
  color: var(--muted);
  margin-top: -10px;
}
.form__lgpd {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-top: 15px;
  border-top: 1px solid rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.4);
  font-size: 0.8rem;
}
.form__lgpd svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .cta__visual-box {
    padding: 35px 24px;
  }
  .cta__visual-head h3 {
    font-size: 1.8rem;
  }
}

