
@font-face{font-family:"Chakra Petch";src:url("../fonts/ChakraPetch-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url("../fonts/ChakraPetch-MediumItalic.ttf") format("truetype");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url("../fonts/ChakraPetch-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url("../fonts/ChakraPetch-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/IBMPlexSans-Variable.ttf") format("truetype");font-weight:100 700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/IBMPlexMono-Medium.ttf") format("truetype");font-weight:500;font-display:swap}

:root{
  --cobalt:#004AAD; --deep:#003070; --azure:#253238; --slate:#5B7B8A; --surge:#1A7CFF;
  --sky:#6CA7F9; --ice:#A8CBFD; --mist:#F4F7F8; --yellow:#F2CB07;
  --ground:#011A40; --ground-2:#02224F; --ground-3:#01143A;
  --panel:rgba(37,50,56,.55); --line:rgba(91,123,138,.32); --line-strong:rgba(108,167,249,.45);
  --text-2:#B7C6CE;
  
  --l-fg1:#253238; --l-fg2:#3D4C53; --l-fg3:#4E6A77; --l-line:rgba(37,50,56,.14);
  --f-display:'Chakra Petch','Oxanium',sans-serif;
  --f-body:'IBM Plex Sans',system-ui,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,monospace;
  --pad:20px; --sec:72px; --max:1240px; --nav-h:64px;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.65,0,.35,1);
}
@media (min-width:760px){ :root{ --pad:40px; --sec:112px } }
@media (min-width:1200px){ :root{ --sec:136px } }

*{box-sizing:border-box}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; background:var(--ground); scroll-padding-top:84px }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto } *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important } }
body{ margin:0; background:var(--ground); color:var(--mist); font-family:var(--f-body); font-weight:300; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; overflow-x:clip }
html{ overflow-x:hidden; overflow-x:clip; max-width:100% }
img,canvas,iframe,video{ max-width:100% }
img{ max-width:100%; display:block }
a{ color:inherit }
::selection{ background:var(--surge); color:#fff }
.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--pad) }
.sr{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.skip{ position:absolute; left:12px; top:-60px; z-index:100; background:var(--yellow); color:var(--ground); padding:10px 16px; font-family:var(--f-display); font-weight:600; text-decoration:none; border-radius:2px }
.skip:focus{ top:12px }


.eyebrow{ font-family:var(--f-mono); font-size:12px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--ice); display:flex; align-items:center; gap:10px; margin:0 0 20px; flex-wrap:wrap }
.eyebrow b{ color:var(--yellow); font-weight:500 }
.eyebrow::before{ content:""; width:18px; height:1px; background:var(--slate) }
h1,h2,h3,h4{ font-family:var(--f-display); font-weight:600; margin:0; text-wrap:balance; letter-spacing:-.01em }
h1{ font-size:clamp(40px,6vw,84px); line-height:1.0 }
h2{ font-size:clamp(32px,4.2vw,58px); line-height:1.04 }
h3{ font-size:clamp(21px,1.9vw,26px); line-height:1.15 }
h4{ font-size:18px; line-height:1.25 }
h1 em,h2 em,h3 em{ font-style:italic; font-weight:500 }
em.y{ color:var(--yellow) } em.b{ color:var(--sky) }
p{ text-wrap:pretty }
.lede{ font-size:clamp(17px,1.4vw,20px); color:var(--text-2); max-width:58ch; margin:20px 0 0 }
.body2{ color:var(--text-2); font-size:15.5px }
.mono{ font-family:var(--f-mono) }
.source{ font-family:var(--f-mono); font-size:11px; letter-spacing:.04em; color:var(--slate); margin-top:24px; line-height:1.7 }
.kicker{ font-family:var(--f-display); font-size:clamp(18px,1.6vw,22px); font-weight:500; margin-top:36px; max-width:62ch }
.kicker b{ color:var(--yellow); font-weight:600 }
.outline{ color:transparent; -webkit-text-stroke:1.2px var(--sky) }
.half{ color:transparent; -webkit-text-stroke:1.2px var(--sky); background:linear-gradient(to top,var(--mist) 0 52%,transparent 52% 100%); -webkit-background-clip:text; background-clip:text }
.tracker{ font-family:var(--f-mono); font-size:12px; letter-spacing:.16em; color:var(--ice) }


