





*{box-sizing:border-box}
:root{--void:#060606;--sub:#0A0A0A;--plate:#131313;--fg:#EDEEEF;--fg-2:#B0B3B6;--fg-3:#8E9194;
 --rho:#E3E7EA;--rule:rgba(230,232,234,.14);--rule-s:rgba(230,232,234,.34);--r-ctrl:12px;
 --mono:"Einer Grotesk",ui-monospace,"SF Mono",Menlo,monospace;
 --sans:"UIE Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
 --ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.grail{display:flex;justify-content:center;align-items:center;gap:clamp(10px,3vw,28px);flex-wrap:wrap;
 padding:10px 16px;background:var(--sub);border-bottom:1px solid var(--rule);position:relative;z-index:70}
.grail>span{display:inline-flex;align-items:center;gap:6px;font:400 9.5px var(--mono);
 letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);white-space:nowrap}
.grail>span.on{color:var(--fg)}
.grail i{width:4px;height:4px;background:var(--rho);flex:none}
.mast{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:14px;flex-wrap:wrap;row-gap:8px;
 padding:10px clamp(16px,4vw,36px);min-height:68px;border-bottom:1px solid transparent;
 backdrop-filter:blur(14px);transition:min-height .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}
.mast.sc{min-height:56px;background:rgba(15,15,15,.86);border-bottom-color:var(--rule)}
.wm{font:300 19px var(--sans);letter-spacing:-.03em;white-space:nowrap}.wm b{font-weight:400}
.mast nav{display:flex;gap:clamp(12px,2.4vw,24px);margin-left:clamp(10px,3vw,30px)}
.mast nav a{font:400 13.5px var(--sans);color:var(--fg-2);white-space:nowrap}
.sp{flex:1 1 30px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:var(--r-ctrl);
 font:400 13.5px var(--sans);white-space:nowrap;border:1px solid transparent;cursor:pointer;background:none;color:inherit}
.btn-p{background:var(--rho);color:var(--void)}
.btn-s{border-color:var(--rule-s)}
.btn-sm{padding:8px 15px;font-size:12.5px}
@media(max-width:760px){.mast nav{display:none}}
/* hero */
.hero{position:relative;isolation:isolate;min-height:min(92vh,860px);display:grid;align-items:center;
 overflow:hidden;border-bottom:1px solid var(--rule)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1}
.hero .plate{position:absolute;inset:0;z-index:-2;background:#060606}
.copy{position:relative;z-index:2;padding:clamp(38px,7vw,88px) clamp(20px,5vw,74px);max-width:800px}
.eyb{font:400 10px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-3);margin:0 0 18px}
.hero h1{font:300 clamp(31px,6.2vw,64px)/1.02 var(--sans);letter-spacing:-.04em;margin:0;max-width:16ch}
.led{font:400 clamp(14px,1.5vw,16.5px)/1.65 var(--sans);color:var(--fg-2);max-width:48ch;margin:20px 0 0}
.acts{display:flex;gap:10px;margin-top:32px;flex-wrap:wrap}
.idx{position:absolute;top:0;right:0;z-index:3;padding:clamp(18px,4vw,34px);
 font:400 10px var(--mono);letter-spacing:.24em;color:var(--fg-3)}
.replay{position:absolute;right:clamp(18px,4vw,34px);bottom:clamp(18px,4vw,34px);z-index:3;
 padding:9px 14px;border:1px solid var(--rule);border-radius:999px;background:rgba(10,10,10,.42);
 color:var(--fg-3);font:400 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;
 cursor:pointer;backdrop-filter:blur(8px)}
.replay:hover{color:var(--fg)}
/* light hero — every token flips, nothing is hard-coded */
.hero.lt{--fg:#101010;--fg-2:#4A4A4A;--fg-3:#5F6367;--rho:#4B4F52;--void:#F4F5F6;
 --rule:rgba(16,16,16,.20);--rule-s:rgba(16,16,16,.42);color:var(--fg)}
.hero.lt .plate{background:#F4F5F6}
.hero.lt .replay{background:rgba(244,245,246,.5)}
.motionbtn{position:fixed;right:18px;bottom:18px;z-index:90;padding:10px 15px;border:1px solid var(--rule-s);
 border-radius:999px;background:rgba(10,10,10,.72);color:var(--fg-2);font:400 10px var(--mono);
 letter-spacing:.18em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(10px)}
.motionbtn:hover{color:var(--fg)}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
footer{padding:clamp(30px,5vw,48px) clamp(20px,5vw,40px);background:var(--sub)}
footer .cols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));text-align:center}
footer .cols b{display:block;font:400 10px var(--mono);letter-spacing:.2em;text-transform:uppercase;
 font-weight:400;color:var(--fg-2);margin-bottom:7px}
