/* VoltZ Book · landing (página de venda). Prefixo gl-.
   Visual da tela de bloqueio do painel: fundo azul escuro com aurora, logo 3D VoltZ.
   Resto no padrão startup: superfícies sólidas, um roxo só no botão principal. */

:root{
  --gl-bg:#0a0f1d;
  --gl-surface:#12141f;
  --gl-line:rgba(255,255,255,.1);
  --gl-line-hi:rgba(255,255,255,.16);
  --gl-acc:#7C3AED;
  --gl-acc-h:#6D28D9;
  --gl-ink:#A78BFA;
  --gl-text:#fff;
  --gl-t2:rgba(255,255,255,.62);
  --gl-t3:rgba(255,255,255,.42);
  --gl-cond:'Barlow Condensed',system-ui,sans-serif;
  --gl-sans:'Outfit',system-ui,sans-serif;
  --gl-mono:'JetBrains Mono',ui-monospace,monospace;
  --gl-ease:cubic-bezier(.22,.61,.36,1);
  --gl-ease-out:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.gl-body{margin:0;min-height:100vh;background:var(--gl-bg);color:var(--gl-text);font-family:var(--gl-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--gl-ink);outline-offset:3px;border-radius:6px}

/* ── Fundo: o mesmo da tela de bloqueio, fixo atrás de tudo ── */
.gl-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:
  radial-gradient(ellipse at 95% 0%,rgba(18,61,83,.85) 0%,transparent 52%),
  linear-gradient(145deg,#0a0f1d,#0b1424 60%,#0d1628)}
.gl-bg::before{content:"";position:absolute;width:520px;height:520px;right:-240px;top:6%;border-radius:50%;background:radial-gradient(circle,rgba(57,160,200,.2),transparent 68%)}
.gl-orb{position:absolute;width:1100px;height:780px;left:-220px;bottom:-460px;border-radius:48%;opacity:.5;
  background:radial-gradient(ellipse at 28% 42%,#35f2cb 0%,#169eaf 17%,transparent 43%),radial-gradient(ellipse at 64% 46%,#407bff 6%,#4c53d9 26%,transparent 58%),radial-gradient(ellipse at 84% 62%,#a97eea 0%,transparent 40%);
  filter:blur(56px);animation:gl-drift 16s ease-in-out infinite alternate;will-change:transform}
.gl-orb.b{left:auto;right:-320px;bottom:auto;top:-420px;width:900px;height:640px;opacity:.3;animation-duration:22s;animation-direction:alternate-reverse}
.gl-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 42%,transparent 40%,rgba(6,8,16,.55) 100%)}
@keyframes gl-drift{from{transform:translate3d(-35px,15px,0) rotate(-9deg) scale(.96)}to{transform:translate3d(45px,-35px,0) rotate(12deg) scale(1.08)}}

/* Pular para o conteúdo: só aparece com o teclado */
.gl-skip{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 14px;border-radius:10px;background:#fff;color:#111;font-weight:600;text-decoration:none;transition:top .2s var(--gl-ease)}
.gl-skip:focus{top:12px}

/* ── Topo: discreto, sólido ── */
.gl-top{position:sticky;top:0;z-index:20;background:rgba(10,15,29,.86);border-bottom:1px solid var(--gl-line)}
.gl-top-in{max-width:1200px;margin:0 auto;height:64px;padding:0 24px;display:flex;align-items:center;gap:24px}
.gl-brand{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;color:var(--gl-text)}
.gl-brand img{width:67px;height:22px}
.gl-brand-tag{font:600 11px/1 var(--gl-mono);letter-spacing:1.8px;color:var(--gl-t2);padding-left:12px;border-left:1px solid var(--gl-line-hi)}
.gl-nav{display:flex;gap:2px;margin-left:auto}
.gl-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;color:var(--gl-t2);text-decoration:none;font-size:14.5px;transition:color .15s var(--gl-ease),background-color .15s var(--gl-ease)}
.gl-nav a:hover{color:var(--gl-text);background:rgba(255,255,255,.05)}
.gl-top-acts{display:flex;gap:8px;flex-shrink:0}

/* ── Botões ── */
.gl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;
  font:600 14.5px/1 var(--gl-sans);text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background-color .2s var(--gl-ease),border-color .2s var(--gl-ease),color .2s var(--gl-ease)}