.btn{ --h:52px; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:var(--h); padding:0 26px; border-radius:999px; border:1px solid transparent; font-family:var(--f-display); font-weight:600; font-size:16px; letter-spacing:.02em; text-decoration:none; cursor:pointer; white-space:nowrap; background:none; color:inherit; transition:transform .25s var(--ease-out),background .25s,color .25s,border-color .25s,box-shadow .25s }
.btn-primary{ background:var(--yellow); color:#0B1A2E }
.btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 40px -10px rgba(242,203,7,.55) }
.btn-primary:active{ transform:none }
.btn .arr{ transition:transform .25s var(--ease-out) }
.btn:hover .arr{ transform:translateX(3px) }
.btn-ghost{ background:rgba(26,124,255,.08); color:var(--mist); border-color:rgba(108,167,249,.4) }

.btn-blue{ background:var(--cobalt); color:#fff; border-color:rgba(108,167,249,.55) }
.btn-blue:hover{ background:#0A5BCC; border-color:var(--sky); box-shadow:0 0 0 1px rgba(108,167,249,.4),0 8px 26px -10px rgba(26,124,255,.75); transform:translateY(-1px) }
.btn-ghost:hover{ border-color:var(--sky); color:var(--ice); background:rgba(26,124,255,.16) }
.btn-sm{ --h:42px; padding:0 18px; font-size:14px }
.tlink{ font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ice); text-decoration:none; display:inline-flex; gap:8px; align-items:center; opacity:.85; transition:opacity .2s }
.tlink:hover{ opacity:1 }
.tlink .arr{ color:var(--yellow); transition:transform .25s var(--ease-out) }
.tlink:hover .arr{ transform:translateX(3px) }
.ctas{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:32px }
@media (max-width:600px){ .ctas .btn{ white-space:normal; text-align:center; max-width:100%; line-height:1.25; padding-top:10px; padding-bottom:10px } }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,label:focus-within{ outline:2px solid var(--surge); outline-offset:3px }


.illus{ position:absolute; z-index:3; left:10px; bottom:10px; font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ice); background:rgba(1,26,64,.78); border:1px solid var(--line); padding:4px 8px; border-radius:2px }
.flag{ display:inline-flex; align-items:center; gap:8px; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--yellow); border:1px dashed rgba(242,203,7,.55); padding:4px 9px; border-radius:2px; line-height:1.4 }
.flag::before{ content:""; width:6px; height:6px; background:var(--yellow); transform:rotate(45deg); flex:none }
.chip{ display:inline-block; font-family:var(--f-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px; border:1px solid var(--line); border-radius:999px; color:var(--text-2) }
.sq{ list-style:none; margin:0; padding:0; display:grid; gap:12px }
.sq li{ position:relative; padding-left:24px; color:var(--text-2) }
.sq li::before{ content:""; position:absolute; left:2px; top:.62em; width:8px; height:8px; background:var(--yellow) }
.sq li b{ color:var(--mist); font-weight:500 }
.sq.x li::before{ background:none; border:1px solid var(--slate); width:8px; height:8px }


.nav{ position:fixed; inset:0 0 auto 0; z-index:50; height:var(--nav-h); display:flex; align-items:center; border-bottom:1px solid transparent; transition:background .3s,border-color .3s }
.nav.scrolled,.nav.open,.nav.solid{ background:rgba(1,26,64,.86); backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px); border-color:var(--line) }
.nav .wrap{ display:flex; align-items:center; gap:20px; height:100% }
.brand{ display:flex; align-items:center; text-decoration:none; flex:none }
.brand img{ height:34px; width:auto }
.nav-main{ display:none; align-items:stretch; height:100%; gap:4px; margin-left:16px }
.nav-item{ position:relative; display:flex; align-items:center }
.nav-item > a,.nav-item > button{ font-family:var(--f-mono); font-size:12px; letter-spacing:.13em; text-transform:uppercase; color:var(--text-2); text-decoration:none; background:none; border:0; cursor:pointer; padding:8px 12px; display:flex; gap:6px; align-items:center; height:100%; transition:color .2s }
.nav-item > a:hover,.nav-item > button:hover,.nav-item.open > button{ color:var(--ice) }
.nav-item > button::after{ content:""; width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .25s }
.nav-item.open > button::after{ transform:rotate(225deg) translateY(-1px) }
.nav-item.active > a,.nav-item.active > button{ color:var(--mist) }
.nav-item.active::after{ content:""; position:absolute; left:12px; right:12px; bottom:0; height:2px; background:var(--yellow) }
.drop{ position:absolute; top:100%; left:0; min-width:340px; background:rgba(2,34,79,.97); backdrop-filter:blur(14px); border:1px solid var(--line); border-top:2px solid var(--surge); padding:10px; display:none; box-shadow:0 30px 60px -20px rgba(0,0,0,.6) }
.nav-item.open .drop{ display:grid; gap:2px }
.drop a{ display:grid; gap:2px; padding:12px 14px; text-decoration:none; border-radius:2px; transition:background .2s }
.drop a:hover,.drop a[aria-current="page"]{ background:rgba(26,124,255,.12) }
.drop a b{ font-family:var(--f-display); font-weight:600; font-size:16px; color:var(--mist) }
.drop a span{ font-size:13px; color:var(--text-2); line-height:1.45 }
.drop a[aria-current="page"] b{ color:var(--yellow) }
.nav-util{ display:none; margin-left:auto; gap:18px; align-items:center }
.nav-util .tlink{ font-size:11px }
.nav-cta{ margin-left:auto; display:flex; gap:8px; align-items:center }
.nav-cta .s{ display:none } 
@media (max-width:560px){ .nav-cta .l{ display:none } .nav-cta .s{ display:inline } .nav .nav-cta .btn{ --h:38px; padding:0 12px; font-size:13px } .nav-cta{ gap:6px } }
.nav-util + .nav-cta{ margin-left:0 }
.burger{ width:44px; height:44px; display:grid; place-items:center; background:none; border:1px solid var(--line); border-radius:2px; color:var(--mist); cursor:pointer; margin-left:8px }
.burger i{ display:block; width:18px; height:1.5px; background:currentColor; position:relative }
.burger i::before,.burger i::after{ content:""; position:absolute; left:0; width:18px; height:1.5px; background:currentColor; transition:transform .25s }
.burger i::before{ top:-6px } .burger i::after{ top:6px }
.nav.open .burger i{ background:transparent }
.nav.open .burger i::before{ transform:translateY(6px) rotate(45deg) }
.nav.open .burger i::after{ transform:translateY(-6px) rotate(-45deg) }
.nav .btn{ --h:42px; padding:0 16px; font-size:14px }
@media (max-width:420px){ .nav .nav-cta .btn{ padding:0 10px; font-size:12.5px } .brand img{ height:24px } .burger{ width:40px; height:40px; margin-left:4px } }
@media (min-width:1120px){ .nav-main{ display:flex } .burger{ display:none } }
@media (min-width:1320px){ .nav-util{ display:flex } }
.mnav{ position:fixed; inset:var(--nav-h) 0 0 0; z-index:49; background:var(--ground); overflow-y:auto; padding:8px 0 120px; display:none; border-top:1px solid var(--line) }
.nav.open + .mnav{ display:block }
.mnav .grp{ border-bottom:1px solid var(--line); padding:18px 0 }
.mnav .grp > span{ font-family:var(--f-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); display:block; margin-bottom:8px }
.mnav a{ display:flex; justify-content:space-between; align-items:center; min-height:48px; text-decoration:none; font-family:var(--f-display); font-weight:600; font-size:20px; color:var(--mist) }
.mnav a[aria-current="page"]{ color:var(--yellow) }
.mnav a .arr{ color:var(--sky); font-family:var(--f-mono) }
.mnav .ctas{ margin-top:24px; display:grid; gap:10px }
.mnav .ctas .btn{ width:100% }


