/* Site BJJ VIA. Cores = design system do app (docs/design-system-bjj-via-1.0.md):
   fundo #0B0D0F, destaque pelas cores das faixas e degradê institucional
   branca → azul → roxa → marrom → preta/vermelha. Sem dourado como cor geral. */
:root { color-scheme:dark; --ink:#0B0D0F; --paper:#F5F5F7; --suave:#9A9AA2; --via-blue:#2F6BFF; --via-blue-claro:#6F9BFF; --via-violet:#A06BF2; --via-brown:#C98A5E; --via-red:#E5484D; --via-ribbon:linear-gradient(100deg,#F2F2F4 0%,#2F6BFF 24%,#8B3FE4 48%,#9A6338 70%,#3a3a3a 84%,#C62828 100%); --gutter:clamp(20px,5vw,76px); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:clip; }
a { color:inherit; }
button { font:inherit; color:inherit; }
:focus-visible { outline:2px solid #8ab7ff; outline-offset:4px; }

/* Cabeçalho */
.site-header { position:fixed; z-index:20; top:0; left:0; right:0; height:76px; display:flex; align-items:center; gap:24px; padding:0 var(--gutter); border-bottom:1px solid #ffffff22; background:linear-gradient(105deg,#0b0d0ff2 0%,#12111af0 55%,#120d11ed 100%); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.site-header::after { position:absolute; right:0; bottom:-1px; left:0; height:2px; background:var(--via-ribbon); content:""; }
.brand { flex:none; }
.brand img { display:block; width:clamp(112px,11vw,150px); height:auto; }
.site-nav { display:flex; gap:26px; margin-left:auto; }
.site-nav a { color:#d7d6dd; font-size:10px; font-weight:700; letter-spacing:.16em; text-decoration:none; transition:color .2s ease; }
.site-nav a:hover,.site-nav a[aria-current="true"] { color:var(--via-blue-claro); }
.header-tools { display:flex; align-items:center; gap:16px; }
.languages { display:flex; padding:3px; border:1px solid #ffffff26; border-radius:99px; }
.languages button { padding:5px 9px; border:0; border-radius:99px; background:none; color:#aeb0b8; cursor:pointer; font-size:10px; font-weight:750; letter-spacing:.08em; }
.languages button[aria-pressed="true"] { background:#ffffff1c; color:#fff; }
.header-cta,.demo-cta { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:10px; border:1px solid #6f8dff; border-radius:3px 14px 3px 14px; background:linear-gradient(115deg,#2F6BFF 0%,#5a4fe6 58%,#8B3FE4 100%); color:#fff; font-size:10px; font-weight:800; letter-spacing:.12em; text-decoration:none; box-shadow:0 8px 26px #2f45b455; transition:filter .2s ease,transform .2s ease; }
.header-cta { min-height:38px; padding:0 14px; }
.header-cta b,.demo-cta b { font-size:14px; line-height:1; }
.header-cta:hover,.demo-cta:hover { filter:brightness(1.12); transform:translateY(-1px); }
.menu-toggle { display:none; width:40px; height:40px; place-items:center; border:1px solid #ffffff2e; border-radius:12px; background:#ffffff0a; cursor:pointer; }
.menu-toggle svg { width:20px; height:20px; fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; }
.menu-celular { position:fixed; z-index:19; top:68px; right:0; left:0; display:flex; flex-direction:column; gap:2px; padding:12px 20px 20px; border-bottom:1px solid #ffffff22; background:#0d0f12f7; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.menu-celular[hidden] { display:none; }
.menu-celular a { padding:14px 4px; border-bottom:1px solid #ffffff12; color:#e6e6ea; font-size:12px; font-weight:750; letter-spacing:.16em; text-decoration:none; }
.menu-celular .menu-demo { margin-top:10px; border:1px solid #ffffff30; border-radius:3px 14px 3px 14px; text-align:center; }

/* Tour (cenas fixas que sobem uma sobre a outra) */
.tour-track { position:relative; height:300svh; }
.tour-step { position:absolute; left:0; width:1px; height:1px; pointer-events:none; }
.tour-stage,.journey-stage { position:sticky; top:0; height:100svh; min-height:600px; overflow:hidden; isolation:isolate; background:var(--ink); }
.scene { position:absolute; inset:0; overflow:hidden; transform:translate3d(0,100%,0); will-change:transform; pointer-events:none; }
.scene--intro { z-index:1; transform:translate3d(0,0,0); }
.scene--kids { z-index:2; }
.scene.is-active { pointer-events:auto; }
.journey-track { position:relative; height:1600svh; }
.adult-screen { position:absolute; z-index:1; inset:0; overflow:hidden; }
.feature-layer { position:absolute; inset:0; overflow:hidden; background:#0b0d0e; transform:translate3d(0,100%,0); will-change:transform; }
.management-layer { z-index:2; }
.student-layer { z-index:3; background:#111314; }
.academy-layer { z-index:4; }
.scene-image,.scene-shade { position:absolute; inset:0; width:100%; height:100%; }
.scene-image { display:block; object-fit:cover; object-position:center 52%; }
.scene--intro .scene-image { object-position:center 54%; }
@media (min-width:761px) and (min-aspect-ratio:6/5) {
  .scene--intro { background:#080909; }
  .scene--intro .scene-image { top:0; right:auto; bottom:auto; left:50%; z-index:1; width:auto; max-width:100%; height:100%; transform:translateX(-50%); object-fit:contain; -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%); }
  .scene--intro .scene-shade { z-index:2; }
}
.scene--kids .scene-image { object-position:61% 55%; }
.scene--adult .scene-image { object-position:55% 54%; }
.scene-shade { background:linear-gradient(90deg,#060707ec 0%,#080909c5 34%,#08090949 73%,#08090920 100%),linear-gradient(0deg,#070808d8 0%,transparent 43%,#07080840 100%); }
.scene-copy { position:absolute; z-index:2; top:50%; left:clamp(28px,8vw,130px); width:min(43vw,590px); transform:translate3d(0,-48%,0); }
.scene-copy--intro { width:min(58vw,780px); }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px; margin-top:30px; }
.demo-cta { min-height:50px; padding:0 20px; font-size:10.5px; }
.hero-nota { margin:16px 0 0; color:#b9bac2; font-size:12px; letter-spacing:.02em; }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 20px; color:#c9ccd5; font-size:10px; font-weight:700; letter-spacing:.2em; }
.eyebrow b { font-weight:inherit; }
.eyebrow span { width:26px; height:2px; flex:none; background:linear-gradient(90deg,#F2F2F4,var(--via-blue),var(--via-violet)); }
.scene h1,.scene h2,.adult-screen h2,.feature-copy h2,.bloco h2 { max-width:780px; margin:0; font-size:clamp(40px,5.7vw,76px); font-weight:430; line-height:1.04; letter-spacing:-.06em; text-wrap:balance; }
.scene h2,.adult-screen h2 { font-size:clamp(38px,5vw,67px); }
.scene em,.adult-screen em,.feature-copy em,.bloco h2 em { background:linear-gradient(100deg,#F2F2F4 0%,#6F9BFF 45%,#B07CF5 100%); -webkit-background-clip:text; background-clip:text; color:transparent; font-style:normal; }
.scene-description { max-width:480px; margin:22px 0 0; color:#e0e0e6; font-size:clamp(13px,1.18vw,16px); line-height:1.75; }
.scroll-link { display:inline-flex; align-items:center; gap:18px; color:#f4f4f6; font-size:10px; font-weight:700; letter-spacing:.16em; text-decoration:none; }
.scroll-link b { color:var(--via-blue-claro); font-size:17px; }

/* Cartão flutuante com mini tela do app (Kids e Adulto) */
.app-card { position:absolute; z-index:4; right:clamp(24px,8vw,126px); bottom:clamp(90px,14vh,140px); margin:0; padding:14px 16px; border:1px solid #ffffff3a; border-radius:3px 24px 3px 24px; background:linear-gradient(145deg,#0B0D0Fd9,#0B0D0Fe6); box-shadow:0 26px 80px #000a,inset 0 1px 0 #ffffff2e; -webkit-backdrop-filter:blur(30px) saturate(150%); backdrop-filter:blur(30px) saturate(150%); }
.app-card .mini { --z:.78; }
.app-card .a-lp { background:transparent; }


/* Indicador das cenas */
.tour-progress { position:fixed; z-index:8; bottom:28px; left:var(--gutter); right:var(--gutter); display:flex; align-items:center; gap:16px; pointer-events:none; transition:opacity .3s ease; }
.tour-progress.is-hidden { opacity:0; }
.progress-label { color:#d6d6dc; font-size:9px; font-weight:700; letter-spacing:.13em; }
.progress-label b { color:#fff; }
.progress-track { width:94px; height:1px; background:#ffffff53; }
.progress-track i { display:block; width:100%; height:2px; background:var(--via-ribbon); transform:scaleX(.17); transform-origin:left center; transition:transform .3s ease; }
.progress-dots { display:flex; gap:6px; }
.progress-dots i { width:6px; height:6px; border-radius:50%; background:#ffffff50; transition:transform .2s ease; }
.progress-dots i:nth-child(1) { background:#F2F2F4; }
.progress-dots i:nth-child(2) { background:#2F6BFF; }
.progress-dots i:nth-child(3) { background:#8B3FE4; }
.progress-dots i:nth-child(4) { background:#9A6338; }
.progress-dots i:nth-child(5) { background:#1A1A1A; box-shadow:0 0 0 1px #ffffff70; }
.progress-dots i:nth-child(6) { background:#C62828; }
.progress-dots i.is-active { transform:scale(1.6); }
.scroll-hint { margin-left:auto; color:#ffffffac; font-size:9px; font-weight:700; letter-spacing:.13em; transition:opacity .3s ease; }
.tour-progress.so-inicio .scroll-hint { opacity:0; }

/* Camadas de recursos (Gestão, Aluno, Comunidade) */
.feature-shade { position:absolute; inset:0; background:radial-gradient(ellipse at 12% 42%,#2F6BFF30,transparent 42%),radial-gradient(ellipse at 84% 82%,#8B3FE41f,transparent 39%),linear-gradient(110deg,#0e1014 0%,#0d0f12 39%,#15161b 100%); }
.student-layer .feature-shade { background:radial-gradient(ellipse at 12% 42%,#8B3FE436,transparent 42%),radial-gradient(ellipse at 82% 82%,#2F6BFF26,transparent 39%),linear-gradient(110deg,#11121a 0%,#12131a 39%,#1b1720 100%); }
.academy-layer .feature-shade { background:radial-gradient(ellipse at 12% 42%,#9A633836,transparent 42%),radial-gradient(ellipse at 82% 80%,#C628281f,transparent 40%),linear-gradient(110deg,#121012 0%,#101114 40%,#191416 100%); }
.feature-copy { position:absolute; z-index:2; top:50%; left:var(--gutter); width:min(35vw,620px); transform:translateY(-50%); }
.feature-copy h2 { max-width:520px; font-size:clamp(38px,4.6vw,66px); }
.student-layer .feature-copy em { background-image:linear-gradient(100deg,#E7D8FF 0%,#B07CF5 60%,#8B3FE4 100%); }
.academy-layer .feature-copy em { background-image:linear-gradient(100deg,#F6E0CF 0%,#C98A5E 55%,#E5484D 100%); }
.feature-description { max-width:420px; margin:20px 0 0; color:#e0e1e6; font-size:clamp(13px,1.1vw,15px); line-height:1.75; }
.feature-count { display:block; margin-top:31px; color:var(--via-blue-claro); font-size:9px; font-weight:750; letter-spacing:.17em; }
.student-layer .feature-count { color:#C3A0F7; }
.academy-layer .feature-count { color:#DDA57F; }

.story-cards-viewport { position:absolute; z-index:2; top:92px; right:clamp(24px,4vw,70px); bottom:0; width:min(52vw,960px); overflow:hidden; }
.story-cards { display:flex; flex-direction:column; align-items:center; gap:22px; padding-bottom:30px; will-change:transform; }
.story-cards-viewport--horizontal { z-index:3; top:92px; right:0; bottom:44px; left:0; width:auto; }
.story-cards--management { flex-direction:row; align-items:center; gap:22px; width:max-content; height:100%; padding:0; }
.story-cards--management .flow-card { width:min(52vw,960px); min-width:680px; max-width:none; }
.story-cards--students { padding-top:16px; }
.story-cards .flow-card:nth-child(6n+1) { --card-accent:#D9DAE0; }
.story-cards .flow-card:nth-child(6n+2) { --card-accent:#3D7BFF; }
.story-cards .flow-card:nth-child(6n+3) { --card-accent:#A06BF2; }
.story-cards .flow-card:nth-child(6n+4) { --card-accent:#B9744F; }
.story-cards .flow-card:nth-child(6n+5) { --card-accent:#A8ABB2; }
.story-cards .flow-card:nth-child(6n) { --card-accent:#E5484D; }
.story-cards--students .flow-card:nth-child(6n+1) { --card-accent:#A8ABB2; }
.story-cards--students .flow-card:nth-child(6n+2) { --card-accent:#A06BF2; }
.story-cards--students .flow-card:nth-child(6n+3) { --card-accent:#F59443; }
.story-cards--students .flow-card:nth-child(6n+4) { --card-accent:#3CC46B; }
.story-cards--students .flow-card:nth-child(6n+5) { --card-accent:#F2C94C; }
.story-cards--students .flow-card:nth-child(6n) { --card-accent:#3D7BFF; }
.story-cards .flow-card { position:relative; flex:0 0 auto; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); grid-template-rows:58px minmax(0,1fr); width:100%; max-width:960px; height:clamp(500px,72svh,720px); margin:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--card-accent) 44%,#ffffff30); border-radius:4px 26px 4px 26px; background:linear-gradient(135deg,#26262bcc 0%,#16191Ddb 100%); color:var(--paper); -webkit-backdrop-filter:blur(30px) saturate(150%); backdrop-filter:blur(30px) saturate(150%); box-shadow:0 26px 72px #0009,0 0 38px color-mix(in srgb,var(--card-accent) 16%,transparent),inset 0 1px 0 #ffffff2e; }
.story-cards .flow-card::before { position:absolute; z-index:2; top:0; right:0; left:0; height:3px; background:linear-gradient(90deg,#ffffff70 0%,var(--card-accent) 18%,var(--card-accent) 82%,#ffffff30 100%); content:""; }
.story-cards .flow-card-head { grid-column:1/-1; grid-row:1; display:flex; align-items:center; gap:13px; padding:0 20px; border-bottom:1px solid #ffffff17; background:linear-gradient(100deg,color-mix(in srgb,var(--card-accent) 14%,transparent),transparent 60%); }
.story-cards .flow-card-index { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border-radius:3px 10px 3px 10px; background:var(--card-accent); color:#0B0D0F; font-size:11px; font-weight:800; }
.story-cards .flow-card-kicker { color:#b4b7c0; font-size:9.5px; font-weight:750; letter-spacing:.14em; }
.story-cards .flow-card-dot { width:7px; height:7px; margin-left:auto; border-radius:50%; background:var(--card-accent); }
.story-cards .screen-preview { position:relative; isolation:isolate; grid-column:1; grid-row:2; min-width:0; min-height:0; margin:0; padding:24px 16px; overflow:hidden; border-right:1px solid #ffffff17; background:radial-gradient(ellipse at 50% 48%,color-mix(in srgb,var(--card-accent) 24%,#15191fd0) 0%,#0b0d10e6 76%); }
.story-cards .screen-preview::before { position:absolute; z-index:-1; inset:-30%; background:linear-gradient(132deg,transparent 40%,color-mix(in srgb,var(--card-accent) 40%,transparent) 40%,color-mix(in srgb,var(--card-accent) 18%,transparent) 54%,transparent 54%); content:""; }
.story-cards .flow-card-copy { grid-column:2; grid-row:2; display:flex; min-width:0; min-height:0; flex-direction:column; justify-content:center; margin:0; padding:clamp(22px,3.5vw,48px); }
.story-cards .flow-card-copy h3 { margin:0 0 14px; color:#f7f7f8; font-size:clamp(22px,2.2vw,31px); font-weight:600; line-height:1.12; letter-spacing:-.045em; }
.story-cards .flow-card-copy p { max-width:380px; margin:0; color:#c3c5cc; font-size:clamp(12.5px,1vw,15px); line-height:1.7; }

.academy-cards { position:absolute; z-index:2; top:50%; right:clamp(24px,4vw,70px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,1.5vw,22px); width:min(52vw,960px); transform:translateY(-50%); }
.community-card { --card-accent:#D9B23C; position:relative; display:flex; height:clamp(440px,66svh,680px); min-width:0; flex-direction:column; overflow:hidden; border:1px solid #ffffff2e; border-radius:4px 26px 4px 26px; background:linear-gradient(135deg,#26262bcc,#16191Ddb); -webkit-backdrop-filter:blur(30px) saturate(150%); backdrop-filter:blur(30px) saturate(150%); box-shadow:0 26px 60px #0008,inset 0 1px 0 #ffffff2e; }
.community-card:nth-child(2) { --card-accent:#2F6BFF; }
.community-card::before { position:absolute; z-index:2; top:0; right:0; left:0; height:3px; background:var(--card-accent); content:""; }
.community-card-visual { position:relative; display:flex; height:55%; flex-direction:column; align-items:center; justify-content:center; gap:22px; overflow:hidden; background:radial-gradient(ellipse at 50% 46%,color-mix(in srgb,var(--card-accent) 26%,#1b1f27) 0%,#0b0d10 78%); }
.community-label { color:#c3c6d0; font-size:9px; font-weight:750; letter-spacing:.16em; text-align:center; }
.podium { display:grid; grid-template-columns:repeat(3,72px); align-items:end; gap:10px; }
.podium .pd { display:flex; flex-direction:column; align-items:center; gap:8px; }
.podium .pd::after { width:100%; height:var(--alt); border-top:3px solid var(--med); border-radius:10px 10px 0 0; background:linear-gradient(180deg,color-mix(in srgb,var(--med) 30%,#1A1F23),#121518); content:""; }
.podium .pd1 { --alt:96px; --med:#D9B23C; }
.podium .pd2 { --alt:64px; --med:#C9CDD2; }
.podium .pd3 { --alt:44px; --med:#C27A3C; }
.podium .m-av { width:52px; height:52px; font-size:15px; }
.podium .pd1 .m-av { width:62px; height:62px; font-size:17px; }
.podium i { color:#eee; font-size:13px; font-style:normal; font-weight:800; }
.medalhas-trio { display:flex; align-items:flex-end; gap:18px; }
.medalhas-trio .medalha { --s:54px; }
.medalhas-trio .medalha--g { --s:84px; }
.academy-card-copy { flex:1; padding:clamp(18px,2vw,28px); border-top:1px solid #ffffff17; }
.academy-card-copy .eyebrow { margin:0 0 12px; color:color-mix(in srgb,var(--card-accent) 70%,#fff); font-size:9px; }
.academy-card-copy h3 { margin:0 0 10px; font-size:clamp(19px,1.8vw,25px); font-weight:600; line-height:1.15; letter-spacing:-.04em; }
.academy-card-copy > p:last-child { max-width:360px; margin:0; color:#c3c5cc; font-size:clamp(11.5px,.95vw,13.5px); line-height:1.65; }

/* Seções que rolam normalmente */
.bloco { position:relative; padding:clamp(84px,11vw,150px) 0; border-top:1px solid #ffffff12; background:var(--ink); }
.bloco-wrap { width:min(1180px,calc(100% - 2 * var(--gutter))); margin:0 auto; }
.bloco h2 { font-size:clamp(36px,4.8vw,66px); }
.bloco-texto { max-width:560px; margin:20px 0 0; color:#d4d5db; font-size:clamp(13.5px,1.15vw,16px); line-height:1.75; }
.bloco-texto a { color:var(--via-blue-claro); }

.dores { background:radial-gradient(ellipse at 85% 10%,#2F6BFF1a,transparent 45%),var(--ink); }
.dores-tabela { display:grid; gap:10px; margin-top:clamp(36px,5vw,60px); }
.dores-cab,.dor { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:10px; }
.dores-cab span { padding:0 22px; color:var(--suave); font-size:10px; font-weight:800; letter-spacing:.18em; }
.dores-cab span:last-child { color:#fff; }
.dor p { display:flex; align-items:center; gap:12px; margin:0; padding:18px 22px; font-size:clamp(13px,1.1vw,15.5px); line-height:1.5; }
.dor p:first-child { border:1px dashed #ffffff1f; border-radius:4px 20px 4px 20px; color:#8f9099; text-decoration:line-through; text-decoration-color:#ffffff40; }
.dor p:last-child { border:1px solid color-mix(in srgb,var(--c) 40%,#ffffff1c); border-radius:4px 20px 4px 20px; background:linear-gradient(135deg,#232327,#16191D); color:#f3f3f5; box-shadow:inset 3px 0 0 var(--c); }
.dor svg { width:20px; height:20px; flex:none; fill:none; stroke:var(--c); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

.faixas { overflow:hidden; background:radial-gradient(ellipse at 75% 50%,color-mix(in srgb,var(--demo-ac,#A06BF2) 22%,transparent),transparent 55%),var(--ink); transition:background .4s ease; }
.faixas-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:clamp(30px,5vw,80px); }
.faixa-escolha { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; max-width:560px; }
.faixa-escolha button { display:inline-flex; align-items:center; gap:8px; padding:9px 14px 9px 10px; border:1px solid #ffffff26; border-radius:99px; background:#15181b; color:#e8e8ec; cursor:pointer; font-size:13px; font-weight:600; transition:border-color .2s ease,background .2s ease; }
.faixa-escolha button::before { width:22px; height:10px; border-radius:2px; background:var(--fx); box-shadow:inset -6px 0 #111,0 0 0 1px #ffffff30; content:""; }
.faixa-escolha button[data-faixa="preta"]::before { box-shadow:inset -6px 0 #E5484D,0 0 0 1px #ffffff30; }
.faixa-escolha button[aria-checked="true"] { border-color:#fff; background:#ffffff14; }
.faixa-grupo { flex-basis:100%; margin-top:8px; color:var(--suave); font-size:9.5px; font-weight:800; letter-spacing:.18em; }
.graus-escolha { display:flex; align-items:center; gap:12px; margin-top:22px; }
.graus-escolha span { color:var(--suave); font-size:9.5px; font-weight:800; letter-spacing:.18em; }
.graus-escolha button { width:38px; height:38px; border:1px solid #ffffff30; border-radius:50%; background:#15181b; cursor:pointer; font-size:18px; }
.graus-escolha button:disabled { opacity:.35; cursor:default; }
.graus-escolha b { min-width:22px; font-size:22px; text-align:center; font-variant-numeric:tabular-nums; }
.faixas-telefone { position:relative; height:clamp(520px,70vh,700px); }

.passos-grade { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,22px); margin-top:clamp(36px,5vw,60px); }
.via-card { position:relative; padding:clamp(24px,2.6vw,36px); border:1px solid #ffffff1f; border-radius:4px 26px 4px 26px; background:linear-gradient(135deg,#232327,#16191D); }
.via-tab { position:absolute; top:-1px; right:-1px; display:grid; min-width:54px; height:38px; place-items:center; border-radius:0 26px 0 14px; background:var(--c); color:#fff; font-size:13px; font-weight:800; letter-spacing:.06em; }
.via-card svg { width:34px; height:34px; fill:none; stroke:var(--c); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.via-card h3 { margin:18px 0 10px; font-size:clamp(19px,1.8vw,24px); font-weight:600; letter-spacing:-.03em; }
.via-card p { margin:0; color:#c3c5cc; font-size:14px; line-height:1.65; }

.precos { background:radial-gradient(ellipse at 15% 20%,#8B3FE41c,transparent 45%),radial-gradient(ellipse at 90% 90%,#2F6BFF1a,transparent 45%),var(--ink); }
.periodo { display:inline-flex; margin-top:30px; padding:4px; border:1px solid #ffffff26; border-radius:99px; background:#121518; }
.periodo button { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border:0; border-radius:99px; background:none; color:#aeb0b8; cursor:pointer; font-size:13px; font-weight:650; }
.periodo button small { padding:2px 7px; border-radius:99px; background:#3DDC8424; color:#3DDC84; font-size:10px; font-weight:800; }
.periodo button[aria-pressed="true"] { background:#ffffff1c; color:#fff; box-shadow:inset 0 0 0 1.5px #ffffff40; }
.planos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,22px); margin-top:26px; }
.plano { position:relative; padding:clamp(24px,2.4vw,34px); border:1px solid color-mix(in srgb,var(--c) 34%,#ffffff1f); border-radius:4px 26px 4px 26px; background:linear-gradient(135deg,#232327,#16191D); box-shadow:inset 0 3px 0 var(--c); }
.plano--destaque { box-shadow:inset 0 3px 0 var(--c),0 0 50px color-mix(in srgb,var(--c) 22%,transparent); }
.plano-nome { margin:0; color:color-mix(in srgb,var(--c) 70%,#fff); font-size:11px; font-weight:800; letter-spacing:.16em; }
.plano-selo { position:absolute; top:-1px; right:-1px; padding:8px 14px; border-radius:0 26px 0 14px; background:var(--c); color:#fff; font-size:9px; font-weight:800; letter-spacing:.14em; }
.plano-limite { margin:10px 0 0; color:#e6e6ea; font-size:15px; }
.plano-preco { display:flex; align-items:baseline; gap:6px; margin:22px 0 0; }
.plano-preco b { font-size:clamp(32px,3.4vw,44px); font-weight:700; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.plano-preco small { color:var(--suave); font-size:14px; }
.plano-anual { min-height:20px; margin:6px 0 0; color:var(--suave); font-size:13px; }
.plano-inclui { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 22px; margin:28px 0 0; padding:0; list-style:none; }
.plano-inclui li { display:flex; align-items:center; gap:10px; color:#d4d5db; font-size:14px; }
.plano-inclui li::before { width:18px; height:18px; flex:none; border-radius:50%; background:#3DDC8424 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233DDC84' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat; content:""; }
.precos-nota { margin:26px 0 24px; color:var(--suave); font-size:12.5px; line-height:1.6; }

.duvidas-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,5vw,80px); align-items:start; }
.faq { display:grid; gap:10px; }
.faq details { border:1px solid #ffffff1f; border-radius:4px 20px 4px 20px; background:linear-gradient(135deg,#1d1e22,#15181b); }
.faq details[open] { border-color:#ffffff38; }
.faq summary { position:relative; padding:18px 52px 18px 22px; cursor:pointer; font-size:15px; font-weight:600; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { position:absolute; top:50%; right:20px; width:22px; height:22px; border-radius:50%; background:#ffffff12; color:var(--via-blue-claro); content:"+"; font-size:16px; line-height:22px; text-align:center; transform:translateY(-50%); }
.faq details[open] summary::after { content:"−"; }
.faq p { margin:0; padding:0 22px 20px; color:#c3c5cc; font-size:14px; line-height:1.7; }

.baixar { background:linear-gradient(110deg,#0b0d0e 0%,#0b0d0e 39%,#111314 100%); }
.baixar h2 em { background-image:linear-gradient(100deg,#F2F2F4,#6F9BFF 60%,#B07CF5); }
.store-options { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 30px; }
.store-option { display:grid; min-width:205px; min-height:82px; align-content:center; justify-items:start; row-gap:4px; padding:8px 14px; border:1px solid #ffffff38; border-radius:4px 18px 4px 18px; background:linear-gradient(145deg,#ffffff14,#ffffff05 46%,#10151ccc 100%); }
.store-option:first-child { border-color:#2F6BFF70; }
.store-option:last-child { border-color:#3CC46B70; }
.store-badge { display:block; width:auto; object-fit:contain; }
.store-badge--apple { height:40px; }
.store-badge--google { height:48px; margin-block:-4px; }
.store-status { color:#9fbfff; font-size:8px; font-weight:800; letter-spacing:.13em; }

.site-footer { position:relative; padding:44px 0 56px; border-top:1px solid #ffffff22; background:#0b0d0e; }
.footer-inner { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.5fr); align-items:center; gap:clamp(22px,4vw,60px); }
.final-brands { display:flex; align-items:center; gap:clamp(14px,2vw,26px); }
.final-logo { display:block; width:clamp(118px,12vw,160px); height:auto; }
.brand-divider { width:1px; height:48px; background:#ffffff48; }
.ellai-logo { display:block; width:clamp(110px,13vw,160px); height:auto; max-height:60px; object-fit:contain; filter:invert(1) hue-rotate(180deg); }
.final-legal > p { margin:0 0 10px; color:#d0d0d6; font-size:12px; line-height:1.4; }
.final-links { display:flex; flex-wrap:wrap; align-items:center; gap:6px 9px; }
.final-links a,.final-links i { color:#c6c6cc; font-size:10px; font-style:normal; font-weight:650; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.final-links a:hover { color:var(--via-blue-claro); text-decoration:underline; text-underline-offset:3px; }
.final-bottom-band { position:absolute; right:0; bottom:0; left:0; height:4px; background:var(--via-ribbon); }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width:1100px) {
  .site-nav { display:none; }
  .menu-toggle { display:grid; }
  .header-tools { margin-left:auto; }
}
@media (max-width:980px) {
  .faixas-layout,.duvidas-layout { grid-template-columns:1fr; }
  .passos-grade,.planos { grid-template-columns:1fr; max-width:560px; }
  .plano-inclui { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .site-header { height:68px; gap:12px; padding-inline:16px; }
  .header-cta { display:none; }
  .languages button { padding:5px 8px; }
  .tour-track { height:max(300svh,calc(600px + 200svh)); }
  .tour-stage,.journey-stage { height:max(100svh,600px); }
  .journey-track { height:max(1600svh,calc(600px + 1500svh)); }
  .scene--intro .scene-image { object-position:57% center; }
  .scene--kids .scene-image { object-position:66% center; }
  .scene--adult .scene-image { object-position:57% center; }
  .scene-shade { background:linear-gradient(0deg,#050606f5 0%,#080909c0 46%,#08090930 100%),linear-gradient(90deg,#05060660,transparent 90%); }
  .scene-copy,.scene-copy--intro { top:auto; bottom:92px; left:20px; right:20px; width:auto; transform:none; }
  .scene h1,.scene h2,.adult-screen h2 { font-size:clamp(36px,10vw,56px); }
  .scene-description { margin-top:14px; font-size:13px; line-height:1.6; }
  .eyebrow { margin-bottom:14px; font-size:9px; }
  .hero-actions { gap:14px 18px; margin-top:20px; }
  .demo-cta { min-height:46px; padding-inline:16px; font-size:10px; }
  .app-card { top:84px; right:16px; bottom:auto; width:min(230px,62vw); padding:8px; }
  .app-card { padding:10px 12px; }
  .app-card .mini { --z:.56; }
  .tour-progress { bottom:26px; left:20px; right:20px; gap:10px; }
  .progress-track { width:52px; }
  .scroll-hint { display:none; }
  .feature-copy { top:84px; left:20px; right:20px; width:auto; transform:none; }
  .feature-copy .eyebrow { margin-bottom:10px; }
  .feature-copy h2 { font-size:clamp(28px,8vw,42px); }
  .feature-description { margin-top:10px; font-size:12px; line-height:1.55; }
  .feature-count { display:none; }
  .story-cards-viewport,.story-cards-viewport--horizontal { top:40%; right:16px; bottom:60px; left:16px; width:auto; }
  .story-cards { align-items:stretch; gap:14px; }
  .story-cards--management { flex-direction:column; align-items:stretch; width:100%; height:auto; padding-bottom:30px; }
  .story-cards--management .flow-card { width:100%; min-width:0; }
  .story-cards .flow-card { display:flex; flex-direction:column; width:100%; height:auto; min-height:0; }
  .story-cards .flow-card-head { flex:0 0 46px; padding-inline:13px; }
  .story-cards .flow-card-index { width:26px; height:26px; font-size:10px; }
  .story-cards .flow-card-kicker { font-size:8px; }
  .story-cards .screen-preview { flex:0 0 clamp(250px,38svh,330px); padding:12px; border-right:0; border-bottom:1px solid #ffffff17; }
  .story-cards .flow-card-copy { padding:14px 16px 18px; }
  .story-cards .flow-card-copy h3 { margin-bottom:6px; font-size:17px; }
  .story-cards .flow-card-copy p { font-size:12px; line-height:1.55; }
  .academy-cards { top:auto; right:16px; bottom:60px; left:16px; width:auto; height:calc(60% - 60px); transform:none; gap:10px; }
  .community-card { height:100%; }
  .community-card-visual { height:50%; gap:10px; }
  .community-label { font-size:7px; }
  .community-card-visual .mini { --z:.36 !important; }
  .academy-card-copy { padding:10px 11px; }
  .academy-card-copy .eyebrow { margin-bottom:6px; font-size:7px; letter-spacing:.12em; }
  .academy-card-copy h3 { margin-bottom:5px; font-size:14px; }
  .academy-card-copy > p:last-child { font-size:10px; line-height:1.45; }
  .dores-cab { display:none; }
  .dor { grid-template-columns:1fr; gap:0; }
  .dor p { padding:14px 16px; font-size:14px; }
  .dor p:first-child { border-bottom:0; border-radius:4px 20px 0 0; font-size:13px; }
  .dor p:last-child { border-radius:0 0 4px 20px; }
  .faixas-telefone { height:560px; }
  .plano-inclui { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; gap:20px; }
  .store-option { min-width:min(100%,205px); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}