.gl-btn.primary{background:var(--gl-acc);color:#fff}
.gl-btn.primary:hover{background:var(--gl-acc-h)}
.gl-btn.ghost{background:transparent;color:var(--gl-text);border-color:rgba(255,255,255,.18)}
.gl-btn.ghost:hover{background:rgba(255,255,255,.05);border-color:var(--gl-line-hi)}
.gl-btn.lg{min-height:50px;padding:0 22px;border-radius:14px;font-size:15px;width:100%;max-width:360px}
.gl-btn.gl-wide{max-width:none}

/* ── Hero: igual à tela de bloqueio ── */
.gl-main{position:relative;z-index:1}
.gl-hero{position:relative;z-index:1;min-height:calc(100vh - 64px);min-height:calc(100svh - 64px);display:flex;align-items:center;justify-content:center;padding:56px 24px 72px}
.gl-hero-in{width:100%;max-width:720px;display:flex;flex-direction:column;align-items:center;text-align:center}

.gl-stage{--w:min(600px,72vw);position:relative;width:var(--w);aspect-ratio:1442/476;margin:0 0 clamp(28px,5vh,52px);
  perspective:1100px;perspective-origin:50% 45%;user-select:none;-webkit-user-select:none;animation:gl-stage-in .9s var(--gl-ease-out) .08s both}
.gl-flat{width:100%;height:100%;object-fit:contain}
.gl-obj{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform;transform:translate3d(0,0,0)}
.gl-obj > *{position:absolute;inset:0;backface-visibility:hidden;outline:1px solid transparent}
/* Mesma silhueta da logo em todas as camadas (máscara do PNG) */
.gl-ex,.gl-shade,.gl-sheen{-webkit-mask:url(/login/src/voltz-logo.png) center/100% 100% no-repeat;mask:url(/login/src/voltz-logo.png) center/100% 100% no-repeat}
.gl-ex{background:var(--c);transform:translateZ(var(--z))}
.gl-face{width:100%;height:100%;display:block;transform:translateZ(.5px);pointer-events:none;-webkit-user-drag:none;filter:drop-shadow(0 0 .5px rgba(255,255,255,.25))}
/* Sombreado: lado oposto à luz fica levemente mais escuro */
.gl-shade{transform:translateZ(.6px);mix-blend-mode:multiply;opacity:.85;background:linear-gradient(var(--la,90deg),rgba(255,255,255,0) 20%,rgba(78,64,150,.34) 100%)}
/* Reflexo que acompanha o cursor */
.gl-sheen{transform:translateZ(.7px);mix-blend-mode:soft-light;background:radial-gradient(ellipse 34% 90% at var(--lx,50%) var(--ly,38%),rgba(255,255,255,.95),rgba(255,255,255,0) 70%)}
/* Sombra de contato no "chão" */
.gl-floor{position:absolute;left:12%;right:12%;bottom:-18%;height:22%;border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.6),rgba(0,0,0,0) 70%);filter:blur(10px);opacity:.62}
@keyframes gl-stage-in{from{opacity:0;transform:translate3d(0,14px,0) scale(.94)}to{opacity:1;transform:none}}
@keyframes gl-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gl-rise{animation:gl-rise .7s var(--gl-ease-out) both}
.gl-rise.d1{animation-delay:.22s}
.gl-rise.d2{animation-delay:.3s}

.gl-info{display:flex;flex-direction:column;align-items:center;gap:14px}
.gl-badge{display:inline-flex;align-items:center;gap:9px;font:600 11px/1 var(--gl-mono);letter-spacing:1.8px;text-transform:uppercase;color:rgba(255,255,255,.72)}
.gl-badge img{width:22px;height:22px;border-radius:6px;flex-shrink:0}
.gl-info h1{font:700 clamp(36px,4.6vw,52px)/1.04 var(--gl-cond);letter-spacing:.2px;text-wrap:balance;max-width:20ch}
.gl-sub{max-width:520px;font-size:17px;line-height:1.6;color:var(--gl-t2);text-wrap:pretty}

