/* Night Shift landing: midnight and street lamp amber. Dark first; the sun and moon button flips it. */
@font-face { font-family: 'Bodoni Moda'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('/assets/fonts/bodoni-moda-var.woff2') format('woff2'); }
@font-face { font-family: 'Bodoni Moda'; font-style: italic; font-weight: 400 700; font-display: swap; src: url('/assets/fonts/bodoni-moda-italic-var.woff2') format('woff2'); }
@font-face { font-family: 'Albert Sans'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('/assets/fonts/albert-sans-var.woff2') format('woff2'); }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/dm-mono-400.woff2') format('woff2'); }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/dm-mono-500.woff2') format('woff2'); }
.ns-body{margin:0;background:#0A0E1A}
.ns{--bg:#0A0E1A;--bg2:#0E1322;--panel:#121829;--figure:rgba(18,24,41,.92);--tower:#121829;--tower2:#161D33;--grid:#141A2E;--dot:#2B3350;--line:#252C44;--line2:#333B58;--band:#1E2640;--mute:#A8AEC2;--body:#C5CADB;--lamp:#F4A93C;--ink:#F2EEE5;--star:#F2EEE5;--go:#F4A93C;--on-go:#0A0E1A;--inv-bg:#F2EEE5;--inv-ink:#0A0E1A;--inv-body:#3A4260;--inv-lamp:#A85F0E;--inv-lab:#8A4D0A}
html[data-theme="light"] .ns-body{background:#F7F3EA}
html[data-theme="light"] .ns{--bg:#F7F3EA;--bg2:#EFE9DC;--panel:#FFFDF8;--figure:rgba(255,253,248,.94);--tower:#121829;--tower2:#0E1322;--grid:#E6DFCF;--dot:#D3CBB8;--line:#DDD5C4;--line2:#BDB39C;--band:#E4DCCB;--mute:#5B6178;--body:#3A4260;--lamp:#9A5508;--ink:#0A0E1A;--star:#BDB39C;--go:#F4A93C;--on-go:#0A0E1A;--inv-bg:#0A0E1A;--inv-ink:#F2EEE5;--inv-body:#C5CADB;--inv-lamp:#F4A93C;--inv-lab:#F4A93C}
.flip .sun{display:block}.flip .moon{display:none}
html[data-theme="light"] .flip .sun{display:none}html[data-theme="light"] .flip .moon{display:block}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font-size:20px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--lamp)}
.faq .pm{flex-shrink:0;transition:transform .2s ease;color:var(--lamp)}
.faq[open] .pm{transform:rotate(45deg)}
.flip{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:transparent;border:1px solid var(--line2);color:var(--ink);cursor:pointer;padding:0}
.flip:hover{border-color:var(--lamp);color:var(--lamp)}
.m1{animation:m1 24s infinite}.m2{animation:m2 24s infinite}.m3{animation:m3 24s infinite}.m4{animation:m4 24s infinite}.m5{animation:m5 24s infinite}.m6{animation:m6 24s infinite}.m7{animation:m7 24s infinite}.m8{animation:m8 24s infinite}
@keyframes m1{0%,1%{opacity:0;transform:translateY(8px)}3%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes m2{0%,8%{opacity:0;transform:translateY(8px)}10%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes m3{0%,16%{opacity:0;transform:translateY(8px)}18%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes m4{0%,22%{opacity:0;transform:translateY(8px)}24%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes m5{0%,31%{opacity:0;transform:translateY(8px)}33%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes m6{0%,38%{opacity:0;transform:translateY(8px)}40%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes m7{0%,50%{opacity:0;transform:translateY(8px)}52%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes m8{0%,58%{opacity:0;transform:translateY(8px)}61%,94%{opacity:1;transform:none}100%{opacity:0}}
.slot{animation:slot 24s infinite}
@keyframes slot{0%,60%{background:var(--band);color:var(--mute);box-shadow:none}64%,94%{background:var(--go);color:var(--on-go);box-shadow:0 0 22px rgba(244,169,60,.55)}100%{background:var(--band);color:var(--mute);box-shadow:none}}
.trail{animation:trail 14s ease-in-out infinite;transform-origin:left center}
@keyframes trail{0%,5%{transform:scaleX(0)}72%,94%{transform:scaleX(1)}100%{transform:scaleX(0)}}
.c1{animation:cp 14s infinite .6s}.c2{animation:cp 14s infinite 2.6s}.c3{animation:cp 14s infinite 4.6s}.c4{animation:cp 14s infinite 6.6s}.c5{animation:cp 14s infinite 8.6s}
@keyframes cp{0%{background:var(--panel);transform:scale(.8)}6%,70%{background:var(--lamp);transform:scale(1)}100%{background:var(--panel);transform:scale(.8)}}

.ns a{color:var(--lamp)}
.lift{transition:transform .25s ease,border-color .25s ease}
.lift:hover{transform:translateY(-4px);border-color:var(--lamp)}
.go{display:inline-flex;align-items:center;gap:10px;transition:transform .2s ease,background .2s ease}
.go:hover{transform:translateY(-2px);background:#FFC469;color:#0A0E1A}
.w0{fill:#2B3350}
.w1,.w2,.w3,.w4,.w5{fill:#F4A93C}
.w1{animation:win 7s infinite}
.w2{animation:win 11s infinite 2s}
.w3{animation:win 9s infinite 4s}
.w4{animation:win 13s infinite 1s}
.w5{fill:#FFC469}
.wall{fill:#F4A93C;animation:warm 5s ease-in-out infinite}
.sr-tile{box-shadow:inset 0 0 0 1px #252C44}html[data-theme="light"] .sr-tile{box-shadow:none}
@keyframes win{0%,38%{opacity:.12}44%,86%{opacity:1}92%,100%{opacity:.12}}
@keyframes warm{0%,100%{opacity:.82}50%{opacity:1}}
.star{animation:tw 4s ease-in-out infinite}
.star2{animation:tw 6s ease-in-out infinite 1.5s}
.star3{animation:tw 5s ease-in-out infinite 3s}
@keyframes tw{0%,100%{opacity:.25}50%{opacity:1}}
.draw{stroke-dasharray:44;animation:draw 8s ease-in-out infinite}
@keyframes draw{0%,12%{stroke-dashoffset:44}26%,88%{stroke-dashoffset:0}100%{stroke-dashoffset:44}}
.r1{animation:r1 20s infinite}.r2{animation:r2 20s infinite}.r3{animation:r3 20s infinite}.r4{animation:r4 20s infinite}.r5{animation:r5 20s infinite}.r6{animation:r6 20s infinite}
@keyframes r1{0%,1%{opacity:0;transform:translateY(6px)}4%,95%{opacity:1;transform:none}100%{opacity:0}}
@keyframes r2{0%,13%{opacity:0;transform:translateY(6px)}16%,95%{opacity:1;transform:none}100%{opacity:0}}
@keyframes r3{0%,25%{opacity:0;transform:translateY(6px)}28%,95%{opacity:1;transform:none}100%{opacity:0}}
@keyframes r4{0%,41%{opacity:0;transform:translateY(6px)}44%,95%{opacity:1;transform:none}100%{opacity:0}}
@keyframes r5{0%,55%{opacity:0;transform:translateY(6px)}58%,95%{opacity:1;transform:none}100%{opacity:0}}
@keyframes r6{0%,68%{opacity:0;transform:translateY(6px)}71%,95%{opacity:1;transform:none}100%{opacity:0}}
.sweep{animation:sweep 14s linear infinite}
@keyframes sweep{from{left:0}to{left:100%}}
.ping{animation:ping 2.8s ease-out infinite}
.ping2{animation:ping 2.8s ease-out infinite .9s}
.ping3{animation:ping 2.8s ease-out infinite 1.8s}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(244,169,60,.7)}80%,100%{box-shadow:0 0 0 14px rgba(244,169,60,0)}}
.run{display:flex;width:max-content;animation:run 34s linear infinite}
@keyframes run{to{transform:translateX(-50%)}}
.orbit{transform-origin:100px 100px;animation:orbit 18s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.dash{stroke-dasharray:5 9;animation:dash 2.4s linear infinite}
@keyframes dash{to{stroke-dashoffset:-28}}
@media (prefers-reduced-motion:reduce){.ns *{animation:none!important;transition:none!important}}
@media (max-width:640px){.ns header nav a:not(.go):not([href="/login"]){display:none}}
.ns-optin{position:relative;max-width:1240px;margin:0 auto;padding:96px 24px 56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:center}
.ns-optin-form .fn-card{margin:0;background:var(--panel);border:1px solid var(--line2);border-radius:16px;color:var(--ink)}
.ns-optin-form .fn-card-head h2{font-family:'Bodoni Moda',Georgia,serif;font-weight:500;font-size:32px;color:var(--ink)}
.ns-optin-form .fn-card-head p,.ns-optin-form .fn-consent-text,.ns-optin-form .fn-trust-row{color:var(--mute)}
.ns-optin-form label{color:var(--body)}
.ns-optin-form input[type=text],.ns-optin-form input[type=email],.ns-optin-form input[type=tel]{background:var(--bg);border:1px solid var(--line2);color:var(--ink)}
.ns-optin-form .fn-btn-primary{background:var(--go);color:var(--on-go);border-color:var(--go)}
