@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/newsreader.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Fragment Mono;src:url(/fonts/fragment-mono.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@property --ang{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --r{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --accent{syntax: "<color>"; inherits: true; initial-value: #8b7bff;}@property --accent-2{syntax: "<color>"; inherits: true; initial-value: #c9c0ff;}:root{--primary: #8b7bff;--primary-2: #c9c0ff;--signal: #2ee6c5;--ink: #07060d;--panel: #100e1c;--bone: #f1f0f8;--mute: #a9a6bf;--copper: #f0a061;--on-primary: #07060d;--ink-2: color-mix(in oklab, var(--ink) 55%, var(--panel));--line: color-mix(in oklab, var(--bone) 10%, transparent);--gold: color-mix(in oklab, var(--copper) 55%, var(--bone));--scrim: color-mix(in oklab, var(--ink) 88%, transparent);--glass: color-mix(in oklab, var(--panel) 62%, transparent);--accent: var(--primary);--accent-2: var(--primary-2);--f-display: "Unbounded", "Geist", system-ui, sans-serif;--f-serif: "Instrument Serif", "Newsreader", Georgia, serif;--f-body: "Geist", system-ui, sans-serif;--f-mono: "JetBrains Mono", "Fragment Mono", ui-monospace, monospace;--fs-hero: clamp(3.5rem, 11vw, 12rem);--fs-h2: clamp(2.4rem, 6vw, 6.5rem);--fs-h3: clamp(1.4rem, 2.4vw, 2.2rem);--fs-body: clamp(1rem, 1.05vw, 1.125rem);--fs-label: .72rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.15, .83, .66, 1);--dur-fast: .16s;--dur-base: .42s;--dur-slow: 1.1s;--radius: 18px;--gutter: clamp(16px, 4vw, 64px)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--ink);color:var(--bone);-webkit-text-size-adjust:100%}body{font:400 var(--fs-body)/1.55 var(--f-body);background:var(--ink);color:var(--bone);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img,svg,canvas,video{display:block;max-width:100%}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0;padding:0}ul,ol{list-style:none}::selection{background:var(--accent);color:var(--on-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}#stage{position:fixed;inset:0;width:100vw;height:100lvh;z-index:0;pointer-events:none;display:block}#ambient{position:fixed;inset:0;width:100vw;height:100lvh;z-index:1;pointer-events:none;opacity:.55}main{position:relative;z-index:2;overflow-x:clip;transition:opacity .6s var(--ease-out),visibility .6s}html.menu-open main{opacity:0;visibility:hidden}.chapter{position:relative;width:100%}.chapter>.pin{position:relative;width:100%;min-height:100vh}.wrap{width:min(100%,1440px);margin-inline:auto;padding-inline:var(--gutter)}.layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}canvas.layer{display:block}.label,.eyebrow{font:400 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}.eyebrow{color:color-mix(in oklab,var(--accent) 55%,var(--bone))}.display{font-family:var(--f-display);font-weight:700;letter-spacing:-.02em;line-height:.92;text-transform:uppercase}.serif{font-family:var(--f-serif);font-weight:400}.serif-i{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}.mono{font-family:var(--f-mono)}.h-hero{font-size:var(--fs-hero)}.h2{font-size:var(--fs-h2);line-height:1;letter-spacing:-.02em}.h3{font-size:var(--fs-h3);line-height:1.15}.outline{color:transparent;-webkit-text-stroke:1px color-mix(in oklab,var(--bone) 28%,transparent)}.muted{color:var(--mute)}.balance{text-wrap:balance}[data-decode]{font-variant-numeric:tabular-nums}[data-skew]{display:inline-block;transform-origin:50% 50%}html.js [data-reveal]:not(.is-split){visibility:hidden}html.reduced [data-reveal]{visibility:visible}[data-scrub] em{font-family:var(--f-serif);font-style:italic;padding-inline:.04em;background:linear-gradient(90deg,var(--primary) 0%,var(--signal) 50%,var(--mute) 50%,var(--mute) 100%);background-size:200% 100%;background-position-x:100%;-webkit-background-clip:text;background-clip:text;color:transparent}[data-scrub].is-lit em{background-position-x:0%}.sec-sub,.hero-lede,.hero-tag,.flow-sub,.eol-line,.eol-credit,.eol-bar,.sec-head .eyebrow,.hero-eyebrow,.flow-meter,.sec-title{text-shadow:0 1px 2px rgb(0 0 0 / .6)}.neon{font-family:var(--f-display);color:var(--bone);text-shadow:0 0 2px var(--bone),0 0 8px var(--accent),0 0 18px var(--accent),0 0 42px var(--accent),0 0 80px color-mix(in oklab,var(--accent) 60%,transparent);animation:neon-flicker 5.5s infinite steps(1)}.neon .tube-off{animation:tube 3.2s infinite}@keyframes neon-flicker{0%,19%,21%,23%,55%,57%,to{opacity:1}20%,22%,56%{opacity:.35}}@keyframes tube{0%,92%{opacity:1}93%,95%{opacity:.15}96%{opacity:1}97%{opacity:.2}}.path-text{width:100%;height:auto;overflow:visible;pointer-events:none}.path-text path{stroke:none}.path-text text{font:700 54px/1 var(--f-display);letter-spacing:.12em;fill:color-mix(in oklab,var(--accent) 60%,var(--bone))}.marquee{overflow:hidden;white-space:nowrap}.marquee>[data-marquee]{display:inline-flex;will-change:transform}.card{position:relative;border-radius:var(--radius);padding:28px;background:linear-gradient(180deg,#ffffff0d,#ffffff04);border:1px solid var(--line);overflow:hidden;transform-style:preserve-3d}html.legacyfx .card{backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}.card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),color-mix(in oklab,var(--accent) 22%,transparent),transparent 60%);opacity:0;transition:opacity .4s var(--ease-out)}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),var(--accent),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s}.card:hover:before,.card:hover:after{opacity:1}.card>*{transform:translateZ(30px)}html.legacyfx[data-quality="0.50"] .card{backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in oklab,var(--panel) 92%,transparent)}.is-decoding{contain:layout style}html:not(.legacyfx) .grain{display:none}.grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:60;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.2 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:220px 220px;animation:grain-shift .6s steps(6) infinite}@keyframes grain-shift{0%{transform:translate(0)}17%{transform:translate(-3%,2%)}33%{transform:translate(2%,-4%)}50%{transform:translate(-4%,-1%)}67%{transform:translate(3%,3%)}83%{transform:translate(-1%,4%)}to{transform:translate(0)}}.scanlines{position:fixed;inset:0;z-index:61;pointer-events:none;opacity:0;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.28) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}.skip-link{position:fixed;left:16px;top:12px;z-index:400;padding:10px 16px;border-radius:999px;background:var(--bone);color:var(--ink);font:500 .8rem/1 var(--f-body);transform:translateY(-160%);transition:transform .3s var(--ease-out)}.skip-link:focus-visible{transform:none}section.chapter:focus{outline:none}.sec-head{display:grid;gap:14px;margin-bottom:clamp(32px,6vh,64px)}.sec-title{font:300 var(--fs-h2)/1.02 var(--f-display);letter-spacing:-.035em;max-width:16ch;text-wrap:balance}.sec-title em{--em: color-mix(in oklab, var(--accent) 70%, var(--bone));font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--em)}.sec-title.is-swept em{padding-inline:.05em;text-shadow:none;color:transparent;background-clip:text;background:linear-gradient(100deg,var(--em) 0 38%,var(--primary-2) 46%,var(--signal) 52%,var(--em) 60% 100%) 100% 0 / 260% 100% no-repeat;-webkit-background-clip:text;animation:em-sweep 1.8s var(--ease-in-out) .1s both}@keyframes em-sweep{0%{background-position:100% 0}to{background-position:0 0}}.fx-ch{display:inline-block}.sec-sub{max-width:52ch;color:color-mix(in oklab,var(--bone) 70%,transparent);font-weight:300}.slot{display:inline-block;vertical-align:middle;width:min(100%,14em);height:.9em;border-radius:4px;position:relative;overflow:hidden;background:#ffffff0d;border:1px dashed rgba(255,255,255,.14)}.slot:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.09) 50%,transparent 70%);transform:translate(-100%);animation:slot-sweep 2.4s linear infinite}@keyframes slot-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.slot.slot-lg{width:min(100%,11em);height:1.1em}.slot.slot-sm{width:7em;height:.8em}.slot.slot-chip{width:5.5em;height:1.4em;border-radius:999px}@keyframes slot-shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.trace{position:fixed;left:0;top:0;width:52px;height:100vh;z-index:3;pointer-events:none;overflow:hidden}.trace path{fill:none;stroke-linejoin:round;stroke-linecap:round}.trace__base{stroke:color-mix(in oklab,var(--bone) 10%,transparent);stroke-width:1}.trace__glow{stroke:color-mix(in oklab,var(--accent) 35%,transparent);stroke-width:6}.trace__lit{stroke:var(--accent);stroke-width:1.5}.trace__via{fill:var(--ink);stroke:color-mix(in oklab,var(--bone) 25%,transparent);stroke-width:1.2;transition:fill .4s,stroke .4s}.trace__via.is-on{fill:var(--accent);stroke:color-mix(in oklab,var(--accent) 60%,var(--bone))}.trace__head{fill:var(--bone);filter:drop-shadow(0 0 4px var(--accent)) drop-shadow(0 0 10px var(--accent))}@media(max-width:767px){.trace{width:18px}.trace__glow{stroke-width:4}.trace__head{r:2.4px}}.progress{position:fixed;top:0;left:0;right:0;height:1px;z-index:70;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 10px var(--accent);pointer-events:none}.dock,.rail,.progress,.trace,.menu{transition:--accent var(--accent-dur, 1.2s) cubic-bezier(.33,1,.68,1),--accent-2 var(--accent-dur, 1.2s) cubic-bezier(.33,1,.68,1)}.dock{position:fixed;top:14px;left:50%;z-index:80;translate:-50% 0;display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;isolation:isolate;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 40px #00000073,inset 0 1px #ffffff1f;background:color-mix(in oklab,var(--panel) 55%,transparent)}.dock__field{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.85}.dock:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 25%,transparent),color-mix(in oklab,var(--panel) 60%,transparent))}.dock__nav{display:flex;align-items:center;gap:4px}.dock__item{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;border:0;background:#ffffff0a;color:var(--bone);font:500 .72rem/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transition:background .3s,color .3s}.dock__item:hover{background:#ffffff1a}.dock__logo{padding:0 10px}.dock__logo svg{width:22px;height:22px}.dock__chapter{min-width:15ch;color:color-mix(in oklab,var(--accent) 60%,var(--bone));background:transparent;pointer-events:none}.dock__chapter b{color:var(--mute);font-weight:400;margin-right:.6em}.dock .btn-pill{height:38px;padding:0 18px;font-size:.68rem}@media(max-width:767px){.dock{top:10px;gap:2px}.dock__chapter{display:none}.dock__item{padding:0 11px}}.rail{position:fixed;right:clamp(10px,1.6vw,26px);top:50%;translate:0 -50%;z-index:80;display:flex;flex-direction:column;gap:10px}.rail__dot{position:relative;display:block;width:18px;height:14px;padding:0;border:0;background:none}.rail__dot:before{content:"";position:absolute;right:0;top:50%;width:5px;height:5px;translate:0 -50%;border-radius:99px;background:color-mix(in oklab,var(--bone) 35%,transparent);transition:width .5s var(--ease-out),background .4s}.rail__dot.is-active:before{width:18px;height:2px;background:var(--accent);box-shadow:0 0 8px var(--accent)}.rail__dot span{position:absolute;right:28px;top:50%;translate:0 -50%;white-space:nowrap;font:400 .64rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--bone);opacity:0;transform:translate(6px);transition:opacity .3s,transform .4s var(--ease-out);pointer-events:none}.rail__dot:hover span,.rail__dot:focus-visible span{opacity:1;transform:none}@media(max-width:767px){.rail{right:6px;gap:7px}.rail__dot{width:12px}}.menu{position:fixed;inset:0;z-index:90;display:grid;align-content:center;padding:90px var(--gutter) 40px;background:color-mix(in oklab,var(--ink) 28%,transparent);clip-path:circle(0px at var(--mx, 50%) var(--my, 40px));visibility:hidden}.menu.is-open{visibility:visible}.menu__list{display:grid;gap:.1em}.menu__link{display:flex;align-items:baseline;gap:.8em;width:fit-content;font:700 clamp(1.6rem,4.6vh,3.4rem)/1.05 var(--f-display);letter-spacing:-.02em;text-transform:uppercase;color:color-mix(in oklab,var(--bone) 55%,transparent);transition:color .35s,translate .5s var(--ease-out)}.menu__link small{font:400 .7rem/1 var(--f-mono);letter-spacing:.2em;color:var(--mute)}.menu__link:hover,.menu__link:focus-visible{color:var(--bone);translate:14px 0}.menu__link:hover small{color:var(--accent)}.menu__close{position:absolute;top:22px;right:var(--gutter)}.menu__foot{margin-top:3vh}@media(pointer:fine){html.has-cursor,html.has-cursor body{cursor:var(--cur-arrow),auto}html.has-cursor :is(section.chapter,#project-view){cursor:var(--cur-arrow),auto}html.has-cursor :is(a,button,summary,label[for],[role=button],[data-clickable]),html.has-cursor :is(a,button,summary,label[for],[role=button],[data-clickable]) *{cursor:var(--cur-hand),pointer}html.has-cursor :is(input:not([type=button],[type=submit],[type=checkbox],[type=radio]),textarea,[contenteditable=true]){cursor:var(--cur-text),text}}.preloader{position:fixed;inset:0;z-index:200;background:var(--ink);--r: 0px;-webkit-mask:radial-gradient(circle at 50% 50%,transparent var(--r),#000 calc(var(--r) + 1px));mask:radial-gradient(circle at 50% 50%,transparent var(--r),#000 calc(var(--r) + 1px))}.hud{position:fixed;left:10px;bottom:10px;z-index:300;margin:0;padding:10px 12px;min-width:230px;font:400 11px/1.45 var(--f-mono);color:var(--signal);background:#000000b8;border:1px solid color-mix(in oklab,var(--signal) 25%,transparent);border-radius:8px;pointer-events:none;white-space:pre}@media(prefers-reduced-motion:reduce){.grain,.slot,.slot:after{animation:none}.neon,.neon .tube-off{animation:none}}html.reduced .grain,html.reduced .slot,html.reduced .slot:after,html.reduced .neon,html.reduced .neon .tube-off{animation:none}:root{--btn-face: color-mix(in oklab, var(--panel), var(--bone) 9%);--btn-edge: color-mix(in oklab, var(--panel), var(--bone) 16%);--btn-edge-hi: color-mix(in oklab, var(--panel), var(--bone) 30%)}@keyframes spin-ang{to{--ang: 360deg}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dots-move{to{background-position:24px 24px}}.btn{position:relative;display:inline-flex;align-items:center;gap:.6em;isolation:isolate;border-radius:999px;font:500 .78rem/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--bone);padding:1.1em 2.2em;overflow:hidden;border:0;background:none;transition:scale .5s var(--ease-spring),translate .5s var(--ease-spring),box-shadow .5s}.btn svg{width:1em;height:1em;flex:none;transition:transform .3s var(--ease-out)}.btn:hover svg{transform:translate(4px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.btn-spin{padding:1px;background:var(--btn-edge)}.btn-spin:before{content:"";position:absolute;inset:-100%;z-index:-1;background:conic-gradient(from 90deg,transparent 0 75%,var(--primary-2) 100%);animation:spin 3s linear infinite;opacity:0;transition:opacity .3s}.btn-spin:hover:before{opacity:1}.btn-spin>span{display:inline-flex;gap:.6em;align-items:center;border-radius:inherit;padding:.95em 1.9em;background:linear-gradient(var(--btn-face),var(--ink));box-shadow:inset 0 1px #ffffff4d;color:var(--mute);transition:color .3s}.btn-spin:hover>span{color:var(--bone)}.btn-spin:hover{translate:0 -2px;box-shadow:0 0 25px color-mix(in oklab,var(--primary) 32%,transparent)}.btn-beam{padding:1.35em 3em}.btn-beam:before{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang),transparent 0 300deg,var(--accent) 360deg);animation:spin-ang 3s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.btn-beam:after{content:"";position:absolute;inset:2px;z-index:-1;border-radius:inherit;background:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1px) 0 0 / 12px 12px,linear-gradient(color-mix(in oklab,var(--btn-face) 60%,transparent),transparent),var(--ink);background-blend-mode:overlay,normal,normal;animation:dots-move 8s linear infinite}.btn-beam .glow{position:absolute;bottom:0;left:50%;width:66%;height:50%;translate:-50% 0;z-index:-1;background:color-mix(in oklab,var(--accent) 15%,transparent);filter:blur(24px);border-radius:50%;transition:background .5s}.btn-beam:hover{scale:1.03;box-shadow:0 0 40px -10px var(--accent)}.btn-beam:hover .glow{background:color-mix(in oklab,var(--accent) 40%,transparent)}.btn-glass{padding:1px;box-shadow:0 8px 40px color-mix(in oklab,var(--accent) 25%,transparent)}.btn-glass:before{content:"";position:absolute;inset:-200%;z-index:-2;background:conic-gradient(from 225deg,transparent 0,rgba(255,255,255,.6) 90deg,transparent 90deg);animation:spin 4s linear infinite}.btn-glass>span{position:relative;display:inline-flex;gap:.75em;align-items:center;padding:.75em 1em .75em .75em;border-radius:inherit;background:color-mix(in oklab,var(--panel) 86%,transparent);text-transform:none;letter-spacing:0;font-size:1rem}.btn-glass img,.btn-glass .avatar{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 2px #ffffff1a;flex:none}.btn-glass:hover{scale:1.05;box-shadow:0 0 40px 8px color-mix(in oklab,var(--accent) 35%,transparent)}.btn-slide{background:var(--btn-face);border:1px solid var(--btn-edge-hi);color:var(--mute);padding:.9em 1.6em;text-transform:none;letter-spacing:-.01em;font-weight:600;box-shadow:0 2.8px 2.2px #0000004d,0 6.7px 5.3px #00000059,0 12.5px 10px #0006;transition:translate 1s var(--ease-spring),color .5s}.btn-slide .a,.btn-slide .b{transition:transform .5s var(--ease-out),opacity .5s,filter .5s}.btn-slide .b{position:absolute;inset:0;display:grid;place-items:center;transform:translateY(-2rem);opacity:0;filter:blur(8px)}.btn-slide:hover{translate:0 -3px;color:var(--bone)}.btn-slide:hover .a{transform:translateY(2rem);opacity:0;filter:blur(8px)}.btn-slide:hover .b{transform:none;opacity:1;filter:none}.btn-slide:after{content:"";position:absolute;left:15%;right:15%;bottom:0;height:1px;filter:blur(2px);background:linear-gradient(90deg,transparent,var(--primary-2),transparent);opacity:.3;transition:opacity 1s}.btn-slide:hover:after{opacity:.8}.btn-comet{padding:1.2em 2.6em;background:var(--panel);letter-spacing:.02em;text-transform:none;font-weight:300;font-size:1.05rem}.btn-comet:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;z-index:-1;background:conic-gradient(from var(--ang),transparent 0 220deg,color-mix(in oklab,var(--accent) 30%,transparent) 300deg,var(--primary-2) 358deg,transparent 360deg);animation:spin-ang 2.7s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 6px var(--accent))}.btn-comet .label{background:linear-gradient(100deg,var(--mute) 30%,var(--bone) 50%,var(--mute) 70%) 0 0 / 250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 2.7s linear infinite}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-100% 0}}.btn-dots{background:var(--panel);border:1px solid var(--line)}.btn-dots i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--accent);opacity:.7;animation:float-dot 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.4s);left:calc(var(--i) * 12%);top:50%;z-index:-1}@keyframes float-dot{0%,to{transform:translateY(-14px);opacity:.2}50%{transform:translateY(14px);opacity:.9}}.btn-pill{background:linear-gradient(120deg,var(--accent),var(--accent-2),var(--accent));background-size:200% 100%;color:var(--on-primary);font-weight:600;transition:background-position .8s var(--ease-out),translate .5s var(--ease-spring)}.btn-pill:hover{background-position:100% 0;translate:0 -2px}.btn-dotborder{background:var(--panel)}.btn-dotborder:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:repeating-conic-gradient(from var(--ang),var(--accent) 0 4deg,transparent 4deg 10deg);animation:spin-ang 9s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@media(prefers-reduced-motion:reduce){.btn:before,.btn:after,.btn *{animation:none!important}}html.reduced .btn:before,html.reduced .btn:after,html.reduced .btn *{animation:none!important}@media(prefers-reduced-motion:reduce){.btn:hover{translate:none;scale:none}}html.reduced .btn:hover{translate:none;scale:none}html.legacyfx .btn-glass>span{background:color-mix(in oklab,var(--panel) 80%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.preloader{color:var(--bone);overflow:hidden;--rim: 0}.preloader .pre-pool{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 46% at 50% 48%,color-mix(in oklab,var(--primary) 18%,transparent) 0%,color-mix(in oklab,var(--primary) 6%,transparent) 42%,transparent 72%),radial-gradient(ellipse 30% 22% at 50% 62%,color-mix(in oklab,var(--signal) 6%,transparent),transparent 70%)}.preloader:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--rim);background:radial-gradient(circle at 50% 50%,transparent var(--r),var(--primary-2) calc(var(--r) + 1.5px),color-mix(in oklab,var(--primary) 70%,transparent) calc(var(--r) + 5px),color-mix(in oklab,var(--primary) 18%,transparent) calc(var(--r) + 22px),transparent calc(var(--r) + 60px))}.preloader .pre-mk{position:absolute;width:14px;height:14px;border:0 solid color-mix(in oklab,var(--primary) 75%,var(--bone));opacity:.75}.preloader .pre-tl{top:24px;left:24px;border-top-width:1px;border-left-width:1px}.preloader .pre-tr{top:24px;right:24px;border-top-width:1px;border-right-width:1px}.preloader .pre-bl{bottom:24px;left:24px;border-bottom-width:1px;border-left-width:1px}.preloader .pre-br{bottom:24px;right:24px;border-bottom-width:1px;border-right-width:1px}.preloader .pre-center{position:absolute;left:50%;top:50%;translate:-50% -52%;display:grid;justify-items:center;gap:14px;width:min(88vw,620px)}.preloader .pre-mark{width:88px;height:88px;color:var(--bone);overflow:visible;filter:drop-shadow(0 0 14px color-mix(in oklab,var(--primary) 55%,transparent))}.preloader .pre-die{color:var(--primary);animation:pre-die 1.6s ease-in-out infinite}.preloader .pre-pins{color:var(--copper);stroke-dasharray:10 10;animation:pre-pins 1.2s linear infinite}.preloader .pre-orbit{transform-origin:60px 60px;animation:pre-orbit 9s linear infinite;color:var(--signal)}@keyframes pre-die{0%,to{opacity:.45}50%{opacity:1}}@keyframes pre-pins{to{stroke-dashoffset:-20}}@keyframes pre-orbit{to{transform:rotate(360deg)}}.preloader .pre-count{display:flex;align-items:flex-start;line-height:.86;margin-top:6px}.preloader .pre-num{font:400 clamp(5rem,15vw,11.5rem)/.86 var(--f-mono);letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--bone);text-shadow:0 0 4px color-mix(in oklab,var(--primary) 80%,transparent),0 0 18px color-mix(in oklab,var(--primary) 55%,transparent),0 0 48px color-mix(in oklab,var(--primary) 38%,transparent),0 0 90px color-mix(in oklab,var(--primary) 18%,transparent);animation:pre-neon 4.3s steps(1,end) infinite}.preloader .pre-pct{font:400 clamp(1rem,2vw,1.5rem)/1 var(--f-mono);color:var(--primary-2);margin:.6em 0 0 .4em}@keyframes pre-neon{0%,40%{opacity:1}41%{opacity:.55}42%{opacity:1}68%{opacity:.75}69.5%{opacity:1}70.5%{opacity:.45}71.5%{opacity:1}}.preloader .pre-barlabel{justify-self:stretch;display:flex;justify-content:space-between;font:500 .72rem/1 var(--f-mono);letter-spacing:.3em;color:var(--bone);text-shadow:0 0 10px color-mix(in oklab,var(--primary) 45%,transparent);margin-top:10px}.preloader .pre-word{display:inline-flex;perspective:300px}.preloader .cw-ch{--f: 0;display:inline-block;color:color-mix(in oklab,var(--primary-2) calc(var(--f) * 100%),var(--bone));text-shadow:0 0 calc(var(--f) * 14px) color-mix(in oklab,var(--primary) 80%,transparent)}.preloader .pre-dots{min-width:3ch;text-align:right;letter-spacing:.1em;color:var(--signal)}.preloader .pre-bar{justify-self:stretch;display:grid;grid-template-columns:repeat(16,1fr);gap:6px;height:26px}.preloader .pre-bar i{display:block;background:color-mix(in oklab,var(--primary) 14%,transparent);transform:skew(12deg);border-radius:1px}.preloader .pre-bar i.on{background:var(--primary);box-shadow:0 0 4px color-mix(in oklab,var(--primary) 70%,var(--bone)),0 0 12px color-mix(in oklab,var(--primary) 50%,transparent)}.preloader .pre-bar i.flash{animation:pre-ignite .32s ease-out}@keyframes pre-ignite{0%{background:var(--primary-2);box-shadow:0 0 12px var(--primary-2),0 0 30px var(--primary)}to{background:var(--primary)}}.preloader .pre-status{font:500 .7rem/1 var(--f-mono);letter-spacing:.26em;text-transform:uppercase;color:color-mix(in oklab,var(--primary-2) 70%,var(--mute));margin-top:4px}.preloader .pre-log{position:absolute;left:40px;bottom:40px;display:grid;gap:4px;font:400 .7rem/1.35 var(--f-mono);color:color-mix(in oklab,var(--primary) 40%,var(--mute));white-space:pre}.preloader .pre-log li:last-child{color:var(--bone);text-shadow:0 0 8px color-mix(in oklab,var(--primary) 50%,transparent)}.preloader .pre-log li:last-child:after{content:"▍";margin-left:.3em;color:var(--signal);animation:pre-caret .9s steps(1) infinite}@keyframes pre-caret{50%{opacity:0}}.preloader .pre-sig{position:absolute;right:40px;bottom:40px;font:400 .64rem/1 var(--f-mono);letter-spacing:.22em;color:var(--mute)}.preloader .pre-rgb{position:absolute;inset:0;display:grid;place-items:center;visibility:hidden;opacity:0;isolation:isolate;padding-inline:6vw}.preloader .pre-rgb span{grid-area:1 / 1;font:500 clamp(2rem,7vw,6.4rem)/1.25 var(--f-display);letter-spacing:-.03em;text-align:center;mix-blend-mode:screen;will-change:transform}.preloader .pre-rgb .r{color:var(--primary)}.preloader .pre-rgb .g{color:var(--signal)}.preloader .pre-rgb .b{color:var(--primary-2)}.preloader .pre-rgb .f{color:var(--bone);mix-blend-mode:normal;opacity:0;text-shadow:0 0 6px color-mix(in oklab,var(--primary) 70%,transparent),0 0 28px color-mix(in oklab,var(--primary) 45%,transparent)}@media(max-width:767px){.preloader .pre-log{left:20px;bottom:22px;font-size:.6rem;max-width:calc(100vw - 40px);overflow:hidden}.preloader .pre-sig,.preloader .pre-mk{display:none}.preloader .pre-bar{gap:4px;height:20px}}@media(prefers-reduced-motion:reduce){.preloader .pre-die,.preloader .pre-pins,.preloader .pre-orbit,.preloader .pre-num,.preloader .pre-bar i.flash,.preloader .pre-log li:last-child:after{animation:none}}html.reduced .preloader .pre-die,html.reduced .preloader .pre-pins,html.reduced .preloader .pre-orbit,html.reduced .preloader .pre-num,html.reduced .preloader .pre-log li:last-child:after{animation:none}#hero .pin{height:100vh;height:100svh;min-height:600px;overflow:hidden}#hero .hero-frame{position:absolute;inset:28px;pointer-events:none;transform-origin:50% 50%}#hero .hero-frame-inner{position:absolute;inset:0;border:1px solid color-mix(in oklab,var(--accent) 16%,transparent)}#hero .fr-c{position:absolute;width:16px;height:16px;border:0 solid color-mix(in oklab,var(--accent) 75%,var(--bone))}#hero .fr-tl{top:-1px;left:-1px;border-top-width:1px;border-left-width:1px}#hero .fr-tr{top:-1px;right:-1px;border-top-width:1px;border-right-width:1px}#hero .fr-bl{bottom:-1px;left:-1px;border-bottom-width:1px;border-left-width:1px}#hero .fr-br{bottom:-1px;right:-1px;border-bottom-width:1px;border-right-width:1px}#hero .fr-axis{position:absolute;opacity:.4}#hero .fr-axis-v{top:0;bottom:0;left:62%;width:1px;background:linear-gradient(transparent,color-mix(in oklab,var(--accent) 40%,transparent),transparent)}#hero .fr-axis-h{left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--accent) 30%,transparent),transparent)}#hero .fr-meta{position:absolute;font:400 .66rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklab,var(--accent) 50%,var(--mute));white-space:pre;font-variant-numeric:tabular-nums}#hero .fr-meta b{font-weight:500;color:var(--accent)}#hero .fr-m-tl{top:18px;left:22px}#hero .fr-m-tr{top:18px;right:22px}#hero .fr-m-bl{bottom:18px;left:22px}#hero .fr-m-br{bottom:18px;right:22px}#hero .fr-m-side{top:50%;right:18px;transform:translateY(-50%) rotate(90deg);transform-origin:100% 50%}#hero .hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,color-mix(in oklab,var(--ink) 88%,transparent) 0%,color-mix(in oklab,var(--ink) 62%,transparent) 34%,transparent 64%)}#hero .hero-copy{position:absolute;left:calc(var(--gutter) + 40px);top:50%;translate:0 -46%;display:grid;gap:20px;width:min(62vw,980px)}#hero .hero-name{margin:0;font:300 clamp(3rem,7.4vw,8.6rem)/1.1 var(--f-display);letter-spacing:-.045em;color:var(--bone);perspective:800px;position:relative}#hero .hero-line{display:block;white-space:nowrap;--wb: 300}#hero .hero-line+.hero-line{font-weight:700;letter-spacing:-.05em;--wb: 700}#hero .hero-name.has-fx .hero-line{color:transparent}#hero .hero-name-fx{position:absolute;inset:0;pointer-events:none}#hero .hero-name-fx .hf{--k: 0;position:absolute;white-space:pre;line-height:normal;letter-spacing:0;color:color-mix(in oklab,var(--accent) calc(var(--k) * 100%),var(--bone));transform-origin:50% 70%}#hero .hero-name-fx .hf:before{content:attr(data-g);position:absolute;inset:0;color:transparent;pointer-events:none;text-shadow:0 0 22px color-mix(in oklab,var(--accent) 70%,transparent);opacity:var(--k)}#hero .hero-particles{position:absolute;inset:0;z-index:2;pointer-events:none}#hero .hero-particles canvas{display:block;width:100%;height:100%}#hero .hero-name:after{content:"";position:absolute;inset:-4% -2%;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 0 40%,color-mix(in oklab,var(--accent) 55%,transparent) 50%,transparent 60% 100%) -60% 0 / 60% 100% no-repeat}#hero .hero-name.is-scanned:after{mix-blend-mode:screen;animation:hero-scan 1.8s var(--ease-in-out) .4s 1 both}@keyframes hero-scan{0%{opacity:0;background-position:-60% 0}15%{opacity:1}85%{opacity:1}to{opacity:0;background-position:160% 0}}#hero .hero-tag{font-size:clamp(1.35rem,2.5vw,2.3rem);line-height:1.1;color:color-mix(in oklab,var(--accent) 55%,var(--bone))}#hero .hero-lede{max-width:44ch;color:color-mix(in oklab,var(--bone) 72%,transparent);font-weight:300}#hero .hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px}#hero .hero-chip{position:relative;display:block;width:30px;height:30px;border-radius:6px;flex:none;background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 70%,var(--bone)),var(--accent) 50%,color-mix(in oklab,var(--accent) 50%,var(--ink)));box-shadow:0 0 0 2px #ffffff14,0 0 18px color-mix(in oklab,var(--accent) 45%,transparent)}#hero .hero-chip:before{content:"";position:absolute;inset:-4px 6px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.75) 0 2px,transparent 2px 6px);-webkit-mask:linear-gradient(#000 0 4px,transparent 4px calc(100% - 4px),#000 calc(100% - 4px));mask:linear-gradient(#000 0 4px,transparent 4px calc(100% - 4px),#000 calc(100% - 4px))}#hero .hero-readout{position:absolute;right:calc(var(--gutter) + 52px);bottom:clamp(70px,12vh,130px);margin:0;display:grid;gap:12px;text-align:right;padding:14px 16px;border-radius:12px;background:color-mix(in oklab,var(--ink) 62%,transparent);border:1px solid var(--line)}#hero .hero-readout>div{display:grid;gap:4px;padding-right:14px;border-right:1px solid color-mix(in oklab,var(--accent) 55%,transparent)}#hero .hero-readout dt{font:400 .62rem/1 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}#hero .hero-readout dd{margin:0;font:500 .95rem/1.2 var(--f-mono);color:var(--bone)}#hero .hero-readout a{color:inherit;text-decoration:underline 1px color-mix(in oklab,var(--accent) 55%,transparent);text-underline-offset:4px;transition:color .3s,text-decoration-color .3s}#hero .hero-readout a:after{content:"↗";content:"↗" / "";display:inline-block;margin-left:.3em;font-size:.85em;color:var(--accent);transition:translate .3s var(--ease-out)}@media(hover:hover){#hero .hero-readout a:hover{color:var(--accent-2);text-decoration-color:currentColor}}@media(hover:hover)and (prefers-reduced-motion:no-preference){html:not(.reduced) #hero .hero-readout a:hover:after{translate:2px -2px}}#hero .hero-hint{position:absolute;left:50%;bottom:44px;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}#hero .hero-hint-line{position:relative;display:block;width:1px;height:56px;overflow:hidden;background:color-mix(in oklab,var(--bone) 18%,transparent)}#hero .hero-hint-line i{position:absolute;left:-1px;top:-10px;width:3px;height:10px;border-radius:2px;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:hero-drop 1.8s var(--ease-in-out) infinite}#hero .hero-hint-label{font:400 .6rem/1 var(--f-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--mute)}@keyframes hero-drop{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translateY(66px);opacity:0}}@media(max-width:1100px){#hero .fr-m-side{display:none}#hero .hero-copy{width:min(78vw,820px)}}@media(max-aspect-ratio:1/1),(max-width:767px){#hero .hero-scrim{background:linear-gradient(180deg,color-mix(in oklab,var(--ink) 92%,transparent) 0%,color-mix(in oklab,var(--ink) 70%,transparent) 48%,transparent 72%)}#hero .hero-copy{left:var(--gutter);right:var(--gutter);top:clamp(88px,13vh,140px);translate:none;width:auto;gap:16px}#hero .hero-readout{left:var(--gutter);right:auto;bottom:30px;text-align:left;grid-auto-flow:column;gap:18px}#hero .hero-readout>div{padding:0 0 0 10px;border-right:0;border-left:1px solid color-mix(in oklab,var(--accent) 55%,transparent)}#hero .hero-hint{display:none}}@media(max-width:767px){#hero .hero-frame{inset:12px}#hero .fr-m-tr,#hero .fr-m-br,#hero .fr-axis{display:none}#hero .fr-meta{font-size:.54rem;letter-spacing:.14em}#hero .hero-name{font-size:9.4vw;line-height:1.16}#hero .hero-lede{font-size:.95rem}#hero .hero-ctas{gap:10px}#hero .hero-ctas .btn-spin>span{padding:.9em 1.4em}#hero .hero-readout dd{font-size:.78rem}#hero .hero-readout{right:var(--gutter);grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}#hero .hero-readout>div:first-child{grid-column:1 / -1}#hero .hero-readout a{white-space:nowrap}}@media(prefers-reduced-motion:reduce){#hero .hero-hint-line i{animation:none;top:22px}#hero .hero-name:after{display:none}}html.reduced #hero .hero-hint-line i{animation:none;top:22px}html.reduced #hero .hero-name:after{display:none}html.legacyfx #hero .hero-readout{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#about{padding-block:clamp(120px,18vh,200px) clamp(100px,14vh,160px)}#about .about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,6vw,110px);row-gap:40px;align-items:start}#about .about-head{grid-column:1 / -1}#about .pkg{--pin-dk: color-mix(in oklab, var(--copper) 50%, var(--ink));--pin-hi: color-mix(in oklab, var(--copper) 55%, var(--bone));position:relative;width:min(100%,460px);aspect-ratio:1;margin:0;justify-self:center;transform-style:preserve-3d}#about .pkg-body{position:absolute;inset:7%;border-radius:5%;background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.07),transparent 55%),repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),linear-gradient(160deg,color-mix(in oklab,var(--panel),var(--bone) 6%),var(--panel) 60%,var(--ink));border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 80px -30px #000c,inset 0 1px #ffffff14,0 0 0 1px #0009}#about .pkg-body:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%),color-mix(in oklab,var(--accent) 22%,transparent),transparent 60%)}#about .pkg.is-hot .pkg-body:after{opacity:1}#about .pkg-dot{position:absolute;left:6%;top:6%;width:3.2%;aspect-ratio:1;border-radius:50%;background:#ffffff2e;box-shadow:inset 0 1px 2px #0009}#about .pkg-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}#about .pkg-wires path{fill:none;stroke:color-mix(in oklab,var(--copper) 70%,var(--bone));stroke-width:.32;opacity:.75}#about .pkg-pins{position:absolute;inset:0}#about .pin{position:absolute;display:block;border-radius:1px;opacity:.35;transition:opacity .6s var(--ease-out);background:linear-gradient(90deg,var(--pin-dk),var(--pin-hi) 50%,var(--pin-dk))}#about .pin-t,#about .pin-b{width:3%;height:7%;left:calc(7% + 86% * (.16 + var(--i) * .075556) - 1.5%)}#about .pin-t{top:0}#about .pin-b{bottom:0;left:calc(7% + 86% * (.84 - var(--i) * .075556) - 1.5%)}#about .pin-l,#about .pin-r{width:7%;height:3%;background:linear-gradient(180deg,var(--pin-dk),var(--pin-hi) 50%,var(--pin-dk))}#about .pin-r{right:0;top:calc(7% + 86% * (.16 + var(--i) * .075556) - 1.5%)}#about .pin-l{left:0;top:calc(7% + 86% * (.84 - var(--i) * .075556) - 1.5%)}#about .pkg.is-powered .pin{opacity:1;transition-delay:calc(var(--n) * 18ms)}#about .pin:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:color-mix(in oklab,var(--pin-hi) 55%,#fff);box-shadow:0 0 6px var(--accent),0 0 2px color-mix(in oklab,var(--accent) 80%,#fff)}#about .pkg.is-live .pin:after{animation:pin-chase 3.2s linear infinite;animation-delay:calc(var(--n) * .08s - 3.2s)}#about .pkg.is-hot .pin{box-shadow:0 0 10px color-mix(in oklab,var(--accent) 70%,transparent)}@keyframes pin-chase{0%,6%,to{opacity:0}2%{opacity:.85}}html.legacyfx #about .pkg.is-live .pin:after{animation:none}html.legacyfx #about .pkg.is-live .pin{animation:pin-chase-legacy 3.2s linear infinite;animation-delay:calc(var(--n) * .08s - 3.2s)}@keyframes pin-chase-legacy{0%,6%,to{filter:none}2%{filter:brightness(1.6) drop-shadow(0 0 6px var(--accent))}}#about .pkg-die{position:absolute;inset:18%;border-radius:3px;overflow:hidden;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 7px),conic-gradient(from 210deg at 60% 40%,color-mix(in oklab,var(--panel),var(--primary) 18%),color-mix(in oklab,var(--panel),var(--primary-2) 14%),color-mix(in oklab,var(--panel),var(--signal) 14%),color-mix(in oklab,var(--panel),var(--primary) 18%));border:1px solid color-mix(in oklab,var(--copper) 45%,transparent);box-shadow:inset 0 0 0 4px color-mix(in oklab,var(--ink) 55%,transparent),inset 0 0 30px #0009;transition:box-shadow .5s}#about .pkg.is-hot .pkg-die{box-shadow:inset 0 0 0 4px color-mix(in oklab,var(--ink) 55%,transparent),inset 0 0 30px #0009,0 0 34px color-mix(in oklab,var(--accent) 35%,transparent)}#about .pkg-photo{position:absolute;inset:5%;border-radius:2px;overflow:hidden;background:var(--ink-2)}#about .pkg-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}#about .pkg-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(transparent 49.5%,color-mix(in oklab,var(--accent) 30%,transparent) 50%,transparent 50.5%),linear-gradient(90deg,transparent 49.5%,color-mix(in oklab,var(--accent) 30%,transparent) 50%,transparent 50.5%),radial-gradient(circle at 50% 50%,color-mix(in oklab,var(--accent) 12%,transparent),transparent 60%)}#about .pkg-ph-label{padding:.7em 1em;border:1px dashed color-mix(in oklab,var(--accent) 45%,transparent);background:color-mix(in oklab,var(--ink) 75%,transparent);font:500 .64rem/1.5 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;text-align:center;color:color-mix(in oklab,var(--accent) 60%,var(--bone))}#about .pkg-scan{position:absolute;inset:0;pointer-events:none;transform:translateY(-110%);background:linear-gradient(180deg,transparent 44%,color-mix(in oklab,var(--accent) 55%,transparent) 50%,transparent 56%);mix-blend-mode:screen}#about .pkg-cap{position:absolute;left:50%;bottom:-34px;translate:-50% 0;white-space:nowrap;padding:.5em 1em;border-radius:999px;color:var(--bone);background:color-mix(in oklab,var(--panel) 86%,transparent);border:1px solid var(--line)}#about .about-text{display:grid;gap:clamp(32px,5vh,52px);padding:clamp(22px,3vw,44px);background:color-mix(in oklab,var(--panel) 82%,transparent);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 30px 80px -40px #000c,inset 0 1px color-mix(in oklab,var(--bone) 6%,transparent)}html.legacyfx #about .about-text{backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2)}html.legacyfx[data-quality="0.50"] #about .about-text{backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in oklab,var(--panel) 94%,transparent)}#about .about-intro{font:300 clamp(1.3rem,2.1vw,1.95rem)/1.4 var(--f-body);letter-spacing:-.01em;max-width:30ch;color:var(--bone)}#about .about-intro strong{font-weight:500}#about .ds{width:100%;border-collapse:collapse;font:400 .9rem/1.4 var(--f-mono)}#about .ds-cap{caption-side:top;text-align:left;padding:0 0 12px;border-bottom:1px solid color-mix(in oklab,var(--accent) 55%,transparent);font:500 .66rem/1 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:color-mix(in oklab,var(--accent) 70%,var(--bone))}#about .ds-rev{float:right;color:var(--mute)}#about .ds thead th{padding:12px 10px 8px 0;text-align:left;font:400 .62rem/1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}#about .ds tbody tr{position:relative;border-bottom:1px solid var(--line);transition:background .3s}#about .ds tbody tr:hover{background:color-mix(in oklab,var(--primary) 10%,transparent)}#about .ds td,#about .ds tbody th{padding:14px 10px 14px 0;vertical-align:baseline}#about .ds-pin{width:3.2em;color:var(--accent)}#about .ds tbody th{text-align:left;font-weight:400;color:var(--mute);width:34%}#about .ds-val{color:var(--bone);font-family:var(--f-body);font-size:1.02rem;font-weight:500}#about .scores{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,40px)}#about .score{position:relative;width:150px;margin:0}#about .score svg{width:100%;height:auto;transform:rotate(-90deg);overflow:visible}#about .score circle{fill:none}#about .score-ticks{stroke:color-mix(in oklab,var(--bone) 22%,transparent);stroke-width:4;stroke-dasharray:.4 2.1}#about .score-track{stroke:color-mix(in oklab,var(--bone) 8%,transparent);stroke-width:6}#about .score-arc{stroke:var(--accent);stroke-width:6;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100;filter:drop-shadow(0 0 6px color-mix(in oklab,var(--accent) 60%,transparent));transition:stroke-dashoffset 1.8s var(--ease-out)}#about .score.is-on .score-arc{stroke-dashoffset:calc(100 - var(--p) * 100)}#about .score figcaption{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:2px;text-align:center}#about .score-num{font:500 2rem/1 var(--f-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}#about .score-label{font:500 .66rem/1 var(--f-mono);letter-spacing:.26em;color:var(--accent)}#about .score-max{font:400 .62rem/1 var(--f-mono);color:var(--mute)}@media(max-width:899px){#about .about-grid{grid-template-columns:1fr;row-gap:56px}#about .pkg{width:min(80vw,380px)}#about .about-intro{max-width:none}}@media(max-width:480px){#about .ds tbody th{width:auto}#about .ds td,#about .ds tbody th{padding:12px 8px 12px 0}#about .ds-val{font-size:.95rem}#about .score{width:132px}}#about .score{isolation:isolate}#about .score:before{content:"";position:absolute;inset:6%;z-index:-1;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in oklab,var(--accent) 24%,transparent),transparent);opacity:0;transition:opacity .4s var(--ease-out)}#about .score-label,#about .ds-pin{transition:color .3s}@media(hover:hover){#about .score:hover:before{opacity:1}#about .score:hover .score-label{color:var(--accent-2)}#about .ds tbody tr:hover .ds-pin{color:var(--signal)}}@media(hover:hover)and (prefers-reduced-motion:no-preference){html:not(.reduced) #about .score{transition:translate .4s var(--ease-out)}html:not(.reduced) #about .score:hover{translate:0 -4px}html:not(.reduced) #about .ds-val{transition:translate .35s var(--ease-out)}html:not(.reduced) #about .ds tbody tr:hover .ds-val{translate:4px 0}}@media(prefers-reduced-motion:reduce){#about .pkg.is-live .pin,#about .pkg.is-live .pin:after{animation:none}#about .score-arc{transition:none}}html.reduced #about .pkg.is-live .pin,html.reduced #about .pkg.is-live .pin:after{animation:none}html.reduced #about .score-arc{transition:none}#flow .pin{height:100vh;height:100svh;min-height:640px;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:100%;padding-top:clamp(78px,11vh,118px);padding-bottom:14px}#flow .flow-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 40px;padding-left:calc(var(--gutter) + 40px)}#flow .flow-head .eyebrow{grid-column:1 / -1}#flow .flow-head .sec-title{font-size:clamp(2rem,4.4vw,4.6rem);max-width:18ch}#flow .flow-sub{max-width:34ch;color:color-mix(in oklab,var(--bone) 68%,transparent);font-weight:300;padding-bottom:.4em}#flow .flow-meter{display:flex;align-items:center;gap:18px;margin:clamp(14px,2.4vh,26px) var(--gutter) clamp(12px,2vh,22px) calc(var(--gutter) + 40px);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}#flow .flow-count b{font-weight:500;color:var(--accent)}#flow .flow-bar{position:relative;flex:1;height:1px;background:color-mix(in oklab,var(--bone) 14%,transparent);overflow:hidden}#flow .flow-bar i{position:absolute;inset:0;background:var(--accent);box-shadow:0 0 10px var(--accent);transform-origin:0 50%;transform:scaleX(0)}#flow .flow-stage-name{min-width:20ch;text-align:right;color:color-mix(in oklab,var(--accent) 60%,var(--bone))}#flow .flow-viewport{position:relative;min-height:0;min-width:0;display:flex}#flow .flow-track{display:flex;gap:clamp(22px,2.6vw,44px);height:100%;width:max-content;padding:0 34vw 0 calc(var(--gutter) + 40px);will-change:transform}#flow .stage{position:relative;flex:0 0 min(74vw,1020px);height:min(100%,540px);align-self:center;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,3vw,48px);padding:clamp(24px,3vw,44px);border-radius:var(--radius);background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 92%,transparent),color-mix(in oklab,var(--panel) 86%,transparent));border:1px solid var(--line);opacity:.55;transform:scale(.97);transition:opacity .7s var(--ease-out),transform .9s var(--ease-out),border-color .6s}#flow .stage.is-active{opacity:1;transform:none;border-color:color-mix(in oklab,var(--accent) 45%,transparent)}#flow .stage:before{content:"";position:absolute;left:clamp(24px,3vw,44px);top:-1px;width:56px;height:2px;background:var(--accent);box-shadow:0 0 12px var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s var(--ease-out)}#flow .stage.is-seen:before{transform:none}#flow .stage-copy{display:grid;gap:14px;align-content:center}#flow .stage-num{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:color-mix(in oklab,var(--accent) 70%,var(--bone))}#flow .stage-title{font:300 clamp(1.6rem,2.9vw,2.8rem)/1.05 var(--f-display);letter-spacing:-.035em}#flow .stage-text{color:color-mix(in oklab,var(--bone) 74%,transparent);font-weight:300;max-width:40ch}#flow .stage-tags{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklab,var(--mute) 80%,var(--bone))}#flow .stage-viz{position:relative;height:100%;min-height:240px;border-radius:12px;overflow:hidden;display:grid;place-items:center;padding:18px;background:radial-gradient(120% 120% at 70% 0%,color-mix(in oklab,var(--accent) 10%,transparent),transparent 60%),color-mix(in oklab,var(--ink) 70%,transparent);border:1px solid rgba(255,255,255,.07)}#flow .stage-viz:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 22px 22px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 22px 22px}#flow .stage-viz svg{position:relative;z-index:1;width:100%;height:100%;max-height:300px;overflow:visible}#flow .stage-viz text{font:500 8px var(--f-mono);letter-spacing:.12em;fill:var(--bone);text-anchor:middle}#flow .spec-grid polygon{fill:none;stroke:#ffffff1a}#flow .spec-axes line{stroke:#ffffff29}#flow .spec-shape{fill:color-mix(in oklab,var(--accent) 20%,transparent);stroke:var(--accent);stroke-width:1.5;stroke-linejoin:round}#flow .spec-pts circle{fill:var(--bone);filter:drop-shadow(0 0 4px var(--accent))}#flow .viz-spec text{fill:var(--mute)}#flow .arch-bus path{fill:none;stroke:#ffffff38;stroke-width:1.5}#flow .arch-bus .arch-flow{stroke:var(--accent);stroke-dasharray:3 11;opacity:0}#flow .stage.is-active .arch-flow{opacity:1;animation:flow-dash 1.4s linear infinite}#flow .arch-blocks rect{fill:color-mix(in oklab,var(--panel) 90%,transparent);stroke:color-mix(in oklab,var(--accent) 60%,transparent);stroke-width:1.2}#flow .arch-blocks .arch-core{fill:color-mix(in oklab,var(--accent) 22%,transparent)}#flow .arch-blocks>*{opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease-out),transform .8s var(--ease-out)}#flow .stage.is-seen .arch-blocks>*{opacity:1;transform:none}#flow .stage.is-seen .arch-blocks>:nth-child(n+3){transition-delay:.12s}#flow .stage.is-seen .arch-blocks>:nth-child(n+5){transition-delay:.24s}#flow .stage.is-seen .arch-blocks>:nth-child(n+7){transition-delay:.36s}#flow .stage.is-seen .arch-blocks>:nth-child(n+9){transition-delay:.48s}@keyframes flow-dash{to{stroke-dashoffset:-28}}#flow .viz-rtl{place-items:center start;padding:22px 24px}#flow .viz-rtl pre{position:relative;z-index:1;max-width:100%;margin:0;font:400 clamp(.56rem,.92vw,.86rem)/1.75 var(--f-mono);color:var(--bone);counter-reset:ln;white-space:pre;overflow-x:auto}#flow .viz-rtl .ln{display:block;counter-increment:ln;clip-path:inset(0 100% 0 0)}#flow .viz-rtl .ln:before{content:counter(ln);display:inline-block;width:2.2em;color:color-mix(in oklab,var(--bone) 25%,transparent)}#flow .stage.is-seen .viz-rtl .ln{clip-path:inset(0 0 0 0);transition:clip-path .6s steps(26) calc(var(--i) * .2s)}#flow .viz-rtl i{font-style:normal}#flow .viz-rtl .k{color:var(--accent)}#flow .viz-rtl .t{color:var(--signal)}#flow .viz-rtl .n{color:var(--copper)}#flow .viz-wave,#flow .viz-pnr{padding:0}#flow .viz-wave canvas,#flow .viz-pnr canvas{position:relative;z-index:1;width:100%;height:100%;display:block}#flow .viz-wave{--wave-ink: var(--bone);--wave-mute: var(--mute);--wave-a: var(--primary);--wave-b: var(--signal);--wave-c: var(--primary-2)}#flow .viz-pnr{--pr-m1: var(--primary);--pr-m2: var(--primary-2);--pr-clk: var(--signal)}#flow .syn-wires path{fill:none;stroke:#ffffff38;stroke-width:1.2;stroke-linejoin:round}#flow .syn-wires .syn-flow{stroke:var(--accent);stroke-dasharray:2 12;opacity:0}#flow .stage.is-active .syn-flow{opacity:1;animation:flow-dash 1.1s linear infinite}#flow .syn-gates path,#flow .syn-gates rect{fill:color-mix(in oklab,var(--panel) 92%,transparent);stroke:var(--bone);stroke-width:1.2;stroke-opacity:.8}#flow .syn-gates text{font-size:7px;fill:color-mix(in oklab,var(--accent) 70%,var(--bone))}#flow .syn-gates{opacity:0;transition:opacity .8s var(--ease-out) .1s}#flow .stage.is-seen .syn-gates{opacity:1}#flow .viz-signoff{grid-template-columns:1fr auto;gap:18px;perspective:900px}#flow .layers{position:relative;z-index:1;width:100%;height:100%;min-height:220px;transform-style:preserve-3d}#flow .layers i{position:absolute;left:14%;top:30%;width:64%;height:40%;border-radius:4px;font-style:normal;display:flex;align-items:flex-end;justify-content:flex-end;padding:6px 8px;font:500 .55rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffffbf;border:1px solid rgba(255,255,255,.28);background:var(--lc);transform:rotateX(58deg) rotate(-36deg) translateZ(calc(var(--l) * 5px));transition:transform 1.1s var(--ease-out);transition-delay:calc(var(--l) * 60ms)}#flow .layers i:nth-child(1){--lc: color-mix(in oklab, var(--mute) 35%, transparent)}#flow .layers i:nth-child(2){--lc: color-mix(in oklab, var(--signal) 22%, transparent)}#flow .layers i:nth-child(3){--lc: color-mix(in oklab, var(--copper) 26%, transparent)}#flow .layers i:nth-child(4){--lc: color-mix(in oklab, var(--primary) 26%, transparent)}#flow .layers i:nth-child(5){--lc: color-mix(in oklab, var(--primary-2) 24%, transparent)}#flow .layers i:nth-child(6){--lc: color-mix(in oklab, var(--gold) 28%, transparent)}#flow .stage.is-active .layers i{transform:rotateX(58deg) rotate(-36deg) translateZ(calc(var(--l) * 24px))}#flow .checks{position:relative;z-index:1;display:grid;gap:12px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}#flow .checks li{display:flex;align-items:center;gap:10px;color:var(--mute);transition:color .4s}#flow .checks li:before{content:"";width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.3);background:center / 10px no-repeat;transition:background-color .4s,border-color .4s}#flow .stage.is-seen .checks li{color:var(--bone)}#flow .stage.is-seen .checks li:before{border-color:var(--accent);background-color:color-mix(in oklab,var(--accent) 30%,transparent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><path d='M1.5 5.2 4 7.6 8.6 2.4' fill='none' stroke='white' stroke-width='1.6'/></svg>")}#flow .stage.is-seen .checks li:nth-child(2),#flow .stage.is-seen .checks li:nth-child(2):before{transition-delay:.3s}#flow .stage.is-seen .checks li:nth-child(3),#flow .stage.is-seen .checks li:nth-child(3):before{transition-delay:.6s}#flow .stage.is-seen .checks li:nth-child(4),#flow .stage.is-seen .checks li:nth-child(4):before{transition-delay:.9s}#flow .flow-marquee{margin-top:clamp(10px,2vh,20px);padding-block:10px;border-block:1px solid var(--line)}#flow .flow-marquee [data-marquee]{gap:0;font:300 clamp(1.1rem,2.2vw,2rem)/1 var(--f-display);letter-spacing:-.02em;color:var(--ink);-webkit-text-stroke:2px color-mix(in oklab,var(--bone) 48%,transparent);paint-order:stroke fill;white-space:nowrap}#flow .flow-marquee i{font-style:normal;padding-inline:.7em;color:var(--accent);-webkit-text-stroke:0;font-size:.5em;vertical-align:middle}@media(max-height:820px)and (min-width:900px){#flow .flow-sub{display:none}#flow .flow-head .sec-title{font-size:clamp(1.8rem,3.4vw,3.2rem)}#flow .stage-text{font-size:.95rem}}#flow.is-linear .pin{height:auto;min-height:0;overflow:visible;display:block;padding:clamp(110px,16vh,170px) 0 60px}#flow.is-linear .flow-head{grid-template-columns:1fr;padding-left:var(--gutter)}#flow.is-linear .flow-meter{display:none}#flow.is-linear .flow-viewport{display:block;margin-top:40px}#flow.is-linear .flow-track{flex-direction:column;width:auto;height:auto;padding:0 var(--gutter);gap:28px}#flow.is-linear .stage{flex:none;width:100%;height:auto;grid-template-columns:1fr 1fr;opacity:1;transform:none}#flow.is-linear .stage-viz{height:280px}#flow.is-linear .flow-marquee{margin-top:48px}@media(max-width:767px){#flow.is-linear .stage{grid-template-columns:1fr;padding:22px}#flow.is-linear .stage-viz{height:240px}#flow .viz-signoff{grid-template-columns:1fr}#flow .checks{display:flex;flex-wrap:wrap;gap:10px 16px}}@media(prefers-reduced-motion:reduce){#flow .stage.is-active .arch-flow,#flow .stage.is-active .syn-flow{animation:none}#flow .viz-rtl .ln{clip-path:none}}html.reduced #flow .stage.is-active .arch-flow,html.reduced #flow .stage.is-active .syn-flow{animation:none}html.reduced #flow .viz-rtl .ln{clip-path:none}html.legacyfx #flow .stage{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#projects{padding-block:clamp(140px,20vh,220px) clamp(120px,16vh,180px)}#projects .proj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px);perspective:1200px}#projects .proj-head-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,48px)}#projects .proj-head-row .sec-title{max-width:none;text-align:center}#projects .proj-head-note{display:grid;gap:.5em;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}#projects .proj-head-note span:first-child{color:var(--accent)}#projects .proj-head-note-r{justify-items:end;text-align:right}#projects .proj-head .sec-sub{justify-self:center;text-align:center}#projects .sl-w{display:inline-block;overflow:clip;overflow-clip-margin:.2em;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}#projects .sl-in{position:relative;display:inline-block}#projects .sl-b{position:absolute;left:0;bottom:100%}#projects .pcard{display:flex;flex-direction:column;gap:22px;min-height:440px;padding:clamp(22px,2.4vw,32px);background:color-mix(in oklab,var(--panel) 94%,transparent);border-color:color-mix(in oklab,var(--accent) 34%,var(--line));transition:translate .6s var(--ease-spring),box-shadow .6s var(--ease-out),border-color .4s}#projects .pcard:is(:hover,:focus-within){translate:0 -6px;border-color:color-mix(in oklab,var(--accent) 60%,transparent);box-shadow:0 34px 70px -34px color-mix(in oklab,var(--accent) 55%,transparent),0 20px 40px -24px #000c}#projects .pc-hit{position:absolute;inset:0;z-index:4;border-radius:inherit}#projects .pc-hit:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#projects .pc-link{position:relative;z-index:5}#projects .pc-beam{position:absolute;inset:0;z-index:3;border-radius:inherit;padding:1.5px;pointer-events:none;opacity:0;transition:opacity .4s;background:conic-gradient(from var(--ang),transparent 0 270deg,var(--accent-2) 330deg,var(--accent) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}#projects .pcard:is(:hover,:focus-within) .pc-beam{opacity:1;animation:spin-ang 2.6s linear infinite}#projects .pc-sheen{position:absolute;inset:0;z-index:3;border-radius:inherit;overflow:hidden;pointer-events:none}#projects .pc-sheen:before{content:"";position:absolute;inset:-30% -70%;translate:-70% 0;background:linear-gradient(115deg,transparent 42%,color-mix(in oklab,var(--accent-2) 20%,transparent) 50%,transparent 58%)}#projects .pcard:is(:hover,:focus-within) .pc-sheen:before{translate:70% 0;transition:translate 1.1s var(--ease-out)}#projects .pcard>*{transform:translateZ(26px)}#projects .pcard>:is(.pc-hit,.pc-beam,.pc-sheen){transform:none}#projects .pc-probe{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;transform:none;background:linear-gradient(color-mix(in oklab,var(--accent) 45%,transparent),color-mix(in oklab,var(--accent) 45%,transparent)) var(--mx, 50%) 0 / 1px 100% no-repeat,linear-gradient(90deg,color-mix(in oklab,var(--accent) 45%,transparent),color-mix(in oklab,var(--accent) 45%,transparent)) 0 var(--my, 50%) / 100% 1px no-repeat}#projects .pcard:hover .pc-probe{opacity:.55}#projects .pc-mark{position:absolute;width:14px;height:14px;border:0 solid color-mix(in oklab,var(--accent) 70%,var(--bone));transform:none}#projects .pc-tl{top:10px;left:10px;border-top-width:1px;border-left-width:1px}#projects .pc-br{bottom:10px;right:10px;border-bottom-width:1px;border-right-width:1px}#projects .pc-head{display:flex;justify-content:space-between;align-items:center;gap:12px}#projects .pc-die{font:500 .72rem/1 var(--f-mono);letter-spacing:.26em;color:var(--accent)}#projects .pc-status{font:500 .62rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--signal);padding:.55em .9em;border-radius:999px;border:1px solid color-mix(in oklab,var(--signal) 45%,transparent);background:color-mix(in oklab,var(--signal) 8%,transparent)}#projects .pcard.is-empty .pc-status{border-style:dashed}#projects .pc-title{display:grid;gap:.45em;align-content:start;font:300 clamp(1.3rem,1.8vw,1.7rem)/1.15 var(--f-display);letter-spacing:-.03em;min-height:2.3em}#projects .pc-title-tba{font:500 .6rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}#projects .pc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}#projects .pc-open{display:inline-flex;align-items:center;gap:.55em;font:500 .72rem/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in oklab,var(--accent) 65%,var(--bone))}#projects .pc-open svg{width:1em;height:1em;transition:transform .35s var(--ease-out)}#projects .pcard:is(:hover,:focus-within) .pc-open svg{transform:translate(5px)}#projects .pc-fields{display:grid;gap:14px;margin:0}#projects .pc-field{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--line)}#projects .pc-field dt{font:400 .62rem/1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}#projects .pc-field dd{margin:0;color:color-mix(in oklab,var(--bone) 82%,transparent);font-weight:300}#projects .pc-tags{display:flex;flex-wrap:wrap;gap:6px}#projects .pc-tags li{font:400 .68rem/1 var(--f-mono);padding:.45em .7em;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 35%,transparent)}#projects .pc-link{display:inline-flex;align-items:center;gap:.5em;width:fit-content;font:500 .72rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}#projects .pc-link svg{width:1em;height:1em;transition:transform .3s var(--ease-out)}#projects .pc-link:hover svg{transform:translate(4px)}@media(max-width:1023px){#projects .proj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){#projects .proj-grid{grid-template-columns:1fr}#projects .pcard{min-height:0}}@media(max-width:899px){#projects .proj-head-row{grid-template-columns:1fr;justify-items:start}#projects .proj-head-row .sec-title{text-align:left}#projects .proj-head-note{grid-auto-flow:column;gap:1.2em}#projects .proj-head-note-r{display:none}#projects .proj-head .sec-sub{justify-self:start;text-align:left}}@media(prefers-reduced-motion:reduce){#projects .pcard:is(:hover,:focus-within) .pc-beam{animation:none}}html.reduced #projects .pcard:is(:hover,:focus-within) .pc-beam{animation:none}@media(prefers-reduced-motion:reduce){#projects .pcard:is(:hover,:focus-within){translate:none}}html.reduced #projects .pcard:is(:hover,:focus-within){translate:none}#project-view{--paper: color-mix(in oklab, var(--panel), var(--bone) 3.5%);position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:clamp(0px,1.6vw,26px)}#project-view[hidden]{display:none}#project-view .pv-backdrop{position:absolute;inset:0;background:color-mix(in oklab,var(--ink) 82%,transparent)}#project-view .pv-frame{position:relative;width:100%;height:100%;max-width:1520px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:22px;overflow:hidden;background:radial-gradient(120% 70% at 50% 0%,color-mix(in oklab,var(--accent) 7%,transparent),transparent 60%),color-mix(in oklab,var(--panel) 96%,transparent);border:1px solid color-mix(in oklab,var(--accent) 32%,var(--line));box-shadow:0 60px 140px -40px #000000e6,inset 0 1px color-mix(in oklab,var(--bone) 6%,transparent)}#project-view .pv-head{position:relative;z-index:3;display:flex;align-items:center;gap:16px;padding:14px 16px 14px 22px;border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--panel) 92%,transparent)}#project-view .pv-progress{position:absolute;left:0;right:0;top:0;height:2px;background:color-mix(in oklab,var(--bone) 8%,transparent)}#project-view .pv-progress b{position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 10px var(--accent);transform-origin:0 50%;transform:scaleX(0);transition:transform .25s linear}#project-view .pv-die{flex:none;font:500 .72rem/1 var(--f-mono);letter-spacing:.26em;color:var(--accent)}#project-view .pv-title{flex:1;min-width:0;font:400 clamp(.95rem,1.5vw,1.25rem)/1.25 var(--f-display);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#project-view .pv-tools{display:flex;gap:8px;flex:none}#project-view .pv-btn{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:color-mix(in oklab,var(--bone) 5%,transparent);color:var(--bone);font:500 .66rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:background-color .3s,border-color .3s}#project-view .pv-btn:hover{background:color-mix(in oklab,var(--primary) 18%,transparent);border-color:color-mix(in oklab,var(--primary) 50%,transparent)}#project-view .pv-btn[hidden]{display:none}#project-view .pv-close kbd{font:inherit;margin-left:.5em;padding:.25em .45em;border:1px solid var(--line);border-radius:4px;color:var(--mute)}#project-view .pv-body{position:relative;min-height:0;overflow:hidden}#project-view .pv-nav{display:flex;justify-content:center;align-items:center;gap:12px;padding:10px;border-top:1px solid var(--line)}#project-view:not(.has-nav) .pv-nav{display:none}#project-view .pv-nav-dot{color:var(--mute)}#project-view .pv-book{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;padding:22px 18px 10px}#project-view .pv-book-stage{position:relative;width:100%;height:100%;display:grid;place-items:center;container-type:size}#project-view .pv-spread{position:relative;width:min(96cqw,127.8cqh);aspect-ratio:1.42;perspective:2600px}#project-view .pv-stack{position:absolute;top:.8%;bottom:-1.8%;width:50.6%;background:repeating-linear-gradient(0deg,color-mix(in oklab,var(--bone) 16%,var(--panel)) 0 1px,color-mix(in oklab,var(--ink) 60%,var(--panel)) 1px 3px)}#project-view .pv-stack-l{left:-1.1%;border-radius:12px 0 0 12px}#project-view .pv-stack-r{right:-1.1%;border-radius:0 12px 12px 0}#project-view .pv-book-shadow{position:absolute;left:50%;top:50%;width:min(96cqw,127.8cqh);aspect-ratio:1.42;translate:-50% -50%;z-index:-1;pointer-events:none;border-radius:16px;box-shadow:0 40px 70px -20px #000000d9,0 12px 24px -10px #000000b3}#project-view .pv-page{position:absolute;top:0;width:50%;height:100%;container-type:size;overflow:hidden;z-index:2;user-select:text}#project-view .pv-page.is-left{left:0;border-radius:10px 0 0 10px}#project-view .pv-page.is-right{left:50%;border-radius:0 10px 10px 0}#project-view .pv-page.is-off{left:50%;visibility:hidden;content-visibility:hidden}#project-view .pv-page:after,#project-view .pv-clone:after{content:"";position:absolute;inset:0;pointer-events:none}#project-view .pv-page.is-left:after,#project-view .pv-curl.is-next .is-back .pv-clone:after,#project-view .pv-curl.is-prev .is-front .pv-clone:after{background:linear-gradient(270deg,rgb(0 0 0 / .42),rgb(0 0 0 / .08) 7%,transparent 16%)}#project-view .pv-page.is-right:after,#project-view .pv-curl.is-next .is-front .pv-clone:after,#project-view .pv-curl.is-prev .is-back .pv-clone:after{background:linear-gradient(90deg,rgb(0 0 0 / .42),rgb(0 0 0 / .08) 7%,transparent 16%)}#project-view .pv-folio{position:absolute;bottom:3.4cqh;font:500 max(9px,1.3cqh)/1 var(--f-mono);letter-spacing:.2em;color:var(--mute);z-index:1}#project-view .pv-page.is-left .pv-folio{left:8cqw}#project-view .pv-page.is-right .pv-folio{right:8cqw}#project-view .pv-shade{position:absolute;top:0;width:50%;height:100%;z-index:4;pointer-events:none;opacity:0}#project-view .pv-shade-l{left:0;border-radius:10px 0 0 10px;background:linear-gradient(270deg,rgb(0 0 0 / .55),rgb(0 0 0 / .18) 40%,transparent 85%)}#project-view .pv-shade-r{left:50%;border-radius:0 10px 10px 0;background:linear-gradient(90deg,rgb(0 0 0 / .6),rgb(0 0 0 / .2) 40%,transparent 85%)}#project-view .pv-spine{position:absolute;left:50%;top:-.6%;bottom:-.6%;width:2.6%;translate:-50% 0;z-index:7;pointer-events:none;border-radius:3px;background:linear-gradient(90deg,transparent,rgb(0 0 0 / .55) 38%,color-mix(in oklab,var(--primary) 30%,rgb(0 0 0 / .7)) 50%,rgb(0 0 0 / .55) 62%,transparent)}@property --tt{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --td{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --shade{syntax: "<number>"; inherits: false; initial-value: 0;}@property --lit{syntax: "<number>"; inherits: false; initial-value: 1;}@property --a1{syntax: "<number>"; inherits: false; initial-value: 0;}@property --a2{syntax: "<number>"; inherits: false; initial-value: 0;}#project-view .pv-strip{--td: inherit;--shade: inherit}#project-view .pv-face,#project-view .pv-sh,#project-view .pv-gl,#project-view .pv-rim{--lit: inherit;--a1: inherit;--a2: inherit;--shade: inherit}#project-view .pv-curl{position:absolute;top:0;height:100%;width:50%;transform-style:preserve-3d;z-index:6;pointer-events:none}#project-view .pv-curl.is-next{left:50%;transform-origin:left center;transform:rotateY(calc(-1 * var(--tt, 0deg)))}#project-view .pv-curl.is-prev{left:0;transform-origin:right center;transform:rotateY(var(--tt, 0deg))}#project-view .pv-strip{position:absolute;top:0;height:100%;width:calc(var(--pw) / var(--n));transform-style:preserve-3d}#project-view .pv-curl.is-next .pv-strip{transform-origin:left center}#project-view .pv-curl.is-prev .pv-strip{transform-origin:right center}#project-view .pv-curl.is-next>.pv-strip{left:0}#project-view .pv-curl.is-prev>.pv-strip{right:0}#project-view .pv-curl.is-next .pv-strip .pv-strip{left:100%;transform:rotateY(var(--td, 0deg))}#project-view .pv-curl.is-prev .pv-strip .pv-strip{right:100%;transform:rotateY(calc(-1 * var(--td, 0deg)))}#project-view .pv-face{position:absolute;inset:0 -1.1px 0 0;overflow:hidden;background:var(--paper);backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:layout paint}#project-view .pv-face.is-back{transform:rotateY(180deg)}#project-view .pv-clone{position:absolute;top:0;width:var(--pw);height:var(--ph);container-type:size}#project-view .pv-sh,#project-view .pv-gl{position:absolute;inset:0;pointer-events:none}#project-view .pv-curl.is-next .is-front .pv-sh,#project-view .pv-curl.is-prev .is-back .pv-sh{background:linear-gradient(90deg,rgb(0 0 0 / var(--a1, 0)),rgb(0 0 0 / var(--a2, 0)))}#project-view .pv-curl.is-next .is-back .pv-sh,#project-view .pv-curl.is-prev .is-front .pv-sh{background:linear-gradient(90deg,rgb(0 0 0 / var(--a2, 0)),rgb(0 0 0 / var(--a1, 0)))}#project-view .pv-gl{background:var(--primary-2);mix-blend-mode:screen;opacity:calc(var(--shade, 0) * var(--lit, 1) * var(--lit, 1) * .1)}#project-view .pv-rim{position:absolute;top:0;bottom:0;width:2px;pointer-events:none;opacity:var(--shade, 0);background:linear-gradient(transparent,var(--primary-2) 12% 88%,transparent);box-shadow:0 0 14px var(--primary),0 0 4px var(--primary-2)}#project-view .pv-curl.is-next .is-front .pv-rim,#project-view .pv-curl.is-prev .is-back .pv-rim{right:1px}#project-view .pv-curl.is-next .is-back .pv-rim,#project-view .pv-curl.is-prev .is-front .pv-rim{left:1px}#project-view .pv-corner{position:absolute;top:0;bottom:0;width:8%;z-index:8;padding:0;border:0;background:none;touch-action:none}#project-view .pv-corner-next{right:0}#project-view .pv-corner-prev{left:0}#project-view .pv-corner i{position:absolute;bottom:0;width:44px;height:44px;transition:scale .35s var(--ease-spring)}#project-view .pv-corner-next i{right:0;transform-origin:100% 100%;border-radius:0 0 10px;background:linear-gradient(315deg,color-mix(in oklab,var(--ink) 80%,transparent) 0 44%,color-mix(in oklab,var(--primary-2) 30%,var(--paper)) 48%,var(--paper) 56%,transparent 58%)}#project-view .pv-corner-prev i{left:0;transform-origin:0 100%;border-radius:0 0 0 10px;background:linear-gradient(45deg,color-mix(in oklab,var(--ink) 80%,transparent) 0 44%,color-mix(in oklab,var(--primary-2) 30%,var(--paper)) 48%,var(--paper) 56%,transparent 58%)}#project-view .pv-corner:hover i,#project-view .pv-corner:focus-visible i{scale:1.45}#project-view .pv-corner:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}#project-view .pv-book.is-first .pv-corner-prev,#project-view .pv-book.is-last .pv-corner-next{display:none}#project-view .pv-book-ui{display:flex;align-items:center;gap:14px;margin-top:16px}#project-view .pv-arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:color-mix(in oklab,var(--bone) 5%,transparent);color:var(--bone);font-size:1rem}#project-view .pv-arrow:hover:not(:disabled){background:color-mix(in oklab,var(--primary) 20%,transparent)}#project-view .pv-arrow:disabled{opacity:.35}#project-view .pv-dots{display:flex;gap:8px}#project-view .pv-dots button{display:block;width:8px;height:8px;padding:0;border:0;border-radius:99px;background:color-mix(in oklab,var(--bone) 28%,transparent);transition:width .45s var(--ease-out),background-color .3s}#project-view .pv-dots button.is-on{width:26px;background:var(--accent);box-shadow:0 0 8px var(--accent)}#project-view .pv-pageno{min-width:13ch;text-align:center;font-size:.7rem;letter-spacing:.16em;color:var(--bone)}#project-view .pv-book-hint{margin-top:6px;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}#project-view .pg{position:absolute;inset:0;display:flex;flex-direction:column;gap:2.3cqh;padding:7cqh 8.5cqw 9cqh;font:300 clamp(10px,2.15cqh,17px)/1.5 var(--f-body);color:var(--bone);background:radial-gradient(90% 60% at 20% 0%,color-mix(in oklab,var(--primary) 5%,transparent),transparent 70%),repeating-linear-gradient(0deg,color-mix(in oklab,var(--bone) 1.6%,transparent) 0 1px,transparent 1px 4px),var(--paper)}#project-view .pg-kicker{display:flex;justify-content:space-between;gap:1em;padding-bottom:1.4cqh;border-bottom:1px solid var(--line);font:500 max(9px,1.4cqh)/1.2 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}#project-view .pg-kicker span:first-child{color:var(--accent)}#project-view .pg-title{font:300 clamp(17px,5.4cqh,50px)/1.14 var(--f-display);letter-spacing:-.03em;text-wrap:balance;perspective:500px}#project-view .pg-title-xl{font-size:clamp(22px,8cqh,74px);font-weight:500;line-height:1.12}#project-view .pg-ch{display:inline-block;transform-origin:50% 100%}#project-view .pg-meta{font:500 max(9px,1.55cqh)/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--signal)}#project-view .pg-tags{display:flex;flex-wrap:wrap;gap:.5em}#project-view .pg-tags li{font:400 .78em/1 var(--f-mono);padding:.5em .8em;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 42%,transparent)}#project-view .pg-tags.is-empty li{width:5.5em;height:1.9em;border-style:dashed;border-color:color-mix(in oklab,var(--bone) 18%,transparent)}#project-view .pg-h{margin-bottom:.45em;font:500 .72em/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}#project-view .pg-lead{font-size:1.1em;color:var(--bone)}#project-view .pg-block p{color:color-mix(in oklab,var(--bone) 90%,var(--mute))}#project-view .pg-facts{display:grid;gap:1.4cqh;margin:auto 0 0;padding-top:1.6cqh;border-top:1px solid var(--line)}#project-view .pg-facts div{display:grid;grid-template-columns:7.5em 1fr;gap:1em;align-items:baseline}#project-view .pg-facts dt{font:500 .72em/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}#project-view .pg-facts dd{margin:0}#project-view .pg-fig{position:relative;margin:0;flex:1;min-height:0;display:grid;place-items:center;border-radius:8px;overflow:hidden;background:color-mix(in oklab,var(--ink) 55%,var(--panel));border:1px solid var(--line)}#project-view .pg-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#project-view .pg-fig figcaption{position:absolute;left:.8em;right:.8em;bottom:.7em;font:400 .74em/1.3 var(--f-mono);color:var(--bone);text-shadow:0 1px 2px rgb(0 0 0 / .7)}#project-view .pg-fig-empty{position:absolute;inset:0;background:repeating-linear-gradient(45deg,color-mix(in oklab,var(--bone) 5%,transparent) 0 1px,transparent 1px 14px),radial-gradient(60% 60% at 50% 45%,color-mix(in oklab,var(--accent) 10%,transparent),transparent 70%)}#project-view .pg-die-art{width:min(62%,60cqh);height:auto}#project-view .pg-die-art .da-body{fill:color-mix(in oklab,var(--panel),var(--bone) 6%);stroke:color-mix(in oklab,var(--copper) 55%,transparent);stroke-width:1.5}#project-view .pg-die-art .da-core{fill:color-mix(in oklab,var(--panel),var(--primary) 14%);stroke:color-mix(in oklab,var(--accent) 55%,transparent)}#project-view .pg-die-art .da-pads{stroke:var(--copper);stroke-width:3.5}#project-view .pg-die-art .da-rows{stroke:color-mix(in oklab,var(--accent) 50%,transparent);stroke-width:4.5;stroke-linecap:round}#project-view .pg-die-art .da-macro{fill:color-mix(in oklab,var(--signal) 18%,transparent);stroke:var(--signal)}#project-view .pg-tba{display:grid;gap:.7em}#project-view .pg-tba-lines{display:grid;gap:.55em}#project-view .pg-tba-lines i{display:block;height:.72em;border-radius:4px;border:1px dashed color-mix(in oklab,var(--bone) 14%,transparent);position:relative;overflow:hidden;background:color-mix(in oklab,var(--bone) 5%,transparent)}#project-view .pg-tba-lines i:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,color-mix(in oklab,var(--bone) 8%,transparent) 50%,transparent 70%);transform:translate(-100%);animation:slot-sweep 2.4s linear infinite}#project-view .pg-tba-lines i:last-child{width:62%}#project-view .pg-tba-label{font:500 max(9px,.74em)/1.3 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}#project-view .pg-metrics{display:grid;gap:2.2cqh}#project-view .pg-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5em 1em;align-items:baseline}#project-view .pg-metric-l{color:color-mix(in oklab,var(--bone) 88%,var(--mute))}#project-view .pg-metric-v{font:500 1.7em/1 var(--f-mono);color:var(--signal);font-variant-numeric:tabular-nums}#project-view .pg-bar{grid-column:1 / -1;position:relative;height:4px;border-radius:99px;overflow:hidden;background:color-mix(in oklab,var(--bone) 10%,transparent)}#project-view .pg-bar b{position:absolute;inset:0;border-radius:inherit;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--primary),var(--signal));transition:transform 1.4s var(--ease-out) .25s}#project-view .is-shown .pg-bar b{transform:scaleX(var(--v))}#project-view .pg-metrics.is-empty .pg-bar b{background:color-mix(in oklab,var(--bone) 18%,transparent)}#project-view .pg-gal{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);gap:1.6cqh}#project-view .pg-gal li{min-height:0;display:grid}#project-view .pg-gal .pg-fig{height:100%}#project-view .pg-lessons-list{display:grid;gap:1.8cqh;counter-reset:l}#project-view .pg-lessons-list li{position:relative;padding-left:2.8em;counter-increment:l}#project-view .pg-lessons-list li:before{content:counter(l,decimal-leading-zero);position:absolute;left:0;top:.1em;font:500 .8em/1.4 var(--f-mono);color:var(--accent)}#project-view .pg-links{display:flex;flex-wrap:wrap;gap:.7em}#project-view .pg-link{display:inline-flex;align-items:center;gap:.6em;padding:.75em 1.15em;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);font:500 .76em/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;transition:background-color .3s,color .3s}#project-view .pg-link svg{width:1em;height:1em}#project-view .pg-link:hover{background:var(--accent);color:var(--on-primary)}#project-view .pg-back-mark{margin-top:auto;display:grid;justify-items:center;gap:1.2cqh}#project-view .pg-back-mark svg{width:min(34%,26cqh);opacity:.85}#project-view .pg-back-mark p{font:500 max(9px,1.3cqh)/1 var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}#project-view .pg-close{align-self:flex-start}#project-view .pg-end{display:grid;place-items:center;align-content:center;gap:2cqh}#project-view .pg-end svg{width:36%;opacity:.32}#project-view .pg-end-mark{font:500 max(9px,1.3cqh)/1 var(--f-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}#project-view .pv-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;outline:none}#project-view .pv-scroll-in{width:min(100%,1000px);margin-inline:auto;padding:clamp(28px,6vh,64px) clamp(16px,4vw,48px) 14vh;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(64px,12vh,120px)}#project-view .pvs-block{position:relative;min-width:0}#project-view .pvs-block .pg{position:relative;inset:auto;padding:0;gap:22px;background:none;font-size:clamp(1rem,1.05vw,1.125rem)}#project-view .pvs-block .pg-kicker{font-size:.68rem;padding-bottom:12px}#project-view .pvs-block .pg-title{font-size:clamp(1.9rem,5.6vw,3.6rem)}#project-view .pvs-block .pg-title-xl{font-size:clamp(2.4rem,8.6vw,5.6rem)}#project-view .pvs-block .pg-meta{font-size:.74rem}#project-view .pvs-block .pg-fig{flex:none;aspect-ratio:16 / 10}#project-view .pvs-block .pg-die-art{width:min(46%,300px)}#project-view .pvs-block .pg-tba-label,#project-view .pvs-block .pg-back-mark p,#project-view .pvs-block .pg-end-mark{font-size:.66rem}#project-view .pvs-block .pg-metrics{gap:22px}#project-view .pvs-block .pg-lessons-list{gap:16px}#project-view .pvs-block .pg-facts{margin-top:8px}#project-view .pvs-line{padding-bottom:.06em}#project-view .pvs-gallery{min-height:70vh;display:grid;align-content:center;overflow:hidden;margin-inline:calc(-1*clamp(16px,4vw,48px));padding-inline:clamp(16px,4vw,48px)}#project-view .pvs-gallery .pg-gal{display:flex;gap:20px;width:max-content}#project-view .pvs-gallery .pg-gal li{width:min(72vw,520px)}#project-view .pvs-gallery .pg-fig{aspect-ratio:4 / 3}#project-view .pvs-back .pg-back-mark svg{width:120px}@media(max-width:767px){#project-view{padding:0}#project-view .pv-frame{border-radius:0;border:0}#project-view .pv-head{padding:12px 12px 12px 16px;gap:10px}#project-view .pv-die,#project-view .pv-close kbd{display:none}#project-view .pv-btn{padding:0 12px}}@media(prefers-reduced-motion:reduce){#project-view .pg-tba-lines i,#project-view .pg-tba-lines i:after{animation:none}#project-view .pg-bar b,#project-view .pv-progress b{transition:none}#project-view .pvs-gallery .pg-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));width:auto}#project-view .pvs-gallery .pg-gal li{width:auto}}html.reduced #project-view .pg-tba-lines i,html.reduced #project-view .pg-tba-lines i:after{animation:none}html.reduced #project-view .pg-bar b,html.reduced #project-view .pv-progress b{transition:none}html.reduced #project-view .pvs-gallery .pg-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));width:auto}html.reduced #project-view .pvs-gallery .pg-gal li{width:auto}#cv{padding-block:clamp(140px,20vh,220px) clamp(120px,16vh,180px)}#cv .cv-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}#cv .cv-top .sec-head,#cv .cv-top>div:first-child{display:grid;gap:14px}#cv .cv-actions{display:flex;flex-wrap:wrap;gap:12px}#cv .cv-doc{position:relative;overflow:hidden;border-radius:22px;padding:clamp(24px,4vw,60px);background:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px) 0 0 / 100% 32px,linear-gradient(170deg,color-mix(in oklab,var(--panel) 96%,transparent),color-mix(in oklab,var(--panel) 94%,transparent));border:1px solid color-mix(in oklab,var(--accent) 28%,var(--line));box-shadow:0 50px 120px -40px #000000d9,inset 0 1px #ffffff0f}#cv .cv-scan{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;background:linear-gradient(180deg,transparent 30%,color-mix(in oklab,var(--accent) 10%,transparent) 48%,color-mix(in oklab,var(--accent) 70%,transparent) 50%,transparent 50.6%)}#cv .cv-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:end;padding-bottom:clamp(22px,3vw,36px);border-bottom:1px solid color-mix(in oklab,var(--accent) 40%,transparent)}#cv .cv-name{font:500 clamp(1.9rem,3.8vw,3.4rem)/1.18 var(--f-display);letter-spacing:-.04em}#cv .cv-field{margin-top:10px;font:500 .72rem/1 var(--f-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}#cv .cv-meta{display:grid;gap:10px;margin:0}#cv .cv-meta>div{display:grid;grid-template-columns:9.5em auto;gap:12px;align-items:baseline}#cv .cv-meta dt{font:400 .62rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}#cv .cv-meta dd{margin:0;min-width:0;font-weight:500;overflow-wrap:anywhere}#cv .cv-meta a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:color .3s}@media(hover:hover){#cv .cv-meta a:hover{color:var(--accent-2)}}#cv .cv-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0 clamp(28px,5vw,72px)}#cv .cv-block{padding-block:clamp(22px,3vw,34px);border-bottom:1px solid var(--line)}#cv .cv-col>.cv-block:last-child{border-bottom:0}#cv .cv-h{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;font:500 clamp(1rem,1.4vw,1.25rem)/1.2 var(--f-display);letter-spacing:-.02em}#cv .cv-h-n{font:500 .66rem/1 var(--f-mono);letter-spacing:.2em;color:var(--accent);padding:.4em .5em;border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);border-radius:4px;transition:background .3s,color .3s}#cv .cv-block:hover .cv-h-n{background:var(--accent);color:var(--ink)}#cv .cv-summary{color:color-mix(in oklab,var(--bone) 84%,transparent);font-weight:300;max-width:60ch}#cv .cv-timeline{position:relative;display:grid;gap:22px;padding-left:30px}#cv .cv-tl-line{position:absolute;left:6px;top:6px;bottom:6px;width:1px;transform-origin:50% 0;background:linear-gradient(var(--accent),color-mix(in oklab,var(--accent) 15%,transparent));box-shadow:0 0 8px var(--accent)}#cv .cv-tl-item{position:relative;display:grid;gap:6px}#cv .cv-tl-node{position:absolute;left:-30px;top:2px;width:13px;height:13px;border-radius:50%;background:var(--ink);border:2px solid var(--accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 15%,transparent)}#cv .cv-tl-node:after{content:"";position:absolute;inset:-2px;border-radius:50%;pointer-events:none;opacity:0;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 50%,transparent)}#cv .cv-block.is-on .cv-tl-node:after{animation:cv-node 2.4s ease-out infinite}@keyframes cv-node{0%{transform:scale(1);opacity:1}70%,to{transform:scale(2.6);opacity:0}}#cv .cv-tl-period{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:400 .68rem/1.2 var(--f-mono);letter-spacing:.14em;color:var(--mute)}#cv .cv-tl-level{padding:.4em .6em;border:1px solid color-mix(in oklab,var(--accent) 45%,transparent);border-radius:4px;font-size:.9em;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);transition:background-color .3s,color .3s}#cv .cv-tl-title{margin:0;font:500 1.1rem/1.3 var(--f-body)}#cv .cv-tl-sub{color:color-mix(in oklab,var(--bone) 78%,transparent);font-weight:300}#cv .cv-list{display:grid;gap:4px;margin-top:6px;padding-left:1em;list-style:square;color:color-mix(in oklab,var(--bone) 78%,transparent)}#cv .cv-projects{display:grid;gap:16px}#cv .cv-projects li{display:grid;gap:6px;padding-left:14px;border-left:1px solid color-mix(in oklab,var(--accent) 40%,transparent)}#cv .cv-pj-title{font-weight:500}#cv .cv-pj-period,#cv .cv-pj-tools{font:400 .7rem/1.4 var(--f-mono);color:var(--mute)}#cv .cv-projects p{color:color-mix(in oklab,var(--bone) 82%,transparent);font-weight:300}#cv .cv-skill{display:grid;gap:8px;margin-bottom:14px}#cv .cv-skill-g{font:400 .62rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}#cv .cv-chips{display:flex;flex-wrap:wrap;gap:8px}#cv .cv-chips li{font:400 .78rem/1 var(--f-mono);padding:.55em .85em;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 35%,transparent)}#cv .cv-chips.is-slot li{padding:0;border:0}#cv .cv-lang{display:grid;gap:12px}#cv .cv-lang-name{font-weight:500}#cv .cv-meter{display:grid;grid-template-columns:4.6em minmax(0,1fr) auto;align-items:center;gap:14px}#cv .cv-meter-label{font:500 .68rem/1 var(--f-mono);letter-spacing:.18em;color:var(--mute)}#cv .cv-meter-bar{position:relative;height:6px;border-radius:99px;background:color-mix(in oklab,var(--bone) 8%,transparent);overflow:hidden}#cv .cv-meter-bar i{position:absolute;inset:0;border-radius:inherit;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 60%,transparent),var(--accent));box-shadow:0 0 10px var(--accent);transition:transform 1.6s var(--ease-out) .2s}#cv .cv-block.is-on .cv-meter-bar i,#cv .cv-doc.is-on .cv-meter-bar i{transform:scaleX(var(--p))}#cv .cv-meter-val{font:500 .95rem/1 var(--f-mono);font-variant-numeric:tabular-nums}#cv .cv-meter-val small{font-size:.7em;color:var(--mute)}@media(hover:hover){#cv .cv-tl-title,#cv .cv-tl-node,#cv .cv-chips li,#cv .cv-projects li{transition:color .3s,border-color .3s,background-color .3s}#cv .cv-tl-item:hover .cv-tl-level{background:var(--accent);color:var(--ink)}#cv .cv-tl-item:hover .cv-tl-title{color:var(--accent-2)}#cv .cv-tl-item:hover .cv-tl-node{background:var(--accent)}#cv .cv-chips:not(.is-slot) li:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 14%,transparent)}#cv .cv-projects li:not(.is-slot):hover{border-left-color:var(--accent)}}@media(hover:hover)and (prefers-reduced-motion:no-preference){html:not(.reduced) #cv .cv-tl-item>:not(.cv-tl-node),html:not(.reduced) #cv .cv-tl-node,html:not(.reduced) #cv .cv-chips li,html:not(.reduced) #cv .cv-projects li{transition:translate .35s var(--ease-out),scale .35s var(--ease-out),color .3s,border-color .3s,background-color .3s}html:not(.reduced) #cv .cv-tl-item:hover>:not(.cv-tl-node){translate:4px 0}html:not(.reduced) #cv .cv-tl-item:hover .cv-tl-node{scale:1.25}html:not(.reduced) #cv .cv-chips:not(.is-slot) li:hover{translate:0 -2px}html:not(.reduced) #cv .cv-projects li:not(.is-slot):hover{translate:3px 0}}#cv .cv-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px;padding-top:18px;border-top:1px solid var(--line);font:400 .62rem/1.4 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}@media(max-width:899px){#cv .cv-head,#cv .cv-body{grid-template-columns:1fr}#cv .cv-col>.cv-block:last-child{border-bottom:1px solid var(--line)}#cv .cv-body>.cv-col:last-child>.cv-block:last-child{border-bottom:0}}@media(max-width:480px){#cv .cv-meta>div{grid-template-columns:1fr;gap:4px}}@media(prefers-reduced-motion:reduce){#cv .cv-block.is-on .cv-tl-node:after{animation:none}#cv .cv-meter-bar i{transition:none}}html.reduced #cv .cv-block.is-on .cv-tl-node:after{animation:none}html.reduced #cv .cv-meter-bar i{transition:none}#eol{min-height:100vh;min-height:100svh;display:flex}#eol .eol-inner{display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(26px,4vh,44px);padding-top:clamp(140px,22vh,240px);padding-bottom:28px}#eol .eol-neon{position:relative;width:min(100%,980px);height:clamp(110px,20vh,220px);border-radius:16px;overflow:hidden;background:radial-gradient(80% 90% at 50% 50%,color-mix(in oklab,var(--primary) 10%,transparent),transparent 70%),color-mix(in oklab,var(--ink) 70%,transparent);border:1px solid color-mix(in oklab,var(--primary) 22%,var(--line))}#eol .eol-neon canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#eol .eol-line{font-size:clamp(2rem,5vw,4.8rem);line-height:1.04;max-width:17ch;letter-spacing:-.015em}#eol .eol-contact{display:flex;flex-wrap:wrap;gap:12px}#eol .eol-contact li{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;max-width:100%}#eol .eol-link{display:inline-flex;align-items:center;gap:.8em;min-width:0;max-width:100%;padding:.9em 1.3em;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent) 40%,transparent);background:color-mix(in oklab,var(--panel) 60%,transparent);font-weight:500;overflow-wrap:anywhere;transition:background .3s,color .3s}#eol .eol-ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}#eol .eol-link[target=_blank]:after{content:"↗";content:"↗" / "";margin-left:.15em;color:var(--accent);font-size:.9em;transition:color .3s,translate .3s}#eol .eol-link span{flex:none;font:400 .62rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}#eol .eol-link:hover{background:var(--accent);color:var(--ink)}#eol .eol-link:hover span{color:var(--ink)}#eol .eol-link:hover .eol-ico{stroke:var(--ink)}#eol .eol-link:hover:after{color:var(--ink)}#eol .eol-copy{display:inline-grid;place-items:center;min-height:44px;padding:0 1.1em;border-radius:999px;cursor:pointer;border:1px solid color-mix(in oklab,var(--accent) 40%,transparent);background:color-mix(in oklab,var(--panel) 60%,transparent);color:var(--mute);font:500 .62rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;overflow:hidden;transition:background .3s,color .3s,border-color .3s}#eol .eol-copy>span:not(.sr-only){grid-area:1 / 1;transition:opacity .35s var(--ease-out),translate .35s var(--ease-out)}#eol .eol-copy-b{opacity:0;translate:0 80%;color:var(--signal)}#eol .eol-copy.is-done{border-color:color-mix(in oklab,var(--signal) 60%,transparent)}#eol .eol-copy.is-done .eol-copy-a{opacity:0;translate:0 -80%}#eol .eol-copy.is-done .eol-copy-b{opacity:1;translate:0 0}@media(hover:hover){#eol .eol-copy:hover{color:var(--bone);border-color:var(--accent)}}@media(prefers-reduced-motion:reduce){#eol .eol-copy>span:not(.sr-only){translate:none!important}}html.reduced #eol .eol-copy>span:not(.sr-only){translate:none!important}@media(hover:hover)and (prefers-reduced-motion:no-preference){html:not(.reduced) #eol .eol-link,html:not(.reduced) #eol .eol-copy{transition:background .3s,color .3s,border-color .3s,translate .35s var(--ease-out)}html:not(.reduced) #eol .eol-link:hover,html:not(.reduced) #eol .eol-copy:hover{translate:0 -2px}html:not(.reduced) #eol .eol-link:hover:after{translate:2px -2px}}#eol .eol-name{margin:0;overflow:hidden;padding-block:.14em .04em}#eol .eol-name-in{position:relative;display:block}#eol .eol-base,#eol .eol-fill,#eol .eol-sweep-in{display:block;white-space:nowrap;font:700 7.3vw/1.12 var(--f-display);letter-spacing:-.055em}#eol .eol-base{color:var(--ink);-webkit-text-stroke:2px color-mix(in oklab,var(--bone) 38%,transparent);paint-order:stroke fill;transition:-webkit-text-stroke-color .4s}#eol .eol-fill{position:absolute;inset:0;color:transparent;background-image:radial-gradient(240px circle at var(--mx, -400px) var(--my, -400px),var(--accent),color-mix(in oklab,var(--accent-2) 60%,transparent) 40%,transparent 70%);background-size:100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text}#eol .eol-name.is-hot .eol-base{-webkit-text-stroke-color:color-mix(in oklab,var(--accent) 60%,transparent)}#eol .eol-sweep{position:absolute;top:0;bottom:0;left:0;width:40%;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 50%,transparent);mask-image:linear-gradient(90deg,transparent,#000 50%,transparent);animation:eol-sweep 7s linear infinite}#eol .eol-sweep-in{display:block;width:250%;color:color-mix(in oklab,var(--accent) 38%,transparent);animation:eol-sweep-in 7s linear infinite}@keyframes eol-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes eol-sweep-in{0%{transform:translate(40%)}to{transform:translate(-100%)}}html.legacyfx #eol .eol-sweep{display:none}html.legacyfx #eol .eol-fill{background-image:radial-gradient(240px circle at var(--mx, -400px) var(--my, -400px),var(--accent),color-mix(in oklab,var(--accent-2) 60%,transparent) 40%,transparent 70%),linear-gradient(100deg,transparent 42%,color-mix(in oklab,var(--accent) 38%,transparent) 50%,transparent 58%);background-size:100% 100%,260% 100%;animation:eol-sheen 7s linear infinite}@keyframes eol-sheen{0%{background-position:0 0,130% 0}to{background-position:0 0,-130% 0}}#eol .eol-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:22px;border-top:1px solid var(--line);font-size:.78rem;color:var(--mute)}#eol .eol-bar .mono{letter-spacing:.08em}#eol .eol-uptime span{color:var(--accent);font-variant-numeric:tabular-nums}#eol .eol-credit{text-transform:none;letter-spacing:.08em;font-size:.66rem}@media(max-width:767px){#eol .eol-base,#eol .eol-fill,#eol .eol-sweep-in{font-size:10.6vw;white-space:normal;line-height:1.16}#eol .eol-bar{flex-direction:column;align-items:flex-start}}@media(max-width:480px){#eol .eol-link{position:relative;gap:.65em;padding:.85em 1.1em}#eol .eol-link>span:not(.sr-only){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media(prefers-reduced-motion:reduce){#eol .eol-fill{animation:none}#eol .eol-sweep{display:none}}html.reduced #eol .eol-fill{animation:none}html.reduced #eol .eol-sweep{display:none}@media print{@page{size:A4;margin:14mm 14mm 16mm}html,body{background:#fff!important;color:#111!important}#stage,#ambient,.trace,.preloader,.progress,.dock,.rail,.menu,.grain,.hud,.skip-link,main>section:not(#cv),#cv .cv-top,#cv .cv-scan,#cv .slot,#cv .cv-block.is-empty,#cv .cv-chips.is-slot{display:none!important}main{opacity:1!important;visibility:visible!important}#cv{--accent: #1b4f8f;--accent-2: #1b4f8f;--bone: #111;--mute: #555;--line: #d4d4d4;--ink: #fff;padding:0!important;color:#111}#cv .wrap{width:100%;padding:0}#cv,#cv *{opacity:1!important;transform:none!important;filter:none!important;visibility:visible!important;clip-path:none!important;animation:none!important;transition:none!important;box-shadow:none!important;text-shadow:none!important}#cv .cv-doc{background:none!important;border:0!important;border-radius:0;padding:0!important;overflow:visible}#cv .cv-head{border-bottom-color:#1b4f8f}#cv .cv-name{font-size:26pt}#cv .cv-body{grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important;gap:0 10mm}#cv .cv-block{break-inside:avoid;padding-block:5mm}#cv .cv-h-n{background:none!important;color:#1b4f8f!important}#cv .cv-tl-line{background:#1b4f8f!important}#cv .cv-tl-node{background:#fff!important}#cv .cv-meter-bar{background:#e6e6e6!important}#cv .cv-meter-bar i{transform:scaleX(var(--p))!important;background:#1b4f8f!important}#cv a{color:#111!important;text-decoration:none}#cv .cv-foot{margin-top:6mm}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}
