:root{--bg:#3D4F61;--bg2:#34445A;--fg:#ECEAE4;--mut:#B9C0C8;--line:rgba(236,234,228,.18);--acc:#7FD3E6}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
html{background:var(--bg);scroll-padding-top:84px} /* in-page links land below the sticky header pill */
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.65 "Helvetica Neue",Helvetica,Arial,sans-serif;min-height:100vh}
a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;transition:text-decoration-color .3s}
a:hover{text-decoration-color:var(--fg)}
.sr-only{position:absolute;left:-9999px}.sr-only:focus{left:12px;top:12px;background:var(--fg);color:var(--bg);padding:8px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:300;letter-spacing:.42em;font-size:15px}
.brand img{display:block}
nav.top{display:flex;align-items:center;gap:32px}nav.top ul{list-style:none;display:flex;gap:28px;margin:0;padding:0}
nav.top a{text-decoration:none;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mut);padding:6px 0;border-bottom:1px solid transparent}
nav.top a:hover,nav.top a[aria-current]{color:var(--fg);border-bottom-color:var(--fg)}
main{padding:88px 0 96px}
.eyebrow,.small{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mut)}
h1{font-weight:300;font-size:clamp(34px,5.4vw,60px);line-height:1.12;letter-spacing:-.01em;margin:18px 0 28px;max-width:20ch}
h2{font-weight:400;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--mut);margin:72px 0 24px;padding-top:24px;border-top:1px solid var(--line)}
.issue h2{font-size:22px;letter-spacing:0;text-transform:none;color:var(--fg);font-weight:400}
h3{font-weight:400;font-size:19px;margin:0 0 8px}
p{max-width:62ch}.lead{font-size:19px;color:var(--mut);font-weight:300}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.card{padding:28px 24px 28px 0;border-bottom:1px solid var(--line)}.card+.card{padding-left:24px;border-left:1px solid var(--line)}
.card p{color:var(--mut);margin:0;font-size:15px}
ol.list{list-style:none;counter-reset:n;padding:0;margin:0}
ol.list li{counter-increment:n;display:flex;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
ol.list li::before{content:"0" counter(n);font-size:12px;letter-spacing:.2em;color:var(--mut);padding-top:4px}
ol.list a{text-decoration:none}
.steps{padding-left:20px}
.nlmark{display:flex;align-items:center;gap:14px;margin-bottom:8px}.nlmark img{border-radius:10px;opacity:.95}
form{display:flex;gap:0;max-width:480px;margin:32px 0 12px;border:1px solid var(--line)}
input{flex:1;min-width:0;background:transparent;border:0;color:var(--fg);font:inherit;font-size:16px;padding:14px 16px}
input::placeholder{color:var(--mut)}input:focus{outline:1px solid var(--fg)}
button{background:var(--fg);color:var(--bg);border:0;font:inherit;font-size:12px;letter-spacing:.24em;text-transform:uppercase;padding:0 22px;cursor:pointer;transition:opacity .3s}
button:hover{opacity:.85}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 24px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.crumbs li+li::before{content:"/";margin-right:10px;opacity:.5}
.issue{max-width:720px}.issue pre,.issue code{white-space:pre-wrap;word-break:break-word;font-size:14px}
.issue img{max-width:100%;height:auto}
footer{border-top:1px solid var(--line);padding:32px 0 48px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer nav{display:flex;gap:20px;flex-wrap:wrap}footer a{text-decoration:none;color:var(--mut)}
.rule{width:48px;height:1px;background:var(--acc);margin:0 0 20px;border:0}
.reveal{opacity:0;transform:translateY(8px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@media (max-width:720px){main{padding:56px 0 72px}.grid{grid-template-columns:1fr}.card,.card+.card{padding:22px 0;border-left:0}nav.top ul{gap:20px}.brand{letter-spacing:.32em}header{padding:20px 0}}
.more{margin-top:20px}
.issue a[rel]{color:var(--acc);text-decoration-color:rgba(127,211,230,.4)}
.issue h2[id=watch]{color:var(--acc)}
.issue,.issue a{overflow-wrap:anywhere}

/* v2: shared buttons + scale.com-inspired panels (calm slate) */
:root{--deep:#243241;--panel:#2E3D4E;--lift:#4A5E72}
header{position:sticky;top:0;z-index:5;background:rgba(61,79,97,.92);backdrop-filter:blur(8px)}
.btn{display:inline-block;background:var(--fg);color:var(--bg);text-decoration:none;font-size:12px;letter-spacing:.24em;text-transform:uppercase;padding:13px 20px;border-radius:6px;transition:opacity .3s}
.btn:hover{opacity:.85}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn.ghost:hover{border-color:var(--fg)}
.btn.sm{padding:9px 14px;font-size:11px}
form{border-radius:6px;overflow:hidden}
.home{padding-top:24px}
.panel{border-radius:16px;padding:clamp(28px,6vw,72px);background:linear-gradient(160deg,var(--panel),var(--deep));border:1px solid rgba(236,234,228,.08)}
.hero{text-align:center;padding-top:clamp(56px,9vw,112px);overflow:hidden}
.hero h1{max-width:none;font-size:clamp(40px,7vw,84px);line-height:1.04;letter-spacing:-.02em;margin:22px auto 26px}
.hero .lead{margin:0 auto;max-width:56ch}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:36px 0 8px}
.pathway{display:block;width:100%;height:auto;margin-top:clamp(24px,5vw,56px)}
.pathway .t{stroke:rgba(236,234,228,.25);stroke-width:1}
.pathway .d{fill:rgba(236,234,228,.55);animation:drift 6s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.7s)}
.pathway .l{stroke:rgba(127,211,230,.22);stroke-width:1}
.pathway .p{fill:none;stroke:var(--acc);stroke-width:2;stroke-dasharray:900;stroke-dashoffset:900;animation:draw 3.2s ease-out .4s forwards}
.pathway .n{fill:var(--deep);stroke:var(--acc);stroke-width:1.5}
.pathway .lbl{fill:var(--mut);font-size:11px;letter-spacing:.3em}
@keyframes drift{to{transform:translate(3px,-4px)}}@keyframes draw{to{stroke-dashoffset:0}}
.block{padding:clamp(72px,11vw,136px) 0 0}
h2.stmt{font-size:clamp(28px,4vw,48px);font-weight:300;letter-spacing:-.01em;line-height:1.1;text-transform:none;color:var(--fg);border:0;padding:0;margin:14px 0 48px;max-width:22ch}
.tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{background:rgba(236,234,228,.04);border:1px solid var(--line);border-radius:12px;padding:28px 24px 32px;min-height:240px;display:flex;flex-direction:column}
.tile .idx{font-size:11px;letter-spacing:.3em;color:var(--acc);margin-bottom:auto;padding-bottom:40px}
.tile h3{font-size:21px;font-weight:400}.tile p{color:var(--mut);font-size:15px;margin:0}
.principles{list-style:none;counter-reset:n;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.principles li{counter-increment:n;padding:32px 32px 36px 0;border-bottom:1px solid var(--line)}
.principles li:nth-child(even){padding-left:32px;border-left:1px solid var(--line)}
.principles li::before{content:"0" counter(n);display:block;font-size:11px;letter-spacing:.3em;color:var(--acc);margin-bottom:18px}
.principles h3{font-size:24px;font-weight:300}.principles p{color:var(--mut);margin:0}
.nlpanel{margin-top:clamp(72px,11vw,136px);background:linear-gradient(160deg,var(--lift),var(--panel))}
.nlpanel h2.stmt{margin-bottom:20px}.nlpanel p{color:var(--mut)}
.vision{padding:clamp(80px,12vw,152px) 0 24px}
.giant{font-size:clamp(40px,8vw,96px);font-weight:300;line-height:1.02;letter-spacing:-.025em;max-width:16ch;margin:18px 0 0}
@media (prefers-reduced-motion:reduce){.pathway .d{animation:none}.pathway .p{animation:none;stroke-dashoffset:0}}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){nav.top{gap:16px;flex-wrap:wrap}.tiles,.principles{grid-template-columns:1fr}.principles li,.principles li:nth-child(even){padding:26px 0;border-left:0}.tile{min-height:0}.tile .idx{padding-bottom:20px}.hero{text-align:left}.ctas{justify-content:flex-start}.hero .lead{margin:0}header{position:static}}
nav.top a.btn{color:var(--bg);border-bottom:0;padding:9px 14px}nav.top a.btn:hover{color:var(--bg)}

/* ===== v4: velocity.black flow + olive-garden palette ===== */
@font-face{font-family:"Figtree";src:url(/assets/figtree-var.woff2) format("woff2");font-weight:300 600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--bg:#070D14;--surf:#101A24;--panel:#1A2733;--sage:#3C5560;--acc:#41BFC8;--amber:#E8C184;--rust:#B07A3A;--rustd:#7A4E1E;--mut:#A9B4BA;--pebble:#D6DDE0;--fg:#E8ECEE;--line:rgba(232,236,238,.14);
 --sans:"Figtree","Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
html,body{background:var(--bg)}
body{font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.55;color:var(--fg)}
h1,h2,h3{font-family:var(--sans)}
.eyebrow,.small,.crumbs ol,ol.list li::before,h2:not([class]){font-family:var(--mono);font-weight:500}
/* header: logo+wordmark left; white pill + round menu button right (velocity) */
header.vb{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:20px 0;border:0;background:linear-gradient(180deg,rgba(7,13,20,.85),rgba(7,13,20,0));backdrop-filter:none}
header.vb .brand{gap:12px;letter-spacing:0;font-size:22px;font-weight:400}
.hright{display:flex;align-items:center;gap:12px}
.pill{background:var(--fg);color:var(--bg);text-decoration:none;font-weight:500;font-size:16px;line-height:24px;padding:8px 24px;border-radius:9999px;transition:opacity .3s}.pill:hover{opacity:.85}
.menu{position:relative}.menu summary{list-style:none;width:40px;height:40px;border-radius:9999px;background:rgba(232,236,238,.1);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer}
.menu summary::-webkit-details-marker{display:none}.menu summary span{display:block;width:16px;height:1.5px;background:var(--fg);transition:transform .3s,opacity .3s}
.menu[open] summary span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.menu[open] summary span:nth-child(2){opacity:0}.menu[open] summary span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.menu[open] summary{position:relative;z-index:31}
.overlay{position:fixed;inset:0;z-index:30;background:var(--bg);padding:clamp(96px,14vh,150px) clamp(24px,8vw,120px) 40px;display:flex;flex-direction:column;justify-content:space-between}
.overlay ul{list-style:none;margin:0;padding:0}.overlay a{text-decoration:none;font-size:clamp(44px,6vw,72px);line-height:1.12;font-weight:400;color:var(--fg)}
.overlay a:hover,.overlay a[aria-current]{color:var(--acc)}.overlay .fine,.overlay .fine a{font-size:12px;color:var(--mut)}
/* footer (velocity: tiny grey fine print) */
footer.vb{display:block;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12px;line-height:16px;color:var(--mut);padding:40px 0 48px;border-top:1px solid var(--line)}
footer.vb p{margin:0 0 12px;max-width:none}footer.vb nav{display:flex;gap:24px;margin:0 0 12px}footer.vb a{color:var(--mut)}
/* buttons/forms site-wide */
button,.btn{font-family:var(--sans);font-weight:500;font-size:16px;letter-spacing:0;text-transform:none;border-radius:9999px;padding:8px 24px;background:var(--fg);color:var(--bg)}
form{border-radius:9999px}
.eyebrow-m,.eyebrow{font-family:var(--mono);font-weight:500;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.eyebrow-m{display:block;text-align:center;margin:0 0 20px}.eyebrow-m.left{text-align:left}
.grad{background:linear-gradient(90deg,#8FD8DE,var(--acc) 50%,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}
.issue a[rel],.issue h2[id=watch],.rule{color:var(--acc)}.issue a[rel]{text-decoration-color:rgba(65,191,200,.45)}
a{text-decoration-color:rgba(232,236,238,.3)}
/* type scale (velocity computed: 72/80 300, 48/56 300, 36/48 400, 24/36, 20/28) */
.d72{font-weight:300;font-size:clamp(40px,5.6vw,72px);line-height:1.11;letter-spacing:.01em;margin:0 0 56px;max-width:none;text-transform:none;color:var(--fg);border:0;padding:0}
.d48{font-weight:300;font-size:clamp(34px,3.8vw,48px);line-height:1.17;margin:0 0 40px;max-width:none;text-transform:none;letter-spacing:0;color:var(--fg);border:0;padding:0}
.d36{font-size:clamp(24px,2.8vw,36px);line-height:1.33;font-weight:400;margin:0;max-width:none;color:var(--fg)}
.p24{font-size:clamp(19px,1.9vw,24px);line-height:1.5;color:var(--mut)}
.center{text-align:center;margin-left:auto;margin-right:auto}.narrow{max-width:740px}
.tlink{color:var(--mut);font-size:16px}.tlink.dark{color:var(--rustd);font-size:20px;text-decoration-color:var(--rust)}
/* home */
.v4{padding:0}
.bleed{width:100vw;margin-left:calc(50% - 50vw)}
.v4 .pin{height:160vh;position:relative;margin-top:-80px}
.vhero{position:sticky;top:0;height:100vh;min-height:640px;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden;
 background:radial-gradient(60% 50% at 30% 40%,rgba(60,85,96,.35),transparent 70%),radial-gradient(50% 40% at 80% 30%,rgba(232,193,132,.18),transparent 70%),linear-gradient(180deg,#0B141D,var(--bg) 85%);padding:0 24px clamp(48px,9vh,96px)}
.vmedia{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden}
@media (min-width:721px) and (hover:hover) and (pointer:fine){.vmedia{top:-6%;bottom:-6%;transform:translateY(calc(var(--x,0)*8vh)) scale(calc(1.08 - .08*var(--s,1)))}}
.vmedia picture,.vmedia img{display:block;width:100%;height:100%}.vmedia img{object-fit:cover;object-position:62% 50%}
.vmedia .pathway{width:118vw;max-width:none;margin:-10vh 0 0}
.vmedia .pathway .lbl{display:none}
.vhero{background:var(--bg)!important}.vhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,13,20,.35) 0%,rgba(7,13,20,.1) 30%,rgba(7,13,20,.55) 58%,rgba(7,13,20,.92) 85%,var(--bg) 100%);pointer-events:none}
.vcopy h1,.vsub{text-shadow:0 1px 24px rgba(7,13,20,.6)}
.vcopy{position:relative;z-index:1;max-width:760px;transform:translateY(calc(var(--x,0)*-15vh));opacity:calc(1 - var(--x,0)*1.1)}
.vcopy h1{font-weight:300;font-size:clamp(44px,5.6vw,72px);line-height:1.11;letter-spacing:.01em;margin:0 auto 24px;max-width:none}
.vsub{font-size:clamp(18px,1.7vw,22px);line-height:1.55;color:#A9B4BA;max-width:700px;margin:0 auto}
.after{position:relative;z-index:2;background:var(--bg)}
.vsec{padding:clamp(96px,12vw,160px) 0 0;position:relative}
.manifesto .stack{list-style:none;padding:0;margin:0 auto;max-width:654px}
.stack li{margin:0 0 36px}.stack h3,.stack p{font-size:20px;line-height:28px;margin:0}.stack h3{font-weight:400}.stack p{color:var(--mut)}
.pathway .p{stroke:var(--acc)}.pathway .n{fill:var(--bg);stroke:var(--acc)}.pathway .l{stroke:rgba(65,191,200,.25)}.pathway .d{fill:rgba(232,236,238,.5)}.pathway .t{stroke:rgba(232,236,238,.18)}
.vform{display:block;border:0;max-width:600px;margin:0 auto;padding:0;border-radius:0}
.vform label{display:block;color:#93A0A7;font-size:20px;line-height:28px;margin:0 0 8px}
.vform input{display:block;width:100%;border:1px solid rgba(232,236,238,.22);border-radius:8px;background:rgba(232,236,238,.03);padding:14px 16px;font-size:18px}
.vform input:focus{outline:2px solid var(--acc);outline-offset:1px}
.consent{font-size:14px;line-height:20px;color:#A9B4BA;margin:24px 0}
.vform button{padding:8px 24px}
.join .halo{position:absolute;left:50%;top:60%;width:min(900px,95vw);height:520px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(60,85,96,.35),rgba(232,193,132,.08) 60%,transparent);z-index:-1;pointer-events:none}
.join p.center{margin-top:28px}
.gcard{position:relative;margin:0 auto;max-width:896px;padding:clamp(32px,4vw,48px) clamp(24px,4vw,56px);border-radius:16px;background:linear-gradient(180deg,var(--surf),#0B131B);width:calc(92% + 8%*var(--w,1))}
.gcard::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(90deg,rgba(65,191,200,.7),rgba(232,193,132,.5) 50%,rgba(65,191,200,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.gcard::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 70px -10px rgba(65,191,200,.35),0 -20px 60px -30px rgba(232,193,132,.4);pointer-events:none}
.gcard .eyebrow-m{text-align:left;color:rgba(232,236,238,.6);font-size:14px}
.two{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:40px 56px}
.two h3,.two p{font-size:clamp(19px,1.9vw,24px);line-height:1.5;margin:0}.two h3{font-weight:400}.two p{color:var(--mut)}
.mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:16px;margin-top:80px}
.mosaic>div{border-radius:16px;overflow:hidden;background:var(--surf);padding:24px;position:relative}
.m-big{grid-row:1/3;background:radial-gradient(70% 60% at 60% 40%,rgba(60,85,96,.45),transparent),var(--surf)!important;display:flex;flex-direction:column;justify-content:space-between}
.m-big .eyebrow-m,.m-small .eyebrow-m{text-align:left}
.m-big .pathway{margin:0;transform:scale(calc(1.08 - .08*var(--w,1)))}
.m-small{display:flex;flex-direction:column;justify-content:space-between;min-height:200px}.m-small p{font-size:20px;line-height:28px;margin:0}
.m-small.alt{background:linear-gradient(160deg,var(--panel),#131F2A)!important}
.light{background:var(--pebble);color:var(--bg);margin-top:clamp(96px,12vw,160px);padding:clamp(80px,10vw,128px) 0}
.lin{max-width:1160px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:640px 1fr;gap:48px;align-items:center}
.light .d48{color:var(--bg);margin-bottom:24px}.light .p24{color:#1A2733}.lin picture{justify-self:end}.lin img{width:min(300px,60vw);height:auto;border-radius:20px}
.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cards li{background:var(--surf);border-radius:16px;padding:32px 28px}
.cards h3{font-size:clamp(26px,2.4vw,32px);line-height:1.25;font-weight:500;margin:0 0 12px}.cards p{color:#A9B4BA;font-size:20px;line-height:32px;margin:0 0 20px}
.cards a{font-weight:500;font-size:20px;text-decoration-color:var(--acc)}
.join.last{padding-bottom:clamp(96px,12vw,160px)}.join.last .p24{margin-bottom:96px;color:var(--fg)}
@media (prefers-reduced-motion:reduce){.v4 .pin{height:auto}.vhero{position:relative}.vcopy,.vmedia,.m-big .pathway{transform:none!important;opacity:1!important}.gcard{width:100%}}
@media (max-width:900px){.two,.cards{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr;grid-template-rows:auto}.m-big{grid-row:auto}.lin{grid-template-columns:1fr}.lin picture{justify-self:start}}
@media (max-width:720px){header.vb{position:sticky}.pill{font-size:15px;padding:8px 18px}header.vb .brand{gap:8px;font-size:17px}header.vb .brand img{width:26px;height:26px}.v4 .pin{height:130vh}.vmedia img{object-position:70% 40%}.vform label{font-size:18px}}
header.vb{background:none}
header.vb::before{content:"";position:absolute;top:0;bottom:-24px;left:calc(50% - 50vw);width:100vw;background:linear-gradient(180deg,rgba(7,13,20,.9),rgba(7,13,20,0));z-index:-1;pointer-events:none}
header.vb .brand span{white-space:nowrap}

/* v6: secondary full-bleed band (Mission) */
.vband{position:relative;margin-top:clamp(96px,12vw,160px);min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--bg)}
.bmedia{position:absolute;inset:-8% 0;transform:translateY(calc(var(--b,0)*-6vh)) scale(calc(1.12 - .12*var(--r,1)));opacity:calc(.35 + .65*var(--r,1))}
.bmedia picture,.bmedia img{display:block;width:100%;height:100%}.bmedia img{object-fit:cover;object-position:50% 50%}
.vband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(7,13,20,.35) 22%,rgba(7,13,20,.45) 50%,rgba(7,13,20,.9) 78%,var(--bg) 100%);pointer-events:none}
.bcopy{position:relative;z-index:1;max-width:896px;margin:0 auto;padding:0 24px clamp(64px,12vh,120px);text-align:left}
.bcopy .eyebrow-m{text-align:left}.bcopy .d36{text-shadow:0 1px 24px rgba(7,13,20,.7)}
@media (max-width:720px){.vband{min-height:90vh}.bmedia img{object-position:64% 50%}}
@media (prefers-reduced-motion:reduce){.bmedia{transform:none!important;opacity:1!important}}

/* v7: closing CTA band + book form */
.cta-band{margin:clamp(64px,8vw,120px) 0 0;padding:0}
.cta-in{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(160deg,#16303A,#0F2029 70%);border:1px solid rgba(65,191,200,.25);padding:clamp(40px,6vw,72px) clamp(28px,5vw,64px) clamp(150px,16vw,200px)}
.cta-in h2{font-family:var(--sans);font-weight:400;font-size:clamp(30px,3.6vw,44px);line-height:1.15;letter-spacing:-.01em;margin:0 0 16px;max-width:16ch;color:var(--fg)}
.cta-in p{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:#C6D0D4;max-width:46ch;margin:0 0 28px}
.btn-arrow{display:inline-flex;align-items:center;gap:14px;background:#04080C;color:var(--fg)!important;border:1px solid rgba(232,236,238,.18);border-radius:10px;padding:8px 8px 8px 18px;font:500 17px/1 var(--sans);text-decoration:none;cursor:pointer}
.btn-arrow .chip{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:7px;background:var(--fg);color:#04080C;transition:transform .2s}
.btn-arrow:hover .chip{transform:translateX(3px)}.btn-arrow:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.cta-art{position:absolute;right:clamp(16px,5vw,64px);bottom:20px;width:min(320px,70%);color:rgba(232,236,238,.35)}.cta-art .ca{stroke:var(--acc)}.cta-art circle:nth-last-child(-n+3){stroke:var(--amber)}
.book h1{font-weight:300;font-size:clamp(36px,4.4vw,56px);margin:16px 0 12px}
.bform{max-width:640px;margin:32px 0 0;display:grid;gap:18px;border:0;padding:0;background:none}
.bform .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fld label{display:block;font-size:15px;color:var(--mut);margin:0 0 6px}.fld label span{color:var(--amber);margin-left:2px}
.fld input,.fld select,.fld textarea{display:block;width:100%;font:400 17px/1.4 var(--sans);color:var(--fg);background:rgba(232,236,238,.03);border:1px solid rgba(232,236,238,.24);border-radius:10px;padding:14px 16px;min-height:52px}
.fld select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M0 0h12L6 8z' fill='%23E8ECEE'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.fld select option{background:#101A24;color:var(--fg)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--acc);outline-offset:1px;border-color:var(--acc)}
.fld [aria-invalid="true"]{border-color:#F08A7E}.fld .err{color:#F5A99F;font-size:14px;margin:6px 0 0}
.ferr{color:#F5A99F;margin:0}.bform .privacy{color:var(--mut);text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:15px;line-height:1.5}
.bform button.btn-arrow{justify-self:start}
.bdone{max-width:640px;margin:32px 0 0;padding:32px;border:1px solid rgba(65,191,200,.35);border-radius:16px;background:var(--surf)}.bdone h2{font-family:var(--sans);font-weight:400;font-size:28px;margin:0 0 12px;text-transform:none;letter-spacing:0;color:var(--fg)}
@media (max-width:720px){.bform .row2{grid-template-columns:1fr}.cta-in{padding-bottom:150px}}

/* v7: new logo lockup */
header.vb .brand{gap:10px;align-items:center;letter-spacing:0}
header.vb .brand .bmark{width:46px;height:36px;flex:none}
.bword{display:flex;flex-direction:column;line-height:1;white-space:nowrap}
.bword b{font-weight:400;font-size:22px;letter-spacing:-.005em;color:var(--fg)}
.bword i{font-style:normal;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--mut);margin:5px 0 0 1px}
@media (max-width:720px){header.vb .brand .bmark{width:40px;height:31px}.bword b{font-size:19px}.bword i{font-size:8.5px}}
.cta-in h2,.bdone h2{text-transform:none;letter-spacing:-.01em;border:0;padding:0;margin-top:0;font-family:var(--sans)}
.bform .req{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:15px;color:var(--mut);margin:0}
.bform{border-radius:0;overflow:visible;max-width:640px}
.substatus{font-size:14px;line-height:20px;color:var(--mut);margin:12px 0 0;max-width:600px}.vform+.substatus{margin:12px auto 0}.substatus a{color:var(--fg)}
/* Daily Frontier Digest */
.daily{max-width:760px}
.daily .dby{color:var(--mut);margin-top:-.4rem}
.dstory,.dconcept{background:var(--surf);border:1px solid var(--sage);border-radius:14px;padding:1.4rem 1.5rem;margin:1.6rem 0}
.dconcept{border-color:rgba(232,193,132,.35)}
.dconcept .eyebrow{color:var(--amber)}
.dtake{border-left:3px solid var(--acc);padding-left:.8rem}
ol.dlist{list-style:none;padding:0;margin:0}
.ditem{border-top:1px solid var(--sage);padding:1rem 0}
.ditem h3{margin:0 0 .35rem;font-size:1.08rem}
.ditem p{margin:.25rem 0}
.dindex li{border-top:1px solid var(--sage);padding:.9rem 0}
.dtag{display:inline-block;border:1px solid var(--sage);border-radius:99px;padding:0 .55rem;margin-right:.4rem;font-size:.78rem;color:var(--mut)}
.dtool{color:var(--amber);font-weight:600}
.dsrc{color:var(--acc)}
.dtable{overflow-x:auto;border:1px solid var(--sage);border-radius:12px}
.dtable table{border-collapse:collapse;width:100%;font-size:.92rem}
.dtable th,.dtable td{text-align:left;vertical-align:top;padding:.6rem .75rem;border-bottom:1px solid var(--sage)}
.dtable thead th{background:var(--panel);color:var(--mut);font-weight:600}
.dtable tbody tr:last-child th,.dtable tbody tr:last-child td{border-bottom:0}
.dnote{margin-top:2rem;color:var(--mut)}
@media (max-width:720px){.dstory,.dconcept{padding:1.1rem}}
@media (max-width:640px){.dtable{overflow:visible;border:0;background:none!important}.dtable table,.dtable tbody,.dtable tr,.dtable th,.dtable td{display:block;width:100%;min-width:0}.dtable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dtable tbody tr{border:1px solid var(--sage);border-radius:12px;padding:.4rem .2rem;margin:0 0 .75rem;background:var(--g-solid,var(--panel))}.dtable tbody th,.dtable tbody td{display:grid;grid-template-columns:5.5rem 1fr;gap:.6rem;border:0!important;padding:.3rem .75rem;overflow-wrap:anywhere}.dtable tbody [data-label]::before{content:attr(data-label);color:var(--mut);font-weight:600;font-size:.8rem}.dtable tbody td.dnotes{grid-template-columns:1fr;gap:.15rem}}
/* ===== Glass v1: frosted translucent surfaces, sitewide (palette v5) ===== */
:root{--g-fill:rgba(16,26,36,.55);--g-fill-2:rgba(26,39,51,.5);--g-teal:rgba(65,191,200,.07);--g-line:rgba(232,236,238,.12);--g-hi:rgba(232,236,238,.10);
 --g-blur:blur(16px) saturate(140%);--g-shadow:0 8px 32px rgba(2,6,10,.35);--g-solid:#101A24;--g-solid-2:#1A2733}
/* calm ambient glows behind glass (fixed, GPU-cheap single layer) */
body{background:radial-gradient(60vw 50vh at 85% 8%,rgba(65,191,200,.09),transparent 70%),radial-gradient(55vw 50vh at 8% 70%,rgba(232,193,132,.06),transparent 70%),var(--bg);background-attachment:fixed}
.glass,.stack li,header.vb,.card,.tile,.cards li,.gcard,.m-small,.m-big,.panel,.nlpanel,.cta-in,.dstory,.dconcept,.dtable,.bform,form:not(.vform):not(.bform),.vform input,.ditem,.overlay{
 background:var(--g-fill)!important;border:1px solid var(--g-line);box-shadow:var(--g-shadow),inset 0 1px 0 var(--g-hi);
 -webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
header.vb{border-width:0 0 1px;box-shadow:inset 0 -1px 0 rgba(232,236,238,.04);background:rgba(7,13,20,.55)!important;padding-left:clamp(16px,3vw,32px);padding-right:clamp(16px,3vw,32px);margin:0 calc(-1*clamp(16px,3vw,32px))}
.card{border-radius:14px;padding:24px!important;margin:0}
.grid{gap:16px}
.m-big{background:linear-gradient(160deg,var(--g-teal),transparent 60%),var(--g-fill)!important}
.cta-in{background:linear-gradient(160deg,rgba(65,191,200,.14),rgba(16,26,36,.5) 70%)!important;border-color:rgba(65,191,200,.22)}
.dconcept{background:linear-gradient(160deg,rgba(232,193,132,.07),transparent 60%),var(--g-fill)!important;border-color:rgba(232,193,132,.22)}
.ditem{border-radius:12px;padding:16px 18px;margin:10px 0;box-shadow:inset 0 1px 0 var(--g-hi)}
.dtable thead th{background:rgba(26,39,51,.6)}
.bform{padding:clamp(20px,4vw,32px)!important;border-radius:16px}
.fld input,.fld select,.fld textarea,.vform input{background:rgba(7,13,20,.45)!important;border:1px solid var(--g-line)}
.overlay{background:rgba(7,13,20,.78)!important;border:0;box-shadow:none}
/* fallback: no backdrop-filter -> solid fills */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .glass,header.vb,.card,.tile,.cards li,.gcard,.m-small,.m-big,.panel,.nlpanel,.cta-in,.dstory,.dconcept,.dtable,.bform,form:not(.vform):not(.bform),.ditem{background:var(--g-solid)!important}
 header.vb,.overlay{background:#070D14!important}}
@media (prefers-reduced-transparency:reduce){
 .glass,header.vb,.card,.tile,.cards li,.gcard,.m-small,.m-big,.panel,.nlpanel,.cta-in,.dstory,.dconcept,.dtable,.bform,form:not(.vform):not(.bform),.ditem,.overlay{background:var(--g-solid)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
 header.vb,.overlay{background:#070D14!important}
 body{background:var(--bg)}}
@media (max-width:720px){:root{--g-blur:blur(10px) saturate(130%)}}
.stack li{border-radius:12px;padding:16px 20px;margin:10px 0;list-style:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.stack li{background:var(--g-solid)!important}}
@media (prefers-reduced-transparency:reduce){.stack li{background:var(--g-solid)!important;backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Hero video v1: full-screen autoplay background video (gopro.com-style) */
/* Hero video fix (iOS Safari): no transform on the video's ancestor on touch/mobile (WebKit misplaced the hardware video layer
   inside the transformed, transitioning layer within the sticky hero), H.264 MP4 listed first, poster painted by CSS (always cover + centered,
   portrait crop on phones) so a blocked/paused/loading video still fills the hero, 100svh height. */
.vmedia{background:#070D14 url(/assets/hero-vid1-poster.jpg) 50% 50%/cover no-repeat;background-image:image-set(url(/assets/hero-vid1-poster.webp) type("image/webp"),url(/assets/hero-vid1-poster.jpg) type("image/jpeg"))}
.vmedia video{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;display:block;object-fit:cover;object-position:50% 50%;background:transparent;pointer-events:none}
.vmedia.noplay video{visibility:hidden}
.vvid::-webkit-media-controls{display:none!important;-webkit-appearance:none;opacity:0}
.vvid::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none;opacity:0}
.vvid::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none;opacity:0}
.vvid::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none;opacity:0}
.vhero{height:100vh;height:100svh}
@media (max-width:720px) and (orientation:portrait){.vmedia{background-image:url(/assets/hero-vid1-m-poster.jpg);background-image:image-set(url(/assets/hero-vid1-m-poster.webp) type("image/webp"),url(/assets/hero-vid1-m-poster.jpg) type("image/jpeg"))}}
@media (hover:none),(pointer:coarse),(max-width:720px){.vmedia{transform:none!important;transition:none!important}}
.vhero::after{background:radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(7,13,20,.45) 100%),linear-gradient(180deg,rgba(7,13,20,.55) 0%,rgba(7,13,20,.22) 26%,rgba(7,13,20,.5) 52%,rgba(7,13,20,.88) 80%,var(--bg) 100%)}
.vcopy h1,.vsub{text-shadow:0 2px 28px rgba(7,13,20,.75)}
@media (prefers-reduced-motion:reduce){
 .vmedia video{display:none}
 .vmedia{background:#070D14 url(/assets/hero-vid1-still.jpg) 50% 50%/cover no-repeat;background-image:image-set(url(/assets/hero-vid1-still.webp) type("image/webp"),url(/assets/hero-vid1-still.jpg) type("image/jpeg"))}}
@media (prefers-reduced-motion:reduce) and (max-width:720px) and (orientation:portrait){
 .vmedia{background-image:url(/assets/hero-vid1-m-still.jpg);background-image:image-set(url(/assets/hero-vid1-m-still.webp) type("image/webp"),url(/assets/hero-vid1-m-still.jpg) type("image/jpeg"))}}
/* Manifesto ("What we build", 2nd section on main): former hero backdrop behind heading + glass cards.
   Backdrop fix 2026-10-17: lighter overlay (edges fade into the page, middle ~.2-.3 so the image reads like the old hero),
   cover/center spanning the whole section, no background-attachment:fixed (iOS), portrait (rotated) crop on phones. */
.manifesto{isolation:isolate;padding-bottom:clamp(88px,10vw,136px)}
.manifesto::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);pointer-events:none;
 background:linear-gradient(180deg,var(--bg) 0%,rgba(7,13,20,.35) 9%,rgba(7,13,20,.18) 30%,rgba(7,13,20,.22) 70%,rgba(7,13,20,.45) 90%,var(--bg) 100%),url(/assets/hero-v5-1024.jpg) 60% 50%/cover no-repeat;
 background:linear-gradient(180deg,var(--bg) 0%,rgba(7,13,20,.35) 9%,rgba(7,13,20,.18) 30%,rgba(7,13,20,.22) 70%,rgba(7,13,20,.45) 90%,var(--bg) 100%),-webkit-image-set(url(/assets/hero-v5-1024.webp) 1x) 60% 50%/cover no-repeat;
 background:linear-gradient(180deg,var(--bg) 0%,rgba(7,13,20,.35) 9%,rgba(7,13,20,.18) 30%,rgba(7,13,20,.22) 70%,rgba(7,13,20,.45) 90%,var(--bg) 100%),image-set(url(/assets/hero-v5-1024.webp) type("image/webp"),url(/assets/hero-v5-1024.jpg) type("image/jpeg")) 60% 50%/cover no-repeat}
.manifesto .d72,.manifesto .eyebrow-m{text-shadow:0 2px 24px rgba(7,13,20,.85),0 0 2px rgba(7,13,20,.6)}
.manifesto .stack li{background:rgba(16,26,36,.42)!important}
@media (max-width:720px){.manifesto .stack li{background:rgba(16,26,36,.5)!important}}
/* landscape-fix: rotated portrait crop only when the phone is actually portrait */
@media (max-width:720px) and (orientation:portrait){
.manifesto::before{
 background:linear-gradient(180deg,var(--bg) 0%,rgba(7,13,20,.3) 7%,rgba(7,13,20,.15) 30%,rgba(7,13,20,.2) 75%,rgba(7,13,20,.45) 92%,var(--bg) 100%),url(/assets/hero-v5-m.jpg) 50% 50%/cover no-repeat;
 background:linear-gradient(180deg,var(--bg) 0%,rgba(7,13,20,.3) 7%,rgba(7,13,20,.15) 30%,rgba(7,13,20,.2) 75%,rgba(7,13,20,.45) 92%,var(--bg) 100%),-webkit-image-set(url(/assets/hero-v5-m.webp) 1x) 50% 50%/cover no-repeat;
 background:linear-gradient(180deg,var(--bg) 0%,rgba(7,13,20,.3) 7%,rgba(7,13,20,.15) 30%,rgba(7,13,20,.2) 75%,rgba(7,13,20,.45) 92%,var(--bg) 100%),image-set(url(/assets/hero-v5-m.webp) type("image/webp"),url(/assets/hero-v5-m.jpg) type("image/jpeg")) 50% 50%/cover no-repeat}}

/* newsletter-v1: wider two-column hero, pricing, consent */
.nlv p.small,.nlv .small{max-width:none}
.nlv .nlhero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-bottom:24px}
.nlv .nlhero h1{max-width:16ch}
.nlpanel{border-radius:16px;padding:clamp(20px,3vw,28px)}
.subpanel{margin-top:28px}.subpanel .tag{margin:0 0 4px}
.subpanel form{margin:12px 0 0;max-width:none}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.substatus{min-height:1.2em;margin:10px 0 0;font-size:15px;color:var(--pebble)}.substatus a{color:var(--acc)}
.consent{font-size:13px;line-height:1.5;color:var(--mut);margin:10px 0 0;max-width:none}.consent a{color:var(--pebble)}
.nlinside{margin-top:8px}.nlinside h2{margin-top:0}.nlinside ol.list li{padding:12px 0}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.plan ul{list-style:none;padding:0;margin:12px 0 20px}.plan li{padding:6px 0 6px 22px;position:relative;color:var(--pebble);font-size:15px}
.plan li::before{content:"";position:absolute;left:0;top:13px;width:10px;height:1.5px;background:#9FB08A}
.plan .price{font-size:34px;font-weight:300;margin:6px 0 0;color:var(--fg)}.plan .per{font-size:15px;color:var(--mut)}
.plan.pro{border-color:rgba(159,176,138,.55)!important}
.ph{border:1px dashed #E8C184;border-radius:6px;padding:0 6px;color:#E8C184;font-size:24px}
.phnote{font-size:13px;color:#E8C184;margin:6px 0 0}
.badge{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid #9FB08A;color:#C9D4B8;border-radius:99px;padding:2px 8px;vertical-align:middle;margin-left:6px}
.pbtn{display:inline-block;border-radius:9999px;padding:10px 22px;background:var(--fg);color:#04080C;text-decoration:none;border:0;font:inherit;font-size:15px;cursor:pointer}
.pbtn[disabled]{background:rgba(232,236,238,.12);color:var(--mut);cursor:not-allowed}
.dfd h2{margin-top:0}.nlend{text-align:left}
@media (max-width:900px){.nlv .nlhero,.plans{grid-template-columns:minmax(0,1fr)}}

/* landscape-fix 2026-10-17 (phones/tablets held horizontally) */
/* 1. Menu overlay: the header's backdrop-filter made the header the containing block of the fixed overlay, so the
   open menu was clipped to the header height (~140px) at every size. Blur and tint move to a pseudo-element. */
header.vb{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:none!important}
header.vb::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(7,13,20,.55);-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header.vb::after{background:#070D14}}
@media (prefers-reduced-transparency:reduce){header.vb::after{background:#070D14;-webkit-backdrop-filter:none;backdrop-filter:none}}
.overlay{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
/* 2. Short landscape (phones on their side): compact header, hero fits the screen (min-height 640px pushed the
   headline below the fold), smaller headings, tighter top spacing, menu fits. */
@media (orientation:landscape) and (max-height:540px){
 header.vb{padding-top:8px;padding-bottom:8px}
 header.vb .brand .bmark{width:36px;height:28px}.bword b{font-size:18px}.bword i{font-size:8px}
 .pill{font-size:14px;padding:7px 16px}
 main{padding-top:28px;padding-bottom:64px}
 h1{font-size:clamp(28px,9.5vh,42px);margin:10px 0 18px}
 .vhero{min-height:0;height:100vh;height:100svh;padding-bottom:clamp(16px,6vh,36px)}
 .v4 .pin{height:150vh;margin-top:-64px}
 .vcopy{max-width:min(760px,86vw)}
 .vcopy h1{font-size:clamp(28px,9.5vh,44px);margin:0 auto 12px}
 .vsub{font-size:clamp(14px,4.2vh,17px);line-height:1.45;max-width:640px}
 .vband{min-height:100vh;min-height:100svh}
 .bcopy{padding-bottom:clamp(24px,8vh,48px)}
 .d72{font-size:clamp(30px,9.5vh,44px);margin-bottom:28px}
 .vsec{padding-top:64px}
 .overlay{padding:72px clamp(24px,6vw,64px) 20px;justify-content:flex-start;gap:16px}
 .overlay a{font-size:clamp(26px,8.5vh,40px)}
}

/* ==== elu-style 2026-10-17: light editorial system (style study of elu.dev, see design/elu-style-spec.md) ====
   Light canvas, black type, grey copy, paper panels, hairlines; Schibsted Grotesk + Commit Mono (both OFL, self-hosted);
   black pill buttons with a white arrow cap; floating pill header; dark rounded inset cards for imagery and the security
   section. Plymouth teal/amber stay the accent (not elu orange). Glass kept only where content sits on imagery. */
@font-face{font-family:"Schibsted Grotesk";src:url(/assets/schibsted-grotesk-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Commit Mono";src:url(/assets/commit-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--bg:#FEFEFE;--surf:#F5F5F5;--panel:#EFEFEF;--lift:#F5F5F5;--deep:#F5F5F5;--sage:#E0E0E0;--acc:#0F767E;--acc-d:#41BFC8;--amber:#8A5D14;--rust:#8A5A22;--rustd:#6B4318;
 --mut:#6A6969;--pebble:#3F3D3C;--fg:#0A0A0A;--line:#E0E0E0;--line-2:#B9B3B1;--pillbg:#E5E5E5;--ink:#000;
 --sans:"Schibsted Grotesk","Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:"Commit Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
 --e-fluid:cubic-bezier(.6,0,.15,1);--e-reveal:cubic-bezier(.19,1,.22,1);--e-std:cubic-bezier(.25,.1,.25,1);
 --r-s:8px;--r-m:12px;--r-l:20px;--r-pill:99px;--gut:clamp(8px,1.6vw,20px);
 --g-fill:#F5F5F5;--g-fill-2:#EFEFEF;--g-teal:rgba(15,118,126,.05);--g-line:transparent;--g-hi:transparent;--g-blur:none;--g-shadow:none;--g-solid:#F5F5F5;--g-solid-2:#EFEFEF;
 color-scheme:light}
/* dark scopes: hero video, imagery bands, security card */
.vhero,.vband,.manifesto,.secx,.dark{--bg:#0B0F12;--surf:#161B1F;--panel:#1E2428;--fg:#FEFEFE;--mut:#A3A3A3;--pebble:#D4D4D4;--line:rgba(255,255,255,.14);--acc:#41BFC8;--amber:#E8C184;--sage:#3B4246;
 --g-fill:rgba(18,24,28,.5);--g-line:rgba(255,255,255,.12);--g-hi:rgba(255,255,255,.08);--g-blur:blur(14px) saturate(130%);--g-shadow:0 8px 32px rgba(0,0,0,.28);color:var(--fg)}
body{background:var(--bg)!important;color:var(--fg);font-family:var(--sans);letter-spacing:-.01em}
::selection{background:#CDEFF1;color:#000}
a{color:var(--fg);text-decoration-color:rgba(0,0,0,.25)}a:hover{text-decoration-color:currentColor}
/* type: weight 400, tight tracking (elu: h1 60/58 -1.2px, h2 48/48, h4 24/21.6, body 16/20.8) */
h1,h2,h3,.d72,.d48,.d36,.p24,.vcopy h1,.cta-in h2,.book h1{font-family:var(--sans);font-weight:400;letter-spacing:-.02em}
h1{line-height:1.02}.d72{line-height:1;letter-spacing:-.025em}.d48{line-height:1.02}.d36{line-height:1.12}
h3{letter-spacing:-.02em}
p,li{letter-spacing:-.01em}
.eyebrow,.small,.eyebrow-m,.crumbs ol,ol.list li::before,h2:not([class]),.tag,.idx,.bword i,footer.vb{font-family:var(--mono);font-weight:400;letter-spacing:.02em}
.eyebrow,.eyebrow-m,.small,.tag{font-size:12px;text-transform:uppercase}
h2:not([class]){color:var(--fg)}
.grad{background:linear-gradient(90deg,#0F767E,#41BFC8 45%,#B07A3A);-webkit-background-clip:text;background-clip:text;color:transparent}
.dark .grad,.manifesto .grad,.vband .grad{background:linear-gradient(90deg,#8FD8DE,#41BFC8 50%,#E8C184);-webkit-background-clip:text;background-clip:text}
/* header: floating centred pill */
header.vb{position:sticky;top:10px;margin:10px auto 0!important;max-width:min(880px,100%);padding:8px 8px 8px 18px!important;border-radius:var(--r-pill);border:0!important;box-shadow:none!important}
header.vb::before{display:none}
header.vb::after{border-radius:inherit;background:rgba(245,245,245,.86)!important;-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);box-shadow:0 0 0 1px rgba(0,0,0,.04)}
header.vb .brand .bmark{width:38px;height:30px}
.bword b{font-size:19px;color:#000;letter-spacing:-.02em}.bword i{font-size:8.5px;letter-spacing:.24em;color:var(--mut)}
.pill{display:inline-flex;align-items:center;gap:10px;background:#000;color:#fff!important;font:400 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:4px 4px 4px 16px;height:37px;border-radius:20px;transition:background .3s var(--e-std)}
.pill::after{content:"";width:40px;height:29px;border-radius:15px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M2 10 10 2M4 2h6v6'/%3E%3C/svg%3E") 50% 50% no-repeat;transition:width .35s var(--e-fluid)}
.pill:hover{opacity:1}.pill:hover::after{width:48px}
.menu summary{background:var(--pillbg);width:37px;height:37px}.menu summary span{background:#000}
.overlay{background:rgba(254,254,254,.97)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);--fg:#0A0A0A}
.overlay a{color:#000;letter-spacing:-.025em}.overlay a:hover,.overlay a[aria-current]{color:var(--acc)}
/* page rhythm */
.v4 .pin{margin-top:-66px}
.vsec{padding-top:clamp(96px,10vw,128px)}
/* buttons: black pill + arrow cap; secondary grey pill */
button,.vform button,.pbtn,form button{background:#000;color:#fff;border:0;border-radius:20px;font:400 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;min-height:37px;padding:0 18px;cursor:pointer;transition:background .3s var(--e-std)}
button:hover,.vform button:hover,.pbtn:hover{background:#2A2A2A}
.pbtn{display:inline-flex;align-items:center;color:#fff!important}
.pbtn[disabled]{background:var(--pillbg);color:#575656!important}
.btn-arrow{background:#000!important;color:#fff!important;border:0;border-radius:20px;padding:4px 4px 4px 18px;min-height:37px;gap:12px;font:400 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em}
.btn-arrow .chip{width:40px;height:29px;border-radius:15px;background:#fff;color:#000;transition:width .35s var(--e-fluid)}
.btn-arrow:hover .chip{transform:none;width:48px}
.tlink,.btn2{display:inline-flex;align-items:center;background:var(--pillbg);color:#000!important;border-radius:20px;padding:6px 16px;font:400 13px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.tlink:hover{background:#D9D9D9}.tlink.dark{color:#000!important}
.dark .tlink,.manifesto .tlink,.vband .tlink{background:rgba(255,255,255,.12);color:#fff!important}
/* panels & cards: paper fills, 8px radius, no shadow, no blur on the light canvas */
.card,.tile,.cards li,.m-small,.m-big,.panel,.nlpanel,.dstory,.dconcept,.dtable,.ditem,.plan,.bdone,form:not(.vform):not(.bform){border-radius:var(--r-s)!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.card,.tile,.cards li,.m-small,.panel,.nlpanel,.dstory,.dtable,.ditem,.plan,.bdone{background:var(--surf)!important}
.m-big{background:radial-gradient(70% 80% at 80% 10%,rgba(65,191,200,.16),transparent 70%),radial-gradient(60% 60% at 10% 100%,rgba(232,193,132,.18),transparent 70%),var(--surf)!important}
.m-small.alt{background:#EFEDEC!important}
.dconcept{background:linear-gradient(160deg,rgba(232,193,132,.18),transparent 60%),var(--surf)!important}
.plan.pro{box-shadow:inset 0 0 0 1px #000!important}
.cards li h3,.stack li h3,.two li h3,.tile h3{font-size:24px;line-height:1.05;letter-spacing:-.02em;font-weight:400}
.cards li p,.two li p,.tile p,.m-small p{color:var(--mut)}
.cards li a{color:#000}
/* numbered superscripts on card groups (elu: title + tiny index) */
.cards,.two,.stack{counter-reset:ix}
.cards li h3::after,.two li h3::after,.stack li h3::after{counter-increment:ix;content:counter(ix,decimal-leading-zero);font:400 11px var(--mono);vertical-align:super;margin-left:6px;color:var(--mut);letter-spacing:0}
/* forms */
.vform input,.fld input,.fld select,.fld textarea,form:not(.bform) input[type=email]{background:#fff!important;color:#000;border:1px solid #8F8A88!important;border-radius:var(--r-m)}
.vform{border:0;background:none}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M0 0h12L6 8z' fill='%23000'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important}
.fld select option{background:#fff;color:#000}
.fld label{color:var(--mut)}.fld .err,.ferr{color:#B3261E}.fld [aria-invalid="true"]{border-color:#B3261E!important}
.ph{border-color:#8A5D14;color:#8A5D14}.phnote{color:#8A5D14}
.badge{border-color:#B9B3B1;color:#4F4947}
.plan li::before{background:var(--acc)}
.dark .plan li::before{background:#9FB08A}
/* the "What we build" manifesto + Mission band become dark rounded inset cards (elu product stage) */
.manifesto{padding-left:clamp(16px,4vw,40px);padding-right:clamp(16px,4vw,40px);margin-top:12px}
.manifesto::before{width:calc(100vw - 2*var(--gut));border-radius:var(--r-s);background-color:#0B0F12}
.manifesto .stack li{background:rgba(18,24,28,.46)!important;border:1px solid rgba(255,255,255,.12)!important;-webkit-backdrop-filter:blur(14px) saturate(130%)!important;backdrop-filter:blur(14px) saturate(130%)!important;border-radius:var(--r-s)!important}
.manifesto .stack li p{color:#D4D4D4}
.vband.bleed{width:calc(100vw - 2*var(--gut));margin-left:calc(50% - 50vw + var(--gut));border-radius:var(--r-s)}
.vhero::after{background:radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(7,13,20,.45) 100%),linear-gradient(180deg,rgba(7,13,20,.5) 0%,rgba(7,13,20,.2) 26%,rgba(7,13,20,.45) 55%,rgba(7,13,20,.78) 82%,#FEFEFE 100%)}
/* vision glow card -> paper card with a soft teal/amber cloud */
.gcard{background:radial-gradient(60% 90% at 85% 0%,rgba(65,191,200,.18),transparent 70%),radial-gradient(50% 80% at 0% 100%,rgba(232,193,132,.22),transparent 70%),var(--surf)!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:var(--r-s)!important}
.gcard::before,.gcard::after{opacity:.0}
.gcard .d36{color:#000}
/* light newsletter feature */
.light{background:var(--surf)!important;color:#000}.light .d48,.light h2,.light .p24{color:#000}.light .p24{color:var(--pebble)}
.press .cards li{min-height:220px}
/* pathway diagram on light */
.pathway .d{fill:rgba(0,0,0,.32)}.pathway .t{stroke:rgba(0,0,0,.14)}.pathway .l{stroke:rgba(15,118,126,.35)}.pathway .n{fill:#fff;stroke:#0F767E}
.pathway text{fill:#3F3D3C}
/* closing CTA: soft blurred teal + amber cloud on cream (elu gradient-cream, Plymouth colours) */
.cta-in{background:radial-gradient(55% 80% at 90% 100%,rgba(65,191,200,.38),transparent 70%),radial-gradient(60% 90% at 10% 0%,rgba(232,193,132,.45),transparent 70%),#FBF3E6!important;border:0!important;box-shadow:none!important;border-radius:var(--r-s)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-size:140% 140%!important;animation:eludrift 13s var(--e-std) infinite alternate}
.cta-in h2{color:#000}.cta-in p{color:#3F3D3C}
.cta-art{color:rgba(0,0,0,.28)}.cta-art .ca{stroke:#0F767E}.cta-art circle:nth-last-child(-n+3){stroke:#B07A3A}
@keyframes eludrift{from{background-position:0% 0%}to{background-position:100% 100%}}
/* digest + issues */
.dtable thead th{background:#EFEFEF!important;color:#000}
.dtable td,.dtable th{border-color:var(--line)!important}
.dtool{color:#8A5D14}
.issue a[rel]{color:var(--acc);text-decoration-color:rgba(15,118,126,.4)}
.bdone{border:0!important}
/* footer: one mono uppercase row on a hairline (elu) */
footer.vb{font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);border-top:1px solid var(--line);padding:28px 0 36px}
footer.vb a{color:var(--fg);text-decoration:none}footer.vb a:hover{color:var(--acc)}
footer.vb nav{flex-wrap:wrap;gap:6px 18px}
/* motion: rise-in reveal */
.reveal{transition-timing-function:var(--e-reveal)!important}
@media (prefers-reduced-motion:reduce){.cta-in{animation:none}}
@media (orientation:landscape) and (max-height:540px){header.vb{top:6px;margin-top:6px!important;padding:5px 5px 5px 14px!important}.v4 .pin{margin-top:-54px}.pill{height:32px;padding:3px 3px 3px 12px}.pill::after{height:26px;width:34px}.menu summary{width:32px;height:32px}}
@media (max-width:720px){header.vb{padding:6px 6px 6px 14px!important;top:8px;margin-top:8px!important}.v4 .pin{margin-top:-60px}.pill{font-size:12px;padding:4px 4px 4px 12px}.pill::after{width:34px}.cards li h3,.two li h3{font-size:22px}}

/* ==== security section ("Asks before it acts") ==== */
.secx{position:relative;isolation:isolate;margin:clamp(96px,10vw,128px) auto 0;width:calc(100vw - 2*var(--gut));left:50%;transform:translateX(-50%);border-radius:var(--r-s);background:#0F1417;padding:clamp(48px,6vw,96px) clamp(16px,4vw,40px) clamp(28px,3vw,40px);overflow:hidden}
.secx::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(40% 50% at 18% 20%,rgba(255,255,255,.07),transparent 70%),radial-gradient(45% 55% at 82% 35%,rgba(65,191,200,.12),transparent 70%),radial-gradient(50% 50% at 50% 100%,rgba(255,255,255,.05),transparent 70%);filter:blur(10px)}
.secx .eyebrow-m{text-align:center;color:#fff;margin:0 0 20px}
.secx h2{color:#fff;text-align:center;font-size:clamp(34px,4.4vw,48px);line-height:1.02;letter-spacing:-.025em;margin:0 auto 18px;max-width:18ch;font-weight:400;text-transform:none;font-family:var(--sans)}
.secx .lede{color:#A3A3A3;text-align:center;max-width:52ch;margin:0 auto clamp(40px,5vw,64px);font-size:16px;line-height:1.35}
.secx .flow{max-width:1120px;margin:0 auto clamp(48px,6vw,88px)}
.secx .flow svg{display:block;width:100%;height:auto}
.secx .flow .fm{display:none}
@media (max-width:720px){.secx .flow .fd{display:none}.secx .flow .fm{display:block;max-width:360px;margin:0 auto}}
.secx ol{list-style:none;margin:0 auto;padding:0;max-width:1180px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4vw,56px) clamp(24px,3vw,40px)}
.secx li{text-align:left}
.secx .badge80{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.16),rgba(255,255,255,.04) 70%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);margin:0 0 24px}
.secx .badge80 svg{width:40px;height:40px}
.secx li h3{color:#fff;font-size:24px;line-height:1.05;margin:0 0 10px;font-weight:400}
.secx li h3 sup{font:400 11px var(--mono);color:#A3A3A3;margin-left:6px;letter-spacing:0}
.secx li p{color:#A3A3A3;font-size:16px;line-height:1.35;margin:0;max-width:36ch}
.secx .deploy{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}
.secx .deploy span{font:400 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#D4D4D4;border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:6px 10px}
.secx .strip{max-width:1180px;margin:clamp(56px,6vw,96px) auto 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.secx .strip p{margin:0;font:400 12px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#A3A3A3}
.secx .tools{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.secx .tools li{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:var(--r-s);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);font:400 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#D4D4D4;transition:background .3s var(--e-std),color .3s}
.secx .tools li:hover{background:rgba(65,191,200,.16);color:#fff}
.secx .tools li i{width:8px;height:8px;border-radius:2px;background:#41BFC8;display:inline-block}
.secx .strip .stat{color:#fff}
.secx .stat b{font-weight:400;color:#41BFC8}
.secx .more{text-align:center;margin:clamp(36px,4vw,56px) 0 0}
@media (max-width:900px){.secx ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.secx ol{grid-template-columns:1fr}.secx .strip{flex-direction:column;align-items:flex-start}}
.security-page .commit{max-width:760px}
.security-page .commit li{padding:14px 0;border-top:1px solid var(--line)}
.security-page .commit li b{font-weight:400;color:#000}
.cta-in h2,.bdone h2{font:400 clamp(30px,3.6vw,44px)/1.06 var(--sans)!important;letter-spacing:-.025em!important;text-transform:none!important;color:#000}
.bdone h2{font-size:28px!important}
header.vb{flex-wrap:nowrap}
.secx h2{border:0!important;padding-top:0!important}
.secx .eyebrow-m{display:block;width:100%;text-align:center!important;margin-left:auto!important;margin-right:auto!important;max-width:none}
.tlink{white-space:nowrap;font-size:12px}
@media (max-width:720px){
 header.vb{max-width:none;margin-left:-16px!important;margin-right:-16px!important}
 .hright{gap:8px}
 .pill{font-size:11.5px;letter-spacing:.02em;gap:8px;padding:4px 4px 4px 12px;height:34px}.pill::after{width:30px;height:26px}
 .menu summary{width:34px;height:34px}
 header.vb .brand .bmark{width:34px;height:27px}.bword b{font-size:17px}.bword i{font-size:8px}
 .tlink{white-space:normal;text-align:center}
}

/* AA: form borders 3:1 (#8F8A88), links underline in accent */
.vform input:focus,.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--acc)!important;outline-offset:1px}
/* content headings inside articles/digest stay sans (elu: mono for labels only) */
.dstory h2,.issue h2:not([class]),article h2:not([class]){font:400 clamp(24px,2.6vw,30px)/1.12 var(--sans)!important;letter-spacing:-.02em!important;text-transform:none!important;color:#000}
.dark .dstory h2{color:#fff}
.vform label{color:var(--mut)}
.gcard .eyebrow-m,.gcard figcaption{color:var(--mut)!important}

/* qa-fixes 2026-10-18: footer links meet the 24px minimum target (WCAG 2.2 SC 2.5.8) */
footer.vb a{display:inline-flex;align-items:center;min-height:24px}
/* signup status states (home + newsletter) */
.substatus[data-state=ok]{color:var(--acc)}.substatus[data-state=error]{color:#B3261E}
/* home: live feed (home_feed.py) */
.feed .feed-upd{margin:-24px 0 40px;color:var(--mut)}
.feed .cards li{display:flex;flex-direction:column}
.feed .cards li a{margin-top:auto}
.feed .feed-meta{margin:0 0 12px;color:var(--mut);font-size:12px;line-height:1.4}
.feed .feed-more{margin:40px 0 0;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.feed>.eyebrow-m,.feed .feed-upd,.feed .feed-more{max-width:none;margin-left:auto;margin-right:auto;text-align:center}
@media (min-width:641px){.dtable tbody th,.dtable tbody td:not(.dnotes),.dtable thead th{white-space:nowrap}}
