/* NeuralMind home: one continuous space background (aurora gradients + a fixed three.js scene), glass content on top. */
:root{
  --bg:#05040f; --txt:#eef2ff; --dim:#aab3e6; --line:rgba(255,255,255,.12);
  --glass:rgba(20,16,58,.42); --glass-strong:rgba(18,14,52,.72);
  --c1:#67e8f9; --c2:#818cf8; --c3:#c084fc; --c4:#f472b6;
  --grad:linear-gradient(90deg,var(--c1),var(--c2) 35%,var(--c3) 65%,var(--c4));
  --btn:linear-gradient(135deg,#22d3ee,#6366f1 50%,#d946ef);
  --r:22px;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:84px; }
body{ margin:0; min-height:100vh; background:var(--bg); color:var(--txt); font-family:'Outfit', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a{ color:inherit; }
svg.ico{ width:1em; height:1em; flex:none; }
.glass { background:var(--glass); border:1px solid var(--line); border-radius:var(--r); backdrop-filter:blur(12px) saturate(140%); -webkit-backdrop-filter:blur(12px) saturate(140%); }
/* ---------- background: fixed, so every section shares it (no separations) ---------- */
.sky{ position:fixed; inset:0; z-index:-2; overflow:hidden; background:radial-gradient(120% 90% at 50% 0%, #1b1452 0%, #0a0822 55%, #05040f 100%); }
.aur{ position:absolute; display:block; border-radius:50%; mix-blend-mode:screen; animation:drift 18s ease-in-out infinite alternate; }
.aur.a1{ width:80vmax; height:80vmax; top:-36vmax; left:-26vmax; background:radial-gradient(circle, rgba(124,58,237,.62), transparent 62%); }
.aur.a2{ width:72vmax; height:72vmax; bottom:-36vmax; right:-24vmax; background:radial-gradient(circle, rgba(34,211,238,.42), transparent 62%); animation-delay:-6s; }
.aur.a3{ width:54vmax; height:54vmax; top:30%; left:40%; background:radial-gradient(circle, rgba(236,72,153,.3), transparent 62%); animation-delay:-11s; animation-duration:22s; }
@keyframes drift{ to{ transform:translate(6vmax,5vmax) scale(1.12); } }
#bg{ position:fixed; inset:0; z-index:-1; width:100%; height:100%; display:block; opacity:0; transition:opacity 1.2s ease; pointer-events:none; }
#bg.on{ opacity:1; }

/* ---------- nav ---------- */
.nav{ position:fixed; z-index:10; top:max(12px, env(safe-area-inset-top)); left:50%; transform:translateX(-50%); width:min(1120px, calc(100% - 24px));
  display:flex; align-items:center; gap:18px; padding:8px 8px 8px 16px; border-radius:18px; background:var(--glass); border:1px solid var(--line);
  backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%); transition:background .3s; }
.nav.scrolled{ background:var(--glass-strong); }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; font-family:'Orbitron', sans-serif; font-weight:700; font-size:17px; letter-spacing:.04em; }
.brand b{ font-weight:900; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.mark{ width:34px; height:34px; filter:drop-shadow(0 0 10px rgba(167,139,250,.6)); }
.mkRing{ transform-origin:32px 32px; animation:ringSpin 9s linear infinite; }
@keyframes ringSpin{ to{ transform:rotate(340deg); } }
.links{ display:flex; gap:4px; margin-left:auto; }
.links a{ text-decoration:none; font-size:15px; color:var(--dim); padding:8px 14px; border-radius:12px; transition:color .2s, background .2s; }
.links a:hover, .links a.active{ color:var(--txt); background:rgba(255,255,255,.07); }
.menu{ display:none; width:40px; height:40px; border-radius:12px; border:1px solid var(--line); background:rgba(255,255,255,.05); color:var(--txt); font-size:18px; cursor:pointer; align-items:center; justify-content:center; }

/* ---------- buttons ---------- */
.btn{ position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:9px; height:50px; padding:0 26px; border-radius:16px;
  font:600 16px/1 'Outfit', sans-serif; letter-spacing:.2px; text-decoration:none; color:#fff; border:1px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .2s; }
.btn svg{ width:18px; height:18px; }
.btn.primary{ background:var(--btn); box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 12px 30px -8px rgba(99,102,241,.75), 0 0 24px rgba(217,70,239,.3); }
.btn.primary::after{ content:''; position:absolute; top:0; bottom:0; width:40%; left:-60%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent); animation:glint 3.2s ease-in-out 1.2s infinite; }
@keyframes glint{ 0%{ left:-60%; } 45%,100%{ left:130%; } }
.btn.primary:hover{ transform:translateY(-2px); box-shadow:inset 0 0 0 1px rgba(255,255,255,.28), 0 16px 36px -8px rgba(99,102,241,.9), 0 0 34px rgba(217,70,239,.45); }
.btn.ghost{ background:rgba(255,255,255,.06); border-color:var(--line); }
.btn.ghost:hover{ background:rgba(255,255,255,.12); transform:translateY(-2px); }
.btn:active{ transform:scale(.97); }
.btn.sm{ height:40px; padding:0 16px; border-radius:12px; font-size:15px; }
.btn:focus-visible, .links a:focus-visible, .menu:focus-visible{ outline:2px solid var(--c1); outline-offset:3px; }

/* ---------- shared type ---------- */
.grad{ background:var(--grad); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shine 8s linear infinite; }
@keyframes shine{ to{ background-position:-200% 0; } }
.eyebrow{ display:inline-flex; align-items:center; gap:8px; margin:0 0 14px; padding:6px 13px; border-radius:999px; font-size:13px; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  color:#c7d2fe; background:rgba(255,255,255,.06); border:1px solid var(--line); }
.eyebrow svg{ color:var(--c1); width:15px; height:15px; }
h1, h2, h3{ font-family:'Orbitron', sans-serif; font-weight:900; letter-spacing:.02em; margin:0; line-height:1.08; }
h1{ font-size:clamp(38px, 6.6vw, 76px); }
h2{ font-size:clamp(28px, 4.4vw, 48px); }
h3{ font-size:clamp(26px, 3.4vw, 38px); }
.lead{ margin:18px 0 0; font-size:clamp(16px, 2vw, 19px); line-height:1.6; color:var(--dim); max-width:600px; font-weight:300; }

/* ---------- layout ---------- */
main{ position:relative; }
section{ width:min(1120px, calc(100% - 32px)); margin:0 auto; }
.hero{ min-height:100svh; display:flex; align-items:center; padding:110px 0 80px; position:relative; }
.heroTxt{ max-width:620px; }
.ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.scrollHint{ position:absolute; left:50%; bottom:22px; transform:translateX(-50%); width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--dim); border:1px solid var(--line); background:rgba(255,255,255,.04); font-size:20px; animation:bob 2.2s ease-in-out infinite; }
@keyframes bob{ 50%{ transform:translate(-50%, 6px); } }
.block{ padding:90px 0; }
.head{ text-align:center; display:flex; flex-direction:column; align-items:center; margin-bottom:42px; }
.head.left{ text-align:left; align-items:flex-start; margin-bottom:0; }
.head .lead{ margin-left:auto; margin-right:auto; }
.head.left .lead{ margin-left:0; }

/* ---------- game card ---------- */
.game{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr); gap:clamp(20px, 4vw, 48px); align-items:center; padding:clamp(18px, 3vw, 34px);
  border-radius:calc(var(--r) + 6px); background:var(--glass); border:1px solid var(--line); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  box-shadow:0 30px 80px -30px rgba(99,102,241,.45); transition:transform .3s ease, box-shadow .3s ease, border-color .3s; }
.game:hover{ transform:translateY(-4px); border-color:rgba(167,139,250,.4); box-shadow:0 36px 90px -30px rgba(167,139,250,.55); }
.gameArt{ position:relative; aspect-ratio:1.15; border-radius:var(--r); overflow:hidden;
  background:radial-gradient(circle at 30% 20%, rgba(103,232,249,.25), transparent 50%), radial-gradient(circle at 80% 90%, rgba(244,114,182,.28), transparent 55%), linear-gradient(160deg,#1c1660,#0b0926); }
.gameArt::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(1.3px 1.3px at 20px 30px,#fff 50%,transparent 51%), radial-gradient(1px 1px at 90px 80px,#c7d2fe 50%,transparent 51%), radial-gradient(1.5px 1.5px at 150px 140px,#fff 50%,transparent 51%);
  background-size:180px 180px; opacity:.8; }
/* Galaxy Xplorer: the hero's 3D world (planet, ring, moon, the rider orbiting) in its own small view (home.js) */
.gameArt .cardScene{ position:absolute; inset:0; width:100%; height:100%; display:block; opacity:0; transition:opacity .9s ease; }
.gameArt .cardScene.on{ opacity:1; }
.gameBody .tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.tag{ font-size:12.5px; font-weight:500; padding:5px 11px; border-radius:999px; color:#c7d2fe; background:rgba(255,255,255,.06); border:1px solid var(--line); }
.tag.new{ color:#fff; border-color:transparent; background:var(--btn); }
.gameBody p{ margin:14px 0 0; color:var(--dim); line-height:1.6; font-size:16.5px; }
.feats{ list-style:none; padding:0; margin:20px 0 26px; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 18px; }
.feats li{ display:flex; align-items:center; gap:10px; font-size:15px; color:#dfe4ff; }
.feats svg{ width:30px; height:30px; padding:7px; border-radius:10px; color:var(--c1); background:rgba(103,232,249,.1); border:1px solid rgba(103,232,249,.22); }
.soon{ margin:22px auto 0; width:fit-content; display:flex; align-items:center; gap:9px; padding:10px 18px; border-radius:999px; color:var(--dim); font-size:15px;
  border:1px dashed rgba(196,181,253,.35); background:rgba(255,255,255,.03); }
.soon svg{ color:var(--c3); animation:twinkle 2s ease-in-out infinite; }
@keyframes twinkle{ 50%{ opacity:.35; transform:scale(.85); } }

/* ---------- brain games: same card as Galaxy Xplorer, art on alternating sides, one accent colour each (--c) ---------- */
.subhead{ display:flex; align-items:center; justify-content:center; gap:10px; margin:64px 0 22px; font-size:clamp(20px, 2.4vw, 26px); }
.subhead svg{ color:var(--c3); }
.game + .game{ margin-top:24px; }
/* alternate sides by position, so it stays left-right-left whichever games are enabled (disabled ones aren't in the page) */
.game:nth-of-type(even){ grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr); }
.game:nth-of-type(even) .gameArt{ order:2; }
.game[style*="--c"]:hover{ border-color:color-mix(in srgb, var(--c) 50%, transparent); box-shadow:0 36px 90px -30px color-mix(in srgb, var(--c) 60%, transparent); }
.game[style*="--c"] .feats svg{ color:var(--c); background:color-mix(in srgb, var(--c) 12%, transparent); border-color:color-mix(in srgb, var(--c) 30%, transparent); }
.game[style*="--c"] .tag:not(.new){ color:color-mix(in srgb, var(--c) 70%, #fff); border-color:color-mix(in srgb, var(--c) 35%, transparent); }
.gameArt[class*="art-"]{ display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 28% 18%, color-mix(in srgb, var(--c) 32%, transparent), transparent 55%), radial-gradient(circle at 82% 90%, rgba(244,114,182,.22), transparent 55%), linear-gradient(160deg,#1c1660,#0b0926); }

/* Bus Escape: a 4×4 lot with parked buses; the free one drives out */
.busGrid{ position:relative; z-index:1; width:62%; aspect-ratio:1; display:grid; grid-template:repeat(4, 1fr) / repeat(4, 1fr); gap:6px; padding:8px; border-radius:16px;
  background:rgba(5,4,15,.35); border:1px solid rgba(255,255,255,.1); }
.busGrid i{ border-radius:8px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.06); }
.busGrid i:nth-child(-n+4){ grid-row:1; } .busGrid i:nth-child(n+5):nth-child(-n+8){ grid-row:2; }
.busGrid i:nth-child(n+9):nth-child(-n+12){ grid-row:3; } .busGrid i:nth-child(n+13):nth-child(-n+16){ grid-row:4; }
.busGrid i:nth-child(4n+1){ grid-column:1; } .busGrid i:nth-child(4n+2){ grid-column:2; } .busGrid i:nth-child(4n+3){ grid-column:3; } .busGrid i:nth-child(4n+4){ grid-column:4; }
.busGrid .bar{ border-radius:10px; margin:3px; box-shadow:inset 0 -4px 0 rgba(0,0,0,.18), 0 6px 14px -6px rgba(0,0,0,.6); }
.busGrid .b1{ grid-row:1; grid-column:1 / 3; background:linear-gradient(180deg,#67e8f9,#0ea5e9); }
.busGrid .b2{ grid-row:3 / 5; grid-column:4; background:linear-gradient(90deg,#f472b6,#db2777); }
.busGrid .b3{ grid-row:3; grid-column:1 / 3; background:linear-gradient(180deg,#a78bfa,#7c3aed); }
.busGrid .b4{ grid-row:4; grid-column:2 / 4; background:linear-gradient(180deg,#4ade80,#16a34a); }
.busOut{ grid-row:2; grid-column:2 / 4; width:100%; height:100%; object-fit:contain; transform:scale(1.25); filter:drop-shadow(0 6px 10px rgba(0,0,0,.5));
  animation:busOut 4.2s cubic-bezier(.5,0,.75,0) infinite; }
@keyframes busOut{ 0%,30%{ transform:scale(1.25); opacity:1; } 70%{ transform:translateX(-190%) scale(1.25); opacity:1; } 72%,100%{ transform:translateX(-190%) scale(1.25); opacity:0; } }

/* Code Breaker: animal symbols decode into letters */
.art-code-breaker .lockBig{ position:absolute; top:12%; font-size:clamp(34px, 5vw, 48px); color:var(--c); filter:drop-shadow(0 0 16px color-mix(in srgb, var(--c) 70%, transparent)); animation:lockBob 3s ease-in-out infinite; }
@keyframes lockBob{ 50%{ transform:translateY(-5px) rotate(-6deg); } }
.cipher{ position:relative; z-index:1; display:flex; gap:clamp(6px, 1.2vw, 12px); margin-top:14%; }
.cipher span{ position:relative; width:clamp(46px, 7vw, 64px); aspect-ratio:.8; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:rgba(5,4,15,.4); border:1px solid color-mix(in srgb, var(--c) 40%, transparent); box-shadow:0 10px 24px -12px color-mix(in srgb, var(--c) 80%, transparent); }
.cipher svg, .cipher b{ position:absolute; transition:none; }
.cipher svg{ width:46%; height:46%; color:#e9e5ff; animation:symOut 4s ease-in-out infinite; }
.cipher b{ font-family:'Orbitron', sans-serif; font-weight:900; font-size:clamp(18px, 2.6vw, 26px); color:#fff; text-shadow:0 0 12px var(--c); opacity:0; animation:letterIn 4s ease-in-out infinite; }
.cipher span:nth-child(2) svg, .cipher span:nth-child(2) b{ animation-delay:.25s; } .cipher span:nth-child(3) svg, .cipher span:nth-child(3) b{ animation-delay:.5s; }
.cipher span:nth-child(4) svg, .cipher span:nth-child(4) b{ animation-delay:.75s; }
@keyframes symOut{ 0%,35%{ opacity:1; transform:none; } 45%,85%{ opacity:0; transform:rotateY(90deg); } 95%,100%{ opacity:1; transform:none; } }
@keyframes letterIn{ 0%,40%{ opacity:0; transform:rotateY(-90deg); } 50%,85%{ opacity:1; transform:none; } 95%,100%{ opacity:0; } }

/* Sudoku: one 3×3 box, the empty cells fill in turn */
.sgrid{ position:relative; z-index:1; width:56%; aspect-ratio:1; display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; padding:8px; border-radius:16px;
  background:rgba(5,4,15,.4); border:2px solid color-mix(in srgb, var(--c) 45%, transparent); box-shadow:0 0 40px -10px color-mix(in srgb, var(--c) 60%, transparent); }
.sgrid i{ display:flex; align-items:center; justify-content:center; border-radius:10px; font:900 clamp(20px, 3vw, 32px) 'Orbitron', sans-serif; font-style:normal; color:#eef2ff;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); }
.sgrid i.e{ position:relative; color:var(--c); }
.sgrid i.e::after{ content:var(--d); opacity:0; animation:fill 6s ease-in-out infinite; animation-delay:var(--t); }
.sgrid i.e:nth-of-type(2){ --d:'8'; --t:0s; } .sgrid i.e:nth-of-type(4){ --d:'4'; --t:1.2s; } .sgrid i.e:nth-of-type(6){ --d:'2'; --t:2.4s; } .sgrid i.e:nth-of-type(9){ --d:'6'; --t:3.6s; }
@keyframes fill{ 0%{ opacity:0; transform:scale(1.6); } 8%,80%{ opacity:1; transform:none; } 92%,100%{ opacity:0; } }
.sgrid i.e{ animation:cellGlow 6s ease-in-out infinite; animation-delay:var(--t); }
@keyframes cellGlow{ 0%,10%{ background:color-mix(in srgb, var(--c) 22%, transparent); } 20%,100%{ background:rgba(255,255,255,.05); } }

/* Jumble Tumble: tiles shuffle into a word while a 30 s ring counts down */
.tiles{ position:relative; z-index:1; display:flex; gap:clamp(5px, 1vw, 10px); margin-top:12%; }
.tiles span{ width:clamp(40px, 6vw, 56px); aspect-ratio:1; border-radius:12px; display:flex; align-items:center; justify-content:center;
  font:900 clamp(18px, 2.6vw, 26px) 'Orbitron', sans-serif; color:#1b0f02; background:linear-gradient(180deg,#fed7aa,var(--c)); box-shadow:inset 0 -4px 0 rgba(0,0,0,.18), 0 10px 20px -10px var(--c);
  animation:tumble 4s cubic-bezier(.5,1.6,.4,1) infinite; animation-delay:calc(var(--o) * .08s); }
@keyframes tumble{ 0%,15%{ transform:translateX(calc((var(--o) - 2) * 110%)) rotate(calc((var(--o) - 2) * 12deg)); } 45%,90%{ transform:none; } 100%{ transform:translateX(calc((var(--o) - 2) * 110%)) rotate(calc((var(--o) - 2) * 12deg)); } }
.ring30{ position:absolute; top:12%; width:clamp(56px, 8vw, 72px); aspect-ratio:1; display:flex; align-items:center; justify-content:center; }
.ring30 svg{ position:absolute; inset:0; transform:rotate(-90deg); }
.ring30 circle{ fill:none; stroke:rgba(255,255,255,.12); stroke-width:3; }
.ring30 .t{ stroke:var(--c); stroke-linecap:round; stroke-dasharray:97.4; animation:count 6s linear infinite; }
.ring30 b{ font:700 clamp(15px, 2vw, 19px) 'Orbitron', sans-serif; color:#fff; }
@keyframes count{ from{ stroke-dashoffset:0; } to{ stroke-dashoffset:97.4; } }

/* ---------- about ---------- */
.values{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; }
.value{ padding:26px; border-radius:var(--r); background:var(--glass); border:1px solid var(--line); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); transition:transform .3s, border-color .3s; }
.value:hover{ transform:translateY(-4px); border-color:rgba(103,232,249,.35); }
.vi{ width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff; background:var(--btn); box-shadow:0 10px 24px -8px rgba(99,102,241,.8); }
.value h4{ margin:18px 0 6px; font-size:19px; font-weight:600; }
.value p{ margin:0; color:var(--dim); line-height:1.55; }

/* ---------- contact ---------- */
.contact{ display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:clamp(24px, 5vw, 60px); align-items:center; }
.form{ display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:clamp(18px, 3vw, 30px); border-radius:calc(var(--r) + 6px);
  background:var(--glass); border:1px solid var(--line); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.form label{ display:flex; flex-direction:column; gap:7px; font-size:13.5px; color:var(--dim); font-weight:500; }
.form .full{ grid-column:1 / -1; }
.form input, .form textarea{ width:100%; font:400 16px/1.4 'Outfit', sans-serif; color:var(--txt); padding:13px 15px; border-radius:14px; resize:vertical;
  background:rgba(5,4,15,.45); border:1px solid var(--line); outline:none; transition:border-color .2s, box-shadow .2s; }
.form input::placeholder, .form textarea::placeholder{ color:rgba(170,179,230,.5); }
.form input:focus, .form textarea:focus{ border-color:rgba(129,140,248,.8); box-shadow:0 0 0 4px rgba(129,140,248,.18); }
.form .hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.formFoot{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.formMsg{ margin:0; font-size:14.5px; display:flex; align-items:center; gap:8px; min-height:20px; }
.formMsg.ok{ color:#86efac; } .formMsg.err{ color:#fda4af; }
.btn[disabled]{ opacity:.7; cursor:default; }
.spin{ animation:spin .9s linear infinite; } @keyframes spin{ to{ transform:rotate(360deg); } }

/* ---------- footer ---------- */
.foot{ width:min(1120px, calc(100% - 32px)); margin:0 auto; padding:30px 0 max(30px, env(safe-area-inset-bottom)); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 18px;
  color:var(--dim); font-size:14px; }
.foot a{ text-decoration:none; } .foot a:hover{ color:var(--txt); }
.foot .dot{ width:4px; height:4px; border-radius:50%; background:var(--c3); }

/* ---------- reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.in{ opacity:1; transform:none; }

/* ---------- responsive ---------- */
@media (max-width:900px){
  .game, .contact{ grid-template-columns:1fr; }
  .gameArt{ aspect-ratio:1.7; }
  .values{ grid-template-columns:1fr; }
  .game:nth-of-type(even){ grid-template-columns:1fr; } .game:nth-of-type(even) .gameArt{ order:0; }
}
@media (max-width:680px){
  .links{ position:absolute; top:calc(100% + 8px); left:0; right:0; flex-direction:column; gap:2px; padding:8px; border-radius:16px; margin:0;
    background:var(--glass-strong); border:1px solid var(--line); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    opacity:0; transform:translateY(-6px); pointer-events:none; transition:opacity .2s, transform .2s; }
  .nav.open .links{ opacity:1; transform:none; pointer-events:auto; }
  .links a{ padding:12px 14px; }
  .menu{ display:inline-flex; margin-left:auto; }
  .brand{ font-size:15px; }
  .hero{ align-items:flex-end; padding-bottom:110px; }
  .feats{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px 10px; margin:16px 0 20px; }
  .feats li{ gap:7px; font-size:12.5px; line-height:1.25; }
  .feats svg{ width:24px; height:24px; padding:5px; border-radius:8px; }
  .form{ grid-template-columns:1fr; }
  .formFoot .btn{ width:100%; }
  .ctas .btn{ flex:1 1 auto; }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .aur, .grad, .btn.primary::after, .mkRing, .scrollHint, .soon svg, .busOut, .lockBig, .cipher svg, .cipher b, .sgrid i.e, .sgrid i.e::after, .tiles span, .ring30 .t{ animation:none; }
  .cipher b, .sgrid i.e::after{ opacity:1; } .cipher svg{ opacity:0; }
  .reveal{ opacity:1; transform:none; transition:none; }
}
/* phones: no live blur behind panels (perf.js sets .low-power), calmer background */
.low-power .nav, .low-power .game, .low-power .value, .low-power .form, .low-power .links{ backdrop-filter:none; -webkit-backdrop-filter:none; }
.low-power{ --glass:rgba(20,16,58,.66); --glass-strong:rgba(18,14,52,.92); }
.low-power .aur{ animation:none; mix-blend-mode:normal; }
