/* ============================================================
   Kingdom Tracktion: o sistema do site de vendas da área de membros
   (membros.kingdomcompny.com/site), com as cores do selo: fundo verde
   quase preto, cartões verde profundo e o marfim como a única cor forte.
   Títulos em Instrument Serif itálico condensado; o resto em Google Sans.
   ============================================================ */

@property --m { syntax:"<color>"; inherits:true; initial-value:#E6DEBA; }

:root{
  --preto:#000E07;
  --fundo-2:#02120A;
  --cartao-a:#0B2116;
  --cartao-b:#03130B;
  --linha:rgba(230,222,186,.085);
  --linha-forte:rgba(230,222,186,.16);
  --texto:#FBF8EF;
  --texto-2:#C9C3AC;
  --texto-3:#9A947F;
  --laranja:#E6DEBA;
  --laranja-ink:#F2D9B5;
  --laranja-suave:rgba(230,222,186,.1);
  --marca:linear-gradient(160deg,#F8F2DC 0%,#E6DEBA 52%,#CBBB8B 100%);
  --sobre-marca:#002C19;
  --cta:linear-gradient(180deg,#F4EDD2 0%,#DCD0A2 100%);
  --cta-sombra:0 1px 0 rgba(255,255,255,.6) inset, 0 10px 26px -12px rgba(230,222,186,.55);
  --serifa:"Instrument Serif","Times New Roman",Georgia,serif;
  --font:"Google Sans","Product Sans","Segoe UI",Roboto,system-ui,-apple-system,sans-serif;
  --raio-xl:30px; --raio-lg:22px; --raio-md:16px;
  --largura:1180px;
  --sai:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}

*{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; scroll-padding-top:84px; -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--preto); color:var(--texto);
  font-family:var(--font); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,svg{ display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }
::selection{ background:rgba(230,222,186,.45); color:#fff; }
:focus-visible{ outline:2px solid var(--laranja); outline-offset:3px; border-radius:10px; }
html{ scrollbar-color:#163024 #000E07; }
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:#000E07; }
::-webkit-scrollbar-thumb{ background:#163024; border-radius:10px; border:2px solid #000E07; }
.nowrap{ white-space:nowrap; }

.saltar{ position:absolute; left:16px; top:-60px; z-index:100; background:#fff; color:#000E07; padding:10px 16px; border-radius:999px; font-weight:500; }
.saltar:focus{ top:12px; }

/* ---------------- Botões ---------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:46px; padding:0 22px; border-radius:999px; border:0;
  font-size:15px; font-weight:500; letter-spacing:-.01em; white-space:nowrap; cursor:pointer;
  transition:transform .35s var(--sai), box-shadow .35s var(--sai), background-color .25s;
}
.btn svg{ width:18px; height:18px; flex:none; }
.btn-lg{ height:56px; padding:0 28px; font-size:16px; }
.btn-laranja{ background:var(--cta); color:var(--sobre-marca); box-shadow:var(--cta-sombra); }
.btn-laranja:hover{ transform:translateY(-2px); box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 16px 34px -12px rgba(205,190,140,.95); }
.btn-branco{ background:#fff; color:#00170C; }
.btn-branco:hover{ transform:translateY(-2px); background:#F1ECDA; }
.btn-escuro{ background:transparent; color:#fff; box-shadow:inset 0 0 0 1px var(--linha-forte); }
.btn-escuro:hover{ background:rgba(255,255,255,.05); }
.btn:active{ transform:translateY(0) scale(.98); }

/* ---------------- Navegação ---------------- */
.nav{ position:fixed; inset:0 0 auto; z-index:50; transition:background-color .4s, border-color .4s, backdrop-filter .4s; border-bottom:1px solid transparent; }
.nav.solida{ background:rgba(0,14,7,.74); -webkit-backdrop-filter:saturate(1.4) blur(14px); backdrop-filter:saturate(1.4) blur(14px); border-bottom-color:var(--linha); }
.nav-in{ max-width:var(--largura); margin:0 auto; height:72px; padding:0 24px; display:flex; align-items:center; gap:32px; }
.marca{ display:inline-flex; align-items:center; gap:10px; font-weight:500; font-size:17px; letter-spacing:-.02em; white-space:nowrap; }
.sinal{ width:34px; height:34px; border-radius:10px; background:var(--marca); display:grid; place-items:center; color:var(--sobre-marca); box-shadow:0 6px 16px -6px rgba(205,190,140,.8); }
.sinal svg{ width:19px; height:19px; }
.nav-links{ display:flex; gap:28px; margin-left:auto; font-size:15px; color:var(--texto-2); }
.nav-links a{ transition:color .2s; }
.nav-links a:hover{ color:#fff; }
.btn-nav{ height:42px; padding:0 18px; font-size:14.5px; }

/* ---------------- Abertura ---------------- */
.hero{ position:relative; padding:136px 24px 40px; text-align:center; isolation:isolate; overflow:hidden; }
.hero-luz{
  position:absolute; z-index:-1; left:50%; top:330px; width:1300px; height:900px; transform:translateX(-50%);
  background:
    radial-gradient(40% 38% at 50% 40%, rgba(230,222,186,.42), transparent 70%),
    radial-gradient(60% 50% at 50% 55%, rgba(19,98,64,.22), transparent 72%);
  filter:blur(10px); pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg, #000E07 50%, transparent 88%); mask-image:linear-gradient(180deg, #000E07 50%, transparent 88%);
}
.hero-grelha{
  position:absolute; z-index:-2; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:64px 64px; background-position:center -1px;
  -webkit-mask-image:radial-gradient(70% 55% at 50% 22%, #000E07 0%, transparent 75%);
  mask-image:radial-gradient(70% 55% at 50% 22%, #000E07 0%, transparent 75%);
  pointer-events:none;
}
.hero-texto{ max-width:1120px; margin:0 auto; }
.hero h1{
  margin:0; font-weight:500; font-size:clamp(40px, 6.2vw, 84px); line-height:1.02; letter-spacing:-.04em;
  text-wrap:balance;
}
.hero-sub{ max-width:600px; margin:26px auto 0; font-size:clamp(16px, 1.5vw, 18.5px); color:var(--texto-2); text-wrap:pretty; }
.hero-accoes{ margin-top:38px; display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.hero-nota{ margin:20px 0 0; display:inline-flex; align-items:center; gap:9px; font-size:14px; color:var(--texto-3); }
.ponto{ width:7px; height:7px; border-radius:50%; background:var(--laranja); box-shadow:0 0 0 4px rgba(230,222,186,.18); }

.hero-palco{ position:relative; max-width:1080px; margin:60px auto 0; perspective:1700px; }
.janela{
  background:#061810; border:1px solid var(--linha-forte); border-radius:20px; overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(0,0,0,.6);
}
.janela-hero{
  transform-origin:50% 0; transform:rotateX(var(--rx, 16deg)) scale(var(--sc, .93)); will-change:transform;
  box-shadow:0 60px 120px -40px rgba(205,190,140,.55), 0 30px 80px -30px rgba(0,0,0,.95);
}
.janela-topo{ height:44px; display:flex; align-items:center; gap:8px; padding:0 18px; border-bottom:1px solid var(--linha); background:#081B12; position:relative; }
.sem{ width:12px; height:12px; border-radius:50%; }
.sem.v{ background:#ff5f57; } .sem.a{ background:#febc2e; } .sem.d{ background:#28c840; }
.janela-url{
  position:absolute; left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:7px;
  height:28px; padding:0 14px; border-radius:999px; background:#0D2519; color:var(--texto-2); font-size:12.5px; max-width:60%;
}
.janela-url svg{ width:12px; height:12px; flex:none; }
.janela-url span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* A área de membros dentro da janela: o tema escuro, em contorno sobre vidro,
   para a luz laranja de trás passar. */
.janela-hero{
  background:rgba(4,24,14,.38); -webkit-backdrop-filter:blur(22px) saturate(1.35); backdrop-filter:blur(22px) saturate(1.35);
  border-color:rgba(255,255,255,.16);
}
.janela-hero .janela-topo{ background:rgba(255,255,255,.035); border-bottom-color:rgba(255,255,255,.09); }
.janela-hero .janela-url{ background:rgba(255,255,255,.06); }
.app{ display:grid; grid-template-columns:220px 1fr; color:#F4F0E2; text-align:left; min-height:470px; }
.app-lado{ padding:20px 14px; display:flex; flex-direction:column; gap:4px; border-right:1px solid rgba(255,255,255,.08); }
.app-marca{ display:flex; align-items:center; gap:10px; padding:4px 8px 18px; }
.app-sinal{ width:34px; height:34px; border-radius:10px; background:var(--m); color:var(--sobre-m, #002C19); display:grid; place-items:center; font-size:13px; font-weight:500; letter-spacing:-.02em; flex:none; transition:--m .6s var(--sai); box-shadow:0 6px 18px -8px var(--m); }
.app-nome{ font-weight:500; font-size:15px; letter-spacing:-.02em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-item{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:10px; font-size:14px; color:#AAA48F; }
.app-item svg{ width:17px; height:17px; flex:none; }
.app-item.ativo{ color:#fff; background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); font-weight:500; }
.app-item.ativo svg{ color:var(--m); transition:color .6s var(--sai); }
.app-corpo{ padding:26px 28px 70px; }
.app-ola{ margin:0; font-size:26px; font-weight:500; letter-spacing:-.03em; }
.app-data{ margin:2px 0 18px; color:#AAA48F; font-size:14px; }
.app-continuar{ display:flex; align-items:center; gap:16px; border-radius:16px; padding:12px 20px 12px 12px; background:rgba(255,255,255,.025); box-shadow:inset 0 0 0 1px rgba(255,255,255,.11); }
.capa{ border-radius:12px; display:grid; place-items:center; font-weight:500; letter-spacing:-.03em; color:var(--cc); background:color-mix(in srgb, var(--cc) 9%, transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--cc) 42%, transparent); }
.app-continuar .capa{ width:84px; height:62px; font-size:20px; flex:none; }
.capa-apricot{ --cc:#ffb98a; } .capa-sky{ --cc:#8cc4f5; } .capa-meadow{ --cc:#8fd9a4; } .capa-lavender{ --cc:#b9adff; }
.app-cont-texto{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.app-cont-texto b{ font-weight:500; font-size:16px; letter-spacing:-.015em; }
.app-cont-texto small{ color:#AAA48F; font-size:12.5px; }
.barra{ display:block; height:6px; border-radius:999px; background:rgba(255,255,255,.1); overflow:hidden; margin-top:6px; }
.barra > span{ display:block; height:100%; width:100%; border-radius:inherit; background:var(--m); transform-origin:0 50%; transform:scaleX(var(--p, .5)); transition:transform .9s var(--sai), --m .6s var(--sai); }
.app-play{ width:44px; height:44px; border-radius:50%; background:var(--m); color:var(--sobre-m, #002C19); display:grid; place-items:center; flex:none; box-shadow:0 8px 22px -8px var(--m); transition:--m .6s var(--sai); }
.app-play svg{ width:20px; height:20px; }
.app-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:16px 0; }
.app-kpis span{ border-radius:14px; padding:12px 14px; font-size:12.5px; color:#AAA48F; display:flex; flex-direction:column; background:rgba(255,255,255,.025); box-shadow:inset 0 0 0 1px rgba(255,255,255,.11); }
.app-kpis b{ font-size:22px; font-weight:500; color:#fff; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.app-cursos{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.curso{ border-radius:14px; padding:8px 8px 12px; display:flex; flex-direction:column; gap:2px; font-size:13.5px; background:rgba(255,255,255,.025); box-shadow:inset 0 0 0 1px rgba(255,255,255,.11); }
.curso .capa{ height:72px; font-size:19px; margin-bottom:8px; }
.curso b{ font-weight:500; padding:0 4px; }
.curso small{ color:#AAA48F; font-size:12px; padding:0 4px; }

/* Experimente: o nome e a cor da sua escola na janela */
.experimenta{
  position:relative; z-index:2; width:min(560px, calc(100% - 32px)); margin:-34px auto 0;
  background:rgba(4,24,14,.86); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border:1px solid var(--linha-forte); border-radius:22px; padding:14px 14px 14px 18px; text-align:left;
  box-shadow:0 24px 50px -20px rgba(0,0,0,.9);
}
.experimenta label{ display:block; font-size:12.5px; color:var(--texto-3); margin-bottom:8px; }
.experimenta-linha{ display:flex; gap:12px; align-items:center; }
.experimenta input{
  flex:1; min-width:0; height:44px; border-radius:12px; border:1px solid var(--linha-forte); background:#04150C;
  color:#fff; font:inherit; font-size:15px; padding:0 14px; transition:border-color .2s, box-shadow .2s;
}
.experimenta input::placeholder{ color:#6F7A6C; }
.experimenta input:focus{ outline:none; border-color:var(--laranja); box-shadow:0 0 0 3px rgba(230,222,186,.22); }
.cores{ display:flex; gap:7px; }
.cores button{
  width:28px; height:28px; border-radius:50%; border:0; background:var(--c); cursor:pointer; padding:0;
  box-shadow:0 0 0 2px #081B12, 0 0 0 3px transparent; transition:transform .3s var(--sai), box-shadow .3s;
}
.cores button:hover{ transform:scale(1.12); }
.cores button[aria-checked="true"]{ box-shadow:0 0 0 2px #081B12, 0 0 0 4px #fff; }

/* ---------------- Faixa ---------------- */
.faixa{ padding:56px 0 24px; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000E07 12%, #000E07 88%, transparent); mask-image:linear-gradient(90deg, transparent, #000E07 12%, #000E07 88%, transparent); }
.faixa-trilho{ display:flex; width:max-content; animation:corre 44s linear infinite; }
.faixa-lista{ display:flex; margin:0; padding:0; list-style:none; }
.faixa-lista li{ display:flex; align-items:center; gap:40px; padding-right:40px; font-size:clamp(20px, 2.2vw, 28px); font-weight:500; letter-spacing:-.03em; color:#3F574A; white-space:nowrap; }
.faixa-lista li::after{ content:""; width:9px; height:9px; border-radius:3px; background:var(--marca); opacity:.9; }
@keyframes corre{ to{ transform:translateX(-50%); } }

/* ---------------- Blocos ---------------- */
.bloco{ max-width:var(--largura); margin:0 auto; padding:120px 24px 0; }
.cabeca{ max-width:760px; margin:0 auto 56px; text-align:center; }
.cabeca h2, .fecho h2{
  margin:0; font-weight:500; font-size:clamp(34px, 4.8vw, 60px); line-height:1.04; letter-spacing:-.04em; text-wrap:balance;
}
.cabeca p{ max-width:540px; margin:18px auto 0; color:var(--texto-2); font-size:16px; text-wrap:pretty; }
.cabeca-esq{ margin-left:0; text-align:left; max-width:560px; }

/* Bento */
.bento{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.cartao{
  position:relative; isolation:isolate; overflow:hidden; border-radius:var(--raio-xl);
  background:linear-gradient(160deg, var(--cartao-a) 0%, var(--cartao-b) 60%); border:1px solid var(--linha);
}
.luz-rato::before{
  content:""; position:absolute; inset:0; z-index:-1; opacity:0; transition:opacity .5s;
  background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(230,222,186,.11), transparent 60%);
}
.luz-rato:hover::before{ opacity:1; }
.cartao h3{ margin:0; font-weight:500; font-size:clamp(24px, 2.3vw, 30px); line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
.cartao p{ margin:14px 0 0; color:var(--texto-2); font-size:15.5px; text-wrap:pretty; }

.cartao-largo{ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); align-items:center; min-height:420px; }
.cartao-largo .cartao-texto{ padding:64px; max-width:480px; }
.cartao-largo .cartao-texto h3{ font-size:clamp(30px, 3.4vw, 44px); line-height:1.06; letter-spacing:-.04em; }
.janela-aula{ align-self:end; margin:56px -2px -2px 0; border-radius:20px 0 0 0; border-right:0; border-bottom:0; background:#061911; }
.aula{ display:grid; grid-template-columns:1.6fr 1fr; grid-template-rows:auto auto; gap:14px; padding:16px; }
.aula-video{ position:relative; aspect-ratio:16/9; border-radius:14px; background:linear-gradient(140deg, #0E261A, #081B12); border:1px solid var(--linha); display:grid; place-items:center; overflow:hidden; }
.aula-play{ width:58px; height:58px; border-radius:50%; background:var(--marca); color:var(--sobre-marca); display:grid; place-items:center; box-shadow:0 12px 30px -10px rgba(205,190,140,.9); animation:pulsa 2.8s var(--sai) infinite; }
.aula-play svg{ width:24px; height:24px; }
@keyframes pulsa{ 0%{ box-shadow:0 0 0 0 rgba(230,222,186,.45), 0 12px 30px -10px rgba(205,190,140,.9); } 70%,100%{ box-shadow:0 0 0 18px rgba(230,222,186,0), 0 12px 30px -10px rgba(205,190,140,.9); } }
.aula-tempo{ position:absolute; left:14px; right:14px; bottom:14px; height:4px; border-radius:4px; background:rgba(255,255,255,.12); overflow:hidden; }
.aula-tempo-fill{ display:block; height:100%; width:0; border-radius:inherit; background:var(--laranja); animation:enche 9s cubic-bezier(.45,0,.55,1) infinite; }
@keyframes enche{ 0%{ width:6%; } 85%{ width:78%; } 100%{ width:78%; } }
.aula-lista{ grid-row:1 / span 2; grid-column:2; display:flex; flex-direction:column; gap:10px; }
.aula-info{ display:flex; flex-direction:column; gap:9px; padding:4px 2px; }
.esq{ display:block; border-radius:8px; background:rgba(255,255,255,.06); position:relative; overflow:hidden; }
.esq::after{ content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent); animation:brilho 2.6s ease-in-out infinite; }
@keyframes brilho{ to{ transform:translateX(100%); } }
.aula-lista .esq{ height:46px; border-radius:12px; }
.aula-lista .esq.feito{ background:rgba(255,255,255,.04); }
.aula-lista .esq.feito::before, .aula-lista .esq.agora::before{ content:""; position:absolute; left:12px; top:50%; width:18px; height:18px; margin-top:-9px; border-radius:50%; }
.aula-lista .esq.feito::before{ background:rgba(230,222,186,.25); }
.aula-lista .esq.agora{ background:rgba(230,222,186,.12); box-shadow:inset 0 0 0 1px rgba(230,222,186,.35); }
.aula-lista .esq.agora::before{ background:var(--laranja); }
.aula-info .l1{ height:14px; width:70%; } .aula-info .l2{ height:10px; width:92%; } .aula-info .l3{ height:10px; width:58%; }

.cartao-orbita, .cartao-sete{ display:flex; flex-direction:column; min-height:560px; }
.cartao-pe{ padding:0 44px 44px; margin-top:auto; }

/* Órbita */
.orbita{ position:relative; height:390px; margin-top:-30px; --r1:84px; --r2:146px; --r3:206px; }
.anel{ position:absolute; left:50%; top:50%; border-radius:50%; border:1px solid rgba(255,255,255,.07); transform:translate(-50%,-50%); }
.anel.a1{ width:calc(var(--r1) * 2); height:calc(var(--r1) * 2); }
.anel.a2{ width:calc(var(--r2) * 2); height:calc(var(--r2) * 2); }
.anel.a3{ width:calc(var(--r3) * 2); height:calc(var(--r3) * 2); border-color:rgba(255,255,255,.05); }
.roda{ position:absolute; left:50%; top:50%; width:0; height:0; animation:gira var(--t) linear infinite; }
.roda.r1{ --t:26s; --raio:var(--r1); }
.roda.r2{ --t:40s; --raio:var(--r2); animation-direction:reverse; }
.roda.r3{ --t:58s; --raio:var(--r3); }
.astro{
  position:absolute; left:-26px; top:-26px; width:52px; height:52px; border-radius:50%;
  transform:rotate(var(--ang)) translateX(var(--raio)) rotate(calc(-1 * var(--ang)));
}
.astro svg{
  width:52px; height:52px; padding:15px; border-radius:50%; color:#fff;
  background:radial-gradient(circle at 30% 25%, #132D21, #081B12 70%); border:1px solid rgba(255,255,255,.09);
  box-shadow:0 14px 28px -12px rgba(0,0,0,.9);
  animation:gira var(--t) linear infinite; animation-direction:reverse;
}
.roda.r2 .astro svg{ animation-direction:normal; }
@keyframes gira{ to{ transform:rotate(360deg); } }
.nucleo{
  position:absolute; left:50%; top:50%; width:72px; height:72px; margin:-36px 0 0 -36px; border-radius:50%;
  background:var(--marca); color:var(--sobre-marca); display:grid; place-items:center;
  box-shadow:0 0 0 10px rgba(230,222,186,.08), 0 18px 40px -12px rgba(205,190,140,.9);
}
.nucleo::after{ content:""; position:absolute; inset:-10px; border-radius:50%; border:1px solid rgba(230,222,186,.45); animation:onda 3.2s var(--sai) infinite; }
@keyframes onda{ from{ transform:scale(.85); opacity:1; } to{ transform:scale(2.1); opacity:0; } }
.nucleo svg{ width:30px; height:30px; }
.cartao-orbita::after{ content:""; position:absolute; inset:auto 0 0; height:46%; z-index:-1; background:linear-gradient(180deg, transparent, rgba(3,19,11,.92) 55%); pointer-events:none; }
.orbita{ z-index:-2; }

/* 7 dias */
.sete{ position:relative; flex:1; display:grid; place-items:center; min-height:330px; overflow:hidden; }
.sete-numero{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-56%); white-space:nowrap;
  font-size:clamp(130px, 13vw, 180px); font-weight:700; letter-spacing:-.06em; line-height:1;
  color:#0D271A;
}
.sete-pilula{
  position:relative; display:inline-flex; align-items:center; gap:12px; height:64px; padding:0 30px 0 26px; border-radius:999px;
  background:var(--marca); color:var(--sobre-marca); font-size:24px; font-weight:500; letter-spacing:-.02em;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 22px 44px -16px rgba(205,190,140,.95);
  animation:flutua 5s ease-in-out infinite;
}
.sete-pilula svg{ width:26px; height:26px; }
@keyframes flutua{ 50%{ transform:translateY(-8px); } }

/* ---------------- Pilares (texto de referência: Memberkit) ---------------- */
.pilares-abas{
  position:sticky; top:72px; z-index:20; margin:0 0 28px;
  background:rgba(0,14,7,.8); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-top:1px solid var(--linha); border-bottom:1px solid var(--linha);
}
.pilares-abas-in{ position:relative; display:flex; justify-content:space-between; gap:8px; overflow-x:auto; scrollbar-width:none; }
.pilares-abas-in::-webkit-scrollbar{ display:none; }
.pilares-abas a{ position:relative; flex:none; padding:17px 6px; font-size:14px; font-weight:500; color:var(--texto-3); white-space:nowrap; transition:color .3s; }
.pilares-abas a:hover{ color:#fff; }
.pilares-abas a.ativo{ color:#fff; }
.pilares-indicador{ position:absolute; left:0; bottom:-1px; height:2px; width:var(--w, 0); transform:translateX(var(--x, 0)); background:var(--marca); border-radius:2px; transition:transform .5s var(--sai); }

.pilares-grelha{ border:1px solid var(--linha); border-radius:var(--raio-xl); overflow:hidden; background:#02110A; }
.pilar{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); scroll-margin-top:150px; }
.pilar + .pilar{ border-top:1px solid var(--linha); }
.pilar-texto{ padding:clamp(36px, 5vw, 64px) clamp(28px, 4.5vw, 56px); }
.pilar h3{ margin:0; font-weight:500; font-size:clamp(25px, 2.5vw, 32px); line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
.pilar-intro{ margin:16px 0 0; color:var(--texto-2); font-size:15.5px; max-width:52ch; }
.pilar-itens{ list-style:none; margin:34px 0 0; padding:0; display:flex; flex-direction:column; gap:26px; }
.pilar-itens li{ display:grid; grid-template-columns:26px 1fr; gap:14px; }
.pilar-itens svg{ width:24px; height:24px; color:var(--laranja-ink); margin-top:1px; }
.pilar-itens b{ display:block; font-weight:500; font-size:16.5px; letter-spacing:-.015em; }
.pilar-itens p{ margin:5px 0 0; color:var(--texto-3); font-size:15px; max-width:56ch; }
.pilar-visual{
  position:relative; isolation:isolate; overflow:hidden; display:grid; place-items:center; padding:48px clamp(24px, 4vw, 48px);
  border-left:1px solid var(--linha); min-height:440px;
  background:radial-gradient(70% 60% at 70% 100%, rgba(230,222,186,.12), transparent 70%), radial-gradient(1px 1px at 1px 1px, rgba(255,255,255,.07) 1px, transparent 0) 0 0 / 22px 22px;
}

/* Vitrine */
.vitrine{ width:min(100%, 470px); border-radius:18px; overflow:hidden; background:rgba(4,24,14,.6); border:1px solid rgba(255,255,255,.12); box-shadow:0 30px 60px -30px rgba(0,0,0,.9); }
.vitrine .janela-topo{ height:38px; background:rgba(255,255,255,.03); }
.vitrine-corpo{ padding:20px 20px 24px; }
.vitrine-titulo{ margin:0; font-size:19px; font-weight:500; letter-spacing:-.025em; }
.vitrine-linha{ display:flex; align-items:center; justify-content:space-between; margin:16px 0 12px; font-size:13px; color:var(--texto-2); }
.vitrine-linha em{ font-style:normal; font-size:12px; padding:6px 11px; border-radius:8px; background:rgba(255,255,255,.07); color:#fff; }
.vitrine-capas{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.vcapa{ position:relative; aspect-ratio:4 / 3.3; border-radius:10px; overflow:hidden; display:flex; align-items:flex-end; padding:10px 10px 14px; transition:transform .5s var(--sai); }
.vcapa:hover{ transform:translateY(-4px); }
.vcapa b{ font-weight:500; font-size:14px; line-height:1.1; letter-spacing:-.02em; color:#fff; position:relative; }
.vcapa i{ position:absolute; left:0; right:0; bottom:0; height:4px; background:rgba(255,255,255,.18); }
.vcapa i::after{ content:""; position:absolute; inset:0; background:var(--laranja); transform-origin:0 50%; transform:scaleX(var(--p)); }
.vcapa::before{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.62), transparent 62%); }
.vcapa.v1{ background:radial-gradient(90% 80% at 80% 10%, #E6DEBA, transparent 60%), linear-gradient(160deg, #136240, #02180D); }
.vcapa.v2{ background:radial-gradient(90% 80% at 20% 0%, #E9A36F, transparent 60%), linear-gradient(160deg, #7A3410, #2A1206); }
.vcapa.v3{ background:radial-gradient(90% 80% at 80% 0%, #F2D9B5, transparent 60%), linear-gradient(160deg, #532F1E, #1E100A); }

/* Entrega automática */
.fluxo{ width:min(100%, 400px); display:flex; flex-direction:column; align-items:stretch; }
.fluxo-quem{ align-self:center; display:flex; align-items:center; gap:10px; padding:8px 18px 8px 8px; border-radius:999px; background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); margin-bottom:6px; }
.fluxo-quem b{ display:block; font-weight:500; font-size:14px; }
.fluxo-quem small{ display:block; color:var(--texto-3); font-size:12px; }
.fluxo-av{ width:36px; height:36px; border-radius:50%; background:#7357e8; display:grid; place-items:center; font-size:12px; font-weight:500; }
.fluxo-passo{
  position:relative; display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:12px; margin-top:26px;
  padding:12px 16px 12px 12px; border-radius:14px; background:rgba(255,255,255,.025); box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);
  opacity:.4; transition:opacity .5s, box-shadow .5s, background-color .5s;
}
.fluxo-passo::before{ content:""; position:absolute; left:50%; top:-26px; height:26px; border-left:2px dotted rgba(255,255,255,.18); transition:border-color .5s; }
.fluxo-passo b{ display:block; font-weight:500; font-size:14px; }
.fluxo-passo small{ display:block; color:var(--texto-3); font-size:12px; }
.fluxo-passo em{ font-style:normal; font-size:12px; color:var(--texto-3); font-variant-numeric:tabular-nums; }
.fluxo-ico{ width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:rgba(255,255,255,.05); color:var(--texto-2); transition:background .5s, color .5s; }
.fluxo-ico svg{ width:18px; height:18px; }
.fluxo-passo.aceso{ opacity:1; background:rgba(230,222,186,.07); box-shadow:inset 0 0 0 1px rgba(230,222,186,.38); }
.fluxo-passo.aceso::before{ border-color:var(--laranja); }
.fluxo-passo.aceso .fluxo-ico{ background:var(--marca); color:var(--sobre-marca); }
.fluxo-passo.aceso em{ color:var(--laranja-ink); }

/* Certificado */
.cert-pilha{ position:relative; width:min(100%, 400px); padding-top:22px; }
.cert-pilha::before, .cert-pilha::after{ content:""; position:absolute; left:6%; right:6%; top:10px; height:60px; border-radius:18px; background:#081B12; border:1px solid rgba(255,255,255,.08); }
.cert-pilha::after{ left:12%; right:12%; top:0; background:#04150C; z-index:-1; }
.cert{ position:relative; z-index:1; overflow:hidden; border-radius:18px; padding:30px 30px 26px; background:linear-gradient(160deg, #0E261A, #05170E 70%); border:1px solid rgba(255,255,255,.12); box-shadow:0 30px 60px -30px rgba(0,0,0,.9); }
.cert::after{ content:""; position:absolute; right:-80px; bottom:-90px; width:240px; height:240px; border-radius:50%; background:radial-gradient(closest-side, rgba(230,222,186,.5), transparent); }
.cert-marca{ display:flex; align-items:center; gap:9px; font-size:13px; font-weight:500; }
.cert-sinal{ width:26px; height:26px; border-radius:8px; background:var(--marca); display:grid; place-items:center; font-size:10.5px; font-weight:500; color:var(--sobre-marca); flex:none; }
.cert-titulo{ margin:26px 0 0; font-size:21px; font-weight:400; letter-spacing:-.02em; }
.cert-peq{ margin:14px 0 0; font-size:12px; color:var(--texto-3); }
.cert-nome{ margin:4px 0 0; font-size:30px; font-weight:500; letter-spacing:-.035em; }
.cert-texto{ margin:10px 0 0; font-size:13px; color:var(--texto-2); max-width:34ch; }
.cert-assinatura{ width:130px; height:40px; margin-top:16px; color:#ECE5CC; stroke-dasharray:420; stroke-dashoffset:0; }
.anima .pilar-visual:not(.visto) .cert-assinatura{ stroke-dashoffset:420; }
.anima .pilar-visual.visto .cert-assinatura{ transition:stroke-dashoffset 2.2s .3s cubic-bezier(.65,0,.35,1); }

/* Emails */
.carta-vis{ width:min(100%, 430px); display:flex; flex-direction:column; align-items:center; gap:26px; }
.carta-nos{ display:flex; align-items:center; width:100%; }
.no{ width:48px; height:48px; border-radius:50%; flex:none; display:grid; place-items:center; color:#fff; font-weight:500; background:radial-gradient(circle at 30% 25%, #132D21, #081B12 70%); border:1px solid rgba(255,255,255,.1); }
.no svg{ width:20px; height:20px; }
.no-centro{ width:64px; height:64px; border-radius:18px; background:var(--marca); color:var(--sobre-marca); border:0; box-shadow:0 18px 36px -14px rgba(205,190,140,.9); }
.no-centro svg{ width:28px; height:28px; }
.no-linha{ flex:1; height:2px; background:repeating-linear-gradient(90deg, rgba(255,255,255,.22) 0 4px, transparent 4px 10px); background-size:10px 2px; animation:pontilhado 1.2s linear infinite; }
@keyframes pontilhado{ to{ background-position:10px 0; } }
.carta{ width:100%; border-radius:16px; padding:20px 22px 22px; background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px rgba(255,255,255,.11); }
.carta-topo{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.carta-topo b{ font-weight:500; font-size:15px; }
.carta-topo span{ font-size:11.5px; padding:4px 9px; border-radius:6px; background:rgba(255,255,255,.08); color:var(--texto-2); white-space:nowrap; }
.carta-de{ display:flex; align-items:center; gap:10px; margin-top:14px; }
.carta-de b{ display:block; font-size:13.5px; font-weight:500; }
.carta-de small{ display:block; font-size:12px; color:var(--texto-3); }
.carta p{ margin:14px 0 0; font-size:13.5px; color:var(--texto-2); }
.carta-botao{ display:inline-flex; margin-top:16px; height:38px; padding:0 18px; align-items:center; border-radius:999px; background:var(--cta); color:var(--sobre-marca); font-size:13px; font-weight:500; }

/* Gamificação */
.ranking{ width:min(100%, 400px); border-radius:18px; padding:14px; background:rgba(255,255,255,.025); box-shadow:inset 0 0 0 1px rgba(255,255,255,.1); }
.ranking-filtro{ display:flex; align-items:center; justify-content:space-between; height:42px; padding:0 14px; border-radius:11px; background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); font-size:13.5px; color:var(--texto-2); }
.ranking-filtro svg{ width:16px; height:16px; }
.ranking ol{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:2px; }
.ranking li{ display:grid; grid-template-columns:22px 32px 1fr auto auto; align-items:center; gap:10px; padding:9px 12px; border-radius:12px; font-size:14px; transition:transform .8s var(--sai); }
.ranking .pos{ color:var(--texto-3); font-variant-numeric:tabular-nums; font-size:13px; }
.ranking .av{ width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-size:11.5px; font-weight:500; color:#fff; }
.ranking .xp{ font-variant-numeric:tabular-nums; color:var(--texto-2); }
.ranking .tag{ font-size:10.5px; padding:3px 7px; border-radius:6px; background:rgba(255,255,255,.08); color:var(--texto-2); }
.ranking li.eu{ color:var(--sobre-marca); background:var(--marca); box-shadow:0 18px 36px -16px rgba(205,190,140,.9); transform:scale(1.035); }
.ranking li.eu .pos, .ranking li.eu .xp{ color:var(--sobre-marca); font-weight:500; }
.ranking li.eu .tag{ background:rgba(0,44,25,.12); color:var(--sobre-marca); }

/* Relatórios */
.grafico{ position:relative; width:min(100%, 470px); padding:26px 18px 34px; }
.grafico svg{ width:100%; height:240px; overflow:visible; }
.grafico-grelha path{ stroke:rgba(255,255,255,.07); stroke-width:1; fill:none; }
.serie{ fill:none; stroke-width:2.5; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:0; vector-effect:non-scaling-stroke; }
.serie.s1{ stroke:var(--laranja); } .serie.s2{ stroke:#E6DEBA; opacity:.75; } .serie.s3{ stroke:#7C8A78; }
.anima .pilar-visual:not(.visto) .serie{ stroke-dashoffset:1; }
.anima .pilar-visual.visto .serie{ transition:stroke-dashoffset 1.8s cubic-bezier(.65,0,.35,1); }
.anima .pilar-visual.visto .serie.s2{ transition-delay:.25s; } .anima .pilar-visual.visto .serie.s3{ transition-delay:.5s; }
.grafico-ponto{ fill:var(--laranja); stroke:#000E07; stroke-width:3; vector-effect:non-scaling-stroke; }
.grafico-dica{
  position:absolute; left:56%; top:0; display:flex; flex-direction:column; gap:5px; padding:12px 14px; border-radius:12px; min-width:190px;
  background:rgba(5,26,15,.82); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.12); font-size:12.5px;
}
.grafico-dica b{ font-weight:500; font-size:12.5px; margin-bottom:2px; }
.grafico-dica span{ display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:8px; color:var(--texto-2); }
.grafico-dica em{ font-style:normal; color:#fff; font-variant-numeric:tabular-nums; }
.grafico-dica i{ width:8px; height:8px; border-radius:50%; }
.grafico-dica .c1{ background:var(--laranja); } .grafico-dica .c2{ background:#E6DEBA; } .grafico-dica .c3{ background:#7C8A78; }
.anima .pilar-visual:not(.visto) .grafico-dica{ opacity:0; transform:translateY(8px); }
.anima .pilar-visual.visto .grafico-dica{ transition:opacity .6s 1.6s, transform .6s 1.6s var(--sai); }
.grafico-nota{ position:absolute; right:18px; bottom:4px; margin:0; font-size:11.5px; color:var(--texto-3); }

/* ---------------- Faixas de detalhes ---------------- */
.bloco-faixas{ max-width:none; padding-left:0; padding-right:0; }
.bloco-faixas .cabeca{ max-width:var(--largura); margin:0 auto 48px; padding:0 24px; }
.bloco-faixas .cabeca h2{ max-width:560px; }
.trilhos{ display:flex; flex-direction:column; gap:16px; -webkit-mask-image:linear-gradient(90deg, transparent, #000E07 10%, #000E07 90%, transparent); mask-image:linear-gradient(90deg, transparent, #000E07 10%, #000E07 90%, transparent); }
.trilho{ overflow:hidden; }
.trilho-lista{ display:flex; gap:16px; width:max-content; margin:0; padding:0; list-style:none; animation:corre var(--dur, 60s) linear infinite; }
.trilho[data-dir="dir"] .trilho-lista{ animation-direction:reverse; --dur:70s; }
.trilho:hover .trilho-lista{ animation-play-state:paused; }
.detalhe{
  display:flex; align-items:center; gap:16px; padding:16px 26px 16px 16px; border-radius:var(--raio-lg);
  background:linear-gradient(160deg, #081B12, #04150C); border:1px solid var(--linha); white-space:nowrap;
  transition:border-color .3s, transform .4s var(--sai);
}
.detalhe:hover{ border-color:rgba(230,222,186,.35); transform:translateY(-3px); }
.detalhe-ico{ width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:var(--laranja-suave); color:var(--laranja-ink); flex:none; box-shadow:inset 0 0 0 1px rgba(230,222,186,.2); }
.detalhe-ico svg{ width:24px; height:24px; }
.detalhe b{ display:block; font-weight:500; font-size:18px; letter-spacing:-.025em; }
.detalhe small{ display:block; color:var(--texto-3); font-size:14px; margin-top:1px; }

/* ---------------- Para quem é (carrossel) ---------------- */
.slider{
  display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.55fr); border:1px solid var(--linha-forte); border-radius:var(--raio-xl); overflow:hidden;
  background:#02120A;
}
.slider-lado{ display:flex; flex-direction:column; border-right:1px solid var(--linha-forte); }
.slider-palco{
  flex:1; min-height:340px; display:grid; place-items:center; padding:40px 24px 0; overflow:hidden; position:relative;
  background:radial-gradient(90% 80% at 50% 100%, color-mix(in srgb, var(--m) 55%, transparent), transparent 70%), #05170E;
  transition:--m .7s var(--sai);
}
.tel{
  width:220px; align-self:end; color:#F4F0E2; border-radius:30px 30px 0 0; padding:18px 16px 26px; text-align:left;
  background:rgba(4,24,14,.42); -webkit-backdrop-filter:blur(18px) saturate(1.3); backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(255,255,255,.16); border-bottom:0; box-shadow:0 -10px 50px -16px rgba(0,0,0,.8);
  transition:transform .6s var(--sai), opacity .45s;
}
.tel.muda{ transform:translateY(28px); opacity:0; }
.tel-topo{ display:flex; align-items:center; gap:8px; font-weight:500; font-size:13px; letter-spacing:-.015em; margin-bottom:14px; }
.tel-topo span:last-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tel-sinal{ width:28px; height:28px; border-radius:9px; background:var(--m); color:var(--sobre-m, #002C19); display:grid; place-items:center; font-size:11px; flex:none; }
.tel-capa{ border-radius:14px; padding:46px 12px 12px; font-size:13px; font-weight:500; background:color-mix(in srgb, var(--m) 16%, transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--m) 50%, transparent); }
.tel-linha{ display:flex; flex-direction:column; gap:6px; border-radius:12px; padding:12px; margin-top:10px; background:rgba(255,255,255,.025); box-shadow:inset 0 0 0 1px rgba(255,255,255,.11); }
.tel-linha span{ height:7px; border-radius:6px; background:rgba(255,255,255,.12); }
.tel-linha span:last-child{ width:60%; }
.tel-botao{ margin-top:12px; height:38px; border-radius:999px; background:var(--m); color:var(--sobre-m, #002C19); display:grid; place-items:center; font-size:13px; font-weight:500; }
.slider-setas{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--linha-forte); }
.slider-setas button{ height:64px; border:0; background:transparent; color:#9A947F; cursor:pointer; display:grid; place-items:center; transition:background-color .25s, color .25s; }
.slider-setas button + button{ border-left:1px solid var(--linha-forte); }
.slider-setas button:hover{ background:rgba(255,255,255,.04); color:#fff; }
.slider-setas svg{ width:22px; height:22px; }
.slider-texto{ padding:clamp(32px, 5vw, 72px) clamp(28px, 5vw, 76px) 36px; display:flex; flex-direction:column; }
.slider-tipo{ margin:0; display:flex; align-items:center; gap:10px; font-size:16px; font-weight:500; }
.slider-tipo-ico{ width:22px; height:22px; color:var(--laranja); display:grid; place-items:center; }
.slider-tipo-ico svg{ width:22px; height:22px; }
.slider-frase{ margin:24px 0 0; font-size:clamp(21px, 2.1vw, 27px); line-height:1.32; letter-spacing:-.025em; font-weight:500; text-wrap:pretty; transition:opacity .4s, transform .5s var(--sai), filter .4s; }
.slider-frase.muda{ opacity:0; transform:translateY(10px); filter:blur(6px); }
.slider-pe{ margin-top:auto; padding-top:40px; display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.slider-pe b{ display:block; font-weight:500; font-size:17px; letter-spacing:-.02em; }
.slider-pe small{ display:block; color:var(--texto-3); font-size:13.5px; }
.slider-contador{ font-size:14px; color:var(--texto-3); font-variant-numeric:tabular-nums; }
.slider-contador span:first-child{ color:#fff; }
.slider-nota{ margin:18px 0 0; font-size:12.5px; color:var(--texto-3); }

/* ---------------- Preços ---------------- */
.interruptores{ display:flex; justify-content:center; gap:28px; flex-wrap:wrap; margin:-16px 0 40px; }
.interruptor{ display:flex; align-items:center; gap:12px; font-size:14.5px; color:var(--texto-3); }
.interruptor span{ transition:color .25s; }
.interruptor span.ativo{ color:#fff; font-weight:500; }
.interruptor button{ position:relative; width:46px; height:26px; border-radius:999px; border:0; padding:0; background:#fff; cursor:pointer; }
.interruptor button span{ position:absolute; left:3px; top:3px; width:20px; height:20px; border-radius:50%; background:#00170C; transition:transform .4s var(--sai), background .3s; }
.interruptor button[aria-checked="true"]{ background:var(--marca); }
.interruptor button[aria-checked="true"] span{ transform:translateX(20px); background:#fff; }

.planos{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; padding:14px; border-radius:36px;
  background:#04160D; border:1px solid var(--linha);
}
.plano{
  position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; padding:34px 32px 32px; border-radius:26px;
  background:linear-gradient(160deg, #0C2318 0%, #0d0d0c 55%);
}
.plano-ico{ width:26px; height:26px; color:#fff; }
.plano h3{ margin:22px 0 0; font-size:30px; font-weight:500; letter-spacing:-.04em; line-height:1.1; }
.plano-desc{ margin:10px 0 0; color:var(--texto-2); font-size:15px; min-height:46px; }
.plano-preco{ margin:26px 0 0; padding:26px 0; border-top:1px solid var(--linha-forte); border-bottom:1px solid var(--linha-forte); display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.plano-valor{ font-size:clamp(34px, 3.3vw, 44px); font-weight:500; letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; }
.plano-valor .sim{ font-size:.5em; letter-spacing:-.01em; margin-right:.12em; vertical-align:.32em; }
.plano-por{ color:var(--texto-2); font-size:15px; }
.plano-poupa{ flex-basis:100%; font-size:13px; color:var(--laranja-ink); }
.plano.destaque .plano-poupa{ color:var(--sobre-marca); font-weight:500; }
.plano h4{ margin:26px 0 0; font-size:19px; font-weight:500; letter-spacing:-.025em; }
.plano ul{ list-style:none; margin:16px 0 30px; padding:0; display:flex; flex-direction:column; gap:12px; font-size:15px; }
.plano li{ display:flex; gap:11px; align-items:flex-start; }
.plano li svg{ width:19px; height:19px; flex:none; margin-top:2px; color:var(--texto-2); }
.plano .btn{ margin-top:auto; width:100%; }
.plano-esq{ height:420px; }

.plano.destaque{ color:var(--sobre-marca); background:var(--marca); box-shadow:0 30px 70px -30px rgba(205,190,140,.9); transform:translateY(-6px); }
.plano.destaque::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(80% 60% at 100% 0%, rgba(255,255,255,.2), transparent 60%), radial-gradient(70% 55% at 0% 100%, rgba(0,44,25,.3), transparent 65%);
}
.plano.destaque .plano-desc, .plano.destaque .plano-por, .plano.destaque li svg{ color:rgba(0,44,25,.78); }
.plano.destaque .plano-preco{ border-color:rgba(0,44,25,.2); }
.plano.destaque .btn-branco{ color:#0B4A2E; }
.plano-selo{ position:absolute; top:30px; right:28px; height:30px; padding:0 13px; border-radius:999px; background:#fff; color:#0B4A2E; font-size:13px; font-weight:500; display:inline-flex; align-items:center; }
.precos-nota{ margin:28px auto 0; max-width:620px; text-align:center; font-size:14px; color:var(--texto-3); }
.precos-erro{ grid-column:1 / -1; text-align:center; padding:60px 20px; color:var(--texto-2); }

/* ---------------- Perguntas ---------------- */
.faq{ max-width:820px; margin:0 auto; border-top:1px solid var(--linha-forte); }
.faq-item{ border-bottom:1px solid var(--linha-forte); }
.faq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:26px 4px; font-size:clamp(17px, 1.6vw, 20px); font-weight:500; letter-spacing:-.02em; transition:color .2s;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary:hover{ color:var(--laranja-ink); }
.faq-item summary i{ position:relative; width:34px; height:34px; border-radius:50%; flex:none; box-shadow:inset 0 0 0 1px var(--linha-forte); transition:background .3s, box-shadow .3s; }
.faq-item summary i::before, .faq-item summary i::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:1.6px; margin:-.8px 0 0 -6px; background:currentColor; border-radius:2px; transition:transform .4s var(--sai); }
.faq-item summary i::after{ transform:rotate(90deg); }
.faq-item[open] summary i{ background:var(--marca); box-shadow:none; color:var(--sobre-marca); }
.faq-item[open] summary i::after{ transform:rotate(0deg); }
.faq-resposta{ overflow:hidden; }
.faq-resposta p{ margin:0; padding:0 60px 28px 4px; color:var(--texto-2); font-size:16px; max-width:68ch; }

/* ---------------- Fecho e rodapé ---------------- */
.fecho{ position:relative; isolation:isolate; overflow:hidden; margin-top:140px; padding:150px 24px 170px; text-align:center; border-top:1px solid var(--linha); background:linear-gradient(180deg, #02120A, #000E07 40%); }
.estrelas{ position:absolute; inset:0; width:100%; height:100%; z-index:-1; }
.fecho-luz{ position:absolute; z-index:-1; left:50%; bottom:-380px; width:1100px; height:620px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(closest-side, rgba(230,222,186,.5), rgba(19,98,64,.18) 55%, transparent); filter:blur(20px); }
.fecho-texto{ max-width:760px; margin:0 auto; }
.fecho p{ margin:20px auto 36px; color:var(--texto-2); font-size:17px; max-width:520px; }
.rodape{ border-top:1px solid var(--linha); }
.rodape-in{ max-width:var(--largura); margin:0 auto; padding:34px 24px 40px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.rodape-links{ display:flex; gap:24px; margin-left:auto; font-size:14.5px; color:var(--texto-2); flex-wrap:wrap; }
.rodape-links a:hover{ color:#fff; }
.rodape-nota{ flex-basis:100%; margin:0; font-size:13.5px; color:var(--texto-3); }

/* ---------------- Entradas ao deslizar ---------------- */
.anima .revela{ opacity:0; transform:translateY(26px); filter:blur(8px); transition:opacity .9s var(--sai), transform 1.1s var(--sai), filter .9s var(--sai); transition-delay:var(--atraso, 0s); }
.anima .revela.visto{ opacity:1; transform:none; filter:none; }
.anima .hero-palco.revela{ transform:translateY(60px); }
.anima .hero-palco.revela.visto{ transform:none; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .faixa-trilho, .trilho-lista{ animation:none !important; }
  .trilhos .trilho{ overflow-x:auto; }
  .janela-hero{ transform:none !important; }
}

/* ---------------- Ecrãs mais estreitos ---------------- */
@media (max-width: 1000px){
  .pilar{ grid-template-columns:1fr; }
  .pilar-visual{ border-left:0; border-top:1px solid var(--linha); min-height:0; }
  .pilares-abas-in{ justify-content:flex-start; gap:22px; padding:0 4px; }
  .cartao-largo{ grid-template-columns:1fr; }
  .cartao-largo .cartao-texto{ padding:44px 36px 0; max-width:none; }
  .janela-aula{ margin:40px 0 -2px 36px; }
  .planos{ grid-template-columns:1fr; max-width:520px; margin:0 auto; }
  .plano.destaque{ transform:none; }
  .plano-desc{ min-height:0; }
}
@media (max-width: 860px){
  .nav-links{ display:none; }
  .btn-nav{ margin-left:auto; }
  .bento{ grid-template-columns:1fr; }
  .slider{ grid-template-columns:1fr; }
  .slider-lado{ border-right:0; border-bottom:1px solid var(--linha-forte); }
  .app{ grid-template-columns:1fr; min-height:0; }
  .app-lado{ display:none; }
}
@media (max-width: 600px){
  .pilares-abas{ margin-left:-24px; margin-right:-24px; border-radius:0; }
  .pilares-abas-in{ padding:0 20px; }
  .pilar-visual{ padding:36px 18px; }
  .grafico-dica{ left:auto; right:6px; min-width:170px; }
  .ranking li{ grid-template-columns:20px 30px 1fr auto; }
  .ranking .tag{ display:none; }
  .hero{ padding-top:118px; }
  .hero-accoes .btn{ width:100%; }
  .hero-palco{ margin-top:52px; }
  .janela-url{ display:none; }
  .app-corpo{ padding:18px 16px 48px; }
  .app-ola{ font-size:21px; }
  .app-continuar{ padding:10px 12px 10px 10px; gap:12px; }
  .app-continuar .capa{ width:56px; height:48px; font-size:16px; }
  .app-play{ width:38px; height:38px; }
  .app-cursos{ grid-template-columns:repeat(2, 1fr); }
  .app-cursos .curso:nth-child(3){ display:none; }
  .experimenta{ margin-top:-20px; padding:12px; }
  .experimenta-linha{ flex-direction:column; align-items:stretch; }
  .experimenta input{ flex:none; width:100%; }
  .nav-in{ padding:0 16px; gap:12px; }
  .marca{ font-size:16px; }
  .btn-nav{ height:40px; padding:0 15px; font-size:14px; }
  .cores{ justify-content:space-between; padding:2px 4px; }
  .cores button{ width:34px; height:34px; }
  .bloco{ padding-top:96px; }
  .cabeca{ margin-bottom:40px; }
  .cartao-largo .cartao-texto{ padding:32px 24px 0; }
  .janela-aula{ margin:32px 0 -2px 24px; }
  .aula{ grid-template-columns:1fr; }
  .aula-lista{ grid-row:auto; grid-column:auto; flex-direction:row; }
  .aula-lista .esq{ flex:1; height:34px; }
  .aula-lista .esq:nth-child(n+4){ display:none; }
  .aula-info{ display:none; }
  .cartao-orbita, .cartao-sete{ min-height:0; }
  .cartao-pe{ padding:0 24px 32px; }
  .orbita{ height:330px; margin-top:-10px; --r1:62px; --r2:108px; --r3:150px; }
  .astro{ left:-22px; top:-22px; width:44px; height:44px; }
  .astro svg{ width:44px; height:44px; padding:12px; }
  .sete{ min-height:260px; }
  .sete-numero{ font-size:128px; }
  .detalhe{ padding:12px 20px 12px 12px; gap:12px; }
  .detalhe-ico{ width:46px; height:46px; }
  .detalhe b{ font-size:16px; }
  .detalhe small{ font-size:13px; }
  .slider-palco{ min-height:290px; }
  .slider-texto{ padding:30px 24px 26px; }
  .plano{ padding:28px 24px 24px; }
  .plano-selo{ top:24px; right:20px; }
  .faq-item summary{ padding:22px 2px; }
  .faq-resposta p{ padding:0 8px 24px 2px; }
  .fecho{ margin-top:100px; padding:110px 20px 120px; }
  .rodape-links{ margin-left:0; }
}