.hero{ position:relative; overflow:hidden; isolation:isolate; padding:calc(var(--nav-h) + 56px) 0 64px;
  background:radial-gradient(60% 50% at 78% 30%,rgba(26,124,255,.22),transparent 70%),radial-gradient(120% 80% at 50% 120%,rgba(0,74,173,.4),transparent 60%),var(--ground) }
.hero::before{ content:""; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(circle at 1px 1px,rgba(168,203,253,.2) 1px,transparent 1.4px); background-size:28px 28px; -webkit-mask-image:radial-gradient(70% 70% at 70% 40%,#000 10%,transparent 75%); mask-image:radial-gradient(70% 70% at 70% 40%,#000 10%,transparent 75%) }
.hero .cat{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ice); margin:0 0 22px; display:flex; flex-wrap:wrap; gap:4px 10px }
.hero .cat i{ font-style:normal; color:var(--slate) }
.hero h1{ max-width:15ch }
.hero-grid{ display:grid; gap:44px; align-items:center }
.hero-meta{ margin-top:40px; padding-top:16px; border-top:1px solid var(--line); font-family:var(--f-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); line-height:1.9; max-width:640px }
.hero-meta span{ color:var(--text-2) }
@media (min-width:1000px){ .hero{ padding:calc(var(--nav-h) + 88px) 0 104px } .hero-grid{ grid-template-columns:1.02fr 1fr; gap:64px } }
.hero.short{ padding-bottom:56px }
.hero.short h1{ font-size:clamp(38px,5.2vw,72px); max-width:18ch }
.crumbs{ font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); margin-bottom:24px; display:flex; gap:8px; flex-wrap:wrap }
.crumbs a{ color:var(--text-2); text-decoration:none } .crumbs a:hover{ color:var(--ice) }


