@font-face { font-family:'Host Grotesk'; font-weight:300; font-style:normal; font-display:block;
  src:url('../assets/fonts/host-grotesk-300.woff2') format('woff2'); }
@font-face { font-family:'Host Grotesk'; font-weight:400; font-style:normal; font-display:block;
  src:url('../assets/fonts/host-grotesk-400.woff2') format('woff2'); }
@font-face { font-family:'Host Grotesk'; font-weight:600; font-style:normal; font-display:block;
  src:url('../assets/fonts/host-grotesk-600.woff2') format('woff2'); }
@font-face { font-family:'Host Grotesk'; font-weight:700; font-style:normal; font-display:block;
  src:url('../assets/fonts/host-grotesk-700.woff2') format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-weight:400; font-style:normal; font-display:block;
  src:url('../assets/fonts/jetbrains-mono-400.woff2') format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-weight:500; font-style:normal; font-display:block;
  src:url('../assets/fonts/jetbrains-mono-500.woff2') format('woff2'); }
:root {
  color-scheme:light only;
  --o1:#F05B26; --o2:#F1652C; --o3:#F58A4C;
  --peach:#FBE3D6; --sand:#F3EEE8; --steel:#5F6E78;
  --ink:#1D1B1A;
  --grad:linear-gradient(45deg,#F05B26 0%,#F1652C 50%,#F58A4C 100%);
  --gradlive:linear-gradient(45deg,#F05B26 0%,#F1652C 50%,#F58A4C 100%);
  --m:clamp(24px,5vw,72px);
  --ease:cubic-bezier(.22,.9,.24,1);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; background:#fff; }
body { font-family:'Host Grotesk',Arial,sans-serif; color:var(--ink); background:#fff; font-size:16px; line-height:1.45; }
body.locked { overflow:hidden; }
.mono { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.17em; text-transform:uppercase; }
h1,h2,h3 { font-weight:600; line-height:1.04; letter-spacing:-.01em; }
.wrap { max-width:1360px; margin:0 auto; padding-left:var(--m); padding-right:var(--m); }
.pcard,.dcard,.stat,.node { min-width:0; }

/* loader */
#loader { position:fixed; inset:0; z-index:200; background:var(--ink); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; transition:transform .75s var(--ease); }
#loader.done { transform:translateY(-101%); }
.ld-sym { width:112px; height:auto; overflow:visible; }
.ld-sym .all { animation:settle .5s var(--ease) 1.15s both; transform-box:view-box; transform-origin:86px 98px; }
.ld-sym .pc { opacity:0; transform:rotate(-44deg) scale(.86); transform-box:view-box; transform-origin:86px 98px; animation:arcIn .75s var(--ease) forwards; }
.ld-sym .p1 { animation-delay:.12s; } .ld-sym .p2 { animation-delay:.26s; }
.ld-sym .p3 { animation-delay:.4s; } .ld-sym .p4 { animation-delay:.54s; }
.ld-sym .sq { opacity:0; transform:scale(0); transform-box:view-box; transform-origin:86px 98px; animation:sqIn .5s var(--ease) .78s forwards; }
@keyframes arcIn { to { opacity:1; transform:rotate(0deg) scale(1); } }
@keyframes sqIn { 60% { opacity:1; transform:scale(1.4); } 100% { opacity:1; transform:scale(1); } }
@keyframes settle { 0% { transform:scale(1); } 55% { transform:scale(1.05); } 100% { transform:scale(1); } }
.ld-wm { width:196px; height:auto; overflow:visible; }
.ld-wm path { fill:#fff; opacity:0; transform:translateY(20px); animation:lin .5s var(--ease) forwards; }
@keyframes lin { to { opacity:1; transform:none; } }
.ld-bar { width:170px; height:2px; background:rgba(255,255,255,.16); overflow:hidden; }
.ld-bar i { display:block; height:100%; width:0; background:var(--grad); animation:fill 1.35s var(--ease) .5s forwards; }
@keyframes fill { to { width:100%; } }
.ld-tag { color:#D8C9BE; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.3em; text-transform:uppercase; opacity:0; animation:tagIn .6s ease .7s forwards; }
@keyframes tagIn { to { opacity:1; } }

.tracer { position:absolute; pointer-events:none; }
.tsvg { width:100%; height:auto; display:block; overflow:visible; }
.tbase circle { stroke:currentColor; stroke-width:.7; opacity:.13; }
.trun circle { stroke:var(--o3); stroke-width:1.2; stroke-linecap:round;
  stroke-dasharray:44 956; animation:trace 7s linear infinite;
  filter:drop-shadow(0 0 5px rgba(245,138,76,.95)) drop-shadow(0 0 14px rgba(240,91,38,.55)); }
.trun circle:nth-child(2) { animation-duration:9s; animation-delay:1.1s; }
.trun circle:nth-child(3) { animation-duration:5.5s; animation-delay:.5s; }
@keyframes trace { to { stroke-dashoffset:-1000; } }
#prog { position:fixed; top:0; left:0; height:3px; width:0; background:var(--grad); z-index:120; }
nav { position:fixed; top:0; left:0; right:0; z-index:100; transition:background .35s ease, box-shadow .35s ease; }
nav .nav-in { display:flex; align-items:center; justify-content:space-between; height:80px; transition:height .35s ease; }
nav.scrolled { background:rgba(255,255,255,.96); box-shadow:0 1px 0 #EAE4DD; }
nav.scrolled .nav-in { height:66px; }
.wm { font-weight:700; font-size:24px; letter-spacing:-.02em; color:#fff; text-decoration:none; transition:color .35s ease; }
nav.scrolled .wm { color:var(--ink); }
.nav-links { display:flex; align-items:center; gap:36px; }
.nav-links > a:not(.btn) { color:#fff; text-decoration:none; font-size:14px; position:relative; transition:color .35s ease; }
nav.scrolled .nav-links > a:not(.btn) { color:var(--ink); }
.nav-links > a:not(.btn)::after { content:''; position:absolute; left:0; bottom:-6px; height:2px; width:0; background:var(--o1); transition:width .3s var(--ease); }
.nav-links > a:not(.btn):hover::after { width:100%; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; background:var(--o1); color:#fff; border:none; cursor:pointer;
  font-family:'Host Grotesk'; font-weight:600; font-size:14px; padding:13px 24px; text-decoration:none; transition:background .25s ease; }
.btn .ar { display:inline-block; transition:transform .3s var(--ease); }
.btn:hover { background:var(--o2); }
.btn:hover .ar { transform:translateX(5px); }
.btn-w { background:#fff; color:#B23A0F; }
.btn-w:hover { background:var(--peach); }
.btn-o { background:transparent; border:1px solid rgba(255,255,255,.65); color:#fff; }
.btn-o:hover { background:rgba(255,255,255,.14); }

.rv { opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.rv.in { opacity:1; transform:none; }
.d1 { transition-delay:.1s } .d2 { transition-delay:.2s } .d3 { transition-delay:.3s }

.orb { position:absolute; width:540px; height:540px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(245,138,76,.42) 0%, rgba(245,138,76,0) 62%);
  filter:blur(10px); animation:drift 13s ease-in-out infinite alternate; }
.orb.o2 { background:radial-gradient(circle, rgba(251,227,214,.30) 0%, rgba(251,227,214,0) 60%); animation-duration:17s; animation-delay:2s; }
@keyframes drift { from { transform:translate(0,0) scale(1); } to { transform:translate(90px,-70px) scale(1.18); } }

/* hero */
.hero { position:relative; background:var(--gradlive); background-size:150% 150%; animation:gradShift 16s ease-in-out infinite alternate; color:#fff; overflow:hidden; }
@keyframes gradShift { from { background-position:0% 100%; } to { background-position:100% 0%; } }
.hero-in { position:relative; padding-top:200px; padding-bottom:130px; max-width:940px; }
.hero .mono { color:var(--peach); margin-bottom:28px; }
.hero h1 { font-size:clamp(46px,7vw,96px); margin-bottom:28px; }
.hero p { font-size:18px; line-height:1.5; max-width:600px; margin-bottom:40px; color:rgba(255,255,255,.95); }
.hero .ctas { display:flex; gap:14px; flex-wrap:wrap; }
.hero .scrollhint { position:absolute; bottom:26px; left:var(--m); color:rgba(255,255,255,.85); display:flex; align-items:center; gap:10px; }
.hero .scrollhint i { display:block; width:1px; height:34px; background:rgba(255,255,255,.5); overflow:hidden; position:relative; }
.hero .scrollhint i::after { content:''; position:absolute; top:-40%; left:0; width:100%; height:40%; background:#fff; animation:dripA 1.8s linear infinite; }
@keyframes dripA { to { top:110%; } }

/* trust strip */
.stats { border-bottom:1px solid #EAE4DD; }
.stats-in { display:grid; grid-template-columns:repeat(4,1fr); }
.stat { padding:44px 28px 40px 28px; border-left:1px solid #EAE4DD; }
.stat:first-child { border-left:none; padding-left:0; }
.stat b { display:block; font-weight:300; font-size:clamp(40px,4.4vw,64px); line-height:1; margin-bottom:14px; font-variant-numeric:tabular-nums; }
.stat span { display:block; color:#3f4b41; color:#454a45; }

section { padding-top:110px; padding-bottom:110px; }
.eyebrow { color:var(--o1); margin-bottom:24px; }
h2 { font-size:clamp(34px,4.4vw,60px); max-width:860px; }
.lede { margin-top:22px; font-size:17px; max-width:560px; color:#33302d; }
.split { display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:end; }

.pcards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:64px; }
.pcard { background:var(--sand); padding:36px 32px 40px; min-height:280px; display:flex; flex-direction:column;
  transition:transform .45s var(--ease), background .45s ease; }
.pcard:hover { transform:translateY(-8px); background:var(--peach); }
.pcard.lit { background:var(--peach); }
.pcard .mono { color:#B23A0F; margin-bottom:auto; }
.pcard h3 { font-size:24px; margin:56px 0 16px; }
.pcard p { font-size:15px; color:#2e2b28; }

/* cluster monitor */
.cluster { margin-top:20px; background:var(--ink); color:#fff; padding:44px 40px 40px; position:relative; overflow:hidden; }
.cluster .head, .cluster .grid, .cluster .legendline { position:relative; z-index:1; }
.cluster .head { display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap; margin-bottom:26px; }
.cluster .head .mono { color:var(--o3); }
.cluster .head .sub { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#C9BEB6; }
.grid { display:grid; grid-template-columns:repeat(24,1fr); gap:6px; cursor:crosshair; }
.node { aspect-ratio:1; background:#37322f; transition:background .5s ease; }
.cluster .legendline { display:flex; gap:22px; margin-top:22px; flex-wrap:wrap; }
.cluster .legendline .mono { font-size:9px; color:#C9BEB6; display:flex; align-items:center; gap:7px; }
.dot { width:9px; height:9px; display:inline-block; }

/* design choices */
.choices { background:var(--sand); }
.dcards { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:64px; }
.dcard { background:#fff; padding:34px 28px 38px; transition:transform .45s var(--ease), box-shadow .45s ease; position:relative; }
.dcard::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.dcard:hover { transform:translateY(-8px); box-shadow:0 20px 44px rgba(150,80,40,.13); }
.dcard:hover::before { transform:scaleX(1); }
.dcard .num { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.17em; color:#B23A0F; }
.dcard h3 { font-size:21px; margin:44px 0 14px; }
.dcard p { font-size:14.5px; color:#2e2b28; }

/* ticker */
.ticker { background:var(--ink); overflow:hidden; }
.ticker .tk { display:flex; width:max-content; animation:tick 34s linear infinite; }
.ticker:hover .tk { animation-play-state:paused; }
.tk span { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#D8CDC5; padding:16px 34px; white-space:nowrap; }
.tk span b { color:var(--o3); font-weight:500; }
@keyframes tick { to { transform:translateX(-50%); } }

/* early access */
.access { background:var(--gradlive); background-size:150% 150%; animation:gradShift 20s ease-in-out infinite alternate; color:#fff; position:relative; overflow:hidden; }
.access-in { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.access h2 { color:#fff; }
.access .lede { color:rgba(255,255,255,.95); }
.access .alt { margin-top:36px; font-size:15px; color:rgba(255,255,255,.95); }
.access .alt a { color:#fff; font-weight:600; border-bottom:2px solid var(--peach); text-decoration:none; padding-bottom:2px; }
.form { background:#fff; color:var(--ink); padding:40px 36px 44px; }
.field { margin-bottom:18px; position:relative; }
.field label { display:block; font-size:13px; color:#4c4844; margin-bottom:7px; }
.field label em { color:var(--o1); font-style:normal; }
.field input, .field textarea { width:100%; border:none; border-bottom:1px solid #D8CFC7; padding:8px 0 10px; font-family:'Host Grotesk'; font-size:15px; background:transparent; outline:none; resize:none; color:var(--ink); }
.field input::placeholder, .field textarea::placeholder { color:#9a938c; }
.field i { position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--o1); transition:width .35s var(--ease); }
.field input:focus ~ i, .field textarea:focus ~ i { width:100%; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
.field.has-pick input { cursor:pointer; padding-right:26px; }
.field.has-pick::before { content:''; position:absolute; right:4px; top:34px; width:7px; height:7px; border-right:1.5px solid #6b645e; border-bottom:1.5px solid #6b645e; transform:rotate(45deg); pointer-events:none; }
.field.has-pick.open { z-index:30; }
.mpick { position:absolute; left:0; right:0; top:calc(100% + 8px); background:#fff; border:1px solid #E6DED6; box-shadow:0 18px 44px rgba(29,27,26,.16); padding:14px; }
.mpick-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.mpick-head b { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.mpick-head button { width:30px; height:30px; background:none; border:1px solid #E6DED6; color:var(--ink); font-size:18px; line-height:1; cursor:pointer; transition:border-color .2s ease; }
.mpick-head button:hover:not(:disabled) { border-color:var(--o1); }
.mpick-head button:disabled { opacity:.3; cursor:default; }
.mpick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.mpick-grid button { font-family:'Host Grotesk'; font-size:13px; padding:9px 0; background:var(--sand); border:1px solid transparent; color:var(--ink); cursor:pointer; transition:border-color .2s ease, background .2s ease; }
.mpick-grid button:hover:not(:disabled) { border-color:var(--o1); }
.mpick-grid button.sel { background:var(--o1); color:#fff; }
.mpick-grid button:disabled { opacity:.35; cursor:default; }
.consent { display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:#4c4844; margin:6px 0 20px; }
.consent input { margin-top:3px; accent-color:var(--o1); }
.fmsg { display:none; font-size:13.5px; padding:12px 14px; margin-bottom:16px; }
.fmsg.err { display:block; background:#FBE3D6; color:#8F2E0B; }
.fmsg.okk { display:block; background:#F3EEE8; color:#1D1B1A; }

/* footer */
footer { background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.foot-hero { position:relative; padding-top:120px; padding-bottom:100px; border-bottom:1px solid rgba(255,255,255,.14); }
.foot-hero h2 { font-size:clamp(38px,5vw,68px); color:#fff; }
.foot-grid { position:relative; display:grid; grid-template-columns:1.1fr 2.7fr 1fr; gap:32px; padding-top:56px; padding-bottom:56px; }
.foot-grid .wm { color:#fff; }
.foot-grid p { font-size:14px; color:rgba(255,255,255,.78); margin-top:14px; }
.foot-links { display:flex; gap:28px; flex-wrap:wrap; }
.foot-links a { color:rgba(255,255,255,.92); text-decoration:none; font-size:14px; white-space:nowrap; transition:color .25s ease; }
.foot-links a:hover { color:var(--o3); }
.foot-grid .mail { color:rgba(255,255,255,.92); text-decoration:none; font-size:14px; }
.legal { position:relative; padding-top:26px; padding-bottom:34px; border-top:1px solid rgba(255,255,255,.14); }
.legal span { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.beam { position:absolute; top:0; left:0; right:0; height:2px; overflow:hidden; }
.beam i { position:absolute; top:0; left:-20%; width:20%; height:100%; background:linear-gradient(90deg, transparent, #F58A4C, transparent); animation:beam 4.5s linear infinite; filter:drop-shadow(0 0 6px rgba(245,138,76,.9)); }
@keyframes beam { to { left:120%; } }

/* brand lockup */
.lockup { height:32px; color:#fff; display:block; transition:color .35s ease; }
nav .lockup .sym path { fill:#fff; transition:fill .35s ease; }
nav.scrolled .lockup .sym path { fill:url(#cbrand); }
nav.scrolled .lockup { color:var(--ink); }
.lockup svg { height:100%; width:auto; display:block; }
.foot-grid .lockup { height:26px; margin-bottom:16px; }
footer .lockup { color:#fff; }

/* brand device in backgrounds */
.device { position:absolute; pointer-events:none; z-index:0; }
.device svg { height:100%; width:auto; display:block; }
.hero .device { right:-5%; top:-30%; height:162%; color:#fff; opacity:.10; will-change:transform; }
.cluster .device { right:-7%; top:-36%; height:175%; color:#fff; opacity:.055; will-change:transform; }
.choices .device { left:-8%; bottom:-44%; height:120%; color:#E3D2C2; opacity:.6; }
.access .device { right:-9%; top:-22%; height:150%; color:#fff; opacity:.09; will-change:transform; }
.foot-hero { text-align:center; }
.foot-hero h2 { margin-left:auto; margin-right:auto; }
.foot-sym { display:flex; justify-content:center; margin-bottom:46px; color:#fff; }
.foot-sym svg { width:170px; height:auto; overflow:visible; }

/* animated brand devices */
.hero .device.devanim { opacity:1; }
.devanim .dr { transform-box:view-box; transform-origin:86.3px 97.9px; animation:devPulse 5.5s ease-in-out infinite; }
.devanim .k1 { animation-delay:0s; }
.devanim .k2 { animation-delay:.3s; }
.devanim .k3 { animation-delay:.6s; }
.devanim .k4 { animation-delay:.9s; }
.devanim .k5 { animation-delay:1.2s; }
@keyframes devPulse { 0%, 100% { transform:scale(.965); fill-opacity:.05; } 50% { transform:scale(1.05); fill-opacity:.15; } }
.foot-sym svg { animation:symGlow 4.2s ease-in-out infinite; }
@keyframes symGlow {
  0%, 100% { filter:drop-shadow(0 0 14px rgba(240,91,38,.28)) drop-shadow(0 0 34px rgba(240,91,38,.14)); }
  50% { filter:drop-shadow(0 0 22px rgba(245,138,76,.65)) drop-shadow(0 0 54px rgba(240,91,38,.38)); }
}
.sheen { animation:sheen 3.8s cubic-bezier(.45,.05,.3,1) infinite; }
@keyframes sheen {
  0% { transform:translateX(-96px) skewX(-18deg); }
  58% { transform:translateX(252px) skewX(-18deg); }
  100% { transform:translateX(252px) skewX(-18deg); }
}

/* photography */
.ptag { position:absolute; top:14px; right:14px; z-index:3; font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--peach); background:rgba(29,27,26,.72); padding:6px 10px; pointer-events:none; }
.aimg { position:relative; overflow:hidden; }
.aimg img { display:block; width:100%; height:100%; min-height:300px; max-height:430px; object-fit:cover; transform:scale(1.14); transition:transform 1.5s var(--ease); }
.aimg.in img, .rv.in.aimg img { transform:scale(1); }
.imgrow { display:grid; grid-template-columns:1.55fr 1fr; gap:20px; margin-top:20px; }
.breather { position:relative; height:480px; overflow:hidden; }
.breather .bbg { position:absolute; left:0; right:0; top:-22%; bottom:-22%; background:url('../assets/img/workspace.webp') center/cover no-repeat; will-change:transform; }
.float { position:relative; width:100%; height:100%; box-shadow:0 24px 60px rgba(70,25,5,.35); overflow:hidden; animation:bob 7s ease-in-out infinite alternate; will-change:transform; }
.float .ph { display:block; width:100%; height:100%; background-size:cover; background-position:center; }
.float .ptag { top:auto; bottom:8px; right:8px; font-size:7px; padding:4px 7px; letter-spacing:.1em; }
@keyframes bob { from { transform:translateY(-13px) rotate(var(--rot,0deg)); } to { transform:translateY(13px) rotate(var(--rot,0deg)); } }
@keyframes bobS { from { transform:translateY(-7px) rotate(var(--rot,0deg)); } to { transform:translateY(7px) rotate(var(--rot,0deg)); } }
.fwrap { position:absolute; will-change:transform; }
.access-cluster { position:relative; height:260px; margin-top:44px; }
.fwrap.pw { left:2%; top:0; width:352px; height:235px; }
.fwrap.pw .float { --rot:-2.6deg; animation-duration:8s; }

/* directional reveals */
.rv.rl { transform:translateX(-46px); }
.rv.rr { transform:translateX(46px); }
.rv.rl.in, .rv.rr.in { transform:none; }

/* hover flourishes */
@media (hover:hover) and (pointer:fine) {
  .pcards .pcard:hover { transform:translateY(-8px) scale(1.03); }
  .dcards .dcard:hover { transform:translateY(-8px) scale(1.02); }
  .stats-in .stat { transition:transform .45s var(--ease); }
  .stats-in .stat:hover { transform:translateY(-5px); }
  .form { transition:transform .45s var(--ease), box-shadow .45s ease; }
  .form:hover { transform:translateY(-6px) scale(1.01); box-shadow:0 26px 64px rgba(110,45,12,.16); }
  .cluster { transition:transform .45s var(--ease); }
  .cluster:hover { transform:scale(1.006); }
}

/* mobile menu */
.burger { display:none; background:none; border:none; cursor:pointer; padding:10px; margin-right:-10px; }
.burger span { display:block; width:24px; height:2px; background:#fff; transition:transform .35s var(--ease), opacity .25s ease, background .35s ease; }
.burger span + span { margin-top:6px; }
nav.scrolled .burger span { background:var(--ink); }
body.menu-open .burger span { background:#fff !important; }
body.menu-open .burger span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
body.menu-open .burger span:nth-child(2) { opacity:0; }
body.menu-open .burger span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
#mmenu { position:fixed; inset:0; z-index:99; visibility:hidden; background:var(--gradlive); background-size:150% 150%; animation:gradShift 16s ease-in-out infinite alternate; display:flex; flex-direction:column; justify-content:center; padding:0 var(--m); opacity:0; pointer-events:none; transition:opacity .35s ease, visibility 0s linear .35s; }
body.menu-open #mmenu { opacity:1; pointer-events:auto; visibility:visible; transition-delay:0s; }
#mmenu .mono { color:var(--peach); margin-bottom:20px; }
#mmenu a:not(.mail2) { color:#fff; text-decoration:none; font-size:clamp(30px,8vw,44px); font-weight:600; line-height:1.15; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.2); opacity:0; transform:translateY(16px); transition:opacity .45s var(--ease), transform .45s var(--ease); }
#mmenu a:not(.mail2):last-of-type { border-bottom:none; }
body.menu-open #mmenu a:not(.mail2) { opacity:1; transform:none; }
body.menu-open #mmenu a:nth-of-type(1) { transition-delay:.08s; }
body.menu-open #mmenu a:nth-of-type(2) { transition-delay:.14s; }
body.menu-open #mmenu a:nth-of-type(3) { transition-delay:.2s; }
#mmenu .mail2 { display:inline-block; margin-top:34px; color:var(--peach); font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.17em; text-transform:uppercase; text-decoration:none; opacity:0; transition:opacity .45s ease .3s; }
body.menu-open #mmenu .mail2 { opacity:1; }
body.menu-open { overflow:hidden; }
body.menu-open nav { background:transparent !important; box-shadow:none !important; }
body.menu-open nav .lockup { color:#fff !important; }
@media (max-width:1080px) { .nav-links > a:not(.btn) { display:none; } .burger { display:block; } }
@media (max-width:700px) { .nav-links > .btn { display:none; } }

@media (max-width:960px) {
  .stats-in, .dcards { grid-template-columns:1fr 1fr; }
  .pcards, .split, .access-in, .imgrow { grid-template-columns:1fr; }
  .access-cluster { height:330px; margin-top:30px; }
  .fwrap.pw { left:0; width:min(470px, 97%); height:auto; aspect-ratio:3/2; }
  .foot-grid { grid-template-columns:1fr; gap:22px; }
  .hero-in { padding-top:150px; }
  .grid { grid-template-columns:repeat(16,1fr); }
}
@media (max-width:640px) {
  section { padding-top:76px; padding-bottom:76px; }
  .breather { height:250px; }
  .aimg img { min-height:210px; max-height:260px; }
  .tracer { opacity:.6; }
  .float { animation-name:bobS; }
  .access-cluster { height:calc((100vw - 48px) * 0.68 + 20px); }
  .fwrap.pw { width:98%; }
  .ptag { font-size:8px; top:10px; right:10px; padding:5px 8px; }
  .stats-in { grid-template-columns:1fr 1fr; }
  .stat { border-left:none; border-top:1px solid #EAE4DD; padding:24px 12px 22px 0; }
  .stat:nth-child(-n+2) { border-top:none; }
  .dcards { grid-template-columns:1fr; }
  .frow { grid-template-columns:1fr; }
  .form { padding:28px 20px 32px; }
  .orb { width:320px; height:320px; }
  .grid { grid-template-columns:repeat(10,1fr); }
  .foot-hero { padding-top:84px; padding-bottom:70px; }
  .ld-sym { width:164px; }
  .foot-sym { margin-bottom:34px; }
  .foot-sym svg { width:128px; }
  .hero-in { padding-top:140px; padding-bottom:96px; }
  .btn { padding:11px 16px; font-size:13px; }
  .nav-links { gap:14px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.001s !important; transition-duration:.001s !important; }
  html { scroll-behavior:auto; }
}

/* static pages (privacy, terms) */
body.page nav { background:rgba(255,255,255,.96); box-shadow:0 1px 0 #EAE4DD; }
body.page nav .nav-in { height:66px; }
.page-hero { padding-top:150px; padding-bottom:52px; border-bottom:1px solid #EAE4DD; }
.page-hero .mono { color:var(--o1); margin-bottom:22px; }
.page-hero h1 { font-size:clamp(36px,5vw,64px); }
.page-hero .updated { color:#7a736d; margin-top:22px; }
.page-body { padding-top:56px; padding-bottom:110px; }
.page-body > * { max-width:840px; }
.page-body h2 { font-size:22px; margin:40px 0 12px; }
.page-body p, .page-body li { font-size:16px; line-height:1.6; color:#33302d; margin-bottom:14px; }
.page-body ul { padding-left:22px; }
.page-body a { color:#B23A0F; }

/* error page */
body.err { background:var(--gradlive); background-size:150% 150%; animation:gradShift 16s ease-in-out infinite alternate; color:#fff; }
.err-wrap { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.err-in { position:relative; padding-top:80px; padding-bottom:80px; max-width:860px; }
.err-in .lockup { height:34px; margin-bottom:64px; color:#fff; }
body.err .lockup .sym path { fill:#fff; }
.err-in .mono { color:var(--peach); margin-bottom:24px; }
.err-in h1 { font-size:clamp(40px,6vw,84px); margin-bottom:24px; }
.err-in p { font-size:18px; line-height:1.5; max-width:560px; margin-bottom:36px; color:rgba(255,255,255,.95); }
.err-in .ctas { display:flex; gap:14px; flex-wrap:wrap; }
