@font-face{font-family:cormorant;src:url(../media/cormorant_garamond-s.p.4059a8c8.woff2)format("woff2");font-display:swap;font-weight:500 600;font-style:normal}@font-face{font-family:cormorant;src:url(../media/cormorant_garamond_italic-s.p.905ea8c4.woff2)format("woff2");font-display:swap;font-weight:500 600;font-style:italic}@font-face{font-family:cormorant Fallback;src:local(Times New Roman);ascent-override:96.43%;descent-override:29.95%;line-gap-override:0.0%;size-adjust:95.82%}.cormorant_dc307e39-module__A0Ybjq__className{font-family:cormorant,cormorant Fallback}.cormorant_dc307e39-module__A0Ybjq__variable{--font-cormorant:"cormorant","cormorant Fallback"}
@font-face{font-family:schibsted;src:url(../media/schibsted_grotesk-s.p.8af07c36.woff2)format("woff2");font-display:swap;font-weight:400 600}@font-face{font-family:schibsted Fallback;src:local(Arial);ascent-override:92.54%;descent-override:24.43%;line-gap-override:0.0%;size-adjust:105.53%}.schibsted_18d5bf92-module__Vj1QsG__className{font-family:schibsted,schibsted Fallback}.schibsted_18d5bf92-module__Vj1QsG__variable{--font-schibsted:"schibsted","schibsted Fallback"}
@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_400-s.p.e1d6b3bf.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_500-s.p.6c2181b8.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexMono Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}.plexmono_c8c87b38-module__K2tVQG__className{font-family:plexMono,plexMono Fallback}.plexmono_c8c87b38-module__K2tVQG__variable{--font-plex-mono:"plexMono","plexMono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9ede8;--panel:#f3f5f1;--line:#c9d3cd;--fg:#13232a;--muted:#4c5e61;--accent:#8c5a10;--accent-ink:#fdf8ee;--glow:#136f65;--hero-fg:#f2ede0;--hero-muted:#c9d3cc;--hero-glow:#9fe6da;--hero-gold:#e0b565;--hero-ground:#0b1a20;--hero-shade:#060e12;--display:var(--font-cormorant),"Iowan Old Style",Georgia,serif;--body:var(--font-schibsted),"Segoe UI",system-ui,sans-serif;--mono:var(--font-plex-mono),ui-monospace,"SFMono-Regular",Menlo,monospace;--nav-room:calc(72px + env(safe-area-inset-top,0px));--nav-clear:calc(var(--nav-room) + 24px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#091318;--panel:#0e1c22;--line:#20333a;--fg:#e7e3d7;--muted:#93a4a3;--accent:#e0b565;--accent-ink:#11191c;--glow:#78dccb}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#091318;--panel:#0e1c22;--line:#20333a;--fg:#e7e3d7;--muted:#93a4a3;--accent:#e0b565;--accent-ink:#11191c;--glow:#78dccb}@layer base{*,:before,:after,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{line-height:1.5;font-family:var(--body);tab-size:4;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,pre{font-family:var(--mono);font-size:1em}small{font-size:80%}ol,ul{list-style:none}img,svg,canvas{vertical-align:middle;display:block}img{max-width:100%;height:auto}button{font:inherit;letter-spacing:inherit;color:inherit;background-color:#0000;border-radius:0}[hidden]{display:none!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-clear)}body{background:var(--bg);color:var(--fg);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;margin:0;position:relative}html,body{overflow-x:clip}a{color:inherit}:focus-visible{outline:2px solid var(--glow);outline-offset:3px;border-radius:2px}.hero :focus-visible,.nav:not(.solid) :focus-visible{outline-color:var(--hero-glow)}.skip{z-index:30;background:var(--accent);color:var(--accent-ink);font:500 14px/1 var(--body);border-radius:6px;padding:10px 16px;text-decoration:none;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip:focus-visible{transform:none}main:focus{outline:none}.nav{z-index:20;padding:calc(14px + env(safe-area-inset-top,0px))clamp(16px,4vw,48px)14px;color:var(--hero-fg);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;transition:background .3s,color .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.solid{background:color-mix(in srgb,var(--bg)88%,transparent);color:var(--fg);border-color:var(--line);-webkit-backdrop-filter:blur(10px)}.nav:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#040b0e80,#0000);transition:opacity .3s;position:absolute;inset:0 0 -40px}.nav.solid:before{opacity:0}.wordmark{font:600 22px/1 var(--display);letter-spacing:.01em;white-space:nowrap;text-decoration:none}.nav nav{font:500 14px/1 var(--body);align-items:center;gap:clamp(10px,2.4vw,28px);display:flex}.nav nav a{opacity:.82;text-decoration:none}.nav nav a:hover{opacity:1}.theme{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:1px solid;border-radius:999px;place-items:center;padding:6px;display:inline-grid}.theme:hover{opacity:1}.hero{background:var(--hero-ground);height:max(620px,min(100svh,1200px));color:var(--hero-fg);isolation:isolate;position:relative;overflow:hidden}.scene{animation:1.8s cubic-bezier(.2,.7,.2,1) both world-in;position:absolute;inset:0}.scene canvas{will-change:transform;pointer-events:none;position:absolute;top:-72px;left:-72px}.copy>*{animation:1s cubic-bezier(.2,.7,.2,1) both rise}.copy>:first-child{animation-delay:.35s}.copy>:nth-child(2){animation-delay:.5s}.copy>:nth-child(3){animation-delay:.7s}.copy>:nth-child(4){animation-delay:.85s}.copy>:nth-child(5){animation-delay:1.3s}@keyframes world-in{0%{opacity:0;transform:scale(1.04)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@property --wake{syntax:"<length>";inherits:false;initial-value:0}.wake{pointer-events:none;background:radial-gradient(circle at var(--wx,67%)var(--wy,40%),transparent calc(var(--wake)*.3),#02080b var(--wake));animation:2.8s cubic-bezier(.3,0,.2,1) .2s both paused wake;position:absolute;inset:0}.wake.go{animation-play-state:running}@keyframes wake{0%{--wake:0px}to{--wake:170vmax}}.scrim{pointer-events:none;background:linear-gradient(90deg,#040b0eb8,#040b0e80 36%,#0000 62%);position:absolute;inset:0}.fade{pointer-events:none;background:linear-gradient(transparent,color-mix(in srgb,var(--bg)16%,transparent)25%,color-mix(in srgb,var(--bg)50%,transparent)50%,color-mix(in srgb,var(--bg)84%,transparent)75%,var(--bg));height:18%;position:absolute;bottom:0;left:0;right:0}.copy{z-index:2;width:min(36rem,46vw);position:absolute;top:50%;left:clamp(16px,5vw,80px);translate:0 -54%}.eyebrow{font:500 12px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--hero-glow);margin:0 0 18px}.copy h1{font:500 clamp(3.6rem,8.4vw,7.6rem)/.86 var(--display);letter-spacing:-.012em;text-wrap:balance;text-shadow:0 2px 30px #00000059;margin:0}.copy .lead{max-width:30ch;color:var(--hero-muted);margin:22px 0 0;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.55}.ctas{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.btn{font:600 15px/1 var(--body);border:1px solid #0000;border-radius:3px;align-items:center;gap:8px;padding:14px 20px;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.solid{background:var(--hero-gold);color:#11191c}.btn.line{border-color:color-mix(in srgb,var(--hero-fg)50%,transparent);color:var(--hero-fg)}.btn.line:hover{background:color-mix(in srgb,var(--hero-fg)8%,transparent)}.tag{z-index:3;pointer-events:none;background:color-mix(in srgb,var(--hero-shade)90%,transparent);border:1px solid color-mix(in srgb,var(--hero-glow)25%,transparent);max-width:250px;color:var(--hero-fg);opacity:0;border-radius:3px;padding:10px 12px;transition:opacity .18s;position:absolute;top:0;left:0;box-shadow:0 8px 30px #0000004d}.tag.on{opacity:1}.tag i{font:italic 500 19px/1.1 var(--display);display:block}.tag b{font:500 10.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hero-glow);margin-top:3px;display:block}.tag span{font:400 13px/1.45 var(--body);color:var(--hero-muted);margin-top:6px;display:block}.tag em{border-top:1px solid color-mix(in srgb,var(--hero-glow)20%,transparent);font:normal 500 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hero-gold);margin-top:8px;padding-top:7px;display:block}.guide-wrap{margin-top:26px;position:relative}.guide-btn,.sound-btn{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:color-mix(in srgb,var(--hero-shade)45%,transparent);cursor:pointer;border:1px solid;border-radius:999px;align-items:center;padding:8px 12px 8px 10px;display:inline-flex}.guide-btn{color:var(--hero-fg);border-color:color-mix(in srgb,var(--hero-glow)30%,transparent);gap:10px}.guide-btn:before{content:"";background:var(--hero-glow);width:7px;height:7px;box-shadow:0 0 10px var(--hero-glow);border-radius:50%}.guide-btn b{color:var(--hero-glow);font-weight:500}.guide-btn:hover{border-color:color-mix(in srgb,var(--hero-glow)60%,transparent)}.sound-btn{color:var(--hero-muted);border-color:color-mix(in srgb,var(--hero-glow)20%,transparent);gap:8px;margin-left:8px}.sound-btn:before{content:"";background:linear-gradient(currentColor,currentColor) 0 100%/2px 45% no-repeat,linear-gradient(currentColor,currentColor) 50% 100%/2px 80% no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/2px 60% no-repeat;width:9px;height:9px}.sound-btn:hover{border-color:color-mix(in srgb,var(--hero-glow)50%,transparent);color:var(--hero-fg)}.sound-btn[aria-pressed=true]{color:var(--hero-glow);border-color:color-mix(in srgb,var(--hero-glow)45%,transparent)}.sound-btn[aria-pressed=true]:before{animation:1.1s ease-in-out infinite alternate sway}@keyframes sway{to{background-size:2px 85%,2px 40%,2px 100%}}.guide-btn.new{animation:1.4s ease-out found}.guide-btn.done:before{background:var(--hero-gold);box-shadow:0 0 10px var(--hero-gold)}.guide-btn.done b{color:var(--hero-gold)}@keyframes found{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--hero-glow)70%,transparent)}to{box-shadow:0 0 0 14px color-mix(in srgb,var(--hero-glow)0%,transparent)}}.guide{z-index:4;border:1px solid color-mix(in srgb,var(--hero-glow)25%,transparent);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--hero-glow)30%,transparent)transparent;background:#070f13;border-radius:4px;width:min(330px,100vw - 32px);max-height:min(76vh,620px);padding:16px 16px 12px;position:absolute;bottom:calc(100% + 10px);left:0;overflow:auto;box-shadow:0 16px 50px #00000073}.guide-h{font:italic 500 22px/1.1 var(--display);margin:0 0 10px}.guide-h span{font:normal 500 10.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hero-muted);margin-top:4px;display:block}.guide ol{margin:0;padding:0;list-style:none}.guide li{border-top:1px solid color-mix(in srgb,var(--hero-glow)12%,transparent);grid-template-columns:2.2em minmax(0,1fr);gap:4px;padding:5px 0;display:grid}.guide .n{font:400 11px/1.7 var(--mono);color:var(--hero-muted);opacity:.7}.guide li i{font:italic 500 16px/1.2 var(--display);display:block}.guide li b{font:500 10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hero-glow);display:block}.guide li:not(.got) b{color:var(--hero-muted);opacity:.6}.guide li small{font:400 12.5px/1.4 var(--body);color:var(--hero-muted);display:block}.guide li.extra :is(.n,small){color:var(--hero-gold);opacity:1}.guide .pressed{gap:3px;margin-top:4px;display:flex}.guide .pressed svg{filter:drop-shadow(0 1px 1px #00000080);width:26px;height:26px}.pressing{z-index:3;pointer-events:none;filter:drop-shadow(0 3px 4px #00000059);position:absolute;top:0;left:0}.pressing svg{width:100%;height:100%;display:block}.guide-foot{font:400 12px/1.4 var(--body);color:var(--hero-muted);margin:10px 0 0}.guide-card{font:500 10.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hero-gold);cursor:pointer;background:0 0;border:0;margin:0 0 10px;padding:0}.guide-card:hover{text-underline-offset:3px;text-decoration:underline}.site{z-index:0;padding-inline:clamp(16px,5vw,80px);position:relative}.seam{z-index:-1;pointer-events:none;width:100%;height:600px;animation:1.6s ease-out 1.6s both seam-in;position:absolute;top:-140px;left:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 45%,#0000);mask-image:linear-gradient(#0000,#000 18% 45%,#0000)}@keyframes seam-in{0%{opacity:0}}.seam.low{height:520px;animation:none;top:auto;bottom:0;-webkit-mask-image:linear-gradient(#0000,#000 75%);mask-image:linear-gradient(#0000,#000 75%)}.sec{max-width:1120px;margin:0 auto;padding-block:clamp(64px,9vw,112px)}.sec+.sec{border-top:1px solid var(--line)}.label{font:500 12px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--glow);margin:0 0 10px}.label:before{content:"";background:var(--glow);width:6px;height:6px;box-shadow:0 0 10px var(--glow);vertical-align:middle;border-radius:50%;margin:0 10px 2px 0;display:inline-block}.sec>h2:not(.label),.page-h{font:500 clamp(2.4rem,5vw,3.8rem)/1 var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0 0 clamp(28px,4vw,48px)}.intro{max-width:62ch;color:var(--muted);margin:calc(-1*clamp(12px,2vw,24px)) 0 clamp(28px,4vw,48px)}.work{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.proj{background:var(--panel);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:14px;min-width:0;padding:clamp(22px,3vw,34px);transition:border-color .25s,transform .25s;display:flex}[data-glow]{isolation:isolate;position:relative}[data-glow]:before,[data-glow]:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;position:absolute;inset:-1px}[data-glow]:after{background:radial-gradient(440px circle at var(--mx,50%)var(--my,50%),color-mix(in srgb,var(--glow)10%,transparent),transparent 65%)}[data-glow]:before{z-index:1;background:radial-gradient(280px circle at var(--mx,50%)var(--my,50%),color-mix(in srgb,var(--glow)75%,transparent),transparent 70%);padding:1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}[data-glow]:hover:before,[data-glow]:hover:after{opacity:1}.proj:hover{border-color:color-mix(in srgb,var(--glow)45%,var(--line));transform:translateY(-2px)}.proj.lead-proj{background:radial-gradient(120% 90% at 100% 0,color-mix(in srgb,var(--glow)9%,transparent),transparent 60%),var(--panel);grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px 48px;display:grid}.proj .meta{font:500 12px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.proj :is(h2,h3){font:600 clamp(1.7rem,2.6vw,2.3rem)/1.05 var(--display);text-wrap:balance;margin:0}.proj :is(h2,h3) a{text-decoration:none;transition:color .2s}.proj :is(h2,h3) a:hover{color:var(--accent)}.proj p{color:var(--muted);margin:0}.proj ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.proj li{padding-left:18px;font-size:15.5px;line-height:1.5;position:relative}.proj li:before{content:"";background:var(--accent);opacity:.85;border-radius:50%;width:7px;height:7px;position:absolute;top:.62em;left:0}.proj .stack{font:400 12.5px/1.6 var(--mono);color:var(--muted);margin:auto 0 0;padding-top:6px}.links{font:500 14px/1.4 var(--body);flex-wrap:wrap;gap:8px 18px;display:flex}.links a{color:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--accent)40%,transparent);text-decoration:none}.links a:hover{border-color:var(--accent)}.lead-proj .side{flex-direction:column;gap:14px;min-width:0;display:flex}.about{gap:16px;max-width:62ch;display:grid}.about p{margin:0}.facts{grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:8px 0 0;font-size:15px;display:grid}.facts dt{font:500 12px/1.9 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:0}.posts{margin:0;padding:0;list-style:none;display:grid}.posts li+li{border-top:1px solid var(--line)}.posts a{grid-template-columns:9rem minmax(0,1fr);gap:4px 28px;padding:20px 0;text-decoration:none;display:grid}.posts time{font:400 13px/1.9 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.posts b{font:600 1.45rem/1.2 var(--display);display:block}.posts a:hover b{color:var(--accent)}.posts span{color:var(--muted);margin-top:4px;font-size:15.5px;display:block}.posts small{font:400 12px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:6px;display:block}.more{font:500 15px/1 var(--body);color:var(--accent);margin-top:24px;display:inline-block}.more:has(+.more){margin-right:28px}.colo{gap:16px;max-width:62ch;display:grid}.colo p{margin:0}.contact p.big{max-width:22ch;font:500 clamp(2.2rem,4.6vw,3.6rem)/1.05 var(--display);text-wrap:balance;margin:0 0 28px}.contact .row{flex-wrap:wrap;gap:12px;display:flex}.contact .btn.solid{background:var(--accent);color:var(--accent-ink)}.contact .btn.line{border-color:var(--line);color:var(--fg)}.contact .btn.line:hover{background:var(--panel)}.rv{opacity:0}.rv.in{opacity:1;animation:rise .8s cubic-bezier(.2,.7,.2,1)var(--d,0s)backwards}.foot{width:min(1120px,100% - 2*clamp(16px,5vw,80px));padding:28px 0 calc(40px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);font:400 12.5px/1.6 var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:0 auto;display:flex}.foot nav{flex-wrap:wrap;gap:8px 20px;display:flex}.foot a{text-decoration:none}.foot a:hover{color:var(--accent)}.page{padding:var(--nav-room)clamp(16px,5vw,80px)0}.page .sec:first-child{padding-top:clamp(40px,6vw,72px)}.crumb{font:500 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;text-decoration:none;display:inline-block}.crumb:hover{color:var(--accent)}.quiet-btn{border:1px solid var(--line);color:var(--fg);font:500 14px/1 var(--body);cursor:pointer;background:0 0;border-radius:3px;padding:8px 14px}.quiet-btn:hover:enabled{border-color:var(--accent)}.quiet-btn:disabled{opacity:.5;cursor:default}.doc{grid-template-columns:minmax(0,1fr) 15rem;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.doc-head{max-width:48rem}.doc-head h1{font:500 clamp(2.5rem,5.4vw,4.2rem)/1.02 var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0}.doc-head .sub{max-width:60ch;color:var(--muted);margin:18px 0 0;font-size:1.1rem}.doc-head .meta{font:400 12.5px/1.6 var(--mono);letter-spacing:.06em;color:var(--muted);margin:14px 0 0}.doc-head .links{margin-top:18px}.doc-body{margin-top:clamp(32px,5vw,56px)}.next-up{border-top:1px solid var(--line);max-width:68ch;margin-top:clamp(48px,7vw,80px);padding-top:28px}.next-up a{text-decoration:none;display:block}.next-up b{font:500 clamp(1.6rem,3vw,2.1rem)/1.1 var(--display);text-wrap:balance;transition:color .2s;display:block}.next-up b:after{content:" →"}.next-up a:hover b{color:var(--accent)}.next-up span{color:var(--muted);margin-top:8px;font-size:15.5px;display:block}.doc-figure{border:1px solid var(--line);background:var(--panel);border-radius:4px;margin:clamp(28px,4vw,48px) 0 0;overflow:hidden}.scene-cv{aspect-ratio:16/9}.scene-cv canvas{width:100%;height:100%;display:block}.peek-fig{margin-block:1.8rem}.peek-wrap{position:relative}.peek{aspect-ratio:16/10;border:1px solid var(--line);background:var(--hero-ground);border-radius:4px;position:relative;overflow:hidden}.peek-stage{transform-origin:0 0;perspective:3200px;perspective-origin:50% 30%;width:1280px;height:800px;position:absolute;top:0;left:0}.peek-stack,.peek-plane{transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.6,0,.2,1);position:absolute;inset:0}.peek-plane{transition-property:transform,box-shadow,background-color;overflow:hidden}.peek-plane canvas{pointer-events:none;transition:opacity .3s;position:absolute;top:-72px;left:-72px}.peek.solo .peek-plane:not(.picked) canvas{opacity:.06}.peek-pin{width:1px;height:1px;position:absolute;top:30%;left:0}.peek.apart .peek-stack{transform:translate(140px,90px)scale(.52)rotateX(40deg)rotateY(-14deg)rotate(-8deg)}.peek.apart .peek-plane{transform:translateZ(calc(var(--i)*56px));background-color:color-mix(in srgb,var(--hero-glow)4%,transparent);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--hero-glow)35%,transparent)}.peek.apart .peek-plane.live{box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--hero-gold)80%,transparent)}.peek-names{pointer-events:none;opacity:0;transition:opacity .4s;position:absolute;inset:0}.peek-names.on{opacity:1}.peek-names svg{width:100%;height:100%;position:absolute;inset:0}.peek-names line{stroke:#e8efe98c;stroke-width:1px}.peek-names button{color:#e8efe9;font:500 10.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;pointer-events:auto;cursor:pointer;background:#081216c7;border:0;border-radius:3px;padding:1px 6px;position:absolute;top:0;left:0}.peek-names button.live{color:var(--hero-gold)}.peek-names button.picked{color:var(--hero-ground);background:#e8efe9}.peek-fig figcaption{color:var(--muted);font:500 12.5px/1.4 var(--mono);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.peek-ms{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.peek-stack,.peek-plane{transition:none}}.shots{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;margin-block:1.8rem;display:grid}.shots figure{margin:0}.shots img{width:100%;height:auto;display:block}.shots figcaption{font:400 12px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted);text-align:center;margin-top:6px}@media (max-width:520px){.shots{grid-template-columns:repeat(2,minmax(0,1fr))}}.resume{max-width:50rem}.resume h2{border-bottom:1px solid var(--line);font:500 clamp(1.6rem,3vw,2rem)/1.1 var(--display);margin:clamp(36px,5vw,56px) 0 8px;padding-bottom:8px}.job{padding-top:20px}.job h3{font:600 17px/1.35 var(--body);margin:0}.job h3 span{font-weight:400}.job .meta{font:400 12.5px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted);margin:4px 0 0}.job p,.job ul{margin:10px 0 0}.job ul{gap:6px;padding-left:1.2em;list-style:outside;display:grid}.job li::marker{color:var(--glow)}.resume .facts{margin-top:20px}.resume-links{flex-wrap:wrap;align-items:center;gap:10px 24px;margin:0;font-size:15px;display:flex}.resume-links a{color:var(--accent)}@media print{:root,:root:not([data-theme=light]),:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--fg:#111;--muted:#555;--line:#ccc;--accent:#111;--glow:#111}.nav,.foot,.skip,.print-btn,.resume .label{display:none}.page{padding:0}.page .sec:first-child{padding-top:0}.resume{max-width:none;padding-bottom:0;font-size:11pt}.resume .page-h{margin-bottom:6pt;font-size:26pt}.resume .intro{margin:0 0 8pt}.resume h2{margin-top:16pt;font-size:15pt}.job{break-inside:avoid;padding-top:9pt}.job ul{gap:2pt}.resume-links a{text-decoration:none}}.lost .doc-figure{max-width:960px}.lost-links{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.rail{top:var(--nav-clear);gap:22px;font-size:14.5px;display:grid;position:sticky}.rail dl{gap:22px;margin:0;display:grid}.rail h2,.rail dt{font:500 11.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.rail p,.rail dd{margin:0;line-height:1.5}.rail ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.rail a,.rail button{border:0;border-left:2px solid var(--line);color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;padding:4px 0 4px 12px;text-decoration:none;transition:color .2s,border-color .2s;display:block}.rail a:hover,.rail button:hover{color:var(--fg)}.rail a[aria-current=true]{color:var(--accent);border-color:var(--accent)}.rail .top{border-left-color:#0000}.pills{flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none;display:flex}.pills li{border:1px solid var(--line);font:400 12px/1.4 var(--mono);color:var(--muted);border-radius:999px;padding:4px 10px}.prose{text-wrap:pretty;max-width:68ch;font-size:1.06rem;line-height:1.75}.prose :where(p,ul,ol,pre,blockquote,hr,details){margin-block:1.1rem}.prose>:first-child{margin-top:0}.prose :where(h2,h3){font-family:var(--display);letter-spacing:-.005em;text-wrap:balance;margin:2.6rem 0 .6rem;font-weight:600;line-height:1.1}.prose :where(h2){font-size:2rem}.prose :where(h3){font-size:1.5rem}.prose :where(ul,ol){padding-left:1.2rem}.prose :where(ul){list-style:outside}.prose :where(ol){list-style:decimal}.prose :where(li){margin-block:.45rem}.prose :where(li)::marker{color:var(--accent)}.prose :where(a),.about :where(a){color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb,var(--accent)40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent)40%,transparent)}.prose :where(a:hover),.about :where(a:hover){-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose :where(strong){font-weight:600}.prose :where(code){font-family:var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:.12rem .35rem;font-size:.9em}.prose :where(pre){border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:1rem 1.1rem;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose :where(pre code){background:0 0;border:0;padding:0}.prose :where(blockquote){border-left:2px solid var(--accent);font:italic 500 1.35rem/1.4 var(--display);margin-inline:0;padding:.2rem 0 .2rem 1.1rem}.prose :where(hr){background:var(--line);border:0;height:1px}.prose :where(details){border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:.9rem 1.1rem}.prose :where(summary){cursor:pointer;font-weight:600}@media (max-width:860px){.work,.proj.lead-proj,.doc,.posts a{grid-template-columns:minmax(0,1fr)}.rail{display:none}}@media (max-width:760px){.nav nav a.hide-sm{display:none}.copy{top:calc(var(--nav-room) + 12px);width:auto;right:16px;translate:none}.copy h1{font-size:clamp(3.1rem,15vw,4.4rem)}.copy .lead{margin-top:14px;font-size:1rem}.ctas{margin-top:20px}.scrim{background:linear-gradient(#040b0ebd,#040b0e80 50%,#0000 72%)}.guide-wrap{margin-top:16px}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){-webkit-mask:radial-gradient(closest-side,#000 72%,#0000) 0 0/0 0 no-repeat;mask:radial-gradient(closest-side,#000 72%,#0000) 0 0/0 0 no-repeat}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.tag,.nav,.proj{transition:none}.scene,.copy>*,.guide-btn.new,.sound-btn[aria-pressed]:before,.seam{animation:none}.wake{display:none}}