footer .cols b.on{color:var(--fg)}
footer .cols em{font:400 11px var(--sans);font-style:normal;color:var(--fg-3);line-height:1.55}
.endo{text-align:center;margin-top:30px;padding-top:24px;border-top:1px solid var(--rule)}
.endo .sub{font:400 9.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);margin-top:10px}
.legal{text-align:center;font:400 10px var(--mono);letter-spacing:.14em;color:var(--fg-3);margin-top:16px}
body.nogl .hero canvas{display:none}
@media(max-width:560px){.hero{min-height:80vh}.copy{padding:34px 20px 44px}.btn{padding:12px 18px}}

.acct{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-ctrl);border:1px solid var(--rule);background:transparent;color:var(--fg-2);cursor:pointer}
.acct:hover{color:var(--fg);border-color:var(--rule-s)}
.menu{display:none;flex-direction:column;justify-content:center;gap:4px;width:36px;height:36px;border-radius:var(--r-ctrl);border:1px solid var(--rule);background:transparent;cursor:pointer;padding:0 9px}
.menu span{display:block;height:1.5px;background:var(--fg-2)}
.menu:hover span{background:var(--fg)}
@media(max-width:760px){.mast nav{display:none}.menu{display:flex}}
.sheetnav{position:fixed;inset:0;z-index:200;display:none;background:rgba(6,6,6,.55);backdrop-filter:blur(6px)}
.sheetnav.on{display:block}
.sheetnav .panelnav{position:absolute;top:0;right:0;width:min(320px,88vw);height:100%;background:var(--sub);border-left:1px solid var(--rule);padding:26px 24px;display:flex;flex-direction:column;gap:4px}
.sheetnav a{font:500 16px var(--sans);color:var(--fg-2);text-decoration:none;padding:12px 4px;border-bottom:1px solid var(--rule);min-height:44px;display:flex;align-items:center}
.sheetnav a:hover{color:var(--fg)}
.sheetnav .grp{font:400 9.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);margin:22px 0 6px}
.sheetnav .x{align-self:flex-end;font:400 13px var(--sans);color:var(--fg-2);background:none;border:1px solid var(--rule);border-radius:var(--r-ctrl);min-height:36px;padding:0 14px;cursor:pointer}
.hero h2{font:300 clamp(31px,6.2vw,64px)/1.02 var(--sans);letter-spacing:-.04em;margin:0;max-width:16ch}
:root{--r-c:24px}
.csec{padding:clamp(44px,7vw,96px) clamp(20px,5vw,74px);border-top:1px solid var(--rule);background:var(--void)}
.csec .inner{max-width:72rem;margin:0 auto}
.csec h3{font:300 clamp(22px,2.8vw,31px)/1.15 var(--sans);letter-spacing:-.02em;margin:0 0 18px;max-width:30ch}
.csec p.body{font:400 16px/1.6 var(--sans);color:var(--fg-2);max-width:42rem;margin:0 0 16px}
.csec p.body strong{color:var(--fg);font-weight:500}
.ocards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
@media(max-width:980px){.ocards{grid-template-columns:1fr}}
.ocard{background:var(--plate);border:1px solid var(--rule);border-radius:var(--r-c);padding:26px;display:flex;flex-direction:column;align-items:flex-start}
.ocard .n{font:400 10px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px}
.ocard .pr{font:300 22px var(--mono);color:var(--fg);letter-spacing:.01em;margin-bottom:4px}
.ocard .pr small{font-size:10px;color:var(--fg-3);letter-spacing:.08em;margin-left:6px}
.ocard h4{font:500 16px var(--sans);letter-spacing:-.01em;margin:6px 0 10px}
.ocard p{font:400 13.5px/1.6 var(--sans);color:var(--fg-2);margin:0 0 12px}
.ocard .btn{margin-top:auto}
.ev{background:var(--sub);border:1px solid var(--rule);border-radius:var(--r-c);padding:26px;margin-top:28px;max-width:56rem}
.ev .n{font:400 10px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-3);margin-bottom:10px}
.ev p{font:400 13.5px/1.8 var(--mono);color:var(--fg-2);margin:0}
.ev .ph{color:var(--fg-3);border-bottom:1px dashed var(--rule-s)}
.ref3{margin-top:28px;border-top:1px solid var(--rule);max-width:56rem}
.ref3>div{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);font:400 15px/1.55 var(--sans);color:var(--fg-2)}
.ref3>div::before{content:"";width:8px;height:8px;border-radius:1.5px;background:#C4392F;margin-top:7px;flex:none}

.csec{padding:clamp(44px,7vw,96px) clamp(20px,5vw,74px);border-top:1px solid var(--rule);background:var(--void)}
.csec .inner{max-width:72rem;margin:0 auto}
.csec h2{font:300 clamp(25px,3vw,34px)/1.15 var(--sans);letter-spacing:-.02em;margin:0 0 18px;max-width:30ch}
.csec h3{font:500 17px var(--sans);margin:0 0 10px}
.csec p{font:400 17px/1.6 var(--sans);color:var(--fg-2);max-width:42rem;margin:0 0 16px}
.csec p strong{color:var(--fg);font-weight:500}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
@media(max-width:980px){.cards{grid-template-columns:1fr}}
.card{background:var(--plate);border:1px solid var(--rule);border-radius:24px;padding:26px;display:flex;flex-direction:column;align-items:flex-start}
.card .n{font:400 10px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px}
.card .pr{font:300 22px var(--mono);color:var(--fg);margin-bottom:6px}
.card .pr small{font-size:10px;color:var(--fg-3);letter-spacing:.08em;margin-left:6px}
.card p{font-size:14px;margin-bottom:12px}
.card .btn{margin-top:auto}
.ev{background:var(--sub);border:1px solid var(--rule);border-radius:24px;padding:26px;margin-top:28px;max-width:56rem}
.ev .n{font:400 10px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-3);margin-bottom:10px}
.ev p{font:400 13.5px/1.8 var(--mono);color:var(--fg-2);margin:0}
.ev .ph{color:var(--fg-3);border-bottom:1px dashed var(--rule-s)}
.refs{margin-top:28px;border-top:1px solid var(--rule);max-width:56rem}
.refs>div{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);font:400 15px/1.55 var(--sans);color:var(--fg-2)}
.refs>div::before{content:"";width:8px;height:8px;border-radius:1.5px;background:var(--seal);margin-top:7px;flex:none}
.spec{background:var(--sub);border:1px solid var(--rule);border-radius:24px;padding:26px;max-width:56rem;margin-top:18px}
.spec li{font:400 14px/1.65 var(--sans);color:var(--fg-2);margin:0 0 10px 18px}
.spec code{font:400 .88em ui-monospace,Menlo,monospace;color:var(--fg);background:var(--plate);padding:.1em .4em;border-radius:12px}
.acct{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:1px solid var(--rule);background:transparent;color:var(--fg-2);cursor:pointer}
.menu{display:none;flex-direction:column;justify-content:center;gap:4px;width:36px;height:36px;border-radius:12px;border:1px solid var(--rule);background:transparent;cursor:pointer;padding:0 9px}
.menu span{display:block;height:1.5px;background:var(--fg-2)}
@media(max-width:760px){.mast nav{display:none}.menu{display:flex}}
.sheetnav{position:fixed;inset:0;z-index:200;display:none;background:rgba(6,6,6,.55);backdrop-filter:blur(6px)}
.sheetnav.on{display:block}
.sheetnav .panelnav{position:absolute;top:0;right:0;width:min(320px,88vw);height:100%;background:var(--sub);border-left:1px solid var(--rule);padding:26px 24px;display:flex;flex-direction:column;gap:4px}
.sheetnav a{font:500 16px var(--sans);color:var(--fg-2);text-decoration:none;padding:12px 4px;border-bottom:1px solid var(--rule);min-height:44px;display:flex;align-items:center}
.sheetnav .grp{font:400 9.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);margin:22px 0 6px}
.sheetnav .x{align-self:flex-end;font:400 13px var(--sans);color:var(--fg-2);background:none;border:1px solid var(--rule);border-radius:12px;min-height:36px;padding:0 14px;cursor:pointer}
.hero h2{font:300 clamp(31px,6.2vw,64px)/1.02 var(--sans);letter-spacing:-.04em;margin:0;max-width:16ch}

/* forms — systematised (radius 12 controls / 24 containers, 4/8 grid) */
.field{display:block;margin:16px 0 8px;font:400 14px var(--sans);color:var(--fg-2)}
.in{width:100%;max-width:26rem;padding:12px 16px;border-radius:var(--r-ctrl);border:1px solid var(--rule-s);
 background:transparent;color:inherit;font:400 15px var(--sans)}
textarea.in{max-width:38rem;resize:vertical}
.in:focus-visible{outline:2px solid var(--rho);outline-offset:2px}
.formmsg{min-height:1.4em;margin-top:12px;color:var(--fg-2);font:400 14px var(--sans)}
.panel{border:1px solid var(--rule);border-radius:24px;padding:28px;background:var(--sub)}
.panel h2{margin-top:0}
.doc h2{margin:44px 0 12px;font-weight:400}
.doc p,.doc li{color:var(--fg-2);line-height:1.65;max-width:46rem}
.doc ol{padding-left:1.2em;display:grid;gap:12px}
.doc strong{color:var(--fg)}
.eyebrow{letter-spacing:.14em;font:400 12px var(--mono);text-transform:uppercase;color:var(--fg-3)}
.tiers .card p{color:var(--fg-2)}