.gl-cta{width:100%;max-width:360px;margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:14px}
.gl-price{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:6px}
.gl-price b{font:800 64px/1 var(--gl-cond);letter-spacing:.4px;font-variant-numeric:tabular-nums;white-space:nowrap}
.gl-price span{font-size:14px;color:var(--gl-t3);white-space:nowrap}
.gl-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;font-size:13.5px;color:var(--gl-t3)}
.gl-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--gl-t2);text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px;transition:color .15s var(--gl-ease)}
.gl-links a:hover{color:var(--gl-text)}

/* ── Seções ── */
.gl-sec{position:relative;z-index:1;padding:104px 0}
.gl-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.gl-narrow{max-width:760px}
.gl-center{text-align:center}
.gl-eyebrow{font:600 11px/1 var(--gl-mono);letter-spacing:1.8px;text-transform:uppercase;color:var(--gl-t2);margin-bottom:14px}
.gl-sec h2{font:700 clamp(32px,4vw,44px)/1.06 var(--gl-cond);letter-spacing:.2px;text-wrap:balance}
.gl-sec .gl-sub{margin-top:14px}

/* Recursos */
.gl-cards{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gl-card{background:var(--gl-surface);border:1px solid var(--gl-line);border-radius:20px;padding:28px 26px 30px;display:flex;flex-direction:column;gap:14px;min-width:0}
.gl-card-ic{color:var(--gl-ink);flex-shrink:0}
.gl-card h3{font:700 28px/1.05 var(--gl-cond);letter-spacing:.2px;margin-top:6px}
.gl-card ul{display:grid;gap:11px;margin-top:2px}
.gl-card li{position:relative;padding-left:18px;color:var(--gl-t2);font-size:15px;line-height:1.5}
.gl-card li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--gl-ink)}

/* Faixa da agenda */
.gl-faixa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:64px;align-items:center}
.gl-faixa-txt{min-width:0}
.gl-rows{margin-top:32px;border-top:1px solid var(--gl-line)}
.gl-rows li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--gl-line)}
.gl-row-day{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.gl-row-day b{font:700 34px/1 var(--gl-cond);font-variant-numeric:tabular-nums}
.gl-row-day span{font:600 10.5px/1 var(--gl-mono);letter-spacing:1.2px;color:var(--gl-t3);margin-top:6px}
.gl-row-txt{min-width:0;display:flex;flex-direction:column;gap:3px}
.gl-row-t{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-row-c{font-size:13.5px;color:var(--gl-t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-row-st{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--c);white-space:nowrap}
.gl-row-st::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.gl-rows li.gl-x .gl-row-t{text-decoration:line-through;color:var(--gl-t2)}
.gl-rows li.gl-x .gl-row-c{color:var(--gl-t3)}

.gl-mini{background:var(--gl-surface);border:1px solid var(--gl-line);border-radius:20px;padding:22px;min-width:0}
.gl-mini-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font:600 12px/1 var(--gl-mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--gl-t2)}
.gl-cal-wd,.gl-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.gl-cal-wd{margin-bottom:6px}
.gl-cal-wd span{text-align:center;font:500 10.5px/1 var(--gl-mono);color:var(--gl-t3);padding:4px 0}
.gl-day{aspect-ratio:1/1;border-radius:10px;display:flex;align-items:center;justify-content:center;font:600 16px/1 var(--gl-cond);color:var(--gl-t2);font-variant-numeric:tabular-nums;border:1px solid transparent}
.gl-day.ev{background:var(--soft);color:var(--gl-text);border-bottom:2px solid var(--c)}
.gl-day.ev.gl-x{color:var(--gl-t2);text-decoration:line-through;text-decoration-color:var(--c)}
.gl-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--gl-line)}
.gl-legend li{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--gl-t2)}
.gl-legend li::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--c)}

/* Preço */
.gl-plan{margin:44px auto 0;max-width:520px;background:var(--gl-surface);border:1px solid var(--gl-line);border-radius:22px;padding:40px 36px 30px;text-align:center}
.gl-plan-name{font:600 11px/1 var(--gl-mono);letter-spacing:1.8px;text-transform:uppercase;color:var(--gl-t2)}
.gl-plan-price{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:14px 0 26px}
.gl-plan-price b{font:800 72px/1 var(--gl-cond);letter-spacing:.4px}
.gl-plan-price span{font-size:15px;color:var(--gl-t3)}
.gl-checks{display:grid;gap:12px;text-align:left;margin-bottom:30px;padding-top:24px;border-top:1px solid var(--gl-line)}
.gl-checks li{position:relative;padding-left:30px;font-size:15.5px;color:var(--gl-t2);line-height:1.45}
.gl-checks li::before{content:"";position:absolute;left:2px;top:.22em;width:14px;height:8px;border-left:2px solid var(--gl-ink);border-bottom:2px solid var(--gl-ink);transform:rotate(-45deg)}
.gl-fine{margin-top:16px;font-size:13px;line-height:1.55;color:var(--gl-t3)}
.gl-fine a{color:var(--gl-t2);text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}
.gl-fine a:hover{color:var(--gl-text)}

