html{background:#08090a}
@font-face{font-family:'Geist';src:url(/geist-sans-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Geist';src:url(/geist-sans-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Geist';src:url(/geist-sans-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Geist';src:url(/geist-sans-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Geist Mono';src:url(/geist-mono-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Geist Mono';src:url(/geist-mono-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
:root{color-scheme:dark;--a:#e8e8e8;--bg:#08090a;--bg2:#0e0f10;--card:#131415;--card2:#191a1c;--line:#26282a;--line2:#3a3d40;
--ink:#f4f4f5;--ink2:#b4b7ba;--ink3:#7d8185;--ok:#58b57c;--wait:#d9a441;--bad:#e0675f;--info:#6aa8e0;
--sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;--serif:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--r:12px}
*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit}
h1,h2,h3{font-weight:700;letter-spacing:-.025em;line-height:1.08}
em.s{font-family:var(--sans);font-style:normal;font-weight:700;color:var(--ink3);letter-spacing:-.03em}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:8px}
[hidden]{display:none!important}
::selection{background:#3a3d40}
.wrap{width:min(1140px,100% - 40px);margin:0 auto}
svg.i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.muted{color:var(--ink3)}

/* header */
.top{position:sticky;top:0;z-index:40;background:rgba(8,9,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:8px;height:66px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:19px;letter-spacing:-.02em;margin-right:auto}
.brand img{width:32px;height:32px;border-radius:9px}.brand sup{font-size:9px;color:var(--ink3);margin-left:2px}
.nav{display:flex;gap:2px}.nav a{padding:8px 13px;border-radius:10px;font-size:14.5px;font-weight:500;color:var(--ink2);transition:.15s}
.nav a:hover{color:var(--ink);background:var(--card)}.nav a.on{color:var(--ink)}
.burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;place-items:center}
.who{position:relative}
.who>button{display:flex;align-items:center;gap:9px;padding:3px 12px 3px 3px;border-radius:999px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:600;font-size:14px;transition:.15s}
.who>button:hover{border-color:var(--line2)}.who>button img{width:30px;height:30px;border-radius:50%}
.menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 24px 50px -12px rgba(0,0,0,.7)}
.menu a,.menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:none;border-radius:9px;font-size:14px;font-weight:500;color:var(--ink2);cursor:pointer;text-align:left}
.menu a:hover,.menu button:hover{background:var(--card2);color:var(--ink)}.menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 20px;border-radius:12px;border:1px solid var(--ink);background:var(--ink);color:#0a0b0c;font:600 14.5px/1.2 var(--sans);cursor:pointer;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(244,244,245,.35)}.btn:active{transform:none}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2);box-shadow:none}.btn.ghost:hover{background:var(--card);border-color:var(--ink3)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#06150c}.btn.ok:hover{background:#6bc78d;box-shadow:0 10px 24px -10px var(--ok)}
.btn.bad{background:transparent;border-color:#5a2f2c;color:var(--bad);box-shadow:none}.btn.bad:hover{background:rgba(224,103,95,.1);border-color:var(--bad)}
.btn.warn{background:transparent;border-color:#5a4a28;color:var(--wait);box-shadow:none}.btn.warn:hover{background:rgba(217,164,65,.1);border-color:var(--wait)}
.btn.discord{background:#5865f2;border-color:#5865f2;color:#fff}.btn.discord:hover{background:#6b77f5;box-shadow:0 10px 24px -10px #5865f2}
.btn.sm{min-height:36px;padding:6px 14px;font-size:13.5px;border-radius:10px}
.btn:disabled{opacity:.45;pointer-events:none}
.ico{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer;transition:.15s}.ico:hover{border-color:var(--line2);background:var(--card2)}

/* type bits */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.eyebrow:before{content:"";width:22px;height:1px;background:var(--ink3)}
.sh{margin-bottom:44px;max-width:640px}.sh h2{font-size:clamp(30px,4.4vw,48px);margin-top:14px}.sh p{color:var(--ink2);margin-top:14px}
section{padding:92px 0}

/* hero */
.hero{padding:clamp(56px,9vw,112px) 0 64px;position:relative;overflow:hidden}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(44px,8.2vw,104px);letter-spacing:-.045em;line-height:.98;max-width:12ch;margin-top:26px}
.hero p.lead{max-width:54ch;color:var(--ink2);font-size:clamp(17px,2vw,20px);margin-top:28px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.rings{position:absolute;right:-140px;top:-120px;width:640px;height:640px;pointer-events:none;opacity:.9;
background:repeating-radial-gradient(circle at center,transparent 0 58px,#1e2022 58px 59px);-webkit-mask-image:radial-gradient(circle,#000 20%,transparent 68%);mask-image:radial-gradient(circle,#000 20%,transparent 68%)}
.strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:60px;padding-top:26px;border-top:1px solid var(--line)}
.strip a{display:flex;align-items:center;gap:11px;padding:8px 18px 8px 8px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);font-weight:600;font-size:14.5px;transition:.2s}
.strip a:hover{border-color:var(--line2);background:var(--card);transform:translateY(-2px)}.strip img{width:34px;height:34px;border-radius:9px}

/* news */
.news{padding:0 0 20px}.newsrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.post{padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}
.post small{color:var(--ink3);font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.post h3{font-size:19px;margin:8px 0;letter-spacing:-.015em}.post p{color:var(--ink2);font-size:15px;white-space:pre-line}
.pin{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:99px;background:var(--card2);border:1px solid var(--line2);color:var(--ink2);font-size:10.5px}

/* bots */
.bot{--a:#fff;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,64px);padding:clamp(26px,4vw,48px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,var(--card),var(--bg2) 70%);position:relative;overflow:hidden;transition:border-color .3s}
.bot+.bot{margin-top:22px}.bot:hover{border-color:color-mix(in srgb,var(--a) 38%,var(--line))}
.bot:before{content:"";position:absolute;left:0;top:34px;bottom:34px;width:3px;border-radius:0 3px 3px 0;background:var(--a);opacity:.9}
.bot .hd{display:flex;align-items:center;gap:16px}.bot .hd img{width:68px;height:68px;border-radius:18px;border:1px solid var(--line2)}
.bot h3{font-size:34px;letter-spacing:-.035em}.bot h3 sup{font-size:11px;color:var(--ink3);margin-left:2px}
.bot .tl{color:var(--ink2);margin-top:2px;font-size:15px}
.badge{display:inline-flex;align-items:center;gap:7px;margin-top:22px;padding:5px 12px;border-radius:99px;border:1px solid color-mix(in srgb,var(--a) 40%,var(--line));color:var(--a);font-size:12.5px;font-weight:600;background:color-mix(in srgb,var(--a) 8%,transparent)}
.bot .desc{color:var(--ink2);margin:20px 0 28px;max-width:46ch}
.row{display:flex;gap:10px;flex-wrap:wrap}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.feat{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.18);transition:.25s}
.feat:hover{border-color:color-mix(in srgb,var(--a) 40%,var(--line));transform:translateY(-3px)}
.feat i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--a) 12%,var(--card2));color:var(--a);margin-bottom:14px}
.feat b{display:block;font-size:15.5px;letter-spacing:-.01em}.feat span{color:var(--ink3);font-size:14px;line-height:1.5;display:block;margin-top:3px}

/* principles */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.three>div{padding:30px 28px 10px 0}.three>div+div{padding-left:28px;border-left:1px solid var(--line)}
.three small{font:600 13px var(--serif);font-style:italic;color:var(--ink3)}.three h3{font-size:22px;margin:10px 0 8px;letter-spacing:-.02em}.three p{color:var(--ink2);font-size:15px}

/* team */
.people{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.person{display:flex;align-items:center;gap:22px;padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--bg2);transition:.25s}
.person:hover{border-color:var(--line2);transform:translateY(-4px)}
.person img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:1px solid var(--line2)}
.person h3{font-size:22px}.person p{color:var(--ink2);font-size:14.5px;margin-top:3px}
.person em{display:inline-block;margin-top:10px;font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;font-style:normal;padding:3px 10px;border:1px solid var(--line2);border-radius:99px;color:var(--ink2)}

/* careers banner */
.hire{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(28px,4vw,48px);border-radius:28px;border:1px solid var(--line2);background:radial-gradient(500px 220px at 0 0,#232527,transparent),var(--card)}
.hire h2{font-size:clamp(26px,3.6vw,40px);max-width:16ch}.hire p{color:var(--ink2);margin-top:10px;max-width:46ch}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:8px;box-shadow:0 0 0 4px rgba(88,181,124,.15)}

/* contact */
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cc{padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--bg2);display:flex;flex-direction:column;align-items:flex-start;gap:6px;transition:.25s}
.cc:hover{border-color:var(--line2);transform:translateY(-4px)}.cc .ic{width:46px;height:46px;border-radius:13px;background:var(--card2);border:1px solid var(--line);display:grid;place-items:center;margin-bottom:12px}
.cc h3{font-size:20px}.cc p{color:var(--ink2);font-size:15px;margin-bottom:14px;flex:1}

footer{border-top:1px solid var(--line);padding:48px 0 34px;color:var(--ink3);font-size:14px;margin-top:40px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.012))}
.ftop{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.fbrand{max-width:300px}.fbrand p{margin-top:14px;color:var(--ink3);font-size:14.5px}.fbrand em.s{color:var(--ink2)}
.fcols{display:flex;gap:clamp(28px,6vw,72px);flex-wrap:wrap}.fcols div{display:grid;gap:9px;align-content:start}.fcols b{color:var(--ink);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.fcols a{color:var(--ink3);transition:color .15s}.fcols a:hover{color:var(--ink)}
.fbot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:22px;border-top:1px solid var(--line);font-size:13px}.sig{font-family:var(--serif);font-style:italic}
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.js .rv.in{opacity:1;transform:none}

/* toast + modal + form bits (shared with careers/admin) */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;z-index:200;padding:12px 18px;border-radius:12px;background:var(--ink);color:#0a0b0c;font-weight:600;font-size:14px;transition:.25s;pointer-events:none;max-width:calc(100vw - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}.toast.err{background:var(--bad);color:#190605}
.veil{position:fixed;inset:0;background:rgba(3,3,4,.66);backdrop-filter:blur(3px);z-index:100;opacity:0;pointer-events:none;transition:.25s}.veil.show{opacity:1;pointer-events:auto}
.sheet{position:fixed;z-index:110;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--bg2);border-left:1px solid var(--line);transform:translateX(104%);transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
.sheet.show{transform:none}.sheet header{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.sheet header h3{font-size:19px;flex:1;letter-spacing:-.015em}
.sheet .body{flex:1;overflow:auto;padding:22px;display:grid;gap:18px;align-content:start}.sheet .foot{padding:16px 22px;border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}
label.f{display:grid;gap:7px;font-size:13.5px;font-weight:600;color:var(--ink2)}label.f small{font-weight:400;color:var(--ink3)}
.fi,textarea.fi,select.fi{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--sans);transition:.15s}
.fi:focus{outline:none;border-color:var(--ink2);box-shadow:0 0 0 4px rgba(244,244,245,.08)}textarea.fi{resize:vertical;min-height:96px}
.seg{display:inline-flex;padding:4px;border:1px solid var(--line2);border-radius:12px;background:var(--bg);gap:2px}
.seg button{border:0;background:none;padding:7px 14px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--ink3);cursor:pointer;transition:.15s}.seg button.on{background:var(--ink);color:#0a0b0c}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:99px;border:1px solid var(--line2);background:var(--bg);color:var(--ink2);font-size:13px;font-weight:600;cursor:pointer;transition:.15s;user-select:none}
.chip:hover{border-color:var(--ink3)}.chip.on{background:var(--ink);color:#0a0b0c;border-color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:99px;font-size:12px;font-weight:700;letter-spacing:.02em;border:1px solid var(--line2);color:var(--ink2);text-transform:capitalize}
.pill.pending{color:var(--ink2)}.pill.reviewing{color:var(--wait);border-color:#5a4a28;background:rgba(217,164,65,.08)}.pill.accepted{color:var(--ok);border-color:#2b5a3d;background:rgba(88,181,124,.08)}.pill.denied{color:var(--bad);border-color:#5a2f2c;background:rgba(224,103,95,.08)}
.drop{display:grid;place-items:center;gap:6px;text-align:center;padding:22px;border:1.5px dashed var(--line2);border-radius:14px;color:var(--ink3);font-size:14px;cursor:pointer;transition:.15s}.drop:hover,.drop.over{border-color:var(--ink2);background:var(--bg);color:var(--ink2)}
.empty{padding:44px 20px;text-align:center;color:var(--ink3);border:1px dashed var(--line2);border-radius:18px}
.gate{max-width:480px;margin:clamp(60px,12vw,130px) auto;text-align:center;padding:0 20px;display:grid;justify-items:center;gap:16px}.gate h1{font-size:clamp(32px,6vw,46px)}.gate p{color:var(--ink2)}

@media(max-width:900px){section{padding:68px 0}.bot{grid-template-columns:1fr}.three{grid-template-columns:1fr}.three>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.three>div{padding:26px 0 8px}
.people,.two{grid-template-columns:1fr}.hire{flex-direction:column;align-items:flex-start}.rings{right:-260px;opacity:.5}
.nav{display:none;position:absolute;left:0;right:0;top:66px;flex-direction:column;padding:10px 20px 16px;background:var(--bg2);border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:12px}.burger{display:grid}.top .wrap{position:relative}}
@media(max-width:560px){.feats{grid-template-columns:1fr}.person{flex-direction:column;text-align:center}.who>button span{display:none}.who>button{padding:3px}.btn{white-space:normal}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ---- v2 additions ---- */
body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.top,main,footer,.banner{position:relative;z-index:1}.top{position:sticky;z-index:40}
.top.scrolled{background:rgba(8,9,10,.92);box-shadow:0 10px 30px -18px rgba(0,0,0,.8)}
.skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--ink);color:#0a0b0c;padding:10px 16px;border-radius:10px;font-weight:700;transition:top .15s}.skip:focus{top:10px}
.banner{background:var(--card2);border-bottom:1px solid var(--line2);font-size:14px}.banner .wrap{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0}
.banner .bdot{width:8px;height:8px;border-radius:50%;background:var(--info);box-shadow:0 0 0 4px rgba(106,168,224,.15);flex:none}.banner.warn .bdot{background:var(--wait);box-shadow:0 0 0 4px rgba(217,164,65,.15)}.banner.ok .bdot{background:var(--ok);box-shadow:0 0 0 4px rgba(88,181,124,.15)}
.banner .btxt{flex:1;color:var(--ink)}.banner a{display:inline-flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}.banner a:hover{text-decoration:underline}.banner button{border:0;background:none;color:var(--ink3);cursor:pointer;padding:4px;border-radius:8px;display:grid}.banner button:hover{color:var(--ink)}
@media(max-width:560px){.banner .wrap{flex-wrap:wrap}.banner .btxt{flex-basis:calc(100% - 60px)}}

/* hero orbit */
.hero{isolation:isolate}
.orbit{position:absolute;right:max(-80px,calc((100vw - 1140px)/2 - 120px));top:50%;width:560px;height:560px;transform:translateY(-52%);pointer-events:none;z-index:-1}
.orbit .core{position:absolute;left:50%;top:50%;width:108px;height:108px;margin:-54px 0 0 -54px;border-radius:30px;border:1px solid var(--line2);background:var(--card);display:grid;place-items:center;box-shadow:0 0 0 14px rgba(244,244,245,.025),0 0 80px -10px rgba(244,244,245,.12);animation:breathe 6s ease-in-out infinite}
.orbit .core img{width:64px;height:64px;border-radius:18px}
.ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid var(--line);translate:-50% -50%;animation:spin var(--d) linear infinite;animation-delay:var(--o,0s)}
.ring.r1{width:250px;height:250px;--d:34s}.ring.r2{width:400px;height:400px;--d:52s;border-style:dashed;border-color:#2a2c2e}.ring.r3{width:550px;height:550px;--d:78s}
.ring img{position:absolute;left:50%;top:0;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:14px;border:1px solid var(--line2);background:var(--card);animation:spin var(--d) linear infinite reverse;animation-delay:var(--o,0s);box-shadow:0 10px 30px -8px rgba(0,0,0,.7)}
.ring.r3 img{width:52px;height:52px;margin:-26px 0 0 -26px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scale(1.04)}}
.orbit,.orbit *{will-change:auto}
.hero .rings{display:none}
@media(max-width:1100px){.orbit{opacity:.5;right:-210px}}
@media(max-width:700px){.orbit{display:none}}
.hero h1 .rot{display:block;min-height:1.08em;white-space:nowrap}
.hero h1 .rot.swap{animation:wordin .55s cubic-bezier(.2,.8,.2,1)}@keyframes wordin{from{opacity:0;transform:translateY(.35em);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.hero .eyebrow,.hero h1,.hero .lead,.hero .cta,.hero .strip{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}.hero h1{animation-delay:.06s}.hero .lead{animation-delay:.14s}.hero .cta{animation-delay:.22s}.hero .strip{animation-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.strip a{position:relative}.strip a:after{content:"";position:absolute;inset:-1px;border-radius:14px;opacity:0;transition:.25s;box-shadow:0 0 0 1px var(--ink3)}.strip a:hover:after{opacity:.5}

/* ticker */
.ticker{border-block:1px solid var(--line);overflow:hidden;background:var(--bg2);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker .track{display:flex;width:max-content;animation:tick 46s linear infinite}.ticker:hover .track{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:22px;padding:16px 22px 16px 0;font:italic 500 19px var(--serif);color:var(--ink2);white-space:nowrap}
.ticker span:after{content:"";width:9px;height:9px;border-radius:50%;border:1px solid var(--ink3)}
@keyframes tick{to{transform:translateX(-50%)}}

/* spotlight cards */
.glow{position:relative}.glow:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--a,#f4f4f5) 9%,transparent),transparent 60%)}
.glow:hover:before{opacity:1}.glow>*{position:relative}
.bot:before{z-index:0}.bot.glow:before{inset:0;width:auto;top:0;bottom:0;left:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--a) 9%,transparent),transparent 60%);border-radius:inherit}
.bot.glow:after{content:"";position:absolute;left:0;top:34px;bottom:34px;width:3px;border-radius:0 3px 3px 0;background:var(--a);opacity:.9}

/* blog preview on home */
.news{padding-bottom:0}.news .wrap{padding-top:34px}
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bc{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--bg2);transition:border-color .25s,transform .25s;overflow:hidden;min-height:230px}
.bc:hover{border-color:color-mix(in srgb,var(--a) 45%,var(--line));transform:translateY(-4px)}
.bc h3{font-size:22px;letter-spacing:-.02em;line-height:1.18}.bc p{color:var(--ink2);font-size:15px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bc .meta2{display:flex;gap:8px;align-items:center;color:var(--ink3);font-size:13px;flex-wrap:wrap}.bc .more{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--a)}.bc .more svg{transition:transform .2s}.bc:hover .more svg{transform:translateX(4px)}
.tg{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:3px 11px;border-radius:99px;border:1px solid color-mix(in srgb,var(--a) 40%,var(--line));color:var(--a);background:color-mix(in srgb,var(--a) 9%,transparent);font-size:12px;font-weight:700;letter-spacing:.03em}
[data-tag=Shark]{--a:#6aa8e0}[data-tag=Precinct]{--a:#e0b04a}[data-tag=Atlas]{--a:#e0905f}[data-tag=Studio]{--a:#e8e8e8}[data-tag="Dev log"]{--a:#58b57c}[data-tag=Guide]{--a:#b497e6}
.more-link{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-weight:700;color:var(--ink2)}.more-link:hover{color:var(--ink)}

/* blog page */
.ph{padding:clamp(48px,8vw,96px) 0 36px;position:relative;overflow:hidden}.ph h1{font-size:clamp(40px,7vw,80px);letter-spacing:-.04em;margin-top:22px;max-width:14ch}.ph p{color:var(--ink2);max-width:52ch;margin-top:22px;font-size:18px}
.blogbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:26px}.blogbar .fi{max-width:260px;margin-left:auto;padding:9px 14px}
.feature{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(22px,4vw,52px);padding:clamp(26px,4vw,46px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,var(--card),var(--bg2) 70%);margin-bottom:18px;overflow:hidden;position:relative;transition:border-color .3s}
.feature:hover{border-color:color-mix(in srgb,var(--a) 45%,var(--line))}.feature h2{font-size:clamp(28px,3.8vw,44px);letter-spacing:-.03em;margin:16px 0 14px}.feature p{color:var(--ink2);font-size:17px;max-width:52ch}
.feature .art{position:relative;min-height:220px;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 70% 30%,color-mix(in srgb,var(--a) 22%,transparent),transparent 60%),var(--bg)}
.feature .art:before{content:"";position:absolute;inset:-30%;background:repeating-radial-gradient(circle at 62% 38%,transparent 0 34px,color-mix(in srgb,var(--a) 22%,#1a1b1d) 34px 35px);-webkit-mask-image:radial-gradient(circle at 62% 38%,#000,transparent 70%);mask-image:radial-gradient(circle at 62% 38%,#000,transparent 70%)}
.feature .art b{position:absolute;left:22px;bottom:18px;font:italic 500 22px var(--serif);color:var(--a)}
.byline{display:flex;align-items:center;gap:10px;color:var(--ink3);font-size:14px;flex-wrap:wrap}.byline img{width:28px;height:28px;border-radius:50%;border:1px solid var(--line2)}.byline b{color:var(--ink2);font-weight:600}
.byline i{width:3px;height:3px;border-radius:50%;background:var(--ink3);font-style:normal}

/* article */
.prog{position:fixed;left:0;top:0;height:3px;width:0;z-index:80;background:var(--a,var(--ink));transition:width .1s}
.art-head{padding:clamp(36px,6vw,72px) 0 10px}.art-head .wrap{max-width:720px}.back{display:flex;width:max-content;align-items:center;gap:8px;color:var(--ink3);font-weight:600;font-size:14px;margin-bottom:26px}.back:hover{color:var(--ink)}
.art-head h1{font-size:clamp(34px,6vw,62px);letter-spacing:-.035em;line-height:1.04;margin:18px 0 18px}.art-head .dek{font:italic 400 clamp(19px,2.4vw,24px)/1.45 var(--serif);color:var(--ink2);margin-bottom:26px}
.prose{max-width:720px;margin:0 auto;font-size:18px;line-height:1.78;color:#d0d3d6}.prose>*+*{margin-top:1.25em}
.prose h2,.prose h3,.prose h4{color:var(--ink);line-height:1.2;margin-top:2.1em}.prose h2{font-size:clamp(26px,3.4vw,34px)}.prose h3{font-size:24px}.prose h4{font-size:19px;letter-spacing:0}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--ink3);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--ink)}
.prose strong{color:var(--ink)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--ink3)}
.prose blockquote{padding:4px 0 4px 22px;border-left:2px solid var(--a,var(--ink3));font:italic 400 1.1em/1.6 var(--serif);color:var(--ink)}
.prose code{font:500 .86em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--card2);border:1px solid var(--line);padding:.12em .4em;border-radius:6px}
.prose pre{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:18px 20px;overflow:auto;font-size:14.5px;line-height:1.6}.prose pre code{background:none;border:0;padding:0;font-size:inherit}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.after{max-width:720px;margin:56px auto 0;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.keep{margin-top:80px}.keep h2{font-size:clamp(24px,3vw,32px);margin-bottom:22px}.keep .bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* confirm dialog */
.dialog{position:fixed;z-index:260;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));padding:26px;border:1px solid var(--line2);border-radius:20px;background:var(--bg2);box-shadow:0 40px 80px -20px rgba(0,0,0,.8);animation:pop .18s ease-out}
.dialog h3{font-size:20px}.dialog p{color:var(--ink2);margin:10px 0 22px;font-size:15px}.dialog .acts{display:flex;gap:10px;justify-content:flex-end}.dlgveil{z-index:250}
@keyframes pop{from{opacity:0;transform:translate(-50%,-48%) scale(.97)}}
.sheet.wide{width:min(900px,100%)}