.sec{ position:relative; padding:var(--sec) 0 }
.sec.alt{ background:var(--ground-2) }
.sec.deep{ background:linear-gradient(to bottom,var(--ground),var(--deep)) }
.sec-head{ max-width:860px; margin-bottom:40px }
.sec-head.row{ max-width:none; display:grid; gap:20px }
@media (min-width:900px){ .sec-head{ margin-bottom:60px } .sec-head.row{ grid-template-columns:1.2fr 1fr; align-items:end; gap:56px } .sec-head.row .lede{ margin:0 } }
.hair{ border:0; border-top:1px solid var(--line); margin:0 }
.mesh::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; background-image:linear-gradient(rgba(108,167,249,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(108,167,249,.06) 1px,transparent 1px); background-size:56px 56px; -webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000,transparent 80%); mask-image:radial-gradient(80% 70% at 50% 40%,#000,transparent 80%) }


.light{ background:var(--mist); color:var(--l-fg1) }
.light .eyebrow{ color:var(--l-fg3) } .light .eyebrow b{ color:var(--cobalt) } .light .eyebrow::before{ background:var(--l-fg3) }
.light em.y{ color:var(--cobalt) } .light em.b{ color:var(--cobalt) }
.light .lede,.light .body2{ color:var(--l-fg2) }
.light .sq li{ color:var(--l-fg2) } .light .sq li b{ color:var(--l-fg1) }
.light .source{ color:var(--l-fg3) }
.light .hair{ border-color:var(--l-line) }
.light .tlink{ color:var(--cobalt) } .light .tlink .arr{ color:var(--cobalt) }
.light .btn-ghost{ color:var(--cobalt); border-color:rgba(0,74,173,.4); background:transparent } .light .btn-ghost:hover{ background:rgba(0,74,173,.06); border-color:var(--cobalt) }
.light .chip{ border-color:var(--l-line); color:var(--l-fg2) }
.light .flag{ color:#7A6200; border-color:rgba(122,98,0,.5) } .light .flag::before{ background:var(--yellow) }
.light .kicker b{ color:var(--cobalt) }


.grid2,.grid3,.grid4{ display:grid; gap:16px }
@media (min-width:760px){ .grid2{ grid-template-columns:1fr 1fr } .grid3{ grid-template-columns:repeat(3,1fr) } .grid4{ grid-template-columns:repeat(2,1fr) } }
@media (min-width:1100px){ .grid4{ grid-template-columns:repeat(4,1fr) } }
.card{ position:relative; background:var(--panel); border:1px solid var(--line); border-radius:4px; padding:26px 24px 24px; display:flex; flex-direction:column; gap:12px; text-decoration:none; transition:transform .5s var(--ease-out),border-color .35s,background .35s,box-shadow .5s var(--ease-out) }
.card::before{ content:""; position:absolute; left:-1px; right:-1px; top:-1px; height:2px; background:var(--yellow); transform:scaleX(0); transform-origin:0 50%; transition:transform .5s var(--ease-out) }
.card.t-sky::before{ background:var(--surge) }
a.card:hover,.card.on{ transform:translateY(-3px); border-color:var(--line-strong); background:rgba(37,50,56,.72); box-shadow:0 24px 50px -24px rgba(0,0,0,.6) }
a.card:hover::before,.card.on::before,.card.ruled::before{ transform:none }
.card .k{ font-family:var(--f-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--sky) }
.card h3{ font-size:22px }
.card p{ margin:0; color:var(--text-2); font-size:15px }
.card .tlink{ margin-top:auto; padding-top:8px }
.card .num{ font-family:var(--f-display); font-weight:700; font-size:40px; line-height:1; color:var(--sky) }
.light .card{ background:#fff; border-color:var(--l-line) }
.light a.card:hover,.light .card.on{ background:#fff; border-color:rgba(0,74,173,.35); box-shadow:0 24px 50px -28px rgba(1,26,64,.35) }
.light .card .k{ color:var(--cobalt) } .light .card p{ color:var(--l-fg2) } .light .card h3{ color:var(--l-fg1) }
.light .card::before{ background:var(--cobalt) }


.media{ position:relative; border-radius:4px; overflow:hidden; border:1px solid var(--line); background:var(--ground-3) }
.media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-out) }
.media:hover img{ transform:scale(1.03) }
.light .media{ border-color:var(--l-line) }


.split{ display:grid; gap:40px; align-items:center }
@media (min-width:960px){ .split{ grid-template-columns:1fr 1fr; gap:72px } .split.r > :first-child{ order:2 } }


.mstrack{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; position:relative; margin-top:12px }
.mstrack::before{ content:""; position:absolute; left:0; right:0; top:15px; height:1px; background:var(--line-strong) }
.ms{ position:relative; padding-top:40px; padding-right:10px }
.ms::before{ content:""; position:absolute; left:0; top:8px; width:14px; height:14px; border:1px solid var(--sky); background:var(--ground); transform:rotate(45deg) }
.ms.on::before{ background:var(--yellow); border-color:var(--yellow); box-shadow:0 0 0 5px rgba(242,203,7,.14) }
.ms .n{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.14em; color:var(--slate); text-transform:uppercase }
.ms b{ display:block; font-family:var(--f-display); font-weight:600; font-size:16px; line-height:1.2; margin-top:4px }
.ms span{ display:block; font-size:13px; color:var(--text-2); margin-top:6px; line-height:1.45 }
.light .mstrack::before{ background:rgba(0,74,173,.3) }
.light .ms::before{ border-color:var(--cobalt); background:var(--mist) }
.light .ms.on::before{ background:var(--yellow); border-color:#B89A00 }
.light .ms span{ color:var(--l-fg2) } .light .ms .n{ color:var(--l-fg3) }
@media (max-width:899px){
  .mstrack{ grid-template-columns:1fr; padding-left:28px }
  .mstrack::before{ left:7px; right:auto; top:0; bottom:0; width:1px; height:auto }
  .ms{ padding:0 0 22px 0 } .ms::before{ left:-28px; top:4px }
}


.mslot{ position:relative; aspect-ratio:16/10; border:1px solid var(--line-strong); border-radius:4px; overflow:hidden; background:
  radial-gradient(70% 60% at 50% 40%,rgba(26,124,255,.18),transparent 70%),linear-gradient(180deg,#01143A,#011A40) }
.mslot::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(108,167,249,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(108,167,249,.09) 1px,transparent 1px); background-size:32px 32px }
.mslot .corner{ position:absolute; width:22px; height:22px; border:2px solid var(--sky); opacity:.8 }
.mslot .c1{ left:12px; top:12px; border-right:0; border-bottom:0 } .mslot .c2{ right:12px; top:12px; border-left:0; border-bottom:0 }
.mslot .c3{ left:12px; bottom:12px; border-right:0; border-top:0 } .mslot .c4{ right:12px; bottom:12px; border-left:0; border-top:0 }
.mslot .scan{ position:absolute; left:0; right:0; top:30%; height:2px; background:var(--yellow); box-shadow:0 0 18px 2px rgba(242,203,7,.55); opacity:.9 }
@media (prefers-reduced-motion:no-preference){ .mslot .scan{ animation:sweep 7.8s var(--ease-io) infinite } }
@keyframes sweep{ 0%{ top:12% } 50%{ top:86% } 100%{ top:12% } }
.mslot .ro{ position:absolute; left:20px; top:20px; z-index:2; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--sky); line-height:1.9 }
.mslot .ro b{ color:var(--ice); font-weight:500 }
.mslot .mid{ position:absolute; inset:0; z-index:2; display:grid; place-items:center; text-align:center; padding:24px }
.mslot .mid p{ margin:12px 0 0; font-family:var(--f-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-2) }
.mslot iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; z-index:4 }
.mslot .msg{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.06em; color:var(--ice); max-width:36ch; margin:10px auto 0; display:none }
.mslot.nolink .msg{ display:block }
.prompts{ display:grid; gap:0; margin-top:20px; border-top:1px solid var(--line) }
.prompts li{ list-style:none; display:grid; grid-template-columns:40px 1fr; gap:10px; padding:14px 0; border-bottom:1px solid var(--line) }
.prompts .k{ font-family:var(--f-mono); color:var(--yellow); font-size:12px; padding-top:3px }
.prompts b{ font-family:var(--f-display); font-weight:600; font-size:17px; display:block }
.prompts span{ color:var(--text-2); font-size:14.5px }
.prompts ul{ margin:0; padding:0 }


.dtable{ width:100%; border-collapse:collapse; font-size:15px }
.dtable th{ background:var(--yellow); color:#0B1A2E; font-family:var(--f-mono); font-weight:500; font-size:11px; letter-spacing:.14em; text-transform:uppercase; text-align:left; padding:10px 14px }
.dtable th:last-child,.dtable td:last-child{ text-align:right }
.dtable td{ padding:13px 14px; border-bottom:1px solid var(--line); vertical-align:top; color:var(--text-2) }
.dtable td:first-child{ color:var(--mist) }
.dtable td small{ display:block; font-family:var(--f-mono); font-size:11px; letter-spacing:.04em; color:var(--slate); margin-top:3px }
.dtable td.num{ font-family:var(--f-mono); color:var(--mist); white-space:nowrap }
.dtable tr.neg td.num{ color:var(--sky) }
.dtable tr.tbd td.num{ color:var(--slate) }
.dtable tr.total td{ background:var(--cobalt); color:#fff; border:0; font-family:var(--f-display); font-weight:600; font-size:18px }
.dtable tr.total td.num{ font-size:22px; color:#fff }
.dtable tr.total small{ color:var(--ice) }


.faq{ border-top:1px solid var(--line) }
.faq details{ border-bottom:1px solid var(--line) }
.faq summary{ list-style:none; cursor:pointer; padding:22px 40px 22px 0; position:relative; font-family:var(--f-display); font-weight:600; font-size:19px; line-height:1.3 }
.faq summary::-webkit-details-marker{ display:none }
.faq summary::after{ content:""; position:absolute; right:6px; top:30px; width:10px; height:10px; border-right:1.5px solid var(--sky); border-bottom:1.5px solid var(--sky); transform:rotate(45deg); transition:transform .25s }
.faq details[open] summary::after{ transform:rotate(225deg); top:34px }
.faq details p{ margin:0 0 22px; color:var(--text-2); max-width:70ch }
.light .faq,.light .faq details{ border-color:var(--l-line) }
.light .faq summary::after{ border-color:var(--cobalt) }
.light .faq details p{ color:var(--l-fg2) }


.form{ background:rgba(37,50,56,.6); border:1px solid var(--line-strong); border-radius:4px; padding:24px }
.fgrid{ display:grid; gap:16px }
@media (min-width:600px){ .fgrid.c2{ grid-template-columns:1fr 1fr } .fgrid .full{ grid-column:1/-1 } }
.field{ display:flex; flex-direction:column; gap:7px }
.field > label,.field > .lbl{ font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ice) }
.field .hint{ font-size:12.5px; color:var(--slate); line-height:1.45 }
.field input,.field select,.field textarea{ font:inherit; font-size:16px; font-weight:400; color:var(--mist); background:rgba(1,26,64,.7); border:1px solid var(--line); border-radius:4px; min-height:48px; padding:10px 14px; width:100%; transition:border-color .2s,background .2s }
.field textarea{ min-height:96px; resize:vertical }
.field select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--sky) 50%),linear-gradient(135deg,var(--sky) 50%,transparent 50%); background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%; background-size:5px 5px; background-repeat:no-repeat; padding-right:36px }
.field select option{ background:var(--ground-2) }
.field input:hover,.field select:hover{ border-color:var(--slate) }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--surge); background:rgba(1,26,64,.95); outline:none; box-shadow:0 0 0 3px rgba(26,124,255,.25) }
.field input::placeholder,.field textarea::placeholder{ color:#6E8793 }
.field.err input,.field.err select{ border-color:#F2A007 }
.field .emsg{ display:none; font-size:13px; color:#F7C948 }
.field.err .emsg{ display:block }
.unit{ position:relative } .unit input{ padding-right:52px } .unit i{ position:absolute; right:14px; top:50%; transform:translateY(-50%); font-style:normal; font-family:var(--f-mono); font-size:13px; color:var(--slate) }

.choices{ display:grid; gap:8px }
.choice{ position:relative; display:flex; gap:12px; align-items:flex-start; padding:14px 14px 14px 46px; border:1px solid var(--line); border-radius:4px; background:rgba(1,26,64,.5); cursor:pointer; transition:border-color .2s,background .2s }
.choice:hover{ border-color:var(--slate) }
.choice input{ position:absolute; opacity:0; pointer-events:none }
.choice::before{ content:""; position:absolute; left:16px; top:17px; width:16px; height:16px; border:1px solid var(--sky); background:transparent; transition:background .2s,border-color .2s }
.choice.radio::before{ border-radius:50% }
.choice:has(input:checked){ border-color:var(--yellow); background:rgba(242,203,7,.06) }
.choice:has(input:checked)::before{ background:var(--yellow); border-color:var(--yellow); box-shadow:inset 0 0 0 3px var(--ground) }
.choice:has(input:focus-visible){ outline:2px solid var(--surge); outline-offset:2px }
.choice b{ display:block; font-family:var(--f-display); font-weight:600; font-size:16px; line-height:1.25 }
.choice span{ display:block; font-size:13px; color:var(--text-2); line-height:1.45; margin-top:2px }
.choice .tag{ margin-left:auto; font-family:var(--f-mono); font-size:11px; color:var(--slate); white-space:nowrap; padding-top:2px }
.segs{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px }
.segs .choice{ padding:12px 8px; justify-content:center; text-align:center }
.segs .choice::before{ display:none }
.segs .choice b{ font-size:15px }
.check{ display:flex; gap:12px; align-items:flex-start; font-size:14px; color:var(--text-2); cursor:pointer }
.check input{ width:18px; height:18px; margin:2px 0 0; accent-color:var(--yellow); flex:none }


.note{ border:1px solid var(--line); border-top:2px solid var(--surge); background:rgba(1,20,58,.6); padding:16px 18px; font-size:14px; color:var(--text-2); border-radius:2px }
.note b{ color:var(--mist); font-weight:500 }
.note.warn{ border-top-color:var(--yellow) }
.light .note{ background:#fff; border-color:var(--l-line); color:var(--l-fg2) } .light .note b{ color:var(--l-fg1) }
.ph{ border:1px dashed rgba(168,203,253,.4); border-radius:4px; padding:22px; background:repeating-linear-gradient(135deg,rgba(108,167,249,.04) 0 10px,transparent 10px 20px) }
.ph .flag{ margin-bottom:10px }
.ph p{ margin:6px 0 0; color:var(--text-2); font-size:14.5px }
.light .ph{ border-color:rgba(0,74,173,.3); background:repeating-linear-gradient(135deg,rgba(0,74,173,.035) 0 10px,transparent 10px 20px) }
.light .ph p{ color:var(--l-fg2) }


.close{ background:radial-gradient(70% 60% at 80% 30%,rgba(26,124,255,.2),transparent 70%),linear-gradient(to bottom,var(--ground),var(--deep)); overflow:hidden }
.close h2{ font-size:clamp(36px,5vw,72px); max-width:17ch }


.foot{ background:var(--deep); border-top:1px solid rgba(108,167,249,.2); padding:64px 0 0; position:relative }
.foot-grid{ display:grid; gap:36px }
.foot img{ height:48px; width:auto }
.foot .line{ font-family:var(--f-display); font-size:19px; font-weight:500; max-width:30ch; margin:18px 0 0 }
.foot .line em{ color:var(--yellow) }
.foot h4{ font-family:var(--f-mono); font-weight:500; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); margin:0 0 12px }
.foot ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px }
.foot ul a{ text-decoration:none; color:var(--text-2); font-size:14.5px; opacity:.9 } .foot ul a:hover{ color:var(--ice); opacity:1 }
.foot .disc{ margin-top:48px; padding:20px 0 28px; border-top:1px solid rgba(108,167,249,.2); font-size:12px; color:#8FA6B2; line-height:1.7; display:grid; gap:6px }
.foot .bar{ height:12px; background:var(--yellow) }
@media (min-width:900px){ .foot-grid{ grid-template-columns:1.4fr repeat(4,1fr); gap:40px } }


.pv-chip{ position:fixed; left:12px; bottom:12px; z-index:45; font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ground); background:var(--ice); padding:6px 10px; border-radius:2px; text-decoration:none; box-shadow:0 8px 24px -8px rgba(0,0,0,.5) }
@media (max-width:759px){ .pv-chip{ bottom:auto; top:calc(var(--nav-h) + 8px); left:auto; right:8px; font-size:9px; padding:4px 8px } }


html.motion .rv{ opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease-out),transform .6s var(--ease-out) }
html.motion .rv.in{ opacity:1; transform:none }
