
:root { color-scheme: dark; --bg:#05070c; --fg:#e7eef8; --muted:#93a0b5; --ice:#b7d4ff; --signal:#7ee0d6; --caution:#e4c27a; --heat:#e7a196; --line:rgba(186,210,235,.14); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:Manrope, "Noto Sans", "Noto Sans Devanagari", "Noto Sans Bengali", "Noto Naskh Arabic", "Noto Sans Hebrew", "Noto Sans Thai", sans-serif; overflow-x:clip; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: inherit; }
img { max-width: 100%; }
section[id] { scroll-margin-top: 5.25rem; }
::selection { background: rgba(126,224,214,.28); }
.display { font-family: Syne, sans-serif; letter-spacing: -0.04em; }
.mono { font-family: "IBM Plex Mono", ui-monospace, monospace; }
.wrap { width: min(1280px, calc(100% - 40px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); margin: 0 auto; }
header { position: fixed; inset: 0 0 auto 0; z-index: 40; height: 64px; display:flex; align-items:center; }
header.scrolled { background: rgba(5,7,12,.82); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
header .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand { display:flex; align-items:center; gap:12px; background:none; border:0; padding:0; text-align:left; }
.mark { width:36px; height:36px; border-radius:10px; overflow:hidden; display:block; flex:none; background:#05070c; }
.mark img { width:100%; height:100%; display:block; object-fit:cover; }
.brand-name { letter-spacing:-0.03em; font-size:15px; line-height:1; white-space:nowrap; }
.langpick { background: transparent; color: var(--ice); border: 1px solid var(--line); border-radius: 999px; height: 32px; padding: 0 10px; max-width: 11rem; font-size: 12px; }
.nav { display:none; gap:22px; }
.nav button, .footnav button { background:none; border:0; color:var(--muted); letter-spacing:.18em; }
.nav button:hover, .footnav button:hover { color: var(--fg); }
.pill { height:40px; border-radius:999px; border:1px solid rgba(126,224,214,.4); background:transparent; color:var(--signal); padding:0 16px; letter-spacing:.16em; }
.pill .arr, .btn .arr, .textlink .arr { display:inline-block; transition: transform .3s; }
.pill:hover .arr, .btn:hover .arr, .textlink:hover .arr, .card:hover .arr { transform: translateX(4px); }
.hero { position:relative; overflow:hidden; background: transparent; }
.flow-bg { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; background:#05070c; }
main { position:relative; z-index:1; }
canvas.field { position:absolute; inset:0; width:100%; height:100%; }
.aurora, .flow-streak { position:absolute; display:block; }
.aurora { width:72vw; height:72vw; max-width:460px; max-height:460px; border-radius:50%; background:radial-gradient(circle, rgba(126,224,214,.5) 0%, rgba(126,224,214,.16) 36%, transparent 70%); animation: aurora-a 9s ease-in-out infinite alternate; }
.aurora.b { width:64vw; height:64vw; max-width:420px; max-height:420px; background:radial-gradient(circle, rgba(183,212,255,.46) 0%, rgba(120,160,255,.12) 40%, transparent 72%); animation-name: aurora-b; animation-duration: 12s; }
.aurora.c { width:48vw; height:48vw; max-width:320px; max-height:320px; background:radial-gradient(circle, rgba(126,224,214,.34) 0%, transparent 68%); animation-name: aurora-c; animation-duration: 8s; }
.flow-streak { top:16%; left:-30%; width:46%; height:3px; border-radius:999px; background:linear-gradient(90deg, transparent, rgba(126,224,214,.15), rgba(240,255,252,.95), transparent); box-shadow:0 0 16px 3px rgba(126,224,214,.45); animation: streak 6.5s linear infinite; }
.flow-streak.alt { top:48%; width:34%; height:2px; animation-duration:9s; animation-delay:-3s; background:linear-gradient(90deg, transparent, rgba(183,212,255,.2), rgba(232,242,255,.9), transparent); box-shadow:0 0 14px 3px rgba(183,212,255,.35); }
.flow-streak.low { top:76%; width:42%; animation-duration:7.5s; animation-delay:-4s; }
body[data-screen="home"] #news,
body[data-screen="home"] #home-board,
footer.atm-min { background: transparent; }
body[data-screen="home"] .ticker { background: rgba(5,8,14,.7); }
.scanline { position:absolute; z-index:1; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(126,224,214,.7), transparent); animation: scan 9s linear infinite; pointer-events:none; }
.hero-copy { position:relative; z-index:2; padding:88px 0 8px; }
.hero-grid { position:relative; z-index:2; display:grid; align-items:center; gap:28px; }
h1 { font-size: clamp(3rem, 8vw, 5.4rem); line-height:.9; margin:18px 0 0; }
.lede { max-width: 38rem; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.row { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.btn { height:48px; border-radius:999px; border:1px solid transparent; padding:0 22px; display:inline-flex; align-items:center; gap:8px; }
.btn.primary { background: var(--signal); color:#04120f; font-weight:600; }
.btn.ghost { border-color: rgba(255,255,255,.16); background: transparent; }
.stats { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; margin-top:36px; }
.stats b { display:block; font-family: Syne, sans-serif; font-size: 2.4rem; font-weight:600; text-shadow: 0 0 22px rgba(126,224,214,.35); }
.stats span, .kicker { color: var(--signal); letter-spacing:.28em; font-size:11px; }
:is(:lang(hi), :lang(bn), :lang(th), :lang(ar), :lang(fa), :lang(ur), :lang(he)) :is(.kicker, .words, .note, .path, .pill, .nav button, .footnav button, .mobilenav button, .filters button, .ticker p, .fn em, .chips span, .tag, .film-name, .film-plan, .brand-sub, .engine-word) { letter-spacing: 0; }
.note { color: var(--ice); letter-spacing:.08em; font-size:10px; }
.engine-wrap { position:relative; }
.engine { width:min(540px, 100%); margin:0 auto; aspect-ratio:1; position:relative; }
.wedge { position:absolute; inset:8%; border-radius:999px; background:conic-gradient(from 0deg, transparent 0 72%, rgba(126,224,214,.28) 100%); animation: spin 8s linear infinite; -webkit-mask: radial-gradient(circle, transparent 42%, #000 43% 72%, transparent 73%); mask: radial-gradient(circle, transparent 42%, #000 43% 72%, transparent 73%); }
.ring { position:absolute; border-radius:999px; border:1px dashed rgba(126,224,214,.3); }
.ring.a { inset:4%; animation: spin 48s linear infinite; }
.ring.b { inset:14%; border-style:solid; border-color:rgba(183,212,255,.2); animation: spin 36s linear infinite reverse; }
.core { position:absolute; inset:0; display:grid; place-items:center; text-align:center; }
.core strong { font-family: Syne, sans-serif; font-size: clamp(1.6rem, 4vw, 2.4rem); line-height:.95; font-weight:650; }
.orbit { position:absolute; inset:0; animation: spin 48s linear infinite; }
.olabel { position:absolute; animation: spin 48s linear infinite reverse; }
.olabel span { display:inline-flex; gap:6px; align-items:center; transform: translate(-50%, -50%); white-space:nowrap; border:1px solid rgba(255,255,255,.1); background:rgba(5,7,12,.75); border-radius:999px; padding:4px 10px; color:var(--ice); letter-spacing:.16em; font-size:10px; }
.chips { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:12px; }
.chips span, .tag { border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:4px 8px; color:var(--ice); letter-spacing:.14em; font-size:10px; }
.float { position:absolute; z-index:3; width:176px; padding:12px; border:1px solid var(--line); background:linear-gradient(180deg, rgba(16,24,36,.86), rgba(8,12,20,.9)); backdrop-filter: blur(8px); animation: floaty 6.5s ease-in-out infinite; }
.ticker { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#070b12; position:relative; z-index:3; }
.ticker-row { display:flex; }
.ticker-label { display:none; flex-direction:column; justify-content:center; padding:0 18px; border-right:1px solid var(--line); }
.track-clip { overflow:hidden; flex:1; padding:12px 0; }
.track { display:flex; width:max-content; gap:32px; padding:0 16px; animation: ticker 48s linear infinite; }
.track:hover { animation-play-state: paused; }
.q { display:flex; gap:12px; align-items:baseline; text-decoration:none; font-size:14px; }
.up { color: var(--signal); } .down { color: var(--heat); }
.ticker p { margin:0; border-top:1px solid rgba(255,255,255,.05); text-align:center; color:var(--muted); letter-spacing:.12em; font-size:10px; padding:8px 16px; }
.section { padding: 96px 0; }
#news.section { padding: 4px 0 28px; }
#home-board.section { padding: 8px 0 48px; }
.atm-nodes { background: transparent; }
.atm-universe { background: radial-gradient(520px 420px at 50% 55%, rgba(126,224,214,.08), transparent 62%), #05070d; }
.atm-grid { background-color:transparent; background-image: linear-gradient(rgba(140,180,220,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(140,180,220,.05) 1px, transparent 1px); background-size:56px 56px; }
.atm-scanner { background: radial-gradient(640px 420px at 50% 42%, rgba(169,155,255,.1), transparent 70%), #060912; }
.atm-min { background:#04060a; }
h2 { font-size: clamp(2.4rem, 6vw, 4.2rem); line-height:.95; margin:12px 0 0; }
.map-grid, .split, .explorer, .ex-grid { display:grid; gap:28px; }
.mapbox { position:relative; aspect-ratio:1000/560; border:1px solid var(--line); background:#070c14; }
.mapbox svg { position:absolute; inset:0; width:100%; height:100%; }
.mapbtn { position:absolute; transform:translate(-50%,-50%); background:none; border:0; color:var(--fg); }
.pulse { position:absolute; width:32px; height:32px; border-radius:999px; background:rgba(183,212,255,.2); animation: pulse 2.8s ease-in-out infinite; }
.dot { width:10px; height:10px; border-radius:999px; background:var(--ice); position:relative; }
.mapbtn.on .dot { background: var(--signal); }
.panel { border:1px solid var(--line); background:rgba(7,12,20,.9); padding:20px; }
.universe { position:relative; width:min(680px,100%); margin:48px auto 0; aspect-ratio:1; }
.unode { position:absolute; transform:translate(-50%,-50%); }
.unode button { width:128px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:rgba(7,12,20,.85); padding:12px 8px; letter-spacing:.14em; font-size:10px; animation: floaty 7s ease-in-out infinite; }
.unode button.on { border-color: var(--signal); color: var(--signal); background: rgba(126,224,214,.1); }
.center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:150px; height:150px; border-radius:999px; border:1px solid rgba(126,224,214,.4); display:grid; place-items:center; text-align:center; background:rgba(7,13,20,.8); box-shadow:0 0 60px rgba(126,224,214,.15); }
.banner { min-height:72vh; display:flex; align-items:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; overflow:hidden; background: radial-gradient(700px 380px at 20% 40%, rgba(126,224,214,.16), transparent 60%), radial-gradient(640px 380px at 80% 60%, rgba(183,212,255,.12), transparent 62%), #05070c; }
.banner h2 { font-size: clamp(3rem, 8vw, 6.4rem); max-width: 16ch; }
.words { display:flex; flex-wrap:wrap; gap:18px 32px; margin-top:28px; color:var(--ice); letter-spacing:.28em; }
.explorer { align-items:start; }
.side { border:1px solid var(--line); background:rgba(7,12,20,.9); padding:16px; }
.side input { width:100%; height:44px; margin-top:8px; border:1px solid rgba(255,255,255,.16); background:transparent; border-radius:10px; padding:0 12px; }
.filters { display:flex; gap:8px; overflow:auto; margin-top:16px; }
.filters button { border:0; background:transparent; color:var(--muted); letter-spacing:.12em; font-size:11px; padding:8px 10px; white-space:nowrap; }
.filters button.on { background:var(--signal); color:#04120f; }
.cards { display:grid; gap:16px; }
.card { position:relative; overflow:hidden; border:1px solid var(--line); background:rgba(11,17,26,.92); padding:20px; text-align:left; width:100%; transition: transform .2s ease; }
.card:hover { transform: translateY(-6px); }
.card:before { content:""; position:absolute; inset:0; padding:1px; background:linear-gradient(130deg, transparent, rgba(126,224,214,.85), transparent); opacity:0; pointer-events:none; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; }
.card:hover:before { opacity:1; }
.cardhead { display:flex; justify-content:space-between; gap:12px; }
.logo { width:48px; height:48px; display:grid; place-items:center; position:relative; font-family:Syne,sans-serif; }
.logo i { position:absolute; inset:0; border:1px dashed rgba(126,224,214,.5); border-radius:999px; animation: spin 28s linear infinite; }
.bar { height:2px; background:rgba(255,255,255,.1); margin-top:6px; }
.bar span { display:block; height:100%; width:0; transition: width 1s ease; }
.bar.LOW span { background: var(--signal); } .bar.MEDIUM span { background: var(--caution); } .bar.HIGH span { background: var(--heat); }
.bar.in.LOW span { width:34%; } .bar.in.MEDIUM span { width:62%; } .bar.in.HIGH span { width:88%; }
.chapter { position:relative; min-height:560px; height:88vh; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:flex-end; }
.chapter .bg { position:absolute; inset:0; background:#070c14; }
.chapter .bg:after { content:""; position:absolute; inset:0; background:linear-gradient(#05070c, transparent 30% 60%, #05070c); }
.vgrid { position:absolute; inset:0; background-image: linear-gradient(rgba(183,212,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(183,212,255,.08) 1px, transparent 1px); background-size:36px 36px; }
.chapter .copy { position:relative; z-index:2; padding-bottom:64px; }
.play { width:40px; height:40px; border-radius:999px; border:1px solid rgba(126,224,214,.5); display:inline-grid; place-items:center; color:var(--signal); animation: play 2.4s ease-out infinite; }
.motion { display:grid; gap:16px; }
.mcard { min-height:240px; border:1px solid var(--line); background:#0b111a; padding:20px; }
.flow { height:1px; flex:1; background-image: linear-gradient(90deg, transparent, rgba(126,224,214,.9), transparent); background-size:48px 100%; background-repeat:no-repeat; animation: dash 1.8s linear infinite; position:relative; }
.scanner { position:relative; width:min(560px,100%); margin:32px auto; aspect-ratio:1; }
.sbtn { position:absolute; transform:translate(-50%,-50%); border-radius:999px; border:1px solid rgba(255,255,255,.16); background:#070c14; color:var(--ice); padding:8px 12px; letter-spacing:.14em; font-size:10px; }
.sbtn.on { background:var(--signal); color:#04120f; border-color:var(--signal); }
.steps { display:grid; gap:0; }
.step { border:1px solid var(--line); background:#0b111a; padding:16px; text-align:left; width:100%; }
.step:hover { border-color: rgba(126,224,214,.5); }
.vlink { width:1px; height:36px; margin:0 auto; background:rgba(255,255,255,.15); }
.factor { padding:72px 0; border-bottom:1px solid var(--line); }
.factor b { font-family:Syne,sans-serif; font-size:clamp(4.5rem, 12vw, 8rem); color:var(--signal); line-height:.85; }
table { width:100%; border-collapse:collapse; min-width:760px; }
th, td { text-align:left; padding:14px 16px; border-top:1px solid var(--line); font-weight:400; }
thead th { border-top:0; color:var(--ice); letter-spacing:.14em; font-size:10px; background:rgba(255,255,255,.03); }
.tablewrap { overflow:auto; border:1px solid var(--line); background:rgba(7,12,20,.86); }
.exnode { position:absolute; transform:translate(-50%,-50%); }
.exnode button { width:64px; height:64px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:#070c14; animation: floaty 7s ease-in-out infinite; }
.exnode button.on { border-color:var(--signal); color:var(--signal); }
.modal { position:fixed; inset:0; z-index:60; background:rgba(0,0,0,.72); display:none; align-items:center; justify-content:center; padding:16px; }
.modal.open { display:flex; }
.sheet { width:min(1040px, 100%); max-height:min(90vh, 880px); overflow:auto; background:#090e16; border:1px solid var(--line); padding:28px; position:relative; }
.x { position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:999px; border:1px solid var(--line); background:transparent; }
.radar { width:min(280px, 100%); }
.platlink { display:flex; justify-content:space-between; border:1px solid var(--line); padding:12px; text-decoration:none; margin-top:8px; }
.sticky { position:fixed; z-index:45; right:24px; bottom:24px; display:none; }
.sticky.show { display:block; }
.mobilenav { position:fixed; inset:auto 0 0 0; z-index:48; display:grid; grid-template-columns:repeat(4,1fr); background:rgba(5,7,12,.94); border-top:1px solid var(--line); backdrop-filter:blur(16px); padding: 0 env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); }
.mobilenav button { height:64px; background:none; border:0; color:var(--muted); letter-spacing:.16em; font-size:10px; }
.low, .LOW { color: var(--signal); } .med, .MEDIUM { color: var(--caution); } .high, .HIGH { color: var(--heat); }
.empty { min-height:220px; display:grid; place-items:center; border:1px dashed rgba(255,255,255,.16); text-align:center; padding:24px; }
@media (max-width: 0px) {
  .nav, .ticker-label { display:flex; }
  .stats { grid-template-columns: repeat(4, 1fr); }
  .cards, .motion, .vlib { grid-template-columns: 1fr 1fr; }
  .vlib { display:grid; }
  .mobilenav { display:none; }
  .orbit { display:block; }
}
.sticky-short, .row .short { display: none; }
.region-chips, .factor-chips { display: none; }
@media all {
  .wrap { width: min(1280px, calc(100% - 28px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); }
  header { height: calc(52px + env(safe-area-inset-top, 0px)); padding-top: env(safe-area-inset-top, 0px); background: rgba(5,7,12,.92); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
  header .wrap { width: min(1280px, calc(100% - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))); gap: 8px; }
  header .brand small, header .pill, .sticky-long, .nav { display: none !important; }
  .brand { gap: 8px; min-width: 0; }
  .mark { width: 32px; height: 32px; border-radius: 9px; }
  .brand-name { font-size: 12px; }
  .film-logo { width: 76px; height: 76px; border-radius: 18px; }
  .langpick { max-width: min(46vw, 11rem); height: 30px; padding: 0 8px; font-size: 11px; }
  .sticky-short { display: inline; }
  .orbit, .float { display: none !important; }
  .ticker-row, .track-clip, header .wrap { min-width: 0; }
  .track-clip { flex: 1 1 0; }
  .ticker p { letter-spacing: .04em; line-height: 1.45; text-wrap: pretty; }
  .hero-copy { padding: calc(60px + env(safe-area-inset-top, 0px)) 0 8px; }
  .hero-grid { gap: 12px; }
  .engine { width: min(168px, 48vw); }
  .chips { margin-top: 2px; }
  .chips span { padding: 3px 7px; }
  h1 { font-size: 2.05rem; line-height: 1.18; }
  .lede { font-size: .95rem; line-height: 1.5; }
  h2 { font-size: clamp(1.85rem, 8vw, 2.35rem); line-height: 1.12; }
  .banner { min-height: 0; padding: 72px 0; }
  .banner h2 { font-size: clamp(2.2rem, 11vw, 3rem); }
  .words { gap: 10px 18px; letter-spacing: .16em; font-size: 12px; }
  .lede { font-size: 1rem; }
  .row { gap: 8px; }
  .row .btn { flex: 1 1 0; justify-content: center; height: 44px; padding: 0 8px; white-space: nowrap; font-size: 13px; min-width: 0; }
  .row .full { display: none; }
  .row .short { display: inline; }
  .stats { gap: 8px 10px; margin-top: 12px; }
  .stats b { font-size: 1.55rem; }
  .stats .note { letter-spacing: .08em; }
  .section { padding: calc(64px + env(safe-area-inset-top, 0px)) 0 28px; }
  .chapter { height: auto; min-height: 68vh; }
  .chapter .copy { padding-bottom: 28px; }
  .factor { padding: 48px 0; }
  .map-grid { display: flex; flex-direction: column; gap: 16px; }
  .map-grid > :first-child { display: contents; }
  .mapbox { order: 2; aspect-ratio: 16/10; }
  .region-chips { order: 3; }
  #region-card { order: 4; margin-top: 0 !important; }
  .mapbtn span.note { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .mapbtn { min-width: 44px; min-height: 44px; }
  .region-chips, .factor-chips { display: flex; gap: 8px; margin-top: 12px; }
  .region-chips { flex-wrap: wrap; overflow: visible; }
  .factor-chips { flex-wrap: wrap; justify-content: center; overflow: visible; }
  .region-chips button, .factor-chips button, .exchange-list button {
    flex: 0 0 auto; min-height: 42px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16);
    background: #070c14; color: var(--ice); padding: 0 14px; letter-spacing: .12em; font-size: 11px;
  }
  .region-chips button.on, .factor-chips button.on, .exchange-list button.on { background: var(--signal); color: #04120f; border-color: var(--signal); }
  .universe.compact, .scanner.compact { aspect-ratio: auto; width: 100%; margin-top: 18px; }
  .universe.compact { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .universe.compact .unode { position: static; transform: none; }
  .universe.compact .unode button { width: 100%; min-height: 48px; animation: none; }
  .scanner.compact { width: min(240px, 70vw); margin-left: auto; margin-right: auto; aspect-ratio: 1; }
  .scanner.compact .core strong { font-size: 1.05rem !important; letter-spacing: .02em; }
  .exchange-list button { min-width: 0; }
  .filters { flex-wrap: wrap; overflow: visible; }
  .filters button { min-height: 40px; }
  .side input { font-size: 16px; }
  .card h3, .card .lede { overflow-wrap: anywhere; }
  .card .lede { min-height: 0 !important; }
  .card:hover { transform: none; }
  .matrix-cards { display: grid; gap: 12px; border: 0; overflow: visible; }
  .riskcard { border: 1px solid var(--line); background: rgba(7,12,20,.9); padding: 14px; }
  .riskcard h3 { margin: 0; font-size: 1.25rem; line-height: 1.2; text-wrap: balance; }
  .riskgrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
  .riskgrid div { min-width: 0; text-align: center; border: 1px solid var(--line); border-radius: 10px; padding: 8px 2px; }
  .riskgrid .lab { display: block; color: var(--ice); font-size: 8px; letter-spacing: .02em; line-height: 1.25; overflow-wrap: anywhere; }
  .riskgrid b { display: block; margin-top: 6px; font-size: 9px; font-weight: 500; letter-spacing: .04em; }
  .riskcard .offices { display: grid; grid-template-columns: 1fr 1fr; width: 100%; margin-top: 12px; }
  .riskcard .offices a { text-align: center; white-space: normal; }
  .riskcard .offices a:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .exchange-list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; width: 100%; aspect-ratio: auto; margin-top: 8px; }
  .exchange-list button { width: 100%; border-radius: 16px; min-height: 56px; padding: 8px; }
  #exchange-card .btn, #exchange-card .mono.up { overflow-wrap: anywhere; }
  #exchange-card .btn { width: 100%; justify-content: center; margin-top: 16px; }
  .modal { padding: 0; align-items: flex-end; }
  .sheet { width: 100%; max-height: min(92vh, 920px); max-height: min(92dvh, 920px); border-radius: 18px 18px 0 0; padding: calc(48px + env(safe-area-inset-top, 0px)) 16px calc(24px + env(safe-area-inset-bottom, 0px)); }
  #product-title { font-size: 1.65rem !important; }
  .sticky { display: none !important; }
  .mobilenav { width: 100%; max-width: 100%; }
  .mobilenav button { min-width: 0; height: 50px; min-height: 44px; letter-spacing: .04em; font-size: 10px; padding: 0 2px; }
  .mobilenav button.on { color: var(--signal); }
  body { padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px)); }
  footer { padding-bottom: 12px !important; }
  footer > .wrap { flex-direction: column !important; align-items: center !important; text-align: center; }
  .footnav { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
  .start-row { flex-direction: column; align-items: stretch; }
  .start-row .btn { width: 100%; justify-content: center; }
  .path { display: grid; gap: 6px; }
  .fn { display: flex; flex-direction: column; align-items: flex-start; height: 100%; }
  .fn em { margin-top: auto; }
  .goes { display: grid; grid-template-columns: 1fr; }
  .goes a { width: 100%; justify-content: center; }
  .filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .filters button { width: 100%; min-height: 40px; text-align: center; white-space: normal; }
  .source-row { display: grid; grid-template-columns: 1fr 1fr; }
  .source-row a { text-align: center; }
  .news-nav { justify-content: space-between; }
  .news-nav .mono { white-space: nowrap; }
  #platform-book .mono.up, #platform-book .lede { overflow-wrap: anywhere; }
  .legend { display: grid; gap: 8px; }
  .phone-hint { display: none !important; }
}
@media (max-width: 0px) {
  .hero-grid, .map-grid, .split, .explorer, .ex-grid { grid-template-columns: 1.05fr .95fr; }
  .explorer { grid-template-columns: 240px 1fr; }
  .side { position: sticky; top: 88px; }
  .filters { flex-direction: column; overflow: visible; }
  .steps.desktop { display:flex; align-items:stretch; }
  .steps.desktop .step { flex:1; }
  .steps.mobile { display:none; }
}
@media all { .steps.desktop { display:none; } .hero-grid > .engine-wrap { order: -1; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .scanline, .wedge, .ring, .orbit, .olabel, .track, .logo i, .unode button, .exnode button, .float, .flow, .play, .pulse, .aurora, .flow-streak, .news-slide img, .news-fallback, .news-slide, .news-meter span { animation: none !important; }
}
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes floaty { 50% { transform: translateY(-8px); } }
@keyframes scan { 0% { top:8%; opacity:0 } 12% { opacity:1 } 88% { opacity:1 } 100% { top:86%; opacity:0 } }
@keyframes pulse { 50% { opacity:1; transform: scale(1); } 0%,100% { opacity:.35; transform: scale(.8); } }
@keyframes news-drift { from { transform: scale(1.02) translate3d(1%,.4%,0); } to { transform: scale(1.08) translate3d(-1.6%,-1%,0); } }
@keyframes news-enter { 0% { transform: translate3d(14%,10px,0); opacity: 0; } 58% { transform: translate3d(-1.6%,-3px,0); opacity: 1; } 100% { transform: none; opacity: 1; } }
@keyframes news-leave { to { transform: translate3d(-12%,-8px,0); opacity: 0; } }
@keyframes news-fill { from { width: 0; } to { width: 100%; } }
@keyframes play { 100% { box-shadow: 0 0 0 16px transparent; } 0% { box-shadow: 0 0 0 0 rgba(126,224,214,.45); } }
@keyframes dash { to { background-position: 48px 0; } }
@keyframes aurora-a { from { transform: translate3d(-18vw, 6vh, 0) scale(1); } to { transform: translate3d(24vw, 58vh, 0) scale(1.18); } }
@keyframes aurora-b { from { transform: translate3d(42vw, 72vh, 0) scale(1.08); } to { transform: translate3d(-10vw, 22vh, 0) scale(.9); } }
@keyframes aurora-c { from { transform: translate3d(4vw, 36vh, 0) scale(.86); } to { transform: translate3d(46vw, 82vh, 0) scale(1.16); } }
@keyframes streak { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(260%, 16vh, 0); } }
[data-view] { display: none; }
body[data-screen="home"] [data-view~="home"],
body[data-screen="products"] [data-view~="products"],
body[data-screen="risk"] [data-view~="risk"],
body[data-screen="platforms"] [data-view~="platforms"] { display: block; }
.nav button.on, .mobilenav button.on, .footnav button.on { color: var(--signal); }
.fn-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
.fn { min-height: 124px; text-align: left; border: 1px solid var(--line); background: rgba(7,12,20,.9); padding: 14px; }
.fn b { display: block; margin-top: 8px; font-size: 1.45rem; }
.fn small { display: block; margin-top: 8px; color: var(--muted); line-height: 1.45; }
.fn em { display: block; margin-top: 10px; color: var(--signal); font-style: normal; letter-spacing: .08em; font-size: 12px; }
.fn.next { border-color: rgba(126,224,214,.7); box-shadow: 0 0 0 1px rgba(126,224,214,.25); }
.guide { margin: 14px 0 0; color: var(--fg); font-size: 1.05rem; line-height: 1.6; max-width: 40rem; }
.start-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.path { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 12px 0 0; padding: 0; list-style: none; color: var(--ice); font-size: 12px; letter-spacing: .06em; }
.venue-switch { display: flex; gap: 8px; overflow: auto; margin-top: 18px; padding-bottom: 4px; }
.venue-switch button { flex: 0 0 auto; min-height: 44px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: #070c14; color: var(--ice); padding: 0 14px; }
.venue-switch button.on { background: var(--signal); color: #04120f; border-color: var(--signal); }
.param { border-top: 1px solid var(--line); padding: 14px 0; }
.param dt { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 10px; letter-spacing: .14em; color: var(--ice); }
.param dd { margin: 4px 0 10px; }
.riskpills { display: flex; flex-wrap: wrap; gap: 6px; }
.riskpills span { border: 1px solid var(--line); border-radius: 999px; padding: 4px 8px; font-size: 10px; letter-spacing: .08em; }
.examples { display: grid; gap: 10px; margin-top: 18px; }
.example { border: 1px solid var(--line); background: rgba(11,17,26,.92); padding: 14px; }
.example h3 { margin: 6px 0 0; font-size: 1.3rem; }
.goes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.goes a { height: 40px; padding: 0 12px; font-size: 13px; }
.offices { display: flex; flex-wrap: wrap; gap: 6px; min-width: 9rem; }
.offices a { border: 1px solid rgba(126,224,214,.45); border-radius: 999px; padding: 5px 8px; color: var(--signal); text-decoration: none; letter-spacing: .04em; font-size: 11px; white-space: nowrap; }
.offices a:hover { background: rgba(126,224,214,.12); }
.legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 12px; color: var(--muted); font-size: 12px; }
.phone-hint { display: none; margin-top: 8px; }
.news-stage { position: relative; margin-top: 18px; border: 1px solid var(--line); background: #070c14; overflow: hidden; }
.news-stage[data-state="wait"] .news-meter,
.news-stage[data-state="wait"] .news-nav,
.news-stage[data-state="wait"] .news-arrows,
.news-stage[data-state="error"] .news-meter,
.news-stage[data-state="error"] .news-nav,
.news-stage[data-state="error"] .news-arrows { display: none; }
.news-viewport { position: relative; height: min(62vh, 520px); min-height: 340px; overflow: hidden; background: #070c14; }
.news-wait { padding: 28px; }
.news-slide { position: absolute; inset: 0; display: block; overflow: hidden; color: inherit; text-decoration: none; }
.news-slide img, .news-fallback { position: absolute; left: -8%; top: -8%; width: 116%; height: 116%; max-width: none; object-fit: cover; }
.news-slide.is-on img, .news-slide.is-in img, .news-slide.is-on .news-fallback, .news-slide.is-in .news-fallback { animation: news-drift 3s ease-out forwards; }
.news-fallback { background: radial-gradient(420px 240px at 18% 30%, rgba(126,224,214,.38), transparent 62%), radial-gradient(460px 260px at 82% 72%, rgba(183,212,255,.32), transparent 64%), #0b1422; }
.news-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,7,12,.08) 18%, rgba(5,7,12,.9) 76%); }
.news-copy { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 28px 22px; }
.news-copy strong { display: block; max-width: 18ch; margin: 8px 0 12px; font-size: clamp(1.7rem, 3.2vw, 2.7rem); line-height: 1.12; overflow-wrap: anywhere; }
.news-slide.is-on { z-index: 1; }
.news-slide.is-in { z-index: 2; animation: news-enter .38s cubic-bezier(.2,.85,.2,1); }
.news-slide.is-out { z-index: 1; animation: news-leave .38s ease forwards; }
.news-meter { height: 3px; background: rgba(255,255,255,.08); }
.news-meter span { display: block; height: 100%; width: 0; background: var(--signal); }
.news-meter span.run { animation: news-fill 3s linear forwards; }
.news-nav { display: flex; align-items: center; gap: 12px; padding: 10px 14px 12px; }
.news-nav .mono { color: var(--muted); letter-spacing: .08em; font-size: 11px; }
.news-dots { display: flex; flex-wrap: wrap; gap: 8px; }
.news-dots button { width: 28px; height: 6px; border: 0; border-radius: 999px; padding: 0; background: rgba(255,255,255,.18); }
.news-dots button.on { width: 44px; background: var(--signal); }
.news-arrows { position: absolute; top: 14px; right: 14px; z-index: 3; display: flex; gap: 8px; }
.news-arrows button { width: 40px; height: 40px; border-radius: 999px; border: 1px solid rgba(255,255,255,.28); color: #fff; background: rgba(5,7,12,.55); }
.source-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.source-row a { border: 1px solid rgba(126,224,214,.45); border-radius: 999px; padding: 8px 12px; color: var(--signal); text-decoration: none; letter-spacing: .06em; font-size: 12px; }
@media all { .phone-hint { display: block; } }
@media (max-width: 0px) { .examples { grid-template-columns: 1fr 1fr; } }
@media (max-width: 0px) { .fn-grid { grid-template-columns: repeat(4, 1fr); } }
@media all {
  .hero-grid > .engine-wrap { order: 4; }
  .hero .lede, .hero .stats, .hero .guide, #news h2, #news .lede { display: none; }
  .fn { min-height: 0; }
  .start-row { margin-top: 10px; }
  .path { margin-top: 8px; }
  .venue-switch { flex-wrap: wrap; overflow: visible; }
  .venue-switch button { flex: 1 1 calc(50% - 8px); text-align: center; }
  #news.section { padding: 2px 0 8px; }
  #home-board.section { padding: 16px 0 24px; }
  .news-viewport { height: 300px; min-height: 0; }
  .news-copy { padding: 16px 16px 14px; }
  .news-copy strong { font-size: 1.35rem; }
}
.programs { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.programs li { border: 1px solid var(--line); border-radius: 999px; padding: 6px 10px; font-size: 12px; }
.riskpills i { font-style: normal; }
.riskpills b { font-weight: 500; }
@media all {
  .path { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .path li { margin: 0; padding: 10px 12px; border: 1px solid var(--line); background: rgba(7,12,20,.78); text-align: center; letter-spacing: .04em; line-height: 1.35; }
  .source-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .source-row a { display: grid; place-items: center; min-height: 40px; text-align: center; }
  .fn { display: grid; grid-template-rows: subgrid; grid-row: span 4; height: auto; align-items: start; }
  .fn .kicker { letter-spacing: .1em; line-height: 1.35; min-height: 0; }
  .fn b { font-size: 1.35rem; margin-top: 0; }
  .fn small { margin-top: 0; }
  .fn em { margin-top: 0; align-self: end; }
  .chips { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; width: min(340px, 100%); margin-left: auto; margin-right: auto; }
  .chips span { text-align: center; letter-spacing: .04em; font-size: 10px; padding: 6px 2px; white-space: nowrap; }
  .chips span:nth-child(1) { grid-column: 1 / 3; }
  .chips span:nth-child(2) { grid-column: 3 / 5; }
  .chips span:nth-child(3) { grid-column: 5 / 7; }
  .chips span:nth-child(4) { grid-column: 2 / 4; }
  .chips span:nth-child(5) { grid-column: 4 / 6; }
  .news-nav { flex-direction: column; align-items: center; gap: 8px; }
  .news-dots { justify-content: center; width: 100%; }
  .news-dots button { width: 16px; }
  .news-dots button.on { width: 28px; }
  .legend { display: grid; gap: 6px; }
  .legend span { display: block; line-height: 1.45; }
  .riskgrid { grid-template-columns: 1fr; gap: 6px; }
  .riskgrid div { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; padding: 9px 12px; }
  .riskgrid .lab { font-size: 11px; letter-spacing: .08em; line-height: 1.2; }
  .riskgrid b { margin-top: 0; font-size: 12px; letter-spacing: .08em; }
  .riskcard .offices a { display: grid; place-items: center; min-height: 36px; }
  .filters button { letter-spacing: .03em; font-size: 12px; line-height: 1.25; min-height: 42px; display: grid; place-items: center; padding: 8px 8px; }
  #platform-book .btn { width: 100%; justify-content: center; }
  #platform-book .mono.up { display: block; text-align: center; }
  #platform-book .param button.display { display: block; width: 100%; text-align: left; line-height: 1.2; text-wrap: balance; }
  .programs { display: grid; grid-template-columns: 1fr 1fr; }
  .programs li { text-align: center; border-radius: 12px; padding: 8px; line-height: 1.35; }
  .programs li:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .riskpills { display: grid; grid-template-columns: 1fr; gap: 6px; }
  .riskpills span { display: flex; justify-content: space-between; align-items: center; width: 100%; border-radius: 10px; padding: 8px 12px; letter-spacing: .06em; font-size: 11px; }
  #disclosure { padding: 28px 0 20px !important; }
  #disclosure > div { max-width: none; }
}

.opener { position:fixed; inset:0; z-index:80; background:#05070c; }
.opener video { width:100%; height:100%; object-fit:cover; background:#05070c; display:block; }

.film-copy { position:absolute; left:50%; top:43%; z-index:2; width:min(68vw, 420px); transform:translate(-50%, -50%); text-align:center; pointer-events:none; opacity:0; transition:opacity .45s ease; }
.film-copy.is-on { opacity:1; }
.opener.is-offer .film-copy { display:none; }
.film-logo { width:92px; height:92px; margin:0 auto 10px; border-radius:22px; display:block; box-shadow:0 0 28px rgba(126,224,214,.28); }
.film-name { margin:12px 0 0; color:#f4f7fb; font-size:clamp(1.35rem, 4.4vw, 2.55rem); line-height:1.12; text-shadow:0 0 22px rgba(126,224,214,.35); }
.film-rule { width:38%; height:1px; margin:14px auto 0; background:linear-gradient(90deg, transparent, #7ee0d6, transparent); }
.film-plan { margin:12px 0 0; color:rgba(231,238,248,.78); font-size:12px; letter-spacing:.22em; }
.brand-sub { letter-spacing:.14em; line-height:1.25; }
.engine-word { letter-spacing:.28em; }
.opener.is-out { opacity:0; transition:opacity .6s ease; pointer-events:none; }
.offer { position:fixed; left:max(12px, env(safe-area-inset-left, 0px)); right:max(12px, env(safe-area-inset-right, 0px)); bottom:calc(66px + env(safe-area-inset-bottom, 0px)); z-index:3; display:flex; justify-content:center; padding:0; opacity:0; visibility:hidden; pointer-events:none; }
.opener.is-offer { background:transparent; pointer-events:none; }
.opener.is-offer .offer { visibility:visible; opacity:1; transition:opacity .35s ease; }
.opener.is-offer video, .opener.is-offer .opener-bar { display:none; }
@media (max-width: 0px) { .offer { left:auto; right:28px; bottom:28px; width:min(300px, calc(100% - 56px)); } }
.offer-card { position:relative; width:min(300px, 100%); padding:26px 20px 22px; text-align:center; border-radius:22px; border:1px solid rgba(126,224,214,.55); background:rgba(7,12,20,.94); box-shadow:0 18px 50px rgba(0,0,0,.45), 0 0 32px rgba(126,224,214,.16); overflow:hidden; pointer-events:none; animation:offer-pop .55s cubic-bezier(.16,1,.3,1) both; }
.offer-card:before { content:""; position:absolute; inset:-40%; background:conic-gradient(from 0deg, transparent 0 68%, rgba(126,224,214,.85) 82%, transparent 92%); animation:spin 2.2s linear infinite; }
.offer-card:after { content:""; position:absolute; inset:1px; border-radius:21px; background:radial-gradient(120px 80px at 50% 0%, rgba(126,224,214,.16), transparent 70%), rgba(7,12,20,.96); }
.offer-copy, .offer-prize, .offer-meter { position:relative; z-index:1; }
.offer-copy { margin:0; color:#e7eef8; font-size:1.05rem; line-height:1.45; }
.offer-prize { margin:12px 0 0; color:#b7d4ff; font-size:1.05rem; letter-spacing:0; line-height:1.35; }
.offer-prize b { display:inline; margin:0 .12em; color:#7ee0d6; font-size:1.45em; font-weight:700; letter-spacing:-.03em; text-shadow:0 0 18px rgba(126,224,214,.45); animation:offer-glow 1.2s ease-in-out infinite; }
.offer-meter { display:block; height:3px; margin:18px 0 0; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; }
.offer-meter i { display:block; height:100%; width:100%; background:#7ee0d6; transform-origin:left center; animation:offer-drain 3s linear forwards; }
@keyframes offer-pop { from { transform:translateY(18px) scale(.9); } to { transform:none; } }
@keyframes offer-glow { 50% { text-shadow:0 0 28px rgba(126,224,214,.85); } }
@keyframes offer-drain { to { transform:scaleX(0); } }
.opener-bar { position:absolute; left:0; right:0; bottom:0; height:2px; background:rgba(255,255,255,.08); z-index:2; }
.opener-bar span { display:block; height:100%; width:0; background:#7ee0d6; }
.opener-bar span.run { animation:opener-fill 4s linear forwards; }
@keyframes opener-fill { to { width:100%; } }
@media (max-width: 0px) { .opener video { object-fit:contain; } }
@media (prefers-reduced-motion: reduce) { .opener { display:none !important; } }

@media (max-width: 389px), (max-width: 980px) and (max-height: 520px) {
  .brand-name { font-size: 11px; }
  .langpick { max-width: min(36vw, 8.5rem); font-size: 10px; padding: 0 6px; }
  h1 { font-size: 1.72rem; }
  .news-viewport { height: 220px; }
  .news-copy strong { font-size: 1.15rem; }
  .riskgrid { gap: 4px; }
  .riskgrid .lab { font-size: 7px; }
  .offer-copy { font-size: .95rem; }
  .offer-prize b { font-size: 1.6rem; }
}
@media (max-width: 340px) {
  .mark { width: 26px; height: 26px; border-radius: 7px; }
  .brand-name { font-size: 10px; }
  .langpick { max-width: 30vw; }
  h1 { font-size: 1.5rem; }
  .mobilenav button { font-size: 9px; letter-spacing: 0; }
  .path li { font-size: 11px; padding: 8px; }
}
@media (max-width: 980px) and (max-height: 520px) {
  .news-viewport { height: 160px; }
  .film-logo { width: 56px; height: 56px; border-radius: 14px; }
  .film-name { font-size: 1.35rem; }
  .film-copy { top: 46%; }
  .opener video { object-fit: contain; }
  .hero-copy { padding-bottom: 4px; }
  #home-board.section { padding-bottom: 12px; }
}
button, a, .langpick { touch-action: manipulation; }



.handoff { position:fixed; z-index:90; left:max(12px, env(safe-area-inset-left, 0px)); right:max(12px, env(safe-area-inset-right, 0px)); top:calc(64px + env(safe-area-inset-top, 0px)); bottom:calc(66px + env(safe-area-inset-bottom, 0px)); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; pointer-events:none; }
.handoff.is-on { opacity:1; visibility:visible; transition:opacity .25s ease; }
.handoff-card { width:min(280px, 100%); padding:22px 18px 20px; text-align:center; border-radius:22px; border:1px solid rgba(126,224,214,.55); background:rgba(7,12,20,.94); box-shadow:0 18px 50px rgba(0,0,0,.45), 0 0 32px rgba(126,224,214,.16); }
.handoff-spin { width:28px; height:28px; margin:0 auto; border-radius:50%; border:2px solid rgba(126,224,214,.25); border-top-color:#7ee0d6; display:block; animation:handoff-spin .8s linear infinite; }
.handoff-card p { margin:12px 0 0; color:#f4f7fb; font-size:1.05rem; line-height:1.45; }
@keyframes handoff-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .handoff-spin { animation:none; } }

/* The page is the phone layout at every size. Wide windows keep that column centered. */
@media (min-width: 760px) and (min-height: 540px) {
  html { background: #05070c; }
  body { width: min(440px, 100%); margin-left: auto; margin-right: auto; }
  header, .mobilenav, .flow-bg, .opener, .modal, .handoff {
    left: 0;
    right: 0;
    width: min(440px, 100%);
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
  }
}