/* Dúvidas */
.gl-faq{margin-top:40px;display:grid;gap:10px}
.gl-faq-item{background:var(--gl-surface);border:1px solid var(--gl-line);border-radius:16px;transition:border-color .2s var(--gl-ease)}
.gl-faq-item[open]{border-color:var(--gl-line-hi)}
.gl-faq-item summary{list-style:none;cursor:pointer;min-height:58px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:600 16.5px/1.3 var(--gl-sans);border-radius:16px}
.gl-faq-item summary::-webkit-details-marker{display:none}
.gl-faq-item summary:focus-visible{outline-offset:-2px}
.gl-faq-ic{flex-shrink:0;color:var(--gl-t2);transition:transform .3s var(--gl-ease)}
.gl-faq-item[open] .gl-faq-ic{transform:rotate(180deg);color:var(--gl-ink)}
.gl-faq-a{padding:0 20px 18px;color:var(--gl-t2);font-size:15px;line-height:1.6}
.gl-faq-a p{text-wrap:pretty}
.gl-faq-a a{color:var(--gl-text);text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px}
.gl-faq-item[open] .gl-faq-a{animation:gl-open .3s var(--gl-ease-out) both}
@keyframes gl-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ── Rodapé ── */
.gl-foot{position:relative;z-index:1;border-top:1px solid var(--gl-line);background:rgba(10,15,29,.6);padding:44px 0 52px}
.gl-foot-in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 48px;align-items:center}
.gl-foot-brand{display:flex;flex-direction:column;gap:12px}
.gl-foot-brand img{width:67px;height:22px}
.gl-foot-brand p{font-size:13.5px;color:var(--gl-t3)}
.gl-foot-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px}
.gl-foot-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;color:var(--gl-t2);text-decoration:none;font-size:14px;transition:color .15s var(--gl-ease)}
.gl-foot-nav a:hover{color:var(--gl-text)}
.gl-foot-lgpd{grid-column:1 / -1;font-size:12.5px;color:var(--gl-t3);padding-top:20px;border-top:1px solid var(--gl-line)}

/* ── Movimento reduzido: logo parada, fundo parado, sem animações de entrada ── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .gl-orb,.gl-orb.b{animation:none}
  .gl-stage,.gl-rise,.gl-faq-item[open] .gl-faq-a{animation:none}
  .gl-faq-ic,.gl-skip{transition:none}
}

/* ── Celular (a página é pública: empilha tudo, sem esforço extra) ── */
@media (max-width:860px){
  .gl-top-in{padding:0 16px;gap:12px}
  .gl-brand-tag{font-size:10px}
  .gl-nav{display:none}
  .gl-top-acts{margin-left:auto}
  .gl-top-acts .gl-btn{min-height:44px;padding:0 14px}
  .gl-hero{padding:40px 16px 56px;min-height:auto}
  .gl-stage{--w:min(520px,78vw);margin-bottom:36px}
  .gl-info h1{font-size:36px}
  .gl-sub{font-size:16px}
  .gl-cta{margin-top:28px}
  .gl-price b{font-size:56px}
  .gl-sec{padding:72px 0}
  .gl-wrap{padding:0 16px}
  .gl-cards{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:32px}
  .gl-faixa{grid-template-columns:minmax(0,1fr);gap:44px}
  .gl-rows li{grid-template-columns:56px minmax(0,1fr)}
  .gl-row-st{grid-column:2;justify-self:start}
  .gl-plan{padding:32px 22px 26px}
  .gl-plan-price b{font-size:60px}
  .gl-foot-in{grid-template-columns:minmax(0,1fr)}
  .gl-foot-nav{justify-content:flex-start}
}
@media (max-width:420px){
  .gl-top-acts .gl-btn.ghost{display:none}
}