/* careers extras */
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-bottom:54px}.steps div{padding:22px 24px 6px 0}.steps div+div{padding-left:24px;border-left:1px solid var(--line)}.steps small{font:italic 600 13px var(--serif);color:var(--ink3)}.steps b{display:block;font-size:17px;margin:6px 0 4px;letter-spacing:-.01em}.steps p{color:var(--ink3);font-size:14.5px;line-height:1.5}
@media(max-width:700px){.steps{grid-template-columns:1fr}.steps div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.steps div{padding:18px 0 8px}}
.pill.applied{color:var(--ok);border-color:#2b5a3d;background:rgba(88,181,124,.08)}

/* 404 */
.lost{position:relative;overflow:hidden}.lost .rings{display:block;right:50%;margin-right:-320px;top:-90px;opacity:.7}.lost .gate{position:relative}

@media(max-width:900px){.bgrid,.keep .bgrid{grid-template-columns:1fr}.feature{grid-template-columns:1fr}.feature .art{min-height:140px;order:-1}.blogbar .fi{max-width:none;margin-left:0;flex:1 1 100%}.ftop{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.ring,.ring img,.orbit .core,.ticker .track,.hero *{animation:none!important}.ticker{overflow-x:auto}}

/* v3: black & gray */
h1,h2,h3{letter-spacing:-.035em}
.eyebrow{font-family:var(--serif)!important;text-transform:uppercase;letter-spacing:.14em!important;font-size:11.5px!important;color:var(--ink3)}
body{background:radial-gradient(1200px 500px at 50% -10%,#17181a 0%,#08090a 60%) fixed,#08090a}
.ticker span{font-family:var(--serif);text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.hero h1 .rot{color:#fff}
.tag{display:inline-block;font:500 11px var(--serif);letter-spacing:.04em;color:var(--ink2);border:1px solid var(--line2);padding:2px 8px;border-radius:6px;margin:0 6px 6px 0}
.cmds{margin-top:14px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:28px}
.stats div{background:var(--card);padding:18px}.stats b{display:block;font-size:26px;letter-spacing:-.04em}.stats span{color:var(--ink3);font-size:13px}

.hero h1 .rot{white-space:normal;min-height:2.2em}@media(min-width:760px){.hero h1 .rot{min-height:1.15em}}
