:root{--bg:#e9edef;--bg2:#d8e3ea;--ink:#1b2a37;--mut:#66798a;--navy:#1d2e3e;--sky:#a9c1d6;--line:rgba(27,42,55,.16);--glow:#4db4ff;--serif:"Instrument Serif","Cormorant Garamond",Georgia,serif;--sans:Poppins,system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--ease:cubic-bezier(.22,.8,.2,1);--q:1;--p:.5}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:300 15px/1.6 var(--sans);color:var(--ink);background:linear-gradient(var(--bg),var(--bg2));overflow-x:clip}
body::before{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.2;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
.eyebrow,.btn,.bar nav a,small,.tag,.foot{font:400 10px/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.eyebrow{color:var(--mut);text-align:center}
h1,h2,h3,.num{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.98}
h1{font-size:clamp(2.6rem,6.2vw,5.4rem)}
h2{font-size:clamp(2.2rem,5vw,4.4rem);text-align:center}
.btn{display:inline-flex;gap:.6em;padding:.85em 1.25em;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.55);backdrop-filter:blur(8px);cursor:pointer;transition:background .3s,transform .3s var(--ease)}
.btn:hover{background:#fff;transform:translateY(-2px)}
.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.bar{position:fixed;z-index:20;top:14px;left:50%;transform:translateX(-50%);width:min(1100px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px 7px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(236,240,242,.72);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:9px;font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase}
.brand i{width:7px;height:7px;border-radius:50%;background:var(--ink)}
.bar nav{display:flex;gap:6px}.bar nav a{padding:6px 10px;border-radius:4px}.bar nav a:hover{background:rgba(255,255,255,.8)}
.bar .btn{padding:.6em .9em}
[data-pin]{position:relative}
.stick{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:clip}
.hero{--q:0;height:170vh}.manifesto{height:240vh}#secure{height:260vh}
.hero .stick{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4vh;padding-top:64px;background:radial-gradient(55vw 42vh at 50% 34%,rgba(150,190,220,.5),transparent 70%)}
.corner{position:absolute;color:var(--mut);max-width:200px;font-size:11px;line-height:1.4}.corner b{display:block;font:400 11px var(--mono)}
.tl{left:26px;top:84px}.tr{right:26px;top:84px;text-align:right}.bl{left:26px;bottom:34px}.br{right:26px;bottom:34px;text-align:right}
.mac{--w:clamp(150px,17vw,230px);width:var(--w);height:calc(var(--w)*1.12);flex:none;position:relative;border-radius:10px 10px 5px 5px;background:linear-gradient(100deg,#cfd5d9,#e7eaec 40%,#b9c1c6);box-shadow:inset 0 2px 0 #fff,inset 0 -6px 10px rgba(0,0,0,.12),0 34px 40px -20px rgba(27,42,55,.45);transform:translateY(calc(var(--q)*-7vh)) scale(calc(1 + var(--q)*.12))}
.mac::before{content:"";position:absolute;inset:-2% 3% auto;height:7%;border-radius:6px 6px 0 0;background:linear-gradient(#eef1f2,#cdd3d7)}
.scr{position:absolute;inset:11% 11% 38%;border-radius:12px/10px;background:#0d1b27;padding:8%;box-shadow:inset 0 0 0 5px #20272c,0 1px 0 #fff}
.scr::before{content:"";position:absolute;inset:7%;border-radius:8px;background:radial-gradient(#6fcaff,#1f7cc4 70%,#0f4f86);filter:blur(1.5px);box-shadow:0 0 28px 4px rgba(77,180,255,.55)}
.scr pre{position:relative;font:400 clamp(5.5px,.58vw,8px)/1.55 var(--mono);color:#e6f6ff;white-space:pre-wrap;text-shadow:0 0 4px rgba(255,255,255,.6)}
.slot{position:absolute;right:12%;bottom:14%;width:42%;height:5%;border-radius:2px;background:#2b3238;box-shadow:inset 0 1px 3px #000}
.hero-copy{text-align:center;display:grid;gap:18px;justify-items:center;opacity:calc(1 - var(--q)*1.5);transform:translateY(calc(var(--q)*-5vh))}
.hero-copy h1 span{opacity:.5}.hero-copy p{max-width:46ch;color:var(--mut)}
.row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.manifesto .stick{padding:0 clamp(18px,8vw,140px);align-content:center;gap:28px;text-align:center}
.manifesto h2{font-size:clamp(2.4rem,6.4vw,6rem);max-width:15ch}
.w{opacity:.14;transition:opacity .25s}
.manifesto .sub{max-width:52ch;color:var(--mut);justify-self:center;opacity:clamp(0,calc(var(--q)*4 - 2.4),1)}
.frame{margin:10px;border-radius:14px;border:1px solid var(--line);padding:clamp(70px,12vh,120px) clamp(14px,3vw,36px);position:relative;overflow:clip}
.dark{background:radial-gradient(80vw 60vh at 50% 40%,#294866,var(--navy) 70%);color:var(--sky);border-color:rgba(169,193,214,.18)}
.dark .eyebrow{color:#86a1b8}.dark .btn{color:var(--sky);background:transparent;border-color:rgba(169,193,214,.35)}.dark .btn:hover{background:rgba(255,255,255,.08)}
.sec-h{display:grid;gap:14px;justify-items:center;margin-bottom:clamp(30px,6vh,60px)}
.sec-h p:not(.eyebrow){max-width:54ch;text-align:center;color:var(--mut)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:start;max-width:1160px;margin:auto}
.pcard{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:min(72vh,560px);padding:26px 18px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.28);transform:translateY(calc((1 - min(1,var(--p)*2.4))*70px));transition:background .4s,box-shadow .4s}
.pcard:nth-child(2){margin-top:4vh}
.pcard:hover{background:rgba(255,255,255,.72);box-shadow:0 24px 50px -30px rgba(27,42,55,.5)}
.pcard h3{font-size:1.9rem}.pcard small{color:var(--mut)}
.pcard svg{width:min(190px,60%);margin:auto;filter:drop-shadow(0 22px 14px rgba(27,42,55,.22));transition:transform .6s var(--ease)}
.pcard:hover svg{transform:translateY(-8px) rotate(-2deg)}
.num{font-size:clamp(3rem,6vw,5rem)}
.rail{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px calc(50% - min(220px,40vw));scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.scard{flex:0 0 min(440px,80vw);scroll-snap-align:center;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 20px 40px -28px rgba(27,42,55,.5);opacity:.5;transform:scale(.94);transition:.5s var(--ease)}
.scard.on{opacity:1;transform:none}
.scard>small{display:block;padding:7px 14px;background:#e4edf5;color:var(--mut)}
.scard div{padding:26px 22px 40px}.scard h3{font-size:2rem;margin-bottom:10px}.scard p{color:var(--mut);max-width:34ch}
.scard footer{padding:12px 22px;border-top:1px solid var(--line);font:400 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.ctl{display:flex;gap:8px;justify-content:center;margin:22px 0}.ctl .btn{padding:.5em .9em}
.orb{position:relative;width:min(44vh,68vw);aspect-ratio:1;margin:auto}
.globe{position:absolute;inset:0;border-radius:50%;z-index:1;overflow:hidden;background:radial-gradient(circle at 35% 30%,#86b6d8,#3f7096 42%,#1d3d58 72%,#10253a);box-shadow:0 0 90px rgba(100,170,220,.25),inset -26px -20px 60px rgba(5,15,28,.7)}
.globe::after{content:"";position:absolute;inset:0;mix-blend-mode:soft-light;opacity:.9;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .03' numOctaves='5' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.6 -.5'/%3E%3C/filter%3E%3Crect width='600' height='300' filter='url(%23c)'/%3E%3C/svg%3E") 0 0/200% 100%;background-position-x:calc(var(--q)*-900px)}
.ring{position:absolute;left:-26%;top:33%;width:152%;height:34%;border:1px solid rgba(235,245,255,.75);border-radius:50%}
.ring.back{z-index:0;clip-path:inset(0 0 50% 0);opacity:.4}.ring.front{z-index:2;clip-path:inset(50% 0 0 0)}
.nodes{list-style:none;padding:0}
.nodes li{position:absolute;left:calc(12% + var(--i)*14%);top:50%;display:flex;align-items:center;gap:7px;transform:translate(-50%,-50%);white-space:nowrap;font:400 9px var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:3px 7px;background:#f4f8fb;color:var(--navy);border-radius:2px}
.secure-h{position:absolute;top:clamp(70px,13vh,120px);display:grid;gap:14px;justify-items:center;padding:0 16px}
.secure-f{position:absolute;bottom:clamp(28px,6vh,60px);display:grid;gap:14px;justify-items:center;text-align:center;padding:0 16px}
.secure-f p{max-width:46ch;font-size:13px}
.cols{display:flex;gap:10px;height:min(54vh,430px);max-width:1160px;margin:auto}
.col{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px solid rgba(169,193,214,.2);border-radius:6px;overflow:hidden;cursor:pointer;transition:flex .7s var(--ease),background .5s}
.col.on{flex:3.4;background:rgba(255,255,255,.05)}
.col .num{color:#c9dcec}.col h3{font-size:1.6rem;color:#d7e6f3;margin-bottom:8px}
.col p{max-width:34ch;font-size:13px;opacity:0;transform:translateY(12px);transition:.5s .15s}.col.on p{opacity:1;transform:none}
.tag{align-self:flex-start;border:1px solid rgba(169,193,214,.3);padding:3px 7px;border-radius:3px}
.tree{max-width:920px;margin:auto;overflow-x:auto}.tree svg{display:block;min-width:700px;width:100%}
.tn{opacity:clamp(0,calc((var(--p) - .3)*8 - var(--i)*.35),1)}
.tn path{fill:none;stroke:var(--mut);stroke-dasharray:3 5}
.tn rect{fill:#f5f8fa;stroke:var(--line)}.tn text,.root text{font:400 12px var(--mono);letter-spacing:.06em;fill:var(--ink);text-anchor:middle}.root rect{fill:var(--ink)}.root text{fill:#fff}
.note{text-align:center;color:var(--mut);font-size:13px;margin:18px auto 26px;max-width:56ch}
.pod{display:flex;align-items:flex-end;gap:12px;height:min(58vh,460px);max-width:1000px;margin:auto}
.pcol{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:18px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.2);transform:translateY(calc((1 - min(1,var(--p)*2.2))*80px))}
.pcol:nth-child(1){height:58%}.pcol:nth-child(2){height:100%;background:#fff;align-items:flex-start}.pcol:nth-child(3){height:72%}
.pcol h3{font-size:1.9rem}.pcol small{color:var(--mut)}.pcol p{color:var(--mut);font-size:13px}
.cta{min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center}
.cta p{max-width:44ch}.cta h2{color:#d4e4f1}
.foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 22px;color:#86a1b8}
.foot nav{display:flex;gap:16px}.foot a:hover{color:#fff}
@media(max-width:760px){.bar nav,.corner{display:none}.trio{grid-template-columns:1fr}.pcard{min-height:340px}.pcard:nth-child(2){margin-top:0}.cols{flex-direction:column;height:auto}.col{flex:none;min-height:150px}.col p{opacity:1;transform:none}.pod{flex-direction:column;height:auto;align-items:stretch}.pcol{height:auto!important;min-height:150px}.manifesto{height:200vh}#secure{height:220vh}.foot{position:static;justify-content:center;margin-top:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}.hero,.manifesto,#secure{height:auto}.stick{position:static;height:auto;min-height:80vh}#secure .stick{min-height:110vh}.hero-copy{opacity:1;transform:none}}
/* ---- inner pages ---- */
.skip{position:absolute;left:-999px;top:8px;z-index:60;background:var(--ink);color:#fff;padding:8px 12px;border-radius:4px}.skip:focus{left:8px}
.menu{display:none;font:400 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:.7em 1em;border:1px solid var(--line);border-radius:5px;background:transparent;color:inherit;cursor:pointer}
.bar nav a[aria-current]{background:#fff}
.wrap{max-width:1100px;margin:auto;padding:0 clamp(16px,4vw,32px)}
.ph{padding-top:clamp(120px,20vh,180px);display:grid;gap:18px}
.crumbs{font:400 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}.crumbs a:hover{color:var(--ink)}
.lead{max-width:58ch;font-size:1.1rem;color:var(--mut)}
.sec{padding-top:clamp(44px,8vh,84px)}
.sh{display:grid;gap:10px;margin-bottom:24px}.sh h2{text-align:left;font-size:clamp(1.9rem,3.6vw,3rem)}.eyebrow.l{text-align:left}
.grid{display:grid;gap:10px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
.gc{display:block;border:1px solid var(--line);border-radius:10px;padding:22px;background:rgba(255,255,255,.4);transition:background .3s,transform .3s var(--ease)}
.gc:hover{background:rgba(255,255,255,.78)}a.gc:hover{transform:translateY(-3px)}
.gc h3{font-size:1.6rem;margin-bottom:8px}.gc p{color:var(--mut);font-size:14px}
.steps{list-style:none;padding:0;display:grid;gap:10px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.35)}
.steps li::before{content:counter(s,decimal-leading-zero);font:400 2.4rem/1 var(--serif)}.steps b{display:block;font-weight:500}.steps span{color:var(--mut);font-size:14px}
.ticks{list-style:none;padding:0;display:grid;gap:8px}.ticks li{padding-left:22px;position:relative}.ticks li::before{content:"+";position:absolute;left:0;font-family:var(--mono)}
.ctab{border:1px solid rgba(169,193,214,.18);border-radius:14px;padding:clamp(34px,7vw,70px);display:grid;gap:16px;justify-items:center;text-align:center;background:radial-gradient(80vw 60vh at 50% 40%,#294866,var(--navy) 70%);color:var(--sky)}
.ctab h2{color:#d4e4f1}.ctab .btn{color:var(--sky);background:transparent;border-color:rgba(169,193,214,.35)}
.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.tools input{flex:1 1 220px;width:auto}
input,select,textarea{font:inherit;color:inherit;width:100%;padding:.8em 1em;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.7)}
.chip{font:400 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.8em 1em;border:1px solid var(--line);border-radius:5px;background:transparent;cursor:pointer;color:inherit}
.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.badge{display:inline-block;font:400 9px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line);border-radius:3px;margin:0 6px 8px 0}
.badge.ok{background:#dff3e7}.badge.plan{background:#eceff3}
.empty{border:1px dashed var(--mut);border-radius:10px;padding:40px 24px;text-align:center;color:var(--mut)}
[hidden]{display:none!important}
.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-size:13px}.form .chk{grid-template-columns:auto 1fr;align-items:start}.chk input{width:auto;margin-top:4px}.fnote{font-size:13px;color:var(--mut)}
.split{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}
.prose{max-width:68ch}.prose h2{text-align:left;font-size:2rem;margin:34px 0 10px}.prose p,.prose li{margin-bottom:12px}.prose ul,.prose ol{padding-left:22px}
.prose pre{overflow-x:auto;background:#16222d;color:#dff3ff;padding:16px;border-radius:8px;font:400 13px/1.6 var(--mono);margin:0 0 16px}
code{font:400 .9em var(--mono);background:rgba(27,42,55,.07);padding:.1em .35em;border-radius:3px}.prose a,.gc a{text-decoration:underline;text-underline-offset:3px}
details{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:rgba(255,255,255,.4);margin-bottom:8px}summary{cursor:pointer;font-weight:500}details p{margin-top:10px;color:var(--mut)}
.notice{border:1px solid var(--line);border-left:3px solid var(--glow);padding:14px 18px;border-radius:6px;background:rgba(255,255,255,.5);font-size:14px;margin-bottom:8px}
.sf{margin:10px;border-radius:14px;background:var(--navy);color:var(--sky);padding:clamp(30px,6vw,56px);margin-top:clamp(50px,9vh,90px)}
.sf .in{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:24px}
.sf h3{font:400 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#86a1b8;margin-bottom:10px}
.sf a{display:block;padding:3px 0;font-size:14px}.sf a:hover{color:#fff}.sf .brand{display:flex}.sf .brand i{background:var(--sky)}.sf small{display:block;margin-top:34px;color:#86a1b8}
@media(max-width:900px){.menu{display:inline-flex}.bar nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;padding:8px;border:1px solid var(--line);border-radius:8px;background:rgba(236,240,242,.97)}.bar nav.open{display:flex}.bar nav a{padding:12px}.split,.g2,.g3{grid-template-columns:1fr}.sf .in{grid-template-columns:1fr 1fr}.steps li{grid-template-columns:50px 1fr}}
@media(max-width:520px){.bar>.btn{display:none}.menu{margin-left:auto}}
/* ---- logo + email ---- */
.bar{padding:5px 8px 5px 12px}.brand img{display:block;height:44px;width:auto}.sf .brand img{height:60px;width:auto}
.mail{font:400 11px var(--mono);letter-spacing:.06em;text-decoration:underline;text-underline-offset:4px}.mail:hover,.foot a:hover{color:#fff}
.cta>img{height:64px;width:auto}
