/*! The Void — © 2026 Yarin Levin (https://yarinlevin.com). All rights reserved. Open-source code inside keeps its own license: /licenses.txt */
*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Bricolage;src:url(/fonts/BricolageGrotesque.woff2)format("woff2");font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap}@font-face{font-family:Schibsted;src:url(/fonts/SchibstedGrotesk.woff2)format("woff2");font-weight:400 900;font-style:normal;font-display:swap}:root{--f-display:"Bricolage", "Helvetica Neue", Arial, sans-serif;--f-body:"Schibsted", "Helvetica Neue", Arial, sans-serif;--f:var(--f-body);--ease-out:cubic-bezier(.22, 1, .36, 1)}html,body{overscroll-behavior:none;width:100%;height:100%;font-family:var(--f);color:#cfe8ff;background:#06141c;overflow:hidden}html,button,a{touch-action:manipulation}#scene{z-index:0;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#overlay{z-index:1;pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 16px;transition:opacity .4s;display:flex;position:fixed;inset:0}#overlay h1{font-family:var(--f-display);font-optical-sizing:auto;letter-spacing:-.035em;color:#eef6ff;margin:0;font-size:clamp(3rem,min(15vw,17vh),9.5rem);font-weight:800;line-height:.86}#overlay .op-line{clip-path:inset(-1em -1em 0);margin-bottom:-.12em;padding:.02em .06em .14em;display:block}#overlay.revealed .op-line{clip-path:inset(-1em);transition:clip-path 0s linear 1.3s}#overlay .op-w{transition:transform 1.05s var(--ease-out) var(--d,0s);color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(105deg,#0000 40%,#4fd2ffd9 46%,#fff 50%,#4fd2ffd9 54%,#0000 60%) 160% 0/250% 100% no-repeat,linear-gradient(#f2f7fc 0%,#d8e8f5 48%,#8cc6ecd6 82%,#64b2e69e 100%);filter:drop-shadow(0 0 22px #4fd2ff47)drop-shadow(0 1px #0a1e3280);-webkit-background-clip:text;background-clip:text;display:inline-block;transform:translateY(112%)}#overlay.revealed .op-w{animation:opSheen 7s ease-in-out calc(1.6s + var(--d,0s)) infinite}@keyframes opSheen{0%{background-position:160% 0,0 0}32%,to{background-position:-60% 0,0 0}}#overlay .op-dot{color:#4fd2ff;-webkit-text-fill-color:#4fd2ff}#overlay.gl-name .op-line{visibility:hidden;clip-path:none}#overlay.away .op-line{opacity:0;transition:opacity .35s}#overlay.gl-name .op-w{filter:none;transition:none;animation:none;transform:none}#overlay.revealed .op-w{transform:none}#overlay.revealed .sub,#overlay.revealed .op-act>*{opacity:1;transform:none}#overlay .sub{font-family:var(--f-body);letter-spacing:.01em;color:#9fc2e0;opacity:0;transition:opacity .7s ease .34s, transform .8s var(--ease-out) .34s;margin:1.15rem 0 0;font-size:clamp(1rem,.7rem + .9vw,1.35rem);font-weight:500;transform:translateY(14px)}#overlay .op-act{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;margin-top:1.9rem;display:flex}#overlay .op-act>*{white-space:nowrap;font-family:var(--f-body);letter-spacing:.01em;-webkit-backdrop-filter:blur(10px)saturate(140%);opacity:0;transition:opacity .6s ease .5s, transform .7s var(--ease-out) .5s, background .2s ease, box-shadow .2s ease, border-color .2s ease;border:1px solid #cfe8ff29;border-radius:999px;align-items:center;gap:.5rem;padding:.62rem 1.1rem;font-size:.92rem;font-weight:500;display:inline-flex;transform:translateY(10px)scale(.98);box-shadow:inset 0 1px #ffffff29,inset 0 -1px #00000040,0 6px 20px #0000004d}#overlay .op-avail{color:#b8f0cf;background:linear-gradient(#3fc97829,#3fc9780a 60%,#3fc97814);border-color:#3fc9784d}#overlay .op-avail i{background:#3fc978;border-radius:50%;width:7px;height:7px;position:relative;box-shadow:0 0 8px #3fc978}#overlay .op-avail i:after{content:"";opacity:0;border:1px solid #3fc978;border-radius:50%;animation:2.4s ease-out 1.6s infinite opPing;position:absolute;inset:-5px}@keyframes opPing{0%{opacity:.8;transform:scale(.4)}80%,to{opacity:0;transform:scale(1.5)}}#overlay .op-cta{pointer-events:auto;cursor:pointer;color:#eaf8ff;background:linear-gradient(#4fd2ff4d,#4fd2ff1a 60%,#4fd2ff2e);border-color:#4fd2ff80;font-weight:600;transition-delay:.62s,.62s,0s,0s,0s;box-shadow:inset 0 1px #ffffff40,0 0 18px #4fd2ff38,0 6px 20px #0000004d}#overlay .op-cta svg{width:15px;height:15px;transition:transform .25s var(--ease-out)}#overlay .op-cta:hover{background:linear-gradient(#4fd2ff6b,#4fd2ff29 60%,#4fd2ff42);box-shadow:inset 0 1px #ffffff4d,0 0 26px #4fd2ff61,0 6px 20px #0000004d}#overlay .op-cta:hover svg{transform:translateY(2px)}#overlay .op-cta:focus-visible{outline-offset:3px;outline:2px solid #4fd2ff}#overlay[inert] .op-cta{pointer-events:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#hud{z-index:4;pointer-events:none;position:fixed;bottom:0;left:0;right:0}#hud .hud-arrows{left:50%;bottom:calc(1.1rem + env(safe-area-inset-bottom,0px));gap:.7rem;display:flex;position:absolute;transform:translate(-50%)}#hud .hud-arrows button{pointer-events:auto;color:#4fd2ff;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#060c148c;border:1px solid #4fd2ff73;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;padding:0;transition:border-color .25s,background .25s,opacity .3s,transform .3s;display:grid}#hud .hud-arrows button svg{width:1rem;height:1rem}#hud .hud-arrows button:hover{background:#4fd2ff24;border-color:#4fd2ff}#hud .hud-arrows button:focus-visible{outline-offset:2px;outline:2px solid #4fd2ff}#hud .hud-arrows button[disabled]{opacity:.25;pointer-events:none}#hud.at-start #hud-down{animation:1.8s ease-out 2 hudPulse}@keyframes hudPulse{0%{box-shadow:0 0 #4fd2ff73}70%{box-shadow:0 0 0 10px #4fd2ff00}to{box-shadow:0 0 #4fd2ff00}}#hud .hud-rail{background:#4fd2ff1f;height:2px;position:absolute;bottom:0;left:0;right:0}#hud .hud-rail i{transform-origin:0;background:#4fd2ff;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1);display:block;transform:scaleX(0);box-shadow:0 0 8px #4fd2ff}@media (prefers-reduced-motion:reduce){#hud .hud-rail i{transition:none}#hud.at-start #hud-down{animation:none}}#phone-note{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:8;-webkit-backdrop-filter:blur(10px);font-family:var(--f-body);color:#f4ecdc;animation:pnIn .5s var(--ease-out,cubic-bezier(.22,1,.36,1)) both;background:#181208eb;border:1px solid #eab04eb3;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.8rem .9rem;font-size:.9rem;line-height:1.4;display:grid;position:fixed;box-shadow:0 0 0 1px #eab04e2e,0 0 28px #eab04e47,0 14px 34px #0000008c}#phone-note[hidden]{display:none}#phone-note p{margin:0}#phone-note b{color:#ffd27a;font-weight:700}#phone-note .pn-icon{color:#1a1207;width:1.9rem;height:1.9rem;font-family:var(--f-body);background:#eab04e;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:800;animation:1.6s ease-in-out 3 pnPulse;display:grid;box-shadow:0 0 14px #eab04e99}#phone-note button{font:inherit;color:#ffd27a;cursor:pointer;white-space:nowrap;background:#eab04e29;border:1px solid #ffd27a99;border-radius:999px;padding:.45rem .8rem;font-weight:600}@keyframes pnIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes pnPulse{50%{box-shadow:0 0 0 8px #eab04e00,0 0 14px #eab04e99}}@media (prefers-reduced-motion:reduce){#phone-note,#phone-note .pn-icon{animation:none}}@media (width>=640px){#phone-note{display:none!important}}#editor{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#cfe8ff;letter-spacing:.04em;pointer-events:auto;background:#080e16d1;border:1px solid #4fd2ff59;border-radius:12px;width:260px;max-height:90vh;padding:.9rem 1rem;font-size:.72rem;position:fixed;top:1rem;right:1rem;overflow-y:auto}#editor[hidden]{display:none}#editor .row{align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}#editor .row.title{letter-spacing:.18em;color:#4fd2ff;justify-content:space-between;margin-bottom:.8rem;font-weight:700}#editor .hint{color:#5b768f;letter-spacing:.06em;font-weight:400}#editor label{color:#8fb0cc;text-transform:uppercase;flex:0 0 56px}#editor input[type=range]{accent-color:#4fd2ff;flex:1}#editor .val{text-align:right;color:#eaf4ff;font-variant-numeric:tabular-nums;flex:0 0 38px}#editor button{font:inherit;color:#eaf4ff;cursor:pointer;background:#4fd2ff1a;border:1px solid #4fd2ff73;border-radius:8px;padding:.35rem .7rem}#editor button:hover{background:#4fd2ff38}#editor #ed-copy{width:100%;margin-top:.5rem}#editor .status{color:#6ee7a8;min-height:1em;margin-top:.5rem}#editor{width:290px}#editor input[type=number],#editor input[type=text]{color:#eaf4ff;min-width:0;font:inherit;background:#ffffff0f;border:1px solid #4fd2ff4d;border-radius:6px;flex:1;padding:.2rem .4rem}#editor .sec-title{letter-spacing:.2em;text-transform:uppercase;color:#4fd2ff;border-top:1px solid #4fd2ff2e;margin:.7rem 0 .45rem;padding-top:.55rem;font-size:.62rem}#editor .btns{flex-wrap:wrap;gap:.4rem}#editor .btns button{white-space:nowrap;flex:1;padding:.35rem .4rem;font-size:.68rem}#editor .chk{color:#8fb0cc;align-items:center;gap:.4rem;margin:.3rem 0 .55rem;display:flex}#editor .chk input{accent-color:#4fd2ff}#editor .navhint{color:#5b768f;letter-spacing:.05em;margin-top:.5rem;font-size:.6rem}#editor .row.slider{gap:.45rem}#editor .row.slider input[type=range]{accent-color:#4fd2ff;flex:1;min-width:0}#editor .row.slider .numbox{flex:0 0 52px}#editor .row.col{flex-direction:column;align-items:stretch;gap:.25rem}#editor .row.col label{flex:none}#editor textarea{color:#eaf4ff;width:100%;font:inherit;resize:vertical;background:#ffffff0f;border:1px solid #4fd2ff4d;border-radius:6px;padding:.25rem .4rem}#editor input::placeholder,#editor textarea::placeholder{color:#5b768f}#ed-panelfields{flex-direction:column;gap:.55rem;margin-bottom:.4rem;display:flex}.beat-row.dragging{opacity:.45}.beat-row.dragover{outline-offset:1px;outline:2px dashed #4fd2ffd9}.beat-row .bidx{cursor:grab}#timeline{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#cfe8ff;background:#080e16d1;border:1px solid #4fd2ff59;border-radius:12px;padding:.6rem .9rem 1.1rem;font-size:.7rem;position:fixed;bottom:1rem;left:1.5rem;right:320px}#timeline[hidden]{display:none}#timeline .tl-head{letter-spacing:.1em;color:#6f93b8;justify-content:space-between;align-items:baseline;margin-bottom:.55rem;display:flex}#timeline #tl-total{color:#4fd2ff;font-variant-numeric:tabular-nums}.tl-track{cursor:crosshair;background:#ffffff0d;border-radius:6px;height:36px;position:relative}.tl-track:before{content:"";background:#4fd2ff40;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.tl-node{cursor:grab;touch-action:none;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:absolute;top:0;transform:translate(-50%)}.tl-node .tl-dot{background:#4fd2ff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #4fd2ff99}.tl-node.selected .tl-dot{background:#fff;width:16px;height:16px}.tl-node .tl-lbl{color:#8fb0cc;font-variant-numeric:tabular-nums;margin-top:3px;font-size:.6rem}.tl-playhead{pointer-events:none;background:#ff3df0;width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-50%);box-shadow:0 0 6px #ff3df0b3}#fxpanel{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:212px;max-height:88vh;font-family:var(--f);letter-spacing:.05em;text-transform:uppercase;color:#8fb0cc;background:#06141ce6;border:1px solid #4fd2ff38;border-radius:9px;flex-direction:column;gap:.28rem;padding:.7rem .8rem;font-size:.58rem;display:flex;position:fixed;top:1.2rem;right:1.2rem;overflow-y:auto}#fxpanel[hidden]{display:none}#fxpanel .fx-head{color:#eaf4ff;letter-spacing:.16em;justify-content:space-between;align-items:center;margin-bottom:.2rem;display:flex}#fxpanel .fx-head span{color:#5b768f;border:1px solid #8fb0cc4d;border-radius:3px;padding:0 5px}#fxpanel .fx-sec{color:#4fd2ff;letter-spacing:.14em;margin:0 0 .2rem;font-size:.6rem}.sidepanel{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:212px;max-height:88vh;font-family:var(--f);letter-spacing:.05em;text-transform:uppercase;color:#8fb0cc;background:#06141ce6;border:1px solid #4fd2ff38;border-radius:9px;flex-direction:column;gap:.28rem;padding:.7rem .8rem;font-size:.58rem;display:flex;position:fixed;overflow-y:auto}.sidepanel[hidden]{display:none}#txpanel{top:1.2rem;left:1.2rem}#uxpanel{bottom:1.2rem;left:1.2rem}.sidepanel .fx-row.col{display:block}.sidepanel .fx-row textarea{box-sizing:border-box;color:#eaf4ff;width:100%;font:inherit;text-transform:none;resize:vertical;background:#06141ce6;border:1px solid #4fd2ff4d;border-radius:3px}.sidepanel .fx-row input[type=color]{cursor:pointer;background:0 0;border:1px solid #4fd2ff4d;border-radius:3px;flex:1;min-width:0;height:20px;padding:0}.sidepanel .fx-row.btns2{gap:.3rem}.sidepanel .fx-row.btns2 button{color:#aee2ff;font:inherit;text-transform:uppercase;cursor:pointer;background:#4fd2ff1a;border:1px solid #4fd2ff4d;border-radius:3px;flex:1;padding:3px 2px}.sidepanel .fx-row.btns2 button:hover{background:#4fd2ff38}.sidepanel .fx-head{color:#eaf4ff;letter-spacing:.16em;justify-content:space-between;align-items:center;margin-bottom:.2rem;display:flex}.sidepanel .fx-head span{color:#5b768f;border:1px solid #8fb0cc4d;border-radius:3px;padding:0 5px}.sidepanel .fx-group{color:#4fd2ff;letter-spacing:.18em;border-top:1px solid #4fd2ff24;margin-top:.55rem;padding-top:.35rem}.sidepanel .fx-row{align-items:center;gap:.4rem;display:flex}.sidepanel .fx-row label{flex:0 0 66px}.sidepanel .fx-row input[type=range]{accent-color:#4fd2ff;flex:1;min-width:0}.sidepanel .fx-row select{color:#4fd2ff;min-width:0;font:inherit;text-transform:uppercase;background:#06141ce6;border:1px solid #4fd2ff4d;border-radius:3px;flex:1}.sidepanel .fx-row span{text-align:right;color:#4fd2ff;flex:0 0 44px}.sidepanel .fx-hint{color:#5b768f;text-align:right;margin-top:.45rem}.sidepanel .fx-chk{color:#8fb0cc;cursor:pointer;align-items:center;gap:.4rem;margin-top:.15rem;display:flex}.sidepanel .fx-chk input{accent-color:#4fd2ff}#loader{z-index:50;--r:0px;-webkit-mask-image:radial-gradient(circle at 50% 50%, transparent var(--r), #000 calc(var(--r) + 1px));-webkit-mask-image:radial-gradient(circle at 50% 50%, transparent var(--r), #000 calc(var(--r) + 1px));mask-image:radial-gradient(circle at 50% 50%, transparent var(--r), #000 calc(var(--r) + 1px));background:#020609;position:fixed;inset:0}#loader .ld-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible}#ld-track{fill:none;stroke:#8fb0cc2e;stroke-width:1px}#ld-arc{fill:none;stroke:#4fd2ff;stroke-width:1.6px;stroke-linecap:round;filter:drop-shadow(0 0 6px #4fd2ffcc)}#loader .ld-num{will-change:transform;font-family:var(--f-body);color:#eaf4ff;font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap;font-size:.9rem;font-weight:600;position:absolute;top:0;left:0}#loader .ld-unit{color:#4fd2ff;margin-left:.1em}#loader.done{pointer-events:none}#loader.done .ld-num{opacity:0;transition:opacity .2s}#ed-beatlist{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.beat-row{cursor:pointer;background:#ffffff0a;border-radius:8px;flex-direction:column;gap:4px;padding:5px;display:flex}.beat-row.selected{background:#4fd2ff38;outline:1px solid #4fd2ff99}.beat-row .thumb{aspect-ratio:240/150;background:#04060a;border:1px solid #4fd2ff2e;border-radius:5px;width:100%;display:block}.beat-row .beat-meta{align-items:center;gap:4px;display:flex}.beat-row .bname{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.beat-row .bidx{color:#4fd2ff;font-variant-numeric:tabular-nums}.beat-row button{color:#cfe8ff;cursor:pointer;background:#ffffff0f;border:1px solid #4fd2ff40;border-radius:4px;padding:0 5px;font-size:.7rem;line-height:1.4}.beat-row button:hover{background:#4fd2ff33}#editor .btns button.active{color:#fff;background:#4fd2ff61;border-color:#4fd2fff2}@media (width<=640px){#hud .hud-arrows{bottom:calc(.9rem + env(safe-area-inset-bottom,0px))}}#print-cv{display:none}@media print{@page{margin:10mm 14mm}html,body{color:#111;background:#fff;height:auto;overflow:visible}body>:not(#print-cv){display:none!important}#print-cv{font-family:var(--f);color:#111;font-size:8.4pt;line-height:1.32;display:block}#print-cv header{border-bottom:1.5pt solid #111;margin-bottom:5pt;padding-bottom:4pt}#print-cv h1{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:15pt;font-weight:700}#print-cv .pcv-sub{margin-top:2pt;font-size:9.5pt;font-weight:600}#print-cv .pcv-contact{color:#333;margin-top:3pt;font-size:8pt}#print-cv .pcv-contact>*{white-space:nowrap}#print-cv .pcv-contact a{color:inherit;text-decoration:none}#print-cv .pcv-profile{color:#222;margin:0 0 6pt;font-size:8.8pt}#print-cv h2{letter-spacing:.06em;text-transform:uppercase;color:#111;border-bottom:.5pt solid #999;margin:5.5pt 0 2pt;padding-bottom:1.5pt;font-size:7.8pt;font-weight:700}#print-cv .pcv-item{break-inside:avoid;margin-bottom:3.5pt}#print-cv .pcv-row{justify-content:space-between;align-items:baseline;display:flex}#print-cv .pcv-row b{font-size:8.8pt}#print-cv .pcv-row span{color:#444;white-space:nowrap;margin-left:8pt;font-size:8pt}#print-cv .pcv-org{color:#444;font-size:8.4pt}#print-cv ul{margin:1.5pt 0 0 11pt;padding:0}#print-cv li{margin:.5pt 0}#print-cv .pcv-skill{margin:1.5pt 0}#print-cv .pcv-foot{color:#555;border-top:.5pt solid #999;margin-top:8pt;padding-top:3pt;font-size:7.5pt}}#stops{z-index:3;pointer-events:none;position:fixed;inset:0}#stops .sent{text-wrap:balance;display:block}#stops .seg{white-space:nowrap}#stops :is(p,dd,.tl-line,.also-line,.stack){text-wrap:balance}.stop{pointer-events:none;opacity:0;visibility:hidden;font-family:var(--f-body);color:#cfe8ff;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:safe center;padding:14vh 6vw 10vh;transition:opacity .4s,visibility 0s linear .4s;display:flex;position:absolute;inset:0;overflow-y:auto}@media (width>=720px){.stop{padding:18vh 6vw 12vh}}.stop.in{opacity:1;visibility:visible;pointer-events:none;transition:opacity .4s}.stop.in>*{pointer-events:auto}.stop a{color:#7fe0ff;text-decoration:none}.eyebrow,.stack,.group-label,.proof-item span,.repo .links,.mail small{font-family:var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#4fd2ff;font-size:.75rem;font-weight:600}.eyebrow{margin-bottom:1rem}.stack{color:#7fa8c8}.pill{color:#eaf4ff;font:inherit;cursor:pointer;background:#4fd2ff14;border:1px solid #4fd2ff8c;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.8rem;display:inline-flex}.pill:is(a,button):hover{background:#4fd2ff2e;border-color:#4fd2ff}.pill.ghost{color:#9fc2e0;background:0 0;border-color:#9fd8ff40}a.pill.ghost:hover{color:#eaf4ff;border-color:#4fd2ff}span.pill{cursor:default}.links{flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;display:flex}.stop-hi,.stop-about{justify-content:safe flex-end}.hi,.about{max-width:34rem}.hi .greeting,.about .about-title{font-family:var(--f-display);letter-spacing:-.02em;color:#eaf4ff;margin:0 0 .8rem;font-size:clamp(2rem,6vw,4.2rem);font-weight:800;font-stretch:78%;line-height:.95}.hi .status{font-family:var(--f-body);letter-spacing:.01em;color:#4fd2ff;margin-bottom:1.4rem;font-size:.9rem;font-weight:600}.hi .line{font-family:var(--f-display);color:#eaf4ff;max-width:34ch;margin:0 0 .5em;font-size:clamp(1.15rem,2.4vw,1.8rem);font-weight:500;font-stretch:90%;line-height:1.25}.about .para{color:#b8d4ea;max-width:46ch;margin:0 0 .9em;font-size:clamp(.95rem,1.5vw,1.05rem);line-height:1.55}.hi .greeting,.hi .line,.about .about-title,.about .para{opacity:0;transition:opacity .45s,transform .45s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i) * 60ms);transform:translateY(12px)}.stop.in .hi .greeting,.stop.in .hi .line,.stop.in .about .about-title,.stop.in .about .para{opacity:1;transform:none}@media (width>=900px){.stop-hi,.stop-about{justify-content:safe center}.stop-hi[data-side=left] .hi{margin-left:auto;margin-right:0}.stop-about[data-side=right] .about{margin-left:0;margin-right:auto}}.stop-img{margin:0;display:none}.stop-imgs{display:none}@media (orientation:portrait),(height<=520px){.stop-img{display:block}.stop-img img{background:#06101c;border:1px solid #9fd8ff61;border-radius:3px;width:100%;height:auto;display:block;box-shadow:0 0 28px #4fd2ff24,0 12px 30px #00000073}.stop-img.portrait{max-width:13.5rem;margin-bottom:1.4rem}.stop-img.shot{max-width:70%;margin-bottom:.6rem}.stop-img.shot img{width:auto;max-width:100%;max-height:30vh}.stop-img.anim{width:min(100%,47.7273vh)}.stop-img.anim canvas{aspect-ratio:28/17.6;background:#0b0f16;border:1px solid #9fd8ff61;border-radius:3px;width:100%;display:block;box-shadow:0 0 28px #4fd2ff24,0 12px 30px #00000073}.stop-imgs{grid-template-columns:16fr 9fr;align-items:start;gap:.5rem;max-width:34rem;margin-bottom:1rem;display:grid}.stop-hi,.stop-about{justify-content:safe center}}@media (orientation:portrait){.stop-img.shot.phone img{max-height:26vh}}@media (orientation:portrait),(height<=520px){.stop-img.exhibit-fig{width:min(100%,53.3333vh);max-width:none}.stop-img.clip .clip-box{vertical-align:top;max-width:100%;display:inline-block;position:relative}.stop-img.clip video{object-fit:cover;opacity:0;pointer-events:none;border-radius:2px;width:calc(100% - 2px);height:calc(100% - 2px);transition:opacity .35s .15s;position:absolute;top:1px;left:1px}.stop-img.clip.playing video{opacity:1}.stop-img.exhibit-fig video{aspect-ratio:16/9;background:#0b2230;border:1px solid #9fd8ff61;border-radius:3px;width:100%;display:block;box-shadow:0 0 28px #4fd2ff24,0 12px 30px #00000073}}@media (orientation:portrait) and (prefers-reduced-motion:no-preference),(height<=520px) and (prefers-reduced-motion:no-preference){.stop-img.portrait img{opacity:0;filter:saturate(.2)sepia(.25)hue-rotate(165deg)blur(6px);transition:opacity .35s ease, transform .6s var(--ease-out), filter .6s ease;transform:scale(1.03)}.stop.in .stop-img.portrait img{opacity:1;filter:none;transform:none}.stop-hi .hi .greeting,.stop-hi .hi .status,.stop-hi .hi .line{transition-delay:calc(var(--i,0) * 70ms + .18s)}.hi .status{opacity:0;transition:opacity .4s}.stop.in .hi .status{opacity:1}.stop-imgs .lead{opacity:0;transform-origin:100%;transform:translate(-22px)rotate(-2deg)}.stop-imgs .small{opacity:0;transform-origin:0;transform:translate(22px)rotate(2deg)}.stop-imgs .lead,.stop-imgs .small{transition:opacity .4s ease, transform .55s var(--ease-out)}.stop-imgs .small{transition-delay:60ms}.stop.in .stop-imgs .lead,.stop.in .stop-imgs .small{opacity:1;transform:none}.stop-about .about .about-title,.stop-about .about .para{transition-delay:calc(var(--i,0) * 60ms + .22s)}.proof{opacity:0;transition:opacity .35s ease, transform .45s var(--ease-out), box-shadow .5s ease;transform:translateY(8px);box-shadow:0 0 #4fd2ff00}.stop.in .proof{opacity:1;animation:.9s ease-out .1s proofLight;transform:none}@keyframes proofLight{30%{border-color:#4fd2ff80;box-shadow:0 0 26px #4fd2ff59}to{box-shadow:0 0 #4fd2ff00}}.repo{opacity:0;transition:opacity .35s ease, transform .5s var(--ease-out);transform:translateY(14px)}.repo:first-child{transition-delay:.26s}.repo:nth-child(2){transition-delay:.34s}.repo:nth-child(3){transition-delay:.42s}.stop.in .repo{opacity:1;transform:none}.stop-project .project{transition-delay:.2s}.stop-img.shot{border-radius:3px;position:relative;overflow:hidden}.stop-img.shot:after{content:"";pointer-events:none;opacity:0;position:absolute}[data-reveal=scan] .stop-img.shot img{clip-path:inset(0 0 calc(100% - 1px));transition:clip-path .55s linear}[data-reveal=scan] .stop-img.shot:after{background:#4fd2ff;height:2px;top:0;left:0;right:0;box-shadow:0 0 12px #4fd2ff,0 0 2px #fff}.stop.in[data-reveal=scan] .stop-img.shot img{clip-path:inset(0)}.stop.in[data-reveal=scan] .stop-img.shot:after{animation:.55s linear forwards scanDown}@keyframes scanDown{0%{opacity:1;top:0}90%{opacity:1}to{opacity:0;top:100%}}[data-reveal=iris] .stop-img.shot img{clip-path:inset(46% round 8px);opacity:.6;transition:clip-path .6s var(--ease-out), opacity .3s ease}.stop.in[data-reveal=iris] .stop-img.shot img{clip-path:inset(0 round 2px);opacity:1}[data-reveal=deal] .stop-img.shot{overflow:visible}[data-reveal=deal] .stop-img.shot img{opacity:0;transform-origin:bottom;transition:opacity .35s ease, transform .6s var(--ease-out);transform:perspective(700px)translateY(28px)rotateX(14deg)}.stop.in[data-reveal=deal] .stop-img.shot img{opacity:1;transform:none}[data-reveal=wipe] .stop-img.shot img{clip-path:inset(0 calc(100% - 1px) 0 0);transition:clip-path .55s var(--ease-out)}[data-reveal=wipe] .stop-img.shot:after{background:#9fd8ff;width:2px;top:0;bottom:0;left:0;box-shadow:0 0 12px #4fd2ff,0 0 2px #fff}.stop.in[data-reveal=wipe] .stop-img.shot img{clip-path:inset(0)}.stop.in[data-reveal=wipe] .stop-img.shot:after{animation:wipeAcross .55s var(--ease-out) forwards}@keyframes wipeAcross{0%{opacity:1;left:0}85%{opacity:1}to{opacity:0;left:100%}}[data-reveal=shutter] .stop-img.shot img{opacity:0;filter:brightness(1.9)contrast(.7)blur(3px);transition:opacity .3s,filter .6s ease-out}.stop.in[data-reveal=shutter] .stop-img.shot img{opacity:1;filter:none}}.wf{max-width:60rem;margin:.2rem 0 1.1rem}.wf-cv{aspect-ratio:6.6;width:100%;height:auto;display:block}@media (width<=640px),(height<=520px){.wf-cv{aspect-ratio:3.7}}.tl-title{font-family:var(--f-display);letter-spacing:-.02em;color:#eaf4ff;margin:0 0 1.2rem;font-size:clamp(2rem,6vw,4.2rem);font-weight:800;font-stretch:78%;line-height:.95}.timeline{max-width:40rem;margin:0;padding:0 0 0 1.4rem;list-style:none;position:relative}.timeline:before{content:"";transform-origin:top;background:linear-gradient(#4fd2ff,#4fd2ff26);width:1px;transition:transform .6s cubic-bezier(.22,1,.36,1);position:absolute;top:.4rem;bottom:.4rem;left:.3rem;transform:scaleY(0)}.stop.in .timeline:before{transform:scaleY(1)}.tl-row{opacity:0;transition:opacity .35s,transform .35s;transition-delay:calc(var(--i) * 70ms + .12s);grid-template-columns:1fr;gap:.15rem .8rem;padding:.7rem 0;display:grid;position:relative;transform:translate(-10px)}.stop.in .tl-row{opacity:1;transform:none}.tl-dot{opacity:0;width:7px;height:7px;transition:opacity .3s;transition-delay:calc(var(--i) * 70ms + .2s);background:#4fd2ff;border-radius:50%;margin-left:.3rem;position:absolute;top:1.05rem;left:-1.4rem;transform:translate(-50%);box-shadow:0 0 10px #4fd2ff}.stop.in .tl-dot{opacity:1}.tl-when{font-family:var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#4fd2ff;font-size:.75rem;font-weight:600}.tl-what{color:#eaf4ff;font-size:.95rem;font-weight:600;display:block}.tl-line{color:#9fc2e0;font-size:.82rem;line-height:1.45;display:block}.stop-timeline .pill{align-self:flex-start;margin-top:1.2rem}@media (width>=720px){.tl-row{grid-template-columns:6rem 1fr}}.lab{display:none}@media (width>=1100px) and (height>=600px){.stop-timeline .timeline{max-width:min(56rem,88vw - min(28rem,33vw) - 4rem)}.lab{width:min(28rem,33vw);font-family:var(--f-body);letter-spacing:.06em;color:#9fc2e0;opacity:0;transition:opacity .5s ease .25s, transform .55s var(--ease-out,cubic-bezier(.22,1,.36,1)) .25s;background:#060c14c7;border:1px solid #4fd2ff47;border-radius:10px;padding:.8rem .9rem .85rem;font-size:.75rem;font-weight:700;display:block;position:absolute;top:50%;right:6vw;transform:translateY(-46%)}.stop.in .lab{opacity:1;transform:translateY(-50%)}.lab-hd{text-transform:uppercase;letter-spacing:.1em;color:#4fd2ff;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.lab-tabs{border:1px solid #4fd2ff4d;border-radius:999px;display:inline-flex;overflow:hidden}.lab button{font:inherit;letter-spacing:.1em;text-transform:uppercase;color:#9fc2e0;cursor:pointer;background:0 0;border:0}.lab-tabs button{padding:.3rem .7rem}.lab-tabs button[aria-selected=true]{color:#eaf4ff;background:#4fd2ff2e}.lab-view{display:none}.lab[data-view=play] .lab-play,.lab[data-view=code] .lab-code{display:block}.lab-plot{height:clamp(170px,27vh,240px);margin:.2rem 1.2rem 0;position:relative}.lab-plot canvas{width:100%;height:100%;position:absolute;inset:0}.lab-h{touch-action:none;width:18px;height:18px;padding:0;position:absolute;top:-9px;left:-9px;box-shadow:0 0 10px #4fd2ffcc;cursor:grab!important;background:#06101c!important;border:2px solid #eaf4ff!important;border-radius:50%!important}.lab-h:active{cursor:grabbing!important}.lab-h:focus-visible{outline-offset:3px;outline:2px solid #4fd2ff}.lab-track{background:#4fd2ff1a;border-radius:999px;height:12px;margin:.9rem 1.2rem .7rem;position:relative}.lab-track i{background:#eaf4ff;border-radius:50%;width:12px;height:12px;position:absolute;top:0;left:0;box-shadow:0 0 10px #4fd2ff}.lab-presets{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.lab-presets button{border-radius:999px;padding:.35rem .7rem;border:1px solid #4fd2ff47!important}.lab-presets button[aria-pressed=true]{color:#eaf4ff;background:#4fd2ff24;border-color:#4fd2ff!important}.lab-code{letter-spacing:0;color:#cfe8ff;white-space:pre;tab-size:2;min-height:calc(clamp(170px,27vh,240px) + 4.8rem);margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.75rem;font-weight:400;line-height:1.38;overflow:hidden}.lab-call{letter-spacing:0;color:#eaf4ff;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #9fd8ff24;margin-top:.75rem;padding-top:.6rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem;font-weight:400;display:block;overflow:hidden}}@media (width>=1100px) and (height>=600px) and (prefers-reduced-motion:reduce){.lab{transition:none}}@media (width>=900px) and (height>=560px){.timeline{max-width:56rem}.tl-row{grid-template-columns:7.5rem 1fr;padding:.85rem 0}.tl-dot{top:1.3rem}.tl-when{padding-top:.2rem;font-size:.8rem}.tl-what{font-size:1.25rem}.tl-line{font-size:1.02rem}}@media (width>=900px) and (height>=560px) and (height<=820px){.tl-row{padding:.55rem 0}.tl-dot{top:1rem}}@media (prefers-reduced-motion:reduce){.timeline:before,.tl-row,.tl-dot,.hi .greeting,.hi .line,.about .about-title,.about .para{transition:none}}.method .line{font-family:var(--f-display);color:#eaf4ff;opacity:0;max-width:30ch;transition:opacity .45s,transform .45s;transition-delay:calc(var(--i) * 60ms);margin:0 0 .5em;font-size:clamp(1.1rem,2.4vw,1.8rem);font-weight:500;font-stretch:90%;line-height:1.25;transform:translateY(12px)}.stop.in .method .line{opacity:1;transform:none}.proof{grid-template-columns:1fr;gap:.8rem;margin:1.6rem 0;display:grid}.proof-item .num{font-family:var(--f-display);color:#eaf4ff;font-variant-numeric:tabular-nums;font-size:clamp(1.8rem,9vw,4rem);font-weight:800;display:block}.repos{grid-template-columns:1fr;gap:.6rem;max-width:60rem;display:grid}.repo{background:#08101a8c;border:1px solid #9fd8ff29;border-radius:8px;padding:.8rem 1rem;transition:transform .3s,border-color .3s}.repo:hover{border-color:#4fd2ff99;transform:translateY(-4px)}.repo b{font-family:var(--f-body);letter-spacing:.06em;color:#eaf4ff;font-size:.85rem}.repo p{color:#9fc2e0;margin:.4rem 0;font-size:.82rem;line-height:1.45}.repo .stack{margin-top:.3rem;display:block}.repo .links{margin-top:.5rem}.muted{color:#7f97ad}@media (width>=720px){.proof{grid-template-columns:repeat(3,1fr)}.repos{grid-template-columns:1.4fr 1fr 1fr}.proof-item .num{font-size:clamp(2.2rem,6vw,4rem)}}@media (width>=720px) and (height>=560px){.stop-build{padding-top:10vh;padding-bottom:7vh}.stop-build .method .line{max-width:46ch;font-size:clamp(1.05rem,1.9vw,1.55rem)}.stop-build .proof{margin:1rem 0}}@media (width>=720px) and (height<=820px) and (height>=560px){.stop-timeline,.stop-project{padding-top:15vh;padding-bottom:10vh}.stop-build{padding-top:9vh;padding-bottom:6.5vh}.stop-build .wf{margin-bottom:.5rem}.stop-build .method .line{margin-bottom:.35em;font-size:1.15rem}.stop-build .proof{margin:.7rem 0}.stop-build .proof-item .num{font-size:2.2rem}}@media (width>=720px) and (height>=560px) and (height<=720px){.stop-timeline{padding-top:11vh;padding-bottom:9vh}.stop-timeline .tl-title{margin-bottom:.7rem;font-size:3rem}.tl-row{padding:.32rem 0}.tl-dot{top:.78rem}.tl-what{font-size:1.1rem}.tl-line{font-size:.92rem}.stop-timeline .pill{margin-top:.8rem}.stop-build{padding-top:10.5vh;padding-bottom:6vh}.stop-build .method .line{font-size:1.05rem}.stop-build .proof{margin:.5rem 0}.stop-build .proof-item .num{font-size:1.9rem}.stop-build .wf-cv{aspect-ratio:8}.stop-project{padding-top:12vh;padding-bottom:8vh}.stop-project .project .title{margin-bottom:.7rem;font-size:clamp(2.4rem,5.4vw,4.4rem)}.stop-project .project .outcome{margin-bottom:.8rem}.stop-project .project .also{margin-top:.9rem}}.stop-project{justify-content:safe flex-end}.project{opacity:0;max-width:34rem;transition:opacity .45s .15s,transform .45s .15s;transform:translateY(14px)}.stop.in .project{opacity:1;transform:none}.project .title{font-family:var(--f-display);letter-spacing:-.02em;text-transform:uppercase;color:#eaf4ff;margin:0 0 1rem;font-size:clamp(2.4rem,8vw,5.5rem);font-weight:800;font-stretch:78%;line-height:.9}.project .outcome{font-family:var(--f-display);color:#eaf4ff;max-width:30ch;margin:0 0 1rem;font-size:clamp(1.1rem,2.2vw,1.55rem);font-weight:500;font-stretch:90%;line-height:1.25}.project dl,.project dl>div{gap:.55rem;margin:0;display:grid}.project dt{font-family:var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#4fd2ff;font-size:.75rem;font-weight:600}.project dd{color:#b8d4ea;max-width:52ch;margin:0 0 .2rem;font-size:.9rem;line-height:1.5}.project .stack{margin-top:.8rem}.project .also{color:#9fc2e0;border-top:1px solid #9fd8ff29;grid-template-columns:1fr;gap:.15rem .8rem;margin-top:1.4rem;padding-top:.9rem;font-size:.82rem;display:grid}.project .also-label{font-family:var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#4fd2ff;font-size:.75rem;font-weight:600}.project .also b{color:#eaf4ff;font-weight:600}.project .also-links{gap:.9rem;display:flex}@media (width>=720px){.project .also{grid-template-columns:auto 1fr}.project .also-label{grid-column:1/-1}.project .also-links{justify-self:end}}.xl ul{margin:0;padding:0;list-style:none}.xl-label{font-family:var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#4fd2ff;font-size:.75rem;font-weight:600}.xl-flow{margin-top:.55rem}.xl-flow .more,.xl-flow li span{display:none}.xl-flow ul{color:#b8d4ea;text-wrap:balance;max-width:52ch;margin-top:.2rem;font-size:.9rem;line-height:1.5}.xl-flow li{white-space:nowrap;display:inline}.exhibit{background:#060c14b8;border:1px solid #4fd2ff47;border-radius:8px;max-width:34rem;margin:0 0 1rem;padding:.6rem .8rem .7rem}.ex-hd{min-height:1.6rem;font-family:var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#4fd2ff;align-items:center;gap:.6rem;font-size:.75rem;font-weight:600;display:flex}.ex-hd .more{color:#9fc2e0;letter-spacing:.06em}.ex-media{text-align:right;letter-spacing:.06em;text-transform:none;color:#9fc2e0;flex:1}.ex-replay{font:inherit;color:#eaf4ff;cursor:pointer;background:#4fd2ff14;border:1px solid #4fd2ff73;border-radius:999px;padding:.2rem .65rem}.ex-replay[hidden]{display:none}.ex-choices{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .55rem;display:flex}.ex-choices button{min-height:44px;font:inherit;color:#9fc2e0;cursor:pointer;background:0 0;border:1px solid #9fd8ff40;border-radius:999px;padding:.45rem 1rem;font-size:.85rem}.ex-choices button:hover{color:#eaf4ff;border-color:#4fd2ff}.ex-choices button[aria-pressed=true]{color:#eaf4ff;background:#4fd2ff29;border-color:#4fd2ff}.ex-out{color:#b8d4ea;text-wrap:balance;margin:0;font-size:.9rem;line-height:1.45}.ex-verdict{font-family:var(--f-body);letter-spacing:.1em;text-transform:uppercase;margin-right:.3em;font-weight:800}.exhibit[data-verdict=allowed] .ex-verdict{color:#4ee59b}.exhibit[data-verdict=blocked] .ex-verdict{color:#ff8c8c}.xl-flow li:not(:last-child):after{content:" ·";color:#4fd2ff}.xl-flow b{color:#eaf4ff;font-weight:500}.xl-strip{display:none}@media (width>=1100px) and (height>=600px){.xl-flow{display:none}.xl-strip{top:max(65vh, var(--pb,0px));opacity:0;width:min(41vw,46rem);transition:opacity .45s ease .3s, transform .45s var(--ease-out) .3s;display:block;position:absolute;transform:translateY(10px)}.stop.in .xl-strip{opacity:1;transform:none}.stop-project[data-side=right] .xl-strip{left:max(48vw,6vw + 30rem)}.stop-project[data-side=left] .xl-strip{right:max(48vw,6vw + 30rem)}#stops .xl-strip{pointer-events:none}.xl-strip ul{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.55rem;display:grid}.xl-strip.many{width:min(44vw,50rem)}.xl-strip.many ul{grid-template-columns:repeat(4,1fr);gap:.45rem}.xl-strip.many li{padding:.45rem .65rem .5rem}.xl-strip li{background:#08101a8c;border:1px solid #9fd8ff29;border-radius:8px;padding:.55rem .7rem .6rem}.xl-strip b{color:#eaf4ff;font-size:.85rem;font-weight:600;display:block}.xl-strip li span{color:#9fc2e0;text-wrap:balance;margin-top:.2rem;font-size:.78rem;line-height:1.4;display:block}}@media (width>=1100px) and (height>=600px) and (prefers-reduced-motion:reduce){.xl-strip{transition:opacity .2s;transform:none}}@media (width>=641px) and (height>=521px) and (height<=719px){.xl-flow{display:none}}@media (width>=1100px) and (height>=600px) and (width<=1359px),(width>=1100px) and (height>=600px) and (height<=819px){.xl-strip.many li span{display:none}}@media (width>=1100px) and (height>=600px) and (height<=639px),(width>=1100px) and (width<=1199px) and (height>=600px) and (height<=719px){.xl-strip li span{display:none}}@media (width<=640px){.stop{padding-top:max(14vh,14px + 5.5rem);padding-bottom:max(10vh,4rem)}.stop-hi,.stop-about{padding-top:max(12.5vh,14px + 5.5rem);padding-bottom:max(9vh,4rem)}.stop-project{padding-top:max(12.5vh,14px + 5.5rem);padding-bottom:max(11.5vh,4rem)}.stop-project .eyebrow{margin-bottom:.5rem}.stack{letter-spacing:.06em;color:#9fc2e0}.project dd{margin-bottom:0;font-size:.84rem}.about .para{color:#d6e8f7;margin-bottom:.6em;font-size:.9rem;line-height:1.45}.project dd{color:#d6e8f7}.about .about-title{margin-bottom:.6rem;font-size:clamp(1.7rem,7.5vw,2.4rem)}.stop-about .eyebrow{margin-bottom:.5rem}.hi .status{margin-bottom:1rem}.project .title{margin-bottom:.4rem;font-size:clamp(1.8rem,7.5vw,5.5rem)}.project .outcome{margin-bottom:.5rem;font-size:.92rem}.project dl,.project dl>div{gap:.3rem}.project dd{font-size:.86rem;line-height:1.45}.project .also{grid-template-columns:auto 1fr;align-items:baseline;margin-top:.6rem;padding-top:.45rem}.project .also-label{grid-column:1/-1}.project .also-line{display:none}.project .also-links{justify-self:end}.stop .group-label{margin-bottom:.45rem;position:static}.project dl{display:block}.project dl>div{text-wrap:balance;margin-bottom:.3rem;display:block}.project dt{margin-right:.5em;display:inline}.project dd{display:inline}.project .outcome{margin-bottom:.4rem}.project .stack{margin-top:.35rem}.project .links{margin-top:.55rem}.xl-flow{margin-top:0}.xl-flow .xl-label{margin-right:.5em;display:inline}.xl-flow ul{color:#d6e8f7;font-size:.86rem;line-height:1.45;display:inline}.project.has-xl .stop-img.shot{max-width:52%}.stop-build{padding-top:max(12.5vh,14px + 5.5rem);padding-bottom:max(11vh,4rem)}.stop-build .eyebrow{margin-bottom:.5rem}.method .line{margin-bottom:.25em;font-size:.92rem}.stop-build .method .line,.project .outcome{max-width:none}.proof{background:#08101a8c;border:1px solid #9fd8ff29;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.55rem 0;padding:.4rem .6rem}.proof-item .num{font-size:1.4rem}.proof-item span{letter-spacing:.08em}.repos{grid-template-columns:1fr 1fr;gap:.35rem}.repo.lead{grid-column:1/-1}.repo{padding:.45rem .7rem}.repo p,.repo .stack{display:none}.repo .links{margin-top:.25rem}.stop-timeline{padding-top:max(12.5vh,14px + 5.5rem);padding-bottom:max(11vh,4rem)}.stop-timeline .tl-title{margin-bottom:.6rem;font-size:1.9rem}.stop-timeline .tl-row{grid-template-columns:auto 1fr;align-items:baseline;gap:.05rem .6rem;padding:.38rem 0}.stop-timeline .tl-body{display:contents}.stop-timeline .tl-line{grid-column:1/-1}.stop-timeline .tl-dot{top:.72rem}.stop.stop-timeline .pill{margin-top:.8rem}}@media (width<=640px) and (height<=689px) and (orientation:portrait){.stop-img.shot{max-width:58%}.project.has-xl .stop-img.shot{max-width:42%}.stop-project .eyebrow{margin-bottom:.35rem}.project .title{margin-bottom:.3rem}.project dl>div{margin-bottom:.2rem}.project .also{margin-top:.45rem;padding-top:.35rem}.stop-img.portrait{max-width:12rem}.stop-build .method .line{font-size:.84rem}.stop-build .proof{margin:.35rem 0}}@media (width<=640px) and (height<=640px) and (orientation:portrait){.stop-img.portrait{max-width:11rem}.stop-imgs{max-width:19rem}.stop-img.shot{max-width:52%}.project.has-xl .stack{display:none}.stop-build .proof{grid-template-columns:1fr;gap:.1rem;padding:.35rem .6rem}.stop-build .proof-item{align-items:baseline;gap:.55rem;display:flex}.stop-build .proof-item .num{min-width:1.5em;font-size:1.05rem;display:inline}.stop-build .proof-item span{letter-spacing:.05em}.stop-build .proof{margin:.3rem 0}.stop-build .method .line{margin-bottom:.15em;font-size:.88rem}.stop-build .wf{margin-bottom:.35rem}.stop-build .wf-cv{aspect-ratio:4.2}.stop-build .repos{gap:.3rem}.stop-build .repo{padding:.38rem .65rem}}@media (width<=640px) and (height<=600px) and (orientation:portrait){.stop-img.portrait{max-width:7.5rem;margin-bottom:.9rem}.stop-imgs{max-width:13rem;margin-bottom:.7rem}.stop-img.shot img,.stop-img.shot.phone img{max-height:13.5vh}.stop-img.anim{width:min(100%,21.4773vh)}.project .stack,.xl-flow,.project .also-label{display:none}.project .also b:before{content:"Also · ";font-family:var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#4fd2ff;font-size:.75rem;font-weight:600}.about .about-title{font-size:1.6rem}.about .para{margin-bottom:.45em;font-size:.84rem}.stop-build .method .line{font-size:.84rem;line-height:1.2}.stop-build .repos{grid-template-columns:repeat(3,minmax(0,1fr))}.stop-build .repo.lead{grid-column:auto}.stop-build .repo{padding:.35rem .55rem}.stop-build .repo b{letter-spacing:0}.stop-build .repo .links{gap:.1rem .6rem}.stop-build .repo .muted{display:none}.stop.stop-timeline{grid-template-columns:minmax(0,1fr) auto;align-content:safe center;column-gap:.6rem;display:grid}.stop-timeline .eyebrow{grid-column:1/-1}.stop-timeline .tl-title{grid-area:2/1}.stop.stop-timeline .pill{grid-area:2/2;align-self:start;margin:0;padding:.45rem .8rem}.stop-timeline .timeline{grid-column:1/-1}.stop-timeline .tl-row{padding:.28rem 0}.stop-contact .finale{margin-bottom:1rem}.stop-contact .card-row{padding-top:.75rem;padding-bottom:.75rem}.stop-contact .card-head{padding-top:1rem}}.group-label{position:absolute;top:12vh;left:6vw}@media (width>=900px){.stop-project{justify-content:safe center}.stop-project[data-side=left] .project{margin-left:auto;margin-right:0}.stop-project[data-side=right] .project{margin-left:0;margin-right:auto}.stop-project .project{width:min(29rem,100%)}}@media (width>=900px) and (width<=1179px) and (height>=521px){.stop-project .project{width:min(29rem,42vw - 1.5rem)}.project .title{font-size:clamp(2.4rem,5.4vw,5.5rem)}.stop-hi[data-side=left] .hi{max-width:min(34rem,48vw - 1.5rem)}}@media (width>=900px) and (width<=1179px) and (height>=521px) and (height<=920px){.project.has-exhibit dl{display:none}}@media (width>=900px) and (width<=1179px) and (height>=521px) and (height<=600px){.stop-project .project .stack,.project .also-line{display:none}.project .also{align-items:baseline}}.stop-contact{text-align:center;justify-content:safe center;align-items:center}.finale{margin-bottom:1.6rem}.finale-lead{font-family:var(--f-display);letter-spacing:-.02em;color:#eaf4ff;margin:0 0 .35rem;font-size:clamp(2rem,5.6vw,3.6rem);font-weight:800;font-stretch:78%;line-height:1}.finale-line{font-family:var(--f-body);color:#bfe3ff;margin:0;font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:500;line-height:1.3}.finale [aria-hidden]>span{opacity:0;transition:opacity 60ms linear}.stop-contact.in .finale [aria-hidden]>span{opacity:1;transition-delay:calc(var(--c) * 22ms + .2s)}.finale-line:after{content:"";vertical-align:-.15em;opacity:0;background:#4fd2ff;width:.55em;height:1.05em;margin-left:.12em;display:inline-block}.stop-contact.in .finale-line:after{animation:1s step-end 1.6s infinite finale-caret}@keyframes finale-caret{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.finale [aria-hidden]>span,.stop-contact.in .finale [aria-hidden]>span{opacity:1;transition:none}.stop-contact.in .finale-line:after{animation:none}}.card{color:#eaf4ff;opacity:0;background:#06141c8c;border:1px solid #4fd2ff47;border-radius:10px;flex-shrink:0;width:100%;max-width:30rem;transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:scale(.96)}@media (hover:hover) and (pointer:fine){.card{-webkit-backdrop-filter:blur(10px)}}.stop-contact.in.open .card{opacity:1;transform:none}.card-row{opacity:0;transition:opacity .4s,transform .4s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i) * 60ms + .12s);border-top:1px solid #4fd2ff29;padding:1rem 1.4rem;display:block;transform:translateY(8px)}.stop-contact.in.open .card-row{opacity:1;transform:none}.card-head{border-top:0;padding-top:1.4rem}.card-name{font-family:var(--f-display);letter-spacing:-.02em;color:#eaf4ff;margin:0 0 .35rem;font-size:clamp(1.6rem,4.4vw,2.4rem);font-weight:800;font-stretch:78%;line-height:1}.card-role{font-family:var(--f-body);letter-spacing:0;color:#4fd2ff;margin:0;font-size:.95rem;font-weight:500}.card .mail{font-family:var(--f-body);letter-spacing:-.01em;color:#eaf4ff;overflow-wrap:anywhere;font-size:clamp(1.15rem,2.8vw,1.6rem);font-weight:600;line-height:1.2}.card .mail:hover{color:#4fd2ff}.card .mail small{font-family:var(--f-body);letter-spacing:0;text-transform:none;color:#7f9cb6;margin-top:.45rem;font-size:.8rem;font-weight:500;display:block}.card .tel{font-family:var(--f-body);color:#eaf4ff;font-size:1rem}.card .social{justify-content:center;gap:1.6rem;font-size:.95rem;display:flex}.card-built{font-family:var(--f-body);letter-spacing:0;color:#7f9cb6;padding-top:.55rem;padding-bottom:.85rem;font-size:.8rem;font-weight:500;line-height:1.5}@media (width>=900px) and (height>=560px){.card{max-width:36rem}.card-row{padding:1.25rem 1.8rem}.card-head{padding-top:1.7rem}.card-name{font-size:2.9rem}.card .mail{font-size:1.7rem}.card .tel{font-size:1.08rem}.card .social{font-size:1.02rem}}@media (width>=900px) and (height>=560px) and (height<=720px){.finale{margin-bottom:.9rem}.finale-lead{font-size:2.6rem}.card-row{padding:.75rem 1.8rem}.card-head{padding-top:1.1rem}.card-name{font-size:2.4rem}.card .mail{font-size:1.45rem}}@media (width>=900px) and (height>=560px) and (height<=640px){.stop-about{padding-top:13vh;padding-bottom:11vh}.about .about-title{font-size:3.4rem}.about .para{margin-bottom:.7em;font-size:1rem;line-height:1.5}.stop-timeline{padding-top:13vh;padding-bottom:10vh}.stop-timeline .tl-title{margin-bottom:.5rem;font-size:2.5rem}.tl-row{padding:.2rem 0}.tl-dot{top:.66rem}.stop-timeline .pill{margin-top:.6rem}.stop-build{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"hd hd""method wf""method proof""repos repos";align-content:safe center;column-gap:2.6rem;padding-top:13vh;padding-bottom:11vh;display:grid}.stop-build>.eyebrow{grid-area:hd}.stop-build .wf{grid-area:wf;align-self:start;margin:0 0 .7rem}.stop-build .wf-cv{aspect-ratio:3.6}.stop-build .method{grid-area:method}.stop-build .method .line{max-width:none;font-size:1.2rem}.stop-build .proof{grid-area:proof;align-self:start;margin:0 0 .9rem}.stop-build .repos{grid-area:repos;align-self:start}.stop-project{padding-top:13vh;padding-bottom:11vh}.stop .group-label{top:13vh}.stop-project .project .title{margin-bottom:.5rem;font-size:3.4rem}.stop-project .project .outcome{margin-bottom:.6rem;font-size:1.35rem}.stop-project .project dd{font-size:.86rem}.stop-project .project .links{margin-top:.8rem}.stop-project .project .also{margin-top:.7rem;padding-top:.7rem}}@media (width>=900px) and (height>=560px) and (height<=599px){.about .about-title{font-size:2.9rem}.about .para{margin-bottom:.6em;font-size:.94rem}.stop-project .project dl{display:block}.stop-project .project dl>div{text-wrap:balance;margin-bottom:.45rem;display:block}.stop-project .project dt{margin-right:.5em;display:inline}.stop-project .project dd{display:inline}.stop-build .proof{grid-template-columns:1fr;gap:.15rem}.stop-build .proof-item{align-items:baseline;gap:.6rem;display:flex}.stop-build .proof-item .num{min-width:1.5em;font-size:1.3rem;display:inline}}@media (width>=1180px) and (height>=641px) and (height<=820px){.stop-project .project.has-exhibit dl{display:block}.stop-project .project.has-exhibit dl>div{text-wrap:balance;margin-bottom:.45rem;display:block}.stop-project .project.has-exhibit dt{margin-right:.5em;display:inline}.stop-project .project.has-exhibit dd{display:inline}}@media (width>=1100px) and (height>=641px){.stop-build{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-areas:"hd hd""method wf""proof proof""repos repos";align-content:safe center;column-gap:3rem;display:grid}.stop-build>.eyebrow{grid-area:hd}.stop-build .method{grid-area:method;align-self:center}.stop-build .method .line{max-width:none}.stop-build .wf{grid-area:wf;align-self:center;max-width:none;margin:0}.stop-build .wf-cv{aspect-ratio:1.85;max-height:40vh}.stop-build .proof{grid-area:proof}.stop-build .repos{grid-area:repos}}.stop a:focus-visible,.stop button:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #4fd2ff}.stop .pill:focus-visible,.stop .ex-choices button:focus-visible,.stop .ex-replay:focus-visible{border-radius:999px}.stop .lab-tabs button:focus-visible{outline-offset:-3px;border-radius:999px}@media (prefers-reduced-motion:reduce){.stop,.stop *{transition:none!important}.stop,.stop :not(.lab,.lab *,.tl-dot){transform:none!important}#bar{transition:none}}.stop{transition:opacity .4s ease, transform .7s var(--ease-out), visibility 0s linear .4s;transform:scale(.985)}.stop.in{transition:opacity .45s ease, transform .7s var(--ease-out);transform:none}.stop.out{opacity:0;transition:opacity .26s,transform .5s cubic-bezier(.55,0,.75,.2),visibility 0s linear .26s;transform:scale(1.025)}#stops .stop.prep,#stops .stop.prep *{transition:none!important}.stop.out[data-out=recede]{transform:scale(.95)}.stop.out[data-out=sink]{transform:translateY(22px)}.stop.out[data-out=lift]{transform:translateY(-22px)}.stop.out[data-out=left]{transform:translate(-34px)}.stop.out[data-out=right]{transform:translate(34px)}.tw .w{white-space:nowrap;display:inline-block}.tw .w>span{opacity:0}.stop:not([data-hfx=type]) .tw .w>span{display:inline-block}.stop.in .tw .w>span{animation:tw-key calc(var(--tw-step,24ms) * 3) linear calc(var(--c) * var(--tw-step,24ms) + var(--tw-at,.16s)) forwards}@keyframes tw-key{0%,99%{opacity:1;box-shadow:.07em 0 #4fd2ff}to{opacity:1;box-shadow:none}}.stop.in:not([data-hfx=type]) .tw .w>span{animation-name:var(--hk);animation-duration:var(--hd,.5s);animation-timing-function:var(--he,var(--ease-out))}.stop[data-hfx=scramble]{--hk:hfx-on;--hd:.2s}.stop[data-hfx=rise]{--hk:hfx-rise}.stop[data-hfx=drop]{--hk:hfx-drop;--hd:.6s;--he:ease-out}.stop[data-hfx=flip]{--hk:hfx-flip;--hd:.55s}.stop[data-hfx=blur]{--hk:hfx-blur;--hd:.6s}.stop[data-hfx=zoom]{--hk:hfx-zoom;--hd:.45s}.stop[data-hfx=slide]{--hk:hfx-slide}.stop[data-hfx=glitch]{--hk:hfx-glitch;--hd:.45s;--he:linear}.stop[data-hfx=scatter]{--hk:hfx-pop;--hd:.42s}.stop.in[data-hfx=scatter] .tw .w>span{animation-delay:calc(var(--r) * var(--tw-step,24ms) * 1.3 + var(--tw-at,.16s))}.stop[data-hfx=flip] .tw .w>span{transform-origin:50% 80%}.tw .w>span.scr{color:#4fd2ff;text-align:center}@keyframes hfx-on{0%{opacity:.5}to{opacity:1}}@keyframes hfx-rise{0%{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}@keyframes hfx-drop{0%{opacity:0;transform:translateY(-.9em)}60%{opacity:1;transform:translateY(.07em)}to{opacity:1;transform:none}}@keyframes hfx-flip{0%{opacity:0;transform:perspective(420px)rotateX(-95deg)}to{opacity:1;transform:none}}@keyframes hfx-blur{0%{opacity:0;filter:blur(10px);transform:scale(1.35)}to{opacity:1;filter:none;transform:none}}@keyframes hfx-zoom{0%{opacity:0;transform:scale(2.6)}to{opacity:1;transform:none}}@keyframes hfx-slide{0%{opacity:0;transform:translate(-.7em)skew(-14deg)}to{opacity:1;transform:none}}@keyframes hfx-glitch{0%{opacity:0;text-shadow:.09em 0 #4fd2ff,-.09em 0 #9fd8ff;transform:translate(-.14em)}25%{opacity:1;transform:translate(.1em)}50%{text-shadow:-.05em 0 #4fd2ff,.05em 0 #9fd8ff;transform:translate(-.05em)}75%{transform:translate(.02em)}to{opacity:1;text-shadow:none;transform:none}}@keyframes hfx-pop{0%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:none}}.stop .hi .greeting,.stop .about .about-title,.stop-project .project{opacity:1;transition:none;transform:none}#stops .stop [data-rv]{opacity:0;filter:none;clip-path:none;transition:opacity .42s ease, transform .6s var(--ease-out), filter .55s ease-out, clip-path .6s var(--ease-out), border-color .3s ease;transition-delay:var(--rv-delay,.22s);transform:none}#stops .stop[data-bfx=rise] [data-rv]{transform:translateY(16px)}#stops .stop[data-bfx=fall] [data-rv]{transform:translateY(-14px)}#stops .stop[data-bfx=left] [data-rv]{transform:translate(-28px)}#stops .stop[data-bfx=right] [data-rv]{transform:translate(28px)}#stops .stop[data-bfx=blur] [data-rv]{filter:blur(8px);transform:scale(1.02)}#stops .stop[data-bfx=zoom] [data-rv]{transform:scale(.88)}#stops .stop[data-bfx=grow] [data-rv]{transform:scale(1.08)}#stops .stop[data-bfx=flip] [data-rv]{transform-origin:top;transform:perspective(700px)rotateX(-24deg)translateY(10px)}#stops .stop[data-bfx=unroll] [data-rv]{clip-path:inset(0 0 100%);transform:translateY(.5em)}#stops .stop[data-bfx=wipe] [data-rv]{clip-path:inset(0 100% 0 0)}#stops .stop[data-bfx=wipe][data-side=right] [data-rv]{clip-path:inset(0 0 0 100%)}#stops .stop[data-bfx=skew] [data-rv]{transform:translate(-22px)skew(-10deg)}#stops .stop[data-bfx=flash] [data-rv]{filter:brightness(2.2)blur(3px)}#stops .stop.in[data-bfx] [data-rv]{opacity:1;filter:none;clip-path:none;transform:none}#stops .stop.in:is([data-bfx=unroll],[data-bfx=wipe]) [data-rv]{clip-path:inset(-3em)}#stops .stop.in[data-bfx] .repo[data-rv]:hover{transition-delay:0s;transform:translateY(-4px)}.stop-timeline.in .tl-dot{animation:tl-ping .6s var(--ease-out) calc(var(--rv-delay,.3s) + 60ms) both}@keyframes tl-ping{0%{opacity:0;transform:translate(-50%)scale(0)}55%{opacity:1;transform:translate(-50%)scale(1.9)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.tw .w>span,.stop.in .tw .w>span{opacity:1;animation:none}.stop *,.stop.out{clip-path:none!important;filter:none!important}.stop.in .tl-dot{opacity:1;animation:none}.stop.out{transition:opacity .26s,visibility 0s linear .26s}}#bar{z-index:6;-webkit-backdrop-filter:blur(14px);font-family:var(--f-body);letter-spacing:.01em;color:#cfe8ff;opacity:0;pointer-events:none;background:#0a121d8c;border:1px solid #9fd8ff29;border-radius:999px;align-items:center;gap:.2rem;padding:.35rem .4rem .35rem .9rem;font-size:.82rem;font-weight:500;transition:opacity .5s,transform .5s;display:flex;position:fixed;top:14px;left:14px;right:14px;transform:translateY(-10px)}#bar.show{opacity:1;pointer-events:auto;transform:none}#bar .bar-name{font-family:var(--f-display);letter-spacing:0;text-transform:none;color:#eaf4ff;margin-right:auto;font-size:1.05rem;font-weight:700;font-stretch:85%}#bar .bar-avail{white-space:nowrap;color:#b8f0cf;align-items:center;gap:.45rem;margin-right:.3rem;padding:.42rem .75rem;display:none}#bar .bar-avail i{background:#3fc978;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #3fc978}#bar .bar-link{font:inherit;color:inherit;cursor:pointer;padding:.42rem .85rem;display:inline-flex}#bar .bar-copy{font:inherit;white-space:nowrap;color:#eaf4ff;cursor:pointer;padding:.42rem .9rem;font-weight:600}#bar :is(.bar-avail,.bar-link,.bar-details a,.bar-copy){-webkit-backdrop-filter:blur(10px)saturate(140%);background:linear-gradient(#cfe8ff1f,#cfe8ff08 60%,#cfe8ff0f);border:1px solid #cfe8ff29;border-radius:999px;transition:background .2s,border-color .2s,box-shadow .2s,color .2s;box-shadow:inset 0 1px #ffffff29,inset 0 -1px #00000040,0 4px 14px #00000047}#bar :is(.bar-link,.bar-details a):hover{color:#fff;background:linear-gradient(#4fd2ff38,#4fd2ff0f 60%,#4fd2ff1f);border-color:#4fd2ff73;box-shadow:inset 0 1px #ffffff38,0 0 16px #4fd2ff40,0 4px 14px #00000047}#bar .bar-copy{background:linear-gradient(#4fd2ff4d,#4fd2ff1a 60%,#4fd2ff2e);border-color:#4fd2ff80;box-shadow:inset 0 1px #ffffff40,0 0 14px #4fd2ff33,0 4px 14px #00000047}#bar .bar-copy:hover{background:linear-gradient(#4fd2ff6b,#4fd2ff29 60%,#4fd2ff42);box-shadow:inset 0 1px #ffffff4d,0 0 20px #4fd2ff59,0 4px 14px #00000047}#bar .bar-avail{background:linear-gradient(#3fc97829,#3fc9780a 60%,#3fc97814);border-color:#3fc9784d}#bar .bar-link:focus-visible,#bar .bar-copy:focus-visible,#bar .bar-details a:focus-visible{outline-offset:2px;outline:2px solid #4fd2ff}#bar .bar-id{flex-direction:column;gap:.05rem;min-width:0;margin-right:auto;display:flex}#bar .bar-id .bar-name{margin-right:0;line-height:1.1}#bar .bar-role{letter-spacing:.02em;color:#4fd2ff;white-space:nowrap;font-size:.74rem;font-weight:500;line-height:1.2}#bar .bar-details{align-items:center;gap:.3rem;display:inline-flex}#bar .bar-details a{color:#cfe8ff;white-space:nowrap;align-items:center;padding:.42rem .8rem;text-decoration:none;display:inline-flex}#bar .bar-details svg{width:1.05rem;height:1.05rem;display:none}@media (width<=719px) and (orientation:portrait),(width<=719px) and (height>=521px){#bar{border-radius:18px;grid-template-columns:auto auto 1fr auto;grid-template-areas:"id id id copy""work about.details";align-items:center;gap:.15rem .1rem;padding:.5rem .55rem .35rem .9rem;display:grid}#bar .bar-id{grid-area:id}#bar .bar-copy{grid-area:copy;padding:.4rem .6rem}#bar .bar-link[data-act=work]{grid-area:work;margin-left:-.45rem}#bar .bar-link[data-act=about]{grid-area:about}#bar .bar-link{padding:.4rem .45rem}#bar .bar-details{grid-area:details;gap:.15rem}#bar .bar-details a{padding:.35rem .4rem}#bar .bar-details svg{display:block}#bar .bar-details .lbl{display:none}}@media (orientation:portrait) and (width<=640px){.project.has-exhibit .stop-img.exhibit-fig{width:min(100%,48vh);max-width:none;margin-bottom:.7rem}.project.has-exhibit .outcome{margin-bottom:.6rem}.project.has-exhibit .exhibit{margin-bottom:0;padding:.5rem .7rem .6rem}.project.has-exhibit .ex-choices{margin:.4rem 0 .45rem}.project.has-exhibit .ex-choices button{flex:1 1 0;padding-inline:.6rem}}@media (orientation:portrait) and (width<=640px),(height<=520px){.project.has-exhibit :is(dl,.xl-flow,.stack){display:none}}@media (height<=520px){.project.has-exhibit .outcome{display:none}}@media (orientation:portrait) and (width<=640px) and (height<=640px){.project.has-exhibit .stop-img.exhibit-fig{width:min(100%,42.6667vh)}}@media (width>=641px) and (height>=521px) and (height<=640px){.project.has-exhibit dl{display:none}}@media (orientation:portrait) and (width<=640px) and (height<=600px){.project.has-exhibit .stop-img.exhibit-fig{width:min(100%,39.1111vh)}.project.has-exhibit .ex-out{font-size:.84rem}.project.has-exhibit :is(.eyebrow,.outcome){display:none}}@media (width>=720px){#bar{left:50%;right:auto;transform:translate(-50%,-10px)}#bar.show{transform:translate(-50%)}#bar .bar-avail{display:inline-flex}#bar .bar-link{padding:.42rem .85rem}#bar .bar-id{margin-right:.9rem}#bar .bar-details{margin:0 .3rem}}@media (width>=720px) and (width<=819px){#bar .bar-avail{display:none}}@media (width>=720px) and (width<=959px){#bar .bar-details svg{display:block}#bar .bar-details .lbl{display:none}#bar .bar-details a{padding:.42rem .55rem}}@media (prefers-reduced-motion:reduce){#loader{transition:opacity .4s;-webkit-mask-image:none;mask-image:none}#loader .ld-ring{display:none}#loader .ld-num{top:50%;left:50%;transform:translate(-50%,-50%)!important}#loader.done{opacity:0}#overlay .op-w,#overlay .sub,#overlay .op-act>*{transition-property:opacity;transform:none}#overlay .op-w{opacity:0;transition:opacity .5s}#overlay.revealed .op-w{animation:none}#overlay .op-line{clip-path:none}#overlay.revealed .op-w{opacity:1}#overlay .op-avail i:after{animation:none}}@media (orientation:landscape) and (height<=520px){.stop{padding:3.4rem calc(4.4rem + env(safe-area-inset-right,0px)) .7rem calc(1.6rem + env(safe-area-inset-left,0px));justify-content:safe center}#hud .hud-arrows{left:auto;right:calc(.9rem + env(safe-area-inset-right,0px));bottom:calc(.9rem + env(safe-area-inset-bottom,0px));flex-direction:column;gap:.5rem;transform:none}.stop .group-label{display:none}#bar{max-width:calc(100vw - 1.6rem);padding:.25rem .3rem .25rem .8rem;top:8px;left:50%;right:auto;transform:translate(-50%,-10px)}#bar.show{transform:translate(-50%)}#bar .bar-id{flex-direction:row;align-items:baseline;gap:.6rem;margin-right:.5rem}#bar .bar-name{white-space:nowrap}#bar .bar-avail{display:none}#bar .bar-link{padding:.4rem .5rem}#bar .bar-details{margin:0 .2rem}#bar .bar-details svg{display:block}#bar .bar-details .lbl{display:none}#bar .bar-details a{padding:.4rem}#bar .bar-copy{padding:.35rem .7rem}.stop .hi,.stop .about,.stop .project{align-items:center;gap:clamp(1rem,3vw,2rem);width:100%;max-width:none;margin:0;display:flex}.stop [data-side=right]:is(.hi,.about,.project){flex-direction:row-reverse}.stop-txt{flex:1 1 0;min-width:0}.stop-img img{margin-inline:auto}.stop-hi .stop-img.portrait{flex:none;max-width:none;margin:0}.stop-hi .stop-img.portrait img{width:auto;height:min(100svh - 5.5rem,19rem)}.hi .greeting{margin-bottom:.6rem;font-size:clamp(1.8rem,5vw,2.8rem)}.hi .status{margin-bottom:.9rem}.hi .line{font-size:clamp(1rem,2.3vw,1.3rem)}.stop-about .stop-imgs{flex:0 0 32%;max-width:32%;margin:0}.stop-about .eyebrow{margin-bottom:.45rem}.about .about-title{margin-bottom:.5rem;font-size:clamp(1.4rem,3.4vw,2rem)}.about .para{color:#d6e8f7;max-width:none;margin-bottom:.5em;font-size:.84rem;line-height:1.42}.stop-timeline{grid-template-columns:minmax(0,1fr) auto;align-content:safe center;column-gap:1rem;display:grid}.stop-timeline .eyebrow{grid-column:1/-1;margin-bottom:.3rem}.stop-timeline .tl-title{grid-area:2/1;margin:0 0 .7rem;font-size:clamp(1.6rem,4vw,2.2rem)}.stop.stop-timeline .pill{grid-area:2/2;align-self:start;margin:0}.stop-timeline .timeline{grid-column:1/-1;grid-template-rows:repeat(3,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;column-gap:2.6rem;max-width:none;display:grid}.stop-timeline .timeline:before{display:none}.stop-timeline .tl-row:before{content:"";background:#4fd2ff66;width:1px;position:absolute;top:0;bottom:0;left:-1.1rem}.stop-timeline .tl-row{grid-template-columns:auto 1fr;align-content:start;align-items:baseline;gap:.05rem .6rem;padding:.3rem 0}.stop-timeline .tl-body{display:contents}.stop-timeline .tl-what{font-size:.92rem}.stop-timeline .tl-line{grid-column:1/-1;font-size:.8rem;line-height:1.4}.stop-timeline .tl-dot{top:.72rem}.stop-build{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"hd wf""method wf""method proof""repos repos";align-content:safe center;column-gap:1.8rem;display:grid}.stop-build>.eyebrow{grid-area:hd;margin-bottom:.4rem}.stop-build .wf{grid-area:wf;align-self:start;margin:0 0 .5rem}.stop-build .wf-cv{aspect-ratio:4.2}.stop-build .method{grid-area:method}.stop-build .method .line{max-width:none;margin-bottom:.35em;font-size:.92rem;line-height:1.3}.stop-build .proof{background:#08101a8c;border:1px solid #9fd8ff29;border-radius:8px;grid-area:proof;grid-template-columns:1fr;align-self:start;gap:.1rem;margin:0 0 .5rem;padding:.35rem .6rem}.stop-build .proof-item{align-items:baseline;gap:.55rem;display:flex}.stop-build .proof-item .num{min-width:1.5em;font-size:1.05rem;display:inline}.stop-build .proof-item span{letter-spacing:.05em}.stop-build .repos{grid-area:repos;grid-template-columns:1.3fr 1fr 1fr;align-self:start;gap:.4rem;max-width:none}.stop-build .repo{padding:.45rem .7rem}.stop-build .repo p,.stop-build .repo .stack{display:none}.stop-build .repo .links{margin-top:.25rem}.stop-project .stop-img.shot{flex:0 0 32%;max-width:32%;margin:0}.stop-project .stop-img.shot img{width:auto;max-width:100%;max-height:calc(100svh - 5.5rem)}.stop-project .stop-img.anim{width:auto}.stop-project .project{width:100%}.stop-project .eyebrow{margin-bottom:.35rem}.project .title{margin-bottom:.3rem;font-size:clamp(1.5rem,3.6vw,2.2rem)}.project .outcome{max-width:none;margin-bottom:.45rem;font-size:.95rem;line-height:1.28}.project dl{display:block}.project dl>div{margin-bottom:.2rem;display:block}.project dt{margin-right:.5em;display:inline}.project dd{color:#d6e8f7;margin:0;font-size:.84rem;line-height:1.38;display:inline}.xl-flow{display:none}.project .stack{letter-spacing:.03em;color:#9fc2e0;margin-top:.3rem}.project .links{margin-top:.5rem}.stop-project .pill{padding:.42rem .85rem}.project .also{grid-template-columns:auto auto 1fr;align-items:baseline;margin-top:.45rem;padding-top:.35rem}.project .also-label{grid-column:auto}.project .also-line{display:none}.project .also-links{justify-self:end}.stop-contact{text-align:left;flex-direction:row;justify-content:center;align-items:center;gap:clamp(1.2rem,4vw,3rem)}.stop-contact .finale{flex:0 16rem;margin:0}.finale-lead{font-size:clamp(1.8rem,4.4vw,2.6rem)}.finale-line{font-size:1.05rem}.stop-contact .card{text-align:center;flex:0 25rem;max-width:25rem}.card-row{padding:.55rem 1.1rem}.card-head{padding-top:.8rem}.card-name{font-size:1.6rem}.card .mail{font-size:1.2rem}.card .mail small{margin-top:.3rem}}@media (orientation:landscape) and (height<=520px) and (width<=719px){#bar .bar-role{display:none}.stop-project .stop-img.shot,.stop-about .stop-imgs{flex-basis:28%;max-width:28%}.stop-project .project .stack{display:none}.about .para{font-size:.8rem}.stop-build .method .line{font-size:.86rem}.stop-timeline .tl-title{margin-bottom:.5rem}.stop-timeline .tl-row{padding:.22rem 0}}
