/* =========================================================
   EducaSpace — sistema visual do site
   Identidade oficial (Manual de marca): universo/constelação,
   roxo -> laranja, glassmorphism, formas arredondadas.
   Cores e tipografia conforme o manual. Tipografia de destaque:
   Nasalization (oficial) — usamos Nasalization (fonte oficial da marca).
   ========================================================= */

:root{
  /* Cores oficiais da marca */
  --roxo-esc:#3f156b;
  --roxo-clr:#a42cba;
  --lilas:#a363ff;
  --laranja:#ff6511;
  --branco:#faf5ff;
  --amarelo:#ffe79f;
  /* Derivadas de apoio */
  --texto:#3f156b;
  --texto-soft:#6a5388;
  --branco-soft:#cdbce9;
  --linha:#e6dcf4;
  --roxo-profundo:#2b0e49;
  --maxw:1220px;
  --radius:24px;
  --radius-lg:30px;
}

@font-face{font-family:"Nasalization";src:url("nasalization.ttf") format("truetype");font-weight:400 900;font-style:normal;font-display:swap;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scrollbar-gutter:stable;}
body{
  margin:0;background:var(--branco);color:var(--texto);
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;
  font-size:18px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2{font-family:"Nasalization",sans-serif;font-weight:900;line-height:1.08;margin:0;letter-spacing:0.01em;}
h3{font-family:"Montserrat",sans-serif;font-weight:800;line-height:1.15;margin:0;}
p{margin:0 0 1.05em;}
a{color:inherit;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.section{padding:92px 0;}
.section.tight{padding:64px 0;}
.section-head{max-width:64ch;margin-bottom:48px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(26px,4vw,42px);margin-bottom:16px;}
.section.alt{background:linear-gradient(180deg,#f4ecff 0%, var(--branco) 100%);}

.eyebrow{
  font-family:"Nasalization",sans-serif;font-weight:700;font-size:12px;letter-spacing:0.26em;
  text-transform:uppercase;color:var(--laranja);margin:0 0 20px;display:flex;align-items:center;gap:12px;
}
.eyebrow.center{justify-content:center;}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--laranja);display:inline-block;border-radius:2px;}
.lead{font-family:"Plus Jakarta Sans",sans-serif;font-size:20px;color:var(--texto-soft);max-width:62ch;}
.section-head.center .lead{margin-left:auto;margin-right:auto;}

/* ---------- Botões ---------- */
.btn{
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:15px;text-decoration:none;
  padding:15px 30px;border-radius:999px;display:inline-block;text-align:center;cursor:pointer;border:none;
  transition:transform .15s,background .2s,color .2s,box-shadow .2s;
}
.btn-primary{background:var(--laranja);color:#fff;box-shadow:0 10px 30px -10px rgba(255,101,17,0.6);}
.btn-primary:hover{background:#ff7d33;}
.btn-dark{background:var(--roxo-esc);color:var(--branco);}
.btn-dark:hover{background:var(--laranja);}
.btn-ghost{border:1.6px solid var(--lilas);color:var(--roxo-esc);background:transparent;}
.btn-ghost:hover{background:rgba(163,99,255,0.12);}
.space .btn-ghost{color:var(--branco);}
.space .btn-ghost:hover{background:rgba(163,99,255,0.18);}
.btn:active{transform:translateY(1px);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn-row.center{justify-content:center;}

/* ---------- Fundo "espaço" (seções escuras) ---------- */
.space{position:relative;color:var(--branco);overflow:hidden;
  background:
    radial-gradient(circle at 14% 22%, rgba(164,44,186,0.55), transparent 46%),
    radial-gradient(circle at 86% 8%, rgba(255,101,17,0.20), transparent 42%),
    radial-gradient(circle at 70% 90%, rgba(163,99,255,0.30), transparent 50%),
    linear-gradient(165deg, #2b0e49 0%, var(--roxo-esc) 52%, #260f40 100%);
}
.space::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0.6;
  background-image:
    radial-gradient(1.4px 1.4px at 24px 36px, rgba(255,255,255,.9), transparent),
    radial-gradient(1px 1px at 120px 90px, rgba(255,255,255,.6), transparent),
    radial-gradient(1.2px 1.2px at 200px 150px, rgba(255,255,255,.8), transparent),
    radial-gradient(1px 1px at 300px 60px, rgba(255,231,159,.7), transparent),
    radial-gradient(1px 1px at 360px 200px, rgba(255,255,255,.5), transparent);
  background-size:380px 260px;}
.space .wrap{position:relative;z-index:2;}
.space .lead{color:var(--branco-soft);}
.space .eyebrow{color:var(--amarelo);}
.space .eyebrow::before{background:var(--amarelo);}
.space h2,.space h3{color:#fff;}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:60;background:#faf5ff;backdrop-filter:blur(14px);border-bottom:1px solid var(--linha);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
.brand-mark{width:34px;height:34px;flex-shrink:0;}
.brand-logo{height:40px;width:auto;flex-shrink:0;display:block;}
.brand-name{font-family:"Montserrat",sans-serif;font-weight:800;font-size:19px;letter-spacing:-0.01em;line-height:1;}
.brand-name .educa{color:var(--roxo-esc);}
.brand-name .space-txt{color:var(--laranja);}
.nav-links{display:flex;gap:24px;align-items:center;font-family:"Plus Jakarta Sans",sans-serif;font-weight:600;font-size:14px;}
.nav-links a{text-decoration:none;color:var(--texto-soft);transition:color .2s;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--roxo-esc);}
.nav-right{display:flex;align-items:center;gap:16px;}
.nav-login{font-weight:700;font-size:14px;text-decoration:none;color:var(--roxo-esc);}
.nav-cta{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:14px;text-decoration:none;background:var(--roxo-esc);color:var(--branco);padding:10px 20px;border-radius:999px;transition:background .2s;}
.nav-cta:hover{background:var(--laranja);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--roxo-esc);}
.nav-toggle svg{width:26px;height:26px;}
@media(max-width:900px){
  .nav-links{position:fixed;inset:66px 0 auto 0;flex-direction:column;gap:0;background:var(--branco);
    border-bottom:1px solid var(--linha);padding:8px 0;transform:translateY(-120%);transition:transform .28s ease;box-shadow:0 20px 40px -24px rgba(63,21,107,0.4);}
  .nav-links.open{transform:translateY(0);}
  .nav-links a{padding:14px 28px;width:100%;font-size:16px;}
  .nav-toggle{display:inline-flex;}
  .nav-login{display:none;}
}

/* ---------- HERO ---------- */
.hero{padding:100px 0 88px;}
.hero h1{font-size:clamp(34px,6.2vw,70px);max-width:17ch;}
.hero h1 .g{background:linear-gradient(100deg,var(--laranja),var(--amarelo));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero .lead{margin-top:26px;font-size:clamp(17px,2.2vw,21px);}
.hero-actions{margin-top:28px;}
.kicker{font-family:"Nasalization",sans-serif;font-weight:500;font-size:13px;letter-spacing:0.18em;color:var(--amarelo);margin-top:28px;text-transform:uppercase;}
.hero-meta{margin-top:56px;display:flex;gap:44px;flex-wrap:wrap;border-top:1px solid rgba(163,99,255,0.35);padding-top:26px;}
.hero-meta div{font-size:14px;color:var(--branco-soft);}
.hero-meta b{display:block;font-family:"Montserrat",sans-serif;font-weight:800;font-size:24px;color:#fff;letter-spacing:-0.01em;margin-bottom:2px;}

/* ---------- Barra de números ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stat{text-align:center;padding:10px;}
.stat b{display:block;font-family:"Nasalization",sans-serif;font-weight:900;font-size:clamp(28px,4vw,44px);color:var(--roxo-clr);line-height:1;}
.space .stat b{color:var(--amarelo);}
.stat span{font-size:14px;color:var(--texto-soft);font-weight:600;}
.space .stat span{color:var(--branco-soft);}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr;gap:26px 16px;}}

/* ---------- Dois caminhos ---------- */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.path{position:relative;border-radius:var(--radius-lg);padding:36px 34px;text-decoration:none;display:block;transition:transform .25s,box-shadow .25s;}
.path:hover{transform:translateY(-4px);}
.path .code{font-family:"Nasalization",sans-serif;font-weight:700;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;}
.path h3{font-size:24px;margin:12px 0 10px;}
.path p{font-size:15.5px;margin:0 0 18px;}
.path .go{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:8px;}
.path.prof{background:rgba(255,255,255,0.72);border:1px solid var(--linha);box-shadow:0 18px 40px -28px rgba(63,21,107,0.45);}
.path.prof .code{color:var(--roxo-clr);}
.path.prof h3{color:var(--roxo-esc);}
.path.prof p{color:var(--texto-soft);}
.path.prof .go{color:var(--laranja);}
.path.inst{background:linear-gradient(160deg,#2b0e49,var(--roxo-esc));border:1px solid rgba(163,99,255,0.4);color:var(--branco);}
.path.inst .code{color:var(--amarelo);}
.path.inst h3{color:#fff;}
.path.inst p{color:var(--branco-soft);}
.path.inst .go{color:var(--amarelo);}
@media(max-width:760px){.paths{grid-template-columns:1fr;}}

/* ---------- Como funciona (passos) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step;}
.step{background:rgba(255,255,255,0.72);border:1px solid var(--linha);border-radius:var(--radius);padding:28px 24px;position:relative;}
.space .step{background:rgba(250,245,255,0.06);border-color:rgba(163,99,255,0.32);}
.step .n{font-family:"Nasalization",sans-serif;font-weight:900;font-size:15px;color:#fff;background:linear-gradient(135deg,var(--lilas),var(--roxo-clr));width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.step h3{font-size:18px;margin-bottom:8px;color:var(--roxo-esc);}
.space .step h3{color:#fff;}
.step p{font-size:14.5px;color:var(--texto-soft);margin:0;line-height:1.5;}
.space .step p{color:var(--branco-soft);}
@media(max-width:840px){.steps{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.steps{grid-template-columns:1fr;}}

/* ---------- Cards de vidro genéricos ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.gcard{background:rgba(255,255,255,0.7);border:1px solid var(--linha);border-radius:var(--radius);padding:30px 28px;
  backdrop-filter:blur(8px);box-shadow:0 18px 40px -28px rgba(63,21,107,0.45);transition:transform .25s,box-shadow .25s;}
.gcard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(63,21,107,0.5);}
.gcard .star{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--lilas),var(--roxo-clr));color:#fff;font-size:16px;margin-bottom:16px;}
.gcard h3{font-size:20px;margin-bottom:8px;color:var(--roxo-esc);}
.gcard p{font-size:15.5px;color:var(--texto-soft);margin:0;}
@media(max-width:840px){.grid-3{grid-template-columns:1fr;}}

/* ---------- Trilhas (constelações) ---------- */
.trilhas{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.trilha{background:rgba(250,245,255,0.05);border:1px solid rgba(163,99,255,0.32);border-radius:var(--radius-lg);padding:30px 30px;
  backdrop-filter:blur(10px);position:relative;transition:border-color .25s,box-shadow .25s,transform .25s;}
.trilha:hover{border-color:var(--laranja);box-shadow:0 0 44px -14px rgba(255,101,17,0.5);transform:translateY(-3px);}
.trilha .code{font-family:"Nasalization",sans-serif;font-weight:700;font-size:11px;letter-spacing:0.18em;color:var(--lilas);text-transform:uppercase;}
.trilha h3{font-size:22px;margin:10px 0 6px;color:#fff;}
.trilha .sub{font-size:14px;color:var(--branco-soft);margin:0 0 18px;}
.trilha ul{display:flex;flex-wrap:wrap;gap:8px;}
.trilha li{list-style:none;font-size:13px;font-weight:600;color:var(--branco);background:rgba(163,99,255,0.14);border:1px solid rgba(163,99,255,0.32);border-radius:999px;padding:6px 13px;}
.trilha .dot{position:absolute;top:26px;right:28px;width:9px;height:9px;border-radius:50%;background:var(--amarelo);box-shadow:0 0 12px 2px rgba(255,231,159,0.8);}
@media(max-width:760px){.trilhas{grid-template-columns:1fr;}}

/* ---------- Especialistas ---------- */
.experts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.expert{background:rgba(255,255,255,0.72);border:1px solid var(--linha);border-radius:20px;padding:22px 20px;text-align:center;}
.expert .av{width:64px;height:64px;border-radius:50%;margin:0 auto 12px;background:linear-gradient(135deg,var(--lilas),var(--laranja));display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Montserrat",sans-serif;font-weight:800;font-size:22px;overflow:hidden;}
.expert .av img{width:100%;height:100%;object-fit:cover;}
.expert b{display:block;font-family:"Montserrat",sans-serif;font-weight:700;font-size:15px;color:var(--roxo-esc);line-height:1.25;}
.expert span{font-size:12.5px;color:var(--texto-soft);}
@media(max-width:820px){.experts{grid-template-columns:1fr 1fr;}}

/* ---------- Depoimentos ---------- */
.depoimentos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.depo{background:rgba(255,255,255,0.72);border:1px solid var(--linha);border-radius:var(--radius);padding:28px 26px;display:flex;flex-direction:column;}
.depo .quote{font-size:16px;color:var(--texto);margin:0 0 20px;line-height:1.55;}
.depo .quote::before{content:"“";font-family:"Nasalization",sans-serif;color:var(--laranja);font-size:34px;line-height:0;vertical-align:-10px;margin-right:4px;}
.depo .who{display:flex;align-items:center;gap:12px;margin-top:auto;}
.depo .who .av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--lilas),var(--roxo-clr));flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Montserrat",sans-serif;font-weight:800;font-size:16px;overflow:hidden;}
.depo .who .av img{width:100%;height:100%;object-fit:cover;}
.depo .who b{display:block;font-family:"Montserrat",sans-serif;font-weight:700;font-size:14.5px;color:var(--roxo-esc);}
.depo .who span{font-size:13px;color:var(--texto-soft);}
@media(max-width:860px){.depoimentos{grid-template-columns:1fr;}}

/* ---------- Problema vs solução ---------- */
.turn{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;}
.turn-col{border-radius:var(--radius-lg);padding:34px 32px;}
.turn-col .tag{font-family:"Nasalization",sans-serif;font-weight:700;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;margin-bottom:16px;}
.turn-col .big{font-family:"Montserrat",sans-serif;font-weight:800;font-size:23px;line-height:1.2;margin-bottom:12px;}
.turn-col p{font-size:16px;margin:0;}
.turn-col.now{background:rgba(255,255,255,0.72);border:1px solid var(--linha);}
.turn-col.now .tag{color:var(--roxo-clr);}
.turn-col.now .big{color:var(--roxo-esc);}
.turn-col.now p{color:var(--texto-soft);}
.turn-col.next{background:linear-gradient(160deg,#2b0e49,var(--roxo-esc));color:var(--branco);border:1px solid rgba(163,99,255,0.4);}
.turn-col.next .tag{color:var(--amarelo);}
.turn-col.next .big{color:#fff;}
.turn-col.next p{color:var(--branco-soft);}
@media(max-width:760px){.turn{grid-template-columns:1fr;}}

/* ---------- Lista de valor (checks) ---------- */
.valores{display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;}
.valores li{list-style:none;display:flex;gap:14px;align-items:flex-start;font-size:16px;color:var(--texto);}
.space .valores li{color:var(--branco);}
.valores li .ck{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--lilas),var(--roxo-clr));color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;margin-top:1px;}
.valores li b{font-family:"Montserrat",sans-serif;}
@media(max-width:680px){.valores{grid-template-columns:1fr;}}

/* ---------- Oferta / preço (B2C) ---------- */
.oferta{max-width:560px;margin:0 auto;background:rgba(255,255,255,0.9);border:1px solid var(--linha);border-radius:var(--radius-lg);
  padding:40px 38px;text-align:center;box-shadow:0 30px 60px -30px rgba(63,21,107,0.5);}
.oferta .selo{display:inline-block;font-family:"Nasalization",sans-serif;font-weight:700;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  color:#fff;background:var(--laranja);border-radius:999px;padding:7px 16px;margin-bottom:20px;}
.oferta .de{font-size:15px;color:var(--texto-soft);text-decoration:line-through;margin:0;}
.oferta .por{font-family:"Nasalization",sans-serif;font-weight:900;font-size:clamp(38px,7vw,56px);color:var(--roxo-esc);line-height:1.05;margin:4px 0;}
.oferta .por small{font-size:18px;font-weight:700;color:var(--texto-soft);}
.oferta .parc{font-size:15px;color:var(--texto-soft);margin:0 0 22px;}
.oferta ul{text-align:left;margin:22px 0;display:grid;gap:11px;}
.oferta li{list-style:none;display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--texto);}
.oferta li .ck{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--amarelo);color:var(--roxo-esc);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-top:2px;}
.oferta .garantia{font-size:13.5px;color:var(--texto-soft);margin:18px 0 0;}
.oferta .btn{width:100%;}

/* ---------- FAQ ---------- */
.faq{max-width:800px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--linha);padding:6px 0;}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 4px;font-family:"Montserrat",sans-serif;font-weight:700;font-size:17px;color:var(--roxo-esc);position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:"Nasalization",sans-serif;color:var(--laranja);font-size:22px;transition:transform .2s;}
.faq details[open] summary::after{content:"–";}
.faq p{padding:0 4px 22px;color:var(--texto-soft);font-size:16px;margin:0;}

/* ---------- Prova / logos institucionais ---------- */
.logos{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;}
.logo-chip{background:rgba(255,255,255,0.72);border:1px solid var(--linha);border-radius:16px;padding:18px 26px;font-family:"Montserrat",sans-serif;font-weight:700;color:var(--roxo-esc);font-size:16px;min-height:64px;display:flex;align-items:center;}
.logo-chip img{max-height:40px;width:auto;}

/* ---------- Bloco de destaque (rede pública) ---------- */
.destaque{border-radius:var(--radius-lg);padding:44px 42px;background:linear-gradient(160deg,#f3e9ff,#ece0ff);border:1px solid #e0cdf5;}
.destaque .tag{font-family:"Nasalization",sans-serif;font-weight:700;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--roxo-clr);}
.destaque h3{font-size:clamp(22px,3vw,30px);color:var(--roxo-esc);margin:12px 0 14px;}
.destaque p{font-size:16px;color:#5b3a7a;max-width:70ch;}

/* ---------- Autoridade (Karina / faixa) ---------- */
.autor{display:grid;grid-template-columns:0.9fr 1.1fr;gap:40px;align-items:center;}
.autor .foto{border-radius:var(--radius-lg);aspect-ratio:4/5;background:linear-gradient(160deg,var(--roxo-clr),var(--laranja));display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);font-family:"Nasalization",sans-serif;font-size:13px;letter-spacing:0.1em;text-align:center;overflow:hidden;}
.autor .foto img{width:100%;height:100%;object-fit:cover;}
.autor h2{font-size:clamp(24px,3.4vw,36px);margin-bottom:16px;}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.chip{font-family:"Plus Jakarta Sans",sans-serif;font-weight:600;font-size:13.5px;border:1px solid rgba(163,99,255,0.5);border-radius:999px;padding:8px 16px;color:var(--roxo-esc);background:rgba(163,99,255,0.1);}
.space .chip{color:var(--branco);}
@media(max-width:760px){.autor{grid-template-columns:1fr;}.autor .foto{max-width:360px;}}

/* ---------- CTA ---------- */
.cta{text-align:center;padding:104px 0;}
.cta h2{font-size:clamp(28px,4.6vw,50px);max-width:20ch;margin:0 auto 20px;}
.cta p{color:var(--branco-soft);max-width:54ch;margin:0 auto 28px;font-size:19px;}

/* ---------- Formulário ---------- */
.form{max-width:640px;margin:0 auto;background:rgba(255,255,255,0.9);border:1px solid var(--linha);border-radius:var(--radius-lg);padding:38px 36px;box-shadow:0 30px 60px -34px rgba(63,21,107,0.5);}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:"Montserrat",sans-serif;font-weight:700;font-size:13.5px;color:var(--roxo-esc);margin-bottom:7px;}
.field input,.field select,.field textarea{width:100%;font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;color:var(--texto);
  background:#fff;border:1.5px solid var(--linha);border-radius:14px;padding:13px 15px;transition:border-color .2s,box-shadow .2s;}
.field textarea{min-height:130px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--lilas);box-shadow:0 0 0 4px rgba(163,99,255,0.16);}
.form .btn{width:100%;margin-top:6px;}
.form-note{font-size:13px;color:var(--texto-soft);text-align:center;margin:14px 0 0;}
.form-ok{display:none;background:#eafaf0;border:1.5px solid #b6e6c8;color:#1c7a45;border-radius:14px;padding:16px 18px;font-weight:600;margin-bottom:18px;}
@media(max-width:560px){.form .row{grid-template-columns:1fr;}}

/* ---------- Contato: canais ---------- */
.canais{display:grid;gap:14px;}
.canal{display:flex;gap:16px;align-items:center;background:rgba(255,255,255,0.72);border:1px solid var(--linha);border-radius:18px;padding:20px 22px;text-decoration:none;transition:transform .2s,border-color .2s;}
.canal:hover{transform:translateY(-2px);border-color:var(--lilas);}
.canal .ic{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--lilas),var(--roxo-clr));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;}
.canal b{display:block;font-family:"Montserrat",sans-serif;font-weight:700;color:var(--roxo-esc);font-size:16px;}
.canal span{font-size:14px;color:var(--texto-soft);}

/* ---------- Footer ---------- */
footer{background:#240d3c;color:#8c79ab;padding:54px 0 30px;font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px;}
.foot-grid h4{font-family:"Montserrat",sans-serif;font-weight:800;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:#b79ed6;margin:0 0 14px;}
.foot-grid a{color:#b79ed6;text-decoration:none;display:block;padding:5px 0;transition:color .2s;}
.foot-grid a:hover{color:#fff;}
.foot-grid p{color:#8c79ab;margin:0 0 10px;font-size:14px;}
.foot-brand .brand-name{font-size:20px;}
.foot-brand .brand-name .educa{color:#fff;}
.foot-logo{height:46px;width:auto;display:block;filter:brightness(0) invert(1);}
.foot-bottom{border-top:1px solid rgba(163,99,255,0.2);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;}
.foot-social{display:flex;gap:16px;}
.foot-social a{color:#b79ed6;text-decoration:none;}
.foot-social a:hover{color:#fff;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.foot-grid{grid-template-columns:1fr;}}

/* ---------- Acessibilidade / util ---------- */
:focus-visible{outline:3px solid var(--laranja);outline-offset:3px;border-radius:4px;}
.center{text-align:center;}
.mt-s{margin-top:14px;}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--roxo-esc);padding:10px 16px;border-radius:8px;z-index:100;}
.skip:focus{left:12px;top:12px;}

/* ---------- Mosaico de capas no hero ---------- */
.hero-mosaic{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:10px;opacity:.3;filter:saturate(1.05);}
.hero-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:8px;}
.hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(90deg, rgba(43,14,73,.95) 4%, rgba(43,14,73,.78) 48%, rgba(43,14,73,.5) 100%),
  linear-gradient(0deg, #2b0e49 2%, transparent 34%, transparent 66%, #260f40 100%);}
.hero.space::before{opacity:.22;}

/* ---------- Catálogo: fileiras de cursos por trilha ---------- */
.row{margin-bottom:40px;}
.row:last-child{margin-bottom:0;}
.row-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 15px;}
.row-head h3{font-family:"Montserrat",sans-serif;font-weight:800;font-size:21px;color:#fff;}
.row-tag{font-family:"Nasalization",sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lilas);}
.strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;scrollbar-width:thin;scrollbar-color:var(--roxo-clr) transparent;}
.strip::-webkit-scrollbar{height:8px;}
.strip::-webkit-scrollbar-thumb{background:rgba(163,99,255,.4);border-radius:99px;}
.strip::-webkit-scrollbar-track{background:transparent;}
.card{flex:0 0 262px;scroll-snap-align:start;background:rgba(250,245,255,0.05);border:1px solid rgba(163,99,255,0.26);border-radius:14px;overflow:hidden;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s;}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 44px -20px rgba(0,0,0,.6);border-color:rgba(255,101,17,.55);}
.card .thumb{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.card:hover .thumb img{transform:scale(1.06);}
.card .body{display:block;padding:14px 16px 16px;}
.card .body b{font-family:"Montserrat",sans-serif;font-weight:700;font-size:15px;color:#fff;line-height:1.28;display:block;}
.card .body span{font-size:12.5px;color:var(--branco-soft);display:block;margin-top:6px;}
@media(max-width:560px){.card{flex-basis:220px;}}

/* ---------- Animações: reveal ao rolar ----------
   Só ativa quando há JS (.js no <html>) E o usuário não pediu menos movimento.
   Assim, sem JS ou com reduced-motion, nada fica escondido. */
@media (prefers-reduced-motion: no-preference){
  .js .section-head,.js .step,.js .trilha,.js .expert,.js .depo,.js .path,
  .js .stat,.js .gcard,.js .turn-col,.js .oferta,.js .destaque,
  .js .logo-chip,.js .canal,.js .faq details,.js .valores li,.js .autor>div{
    opacity:0;transform:translateY(22px);
    transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);
  }
  .js .section-head.in,.js .step.in,.js .trilha.in,.js .expert.in,.js .depo.in,.js .path.in,
  .js .stat.in,.js .gcard.in,.js .turn-col.in,.js .oferta.in,.js .destaque.in,
  .js .logo-chip.in,.js .canal.in,.js .faq details.in,.js .valores li.in,.js .autor>div.in{
    opacity:1;transform:none;
  }
}

/* ---------- Constelação (linhas que se desenham) ---------- */
.const-wrap{position:relative;}
.const-svg{position:absolute;inset:-20px 0;width:100%;height:calc(100% + 40px);z-index:0;pointer-events:none;overflow:visible;}
.const-line{fill:none;stroke:rgba(163,99,255,0.45);stroke-width:1.4;stroke-dasharray:2600;stroke-dashoffset:2600;transition:stroke-dashoffset 2s ease;}
.const-wrap.live .const-line{stroke-dashoffset:0;}
.const-node{fill:var(--amarelo);opacity:0;transform-origin:center;transition:opacity .6s ease .3s;}
.const-wrap.live .const-node{opacity:1;animation:twinkle 3.2s ease-in-out infinite;}
.const-node:nth-of-type(2){animation-delay:.6s;}
.const-node:nth-of-type(3){animation-delay:1.2s;}
.const-node:nth-of-type(4){animation-delay:1.8s;}
.const-wrap > .trilhas,.const-wrap > .zones{position:relative;z-index:1;}
@keyframes twinkle{0%,100%{opacity:.5;}50%{opacity:1;}}
@media(max-width:900px){.const-svg{display:none;}}

/* ---------- Brilho suave do fundo espacial ---------- */
.space::after{content:"";position:absolute;top:-30%;left:-10%;width:60%;height:80%;pointer-events:none;z-index:0;
  background:radial-gradient(circle, rgba(255,101,17,0.12), transparent 62%);filter:blur(10px);
  animation:drift 22s ease-in-out infinite alternate;}
@keyframes drift{0%{transform:translate(0,0);}100%{transform:translate(24%,18%);}}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto;}
  .reveal{opacity:1!important;transform:none!important;}
  .const-line{stroke-dashoffset:0!important;}
  .const-node{opacity:1!important;}
  .space::after{display:none;}
}
