@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/jost-latin-wght-5.3.0.woff2)format("woff2-variations"),url(/fonts/jost-latin-wght-5.3.0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-wght-5.3.0.woff2)format("woff2-variations"),url(/fonts/jetbrains-mono-latin-wght-5.3.0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f2ecdd;--white:#fffbf1;--ink:#121212;--muted:#58544a;--red:#db2a1b;--yellow:#f7c01d;--blue:#1d3fa8;--on-color:#fff;--red-text:#b3170b;--blue-soft:#8ea6f2;--paper-soft:#b9b3a2;--ink-line:#444;--unlit:#8c836c;--yellow-tint:#fff6dc;--veil:#121212f7;--grid-line:#12121238;--label:12px;--track:.14em;--off-s:6px;--off-l:10px;--rule:3px solid var(--ink);--rule-thin:2px solid var(--ink);--nav:64px;--gutter:clamp(16px,3.2vw,48px);--display:"Jost", "Futura", "Century Gothic", system-ui, sans-serif;--body:"Jost", "Futura", "Century Gothic", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.16,1,.3,1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--nav) + 12px)}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:18px;line-height:1.55;overflow-x:hidden}.wrap{width:100%;max-width:1680px;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));margin:0 auto}a{color:inherit}button{font:inherit;color:inherit}h1,h2,h3{margin:0}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}footer :focus-visible,.ex :focus-visible{outline-color:var(--yellow)}canvas{display:block}.skip{z-index:60;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:var(--label);text-transform:uppercase;letter-spacing:var(--track);padding:12px 18px;text-decoration:none;transition:top .2s;position:fixed;top:-80px;left:16px}.skip:focus{top:calc(10px + env(safe-area-inset-top,0px))}[hidden]{display:none!important}.topnav{z-index:40;padding-top:env(safe-area-inset-top,0px);background:var(--paper);border-bottom:var(--rule);position:fixed;inset:0 0 auto}.topnav .wrap{height:var(--nav);justify-content:space-between;align-items:center;gap:16px;max-width:none;display:flex}.nav-title{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:12px;min-height:44px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.mark{isolation:isolate;width:36px;height:36px;transition:transform .5s var(--ease);flex:none}.nav-title:hover .mark{transform:rotate(90deg)}.navr ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.navr a{letter-spacing:.14em;text-transform:uppercase;border:var(--rule-thin);border-color:#0000;align-items:center;min-height:44px;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:flex}.navr a:hover{background:var(--yellow);border-color:var(--ink)}.navr a.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.progress{background:var(--red);transform-origin:0;width:100%;height:3px;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}@media (width<=860px){.nav-title span{display:none}.navr{margin-left:auto}}@media (width<=480px){.navr ul{gap:0}.navr a{letter-spacing:.08em;padding:0 9px;font-size:11.5px}}@media (width<=380px){.topnav .wrap{gap:8px}.navr a{letter-spacing:.04em;padding-inline:4px;font-size:10px}}main.page{padding-top:var(--nav)}.page-title{font-family:var(--display);letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance;font-size:clamp(46px,9vw,144px);font-weight:800;line-height:.88}.page-title:after{content:".";color:var(--red)}.eyebrow{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;margin:0 0 20px;font-weight:700}.eyebrow .dot{background:var(--red);vertical-align:-1px;border-radius:50%;width:12px;height:12px;margin-right:10px;display:inline-block}.btn{font:700 14px var(--body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:var(--ink);color:var(--paper);border:var(--rule);box-shadow:var(--off-s) var(--off-s) 0 var(--red);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .15s;padding:15px 26px;text-decoration:none;display:inline-block}.btn:hover{box-shadow:8px 8px 0 var(--red);transform:translate(-2px,-2px)}.btn:active{box-shadow:2px 2px 0 var(--red);transform:translate(4px,4px)}.btn.alt{background:var(--paper);color:var(--ink);box-shadow:var(--off-s) var(--off-s) 0 var(--ink)}.btn.alt:hover{background:var(--yellow);box-shadow:8px 8px 0 var(--ink)}.btn:disabled{opacity:.55;cursor:progress}.rv{transition:transform .9s var(--ease),opacity .9s ease}.rv.pre{opacity:0;transform:translateY(40px)}@media (scripting:enabled){[data-component=clock]{opacity:0;transition:opacity .4s}[data-component=clock][data-ready]{opacity:1}}.hero{min-height:100svh;padding:calc(var(--nav) + clamp(24px,5vh,64px)) 0 clamp(32px,6vh,72px);border-bottom:var(--rule);align-items:center;display:flex;position:relative;overflow:hidden}.hero .wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(16px,4vw,72px);display:grid}.hero h1{letter-spacing:-.025em;text-transform:uppercase;font-size:clamp(48px,8.6vw,138px);font-weight:800;line-height:.86}.hero h1 .row{padding-bottom:.04em;display:block;overflow:hidden}.hero .eyebrow{animation:heroFade .7s .4s var(--ease) both}@keyframes heroFade{0%{opacity:0;transform:translateY(12px)}}.hero h1 .row>span{animation:rise 1s .5s var(--ease) both;display:block}.hero h1 .row:nth-child(2)>span{animation-delay:.62s}.hero h1 .flare{color:var(--red)}.hero .role{max-width:30ch;animation:rise 1s .85s var(--ease) both;margin:clamp(22px,4vh,40px) 0 0;font-size:clamp(20px,2vw,28px);font-weight:500;line-height:1.25}.hero .cta{animation:rise 1s 1s var(--ease) both;flex-wrap:wrap;gap:18px 22px;margin-top:clamp(26px,4.5vh,44px);display:flex}@keyframes rise{0%{opacity:0;transform:translateY(105%)}}.art{isolation:isolate;width:100%;height:auto;max-height:78vh;display:block;overflow:visible}.art .in{mix-blend-mode:multiply;animation:shapeIn .9s var(--ease) both;animation-delay:calc(var(--i) * 70ms);transform-box:fill-box;transform-origin:50%}.art .s{transform-box:fill-box;transform-origin:50%;transition:transform .5s var(--ease);transform:translate(0,calc(var(--p,0) * var(--d) * -70px)) rotate(calc(var(--p,0) * var(--r) * 1deg))}@keyframes shapeIn{0%{transform:scale(.6)rotate(-25deg)}}.art .amb{transform-box:fill-box;transform-origin:50%;animation-duration:var(--t);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:1.2s}.art .a0{--t:9s;animation-name:breathe}.art .a1{--t:7s;animation-name:rock;animation-direction:alternate}.art .a2{--t:6s;animation-name:bob;animation-direction:alternate}.art .a3{--t:8s;animation-name:slide;animation-direction:alternate}.art .a4{transform-box:view-box;transform-origin:330px 240px;animation-name:orbit;animation-duration:16s;animation-timing-function:linear}.art .a5{--t:42s;animation-name:spin;animation-timing-function:linear}@keyframes breathe{50%{transform:scale(1.06)translate(-6px,8px)}}@keyframes rock{0%{transform:rotate(-6deg)translateY(0)}to{transform:rotate(6deg)translateY(-14px)}}@keyframes bob{0%{transform:translateY(8px)rotate(-5deg)}to{transform:translateY(-26px)rotate(5deg)}}@keyframes slide{0%{transform:translate(-26px)}to{transform:translate(26px)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.art .in:hover .s{filter:brightness(1.08)}.c-blue{fill:var(--blue)}.c-red{fill:var(--red)}.c-yellow{fill:var(--yellow)}.c-ink{fill:var(--ink)}.art .ring{fill:none;stroke:var(--ink);stroke-width:5px;stroke-linecap:round;stroke-dasharray:.1 16}@media (width<=900px){.hero{align-items:flex-start;min-height:0}.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:clamp(44px,15vw,120px)}.art{max-width:440px;max-height:none;margin:8px auto 0}}.strip{border-bottom:var(--rule)}.strip .wrap{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;padding:0;display:grid}.strip .cell{padding:20px max(var(--gutter),16px);border-right:var(--rule-thin);align-content:start;gap:2px;display:grid}.strip .cell:last-child{background:var(--yellow);border-right:0}.strip b{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);font-weight:700}.strip .cell:last-child b{color:var(--ink)}.strip .v{font-size:clamp(17px,1.5vw,20px);font-weight:600;line-height:1.3}@media (width<=900px){.strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.strip .cell:nth-child(2){border-right:0}.strip .cell:nth-child(-n+2){border-bottom:var(--rule-thin)}.strip .cell:last-child{border-top:var(--rule-thin);grid-column:1/-1}}@media (width<=480px){.strip .wrap{grid-template-columns:minmax(0,1fr)}.strip .cell{border-right:0;border-bottom:var(--rule-thin)}.strip .cell:last-child{border-bottom:0}}.statement{border-bottom:var(--rule)}.statement .wrap{grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(16px,4vw,64px);padding-block:clamp(56px,10vw,150px);display:grid}.statement .label{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;margin:8px 0 0;font-weight:700}.statement .label:before{content:"";background:var(--yellow);border:var(--rule);border-radius:50%;width:48px;height:48px;margin-bottom:18px;display:block}.statement .big{letter-spacing:-.02em;text-wrap:pretty;margin:0;font-size:clamp(28px,4.6vw,70px);font-weight:700;line-height:1.06}@media (scripting:enabled){.statement .big{color:var(--unlit)}}.statement .w{color:var(--unlit);transition:color .35s}.statement .w.on{color:var(--ink)}.statement .w.hot.on{color:var(--red)}@media (width<=760px){.statement .wrap{grid-template-columns:minmax(0,1fr)}.statement .label:before{width:32px;height:32px}}.explore .wrap{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;padding:0;display:grid}.ex{border-right:var(--rule);flex-direction:column;justify-content:space-between;gap:28px;min-height:clamp(360px,42vw,600px);padding:clamp(20px,2.4vw,36px);text-decoration:none;display:flex;position:relative;overflow:hidden}.ex:last-child{border-right:0}.ex-frames{background:var(--blue);color:var(--on-color)}.ex-about{background:var(--yellow);color:var(--ink)}.ex-contact{background:var(--red);color:var(--on-color)}.ex .num{font-family:var(--mono);font-size:var(--label);letter-spacing:.16em;font-weight:700}.ex svg{width:70%;height:auto;transition:transform .7s var(--ease);position:absolute;top:12%;right:-6%}.ex:hover svg,.ex:focus-visible svg{transform:rotate(14deg)scale(1.1)}.ex-text{gap:10px;margin-top:auto;display:grid;position:relative}.ex-text b{letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(34px,4vw,64px);font-weight:800;line-height:.95}.ex-text i{max-width:28ch;font-size:clamp(16px,1.3vw,19px);font-style:normal;line-height:1.35}.ex-text .go{transition:transform .3s var(--ease);font-size:28px;font-weight:800;line-height:1}.ex:hover .go{transform:translate(10px)}@media (width<=900px){.explore .wrap{grid-template-columns:minmax(0,1fr)}.ex{border-right:0;border-bottom:var(--rule);min-height:300px}.ex:last-child{border-bottom:0}.ex svg{width:46%;top:10%}}.project-heading{border-bottom:var(--rule);background:var(--yellow)}.project-heading .wrap{padding-block:clamp(48px,8vw,110px)}.project-heading p{margin:24px 0 0;font-size:clamp(18px,2vw,26px)}.featured-project .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(24px,5vw,80px);padding-block:clamp(48px,8vw,120px);display:grid}.featured-project h2{letter-spacing:-.025em;text-transform:uppercase;margin:16px 0;font-size:clamp(36px,6vw,86px);line-height:.95}.featured-project .project-description{max-width:37ch;margin:0 0 24px;font-size:clamp(17px,1.5vw,22px);line-height:1.45}.featured-project img{border:var(--rule);width:100%;height:auto;display:block}.featured-project .project-snapshots{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(20px,3vw,40px);padding-block:0 clamp(48px,8vw,120px)}.project-snapshots figure{margin:0}.project-snapshots a{display:block}.project-snapshots figcaption{font-family:var(--mono);font-size:var(--label);margin-top:12px}@media (width<=760px){.featured-project .wrap{grid-template-columns:minmax(0,1fr)}}section.block>.wrap{padding-block:clamp(48px,8vw,112px)}.gal-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 32px;margin-bottom:clamp(28px,4vw,56px);display:flex}.gal-head p.note{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);margin:20px 0 0;font-weight:700}.filters{flex-wrap:wrap;gap:10px;display:flex}.chip{border:var(--rule-thin);background:var(--white);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;min-height:44px;transition:background .15s,color .15s,transform .15s var(--ease);border-radius:0;align-items:center;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.chip:hover{background:var(--yellow);transform:translateY(-2px)}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.chip .n{font-family:var(--mono);font-size:var(--label);opacity:.7;margin-left:8px}.frames-grid{flex-wrap:wrap;gap:40px 18px;min-height:clamp(420px,70vh,900px);display:flex}.frames-grid .frame:not(.pop){animation:cardIn .6s var(--ease) both}.frames-grid .frame:nth-child(3n+2):not(.pop){animation-delay:70ms}.frames-grid .frame:nth-child(3n):not(.pop){animation-delay:.14s}@keyframes cardIn{0%{opacity:0;translate:0 24px}}.frame{--sh:var(--red);flex:280px;min-width:0;margin:0}.frame:nth-child(3n+2){--sh:var(--yellow)}.frame:nth-child(3n){--sh:var(--blue)}.frame.pop{animation:cardPop .45s var(--ease) both}@keyframes cardPop{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.shot{border:var(--rule);cursor:zoom-in;background:var(--white);width:100%;box-shadow:0 0 0 var(--sh);transition:transform .25s var(--ease),box-shadow .25s var(--ease);border-radius:0;padding:0;display:block;position:relative;overflow:hidden}.shot:hover,.shot:focus-visible{box-shadow:var(--off-l) var(--off-l) 0 var(--sh);transform:translate(-5px,-5px)}.shot canvas,.shot img{object-fit:cover;width:100%;height:100%;display:block}.shot .view{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--yellow);border:var(--rule);opacity:0;transition:opacity .2s,transform .25s var(--ease);border-width:3px 3px 0 0;padding:6px 12px;font-size:12.5px;font-weight:700;position:absolute;bottom:0;left:0;transform:translateY(100%)}.shot:hover .view,.shot:focus-visible .view{opacity:1;transform:none}.frame figcaption{gap:2px;padding-top:14px;display:grid}.frame figcaption strong{letter-spacing:.01em;text-transform:uppercase;font-size:20px;font-weight:800;line-height:1.15}.frame figcaption span{color:var(--muted);font-size:15px;font-weight:500;display:block}.frame .pl{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;font-weight:700;color:var(--red)!important}.film{background:var(--ink);border-top:var(--rule);padding-block:18px;overflow:hidden}.film-track{will-change:transform;gap:12px;width:max-content;min-height:132px;display:flex}.film-track img{object-fit:cover}.film-track canvas,.film-track img{border:2px solid var(--paper);flex:none;width:200px;height:132px}main.about-page{padding-bottom:clamp(40px,7vw,90px)}.about-page section{margin-top:clamp(56px,8vw,112px)}.sec{font-family:var(--display);letter-spacing:-.01em;text-transform:uppercase;align-items:center;gap:.5em;margin:0 0 clamp(20px,3vw,36px);font-size:clamp(28px,3.6vw,52px);font-weight:800;line-height:1;display:flex}.sec:before{content:"";background:var(--red);flex:none;width:.62em;height:.62em}.log-section .sec:before{background:var(--blue);border-radius:50%}.stack-section .sec:before{background:var(--yellow);clip-path:polygon(50% 0,100% 100%,0 100%)}.about-head{gap:clamp(28px,4vw,56px);padding-top:clamp(48px,8vw,112px);display:grid}.about-intro{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(24px,5vw,80px);display:grid}.about-intro .lede{letter-spacing:-.01em;border-left:10px solid var(--red);max-width:24ch;margin:0;padding-left:20px;font-size:clamp(22px,2.4vw,34px);font-weight:600;line-height:1.2}@media (width<=860px){.about-intro{grid-template-columns:minmax(0,1fr)}}.spec{border:var(--rule);background:var(--white);box-shadow:var(--off-l) var(--off-l) 0 var(--ink);margin:0}.spec>div{border-top:var(--rule-thin);grid-template-columns:minmax(0,8.5rem) minmax(0,1fr);gap:4px 20px;padding:14px 20px;display:grid}.spec>div:first-child{border-top:0}.spec dt{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);padding-top:3px;font-weight:700}.spec dd{margin:0;font-size:17px;font-weight:500;line-height:1.4}.spec dd b{font-weight:700;display:block}.spec .status{background:var(--yellow)}.spec .status dt{color:var(--ink)}.spec .status dd{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.spec .dot{background:var(--red);border-radius:50%;width:12px;height:12px;margin-right:10px;display:inline-block}.spec .btn{padding:10px 18px;font-size:12.5px}.edu-spec dt{color:var(--ink)}@media (width<=560px){.spec>div{grid-template-columns:minmax(0,1fr)}.spec{box-shadow:var(--off-s) var(--off-s) 0 var(--ink)}}.places{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,28px);display:grid}.places figure{aspect-ratio:16/10;border:var(--rule);margin:0;position:relative;overflow:hidden}.places svg{isolation:isolate;width:100%;height:100%;position:absolute;inset:0}.places figcaption{background:var(--paper);border:var(--rule);text-transform:uppercase;letter-spacing:.04em;border-width:3px 3px 0 0;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:8px 16px;font-size:16px;font-weight:700;display:flex;position:absolute;bottom:0;left:0}.places figcaption span{font-family:var(--mono);font-size:var(--label);color:var(--muted)}@media (width<=640px){.places{grid-template-columns:minmax(0,1fr)}}.chart{--c:calc(100% / 7);border:var(--rule);background:var(--white);gap:10px;padding:clamp(14px,2vw,24px);display:grid}.lane{grid-template-columns:5.5rem minmax(0,1fr);align-items:center;gap:14px;display:grid}.lane-name{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;font-weight:700}.track{border-top:var(--rule-thin);border-bottom:var(--rule-thin);background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px);background-size:var(--c) 100%;height:56px;position:relative}.axis .track{background-image:none;border-top:0;height:26px}.axis .y{font-family:var(--mono);font-size:var(--label);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700;position:absolute;top:0;transform:translate(-50%)}.axis .y:first-child{transform:none}.axis .y:last-child{transform:translate(-100%)}.bar{border:var(--rule-thin);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:0 10px;font-size:13px;font-weight:700;line-height:1.05;display:flex;position:absolute;top:7px;bottom:7px;overflow:hidden}.bar.edu{background:var(--blue);color:var(--on-color)}.bar.work{background:var(--red);color:var(--on-color)}.bar.next{background:var(--yellow);color:var(--ink)}@media (width<=700px){.lane{grid-template-columns:4.2rem minmax(0,1fr);gap:8px}.axis .y.odd{display:none}.bar{padding:0 6px;font-size:11px}}.log{border-top:var(--rule);grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:14px clamp(20px,4vw,64px);padding-block:clamp(24px,3.2vw,40px);display:grid}.log-section .log:last-child{border-bottom:var(--rule)}.log .meta{font-family:var(--mono);font-size:var(--label);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;margin:0 0 12px;display:flex}.log .meta span:first-child{color:var(--ink);font-weight:700}.log h3{letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(24px,2.6vw,38px);font-weight:800;line-height:1.05}.log .where{color:var(--muted);margin:8px 0 0;font-size:17px;font-weight:500}.log ul{max-width:64ch;margin:0;padding-left:1.2em}.log li{margin:0 0 .6em}.log li::marker{color:var(--red)}@media (width<=860px){.log{grid-template-columns:minmax(0,1fr)}}.stack{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:24px;display:grid}.stack>div{border-top:12px solid var(--red);padding-top:14px}.stack>div:nth-child(3n+2){border-top-color:var(--yellow)}.stack>div:nth-child(3n){border-top-color:var(--blue)}.stack h3{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;margin:0 0 12px;font-weight:700}.stack ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stack li{border:var(--rule-thin);background:var(--white);padding:5px 11px;font-size:15.5px;font-weight:600}main.contact-page{min-height:100svh;display:flex;position:relative;overflow:hidden}.contact-art{right:-6%;top:calc(var(--nav) + 2%);z-index:0;pointer-events:none;width:min(62vw,820px);height:auto;position:absolute}.contact-grid{z-index:1;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(28px,6vw,96px);width:100%;padding-block:clamp(40px,7vh,88px);display:grid;position:relative}.contact-lede h1{margin-bottom:clamp(18px,3vh,30px)}.contact-lede p{max-width:40ch;margin:0 0 16px;font-size:clamp(18px,1.7vw,22px);font-weight:500;line-height:1.45}.contact-lede .contact-time{font-family:var(--mono);font-size:var(--label);letter-spacing:.04em;color:var(--ink);font-weight:500}.contact-lede .contact-time [data-component=clock]{background:var(--ink);color:var(--paper);font-variant-numeric:tabular-nums;padding:2px 8px;font-weight:700}@media (width<=900px){main.contact-page{flex-direction:column}.contact-grid{grid-template-columns:minmax(0,1fr);align-items:start;padding-top:clamp(24px,5vh,48px)}.contact-art{border-bottom:var(--rule);width:100%;height:150px;position:static}}.cform{background:var(--white);border:var(--rule);box-shadow:var(--off-l) var(--off-l) 0 var(--ink);animation:paneIn .8s .1s var(--ease) both;gap:clamp(18px,3vh,28px);padding:clamp(22px,3.4vw,44px);display:grid}@keyframes paneIn{0%{opacity:0;transform:translateY(24px)}}.cform-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(18px,3vh,28px) 24px;display:grid}.field{align-content:start;gap:6px;min-width:0;display:grid}.field label{font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;font-weight:700}.field input,.field textarea{width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--paper);border:var(--rule);border-radius:0;padding:12px 14px;font-size:19px;font-weight:500;line-height:1.4;transition:box-shadow .15s,transform .15s,background .15s}.field textarea{resize:vertical;min-height:120px}.field input:hover,.field textarea:hover{background:var(--yellow-tint)}.field input:focus,.field textarea:focus{background:var(--white);box-shadow:var(--off-s) var(--off-s) 0 var(--blue);outline:none;transform:translate(-2px,-2px)}.field [aria-invalid=true]{border-color:var(--red);box-shadow:var(--off-s) var(--off-s) 0 var(--red)}.field-hint{color:var(--muted);font-size:14px}.field-err{color:var(--red-text);font-size:14px;font-weight:700}.field-err:empty{display:none}.field-foot{justify-content:space-between;gap:12px;display:flex}.field-count{font-family:var(--mono);font-size:var(--label);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.field-count.warn{color:var(--red-text);font-weight:700}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.cform-foot{flex-wrap:wrap;align-items:center;gap:18px 22px;display:flex}.btn.send{background:var(--red);color:var(--on-color);box-shadow:var(--off-s) var(--off-s) 0 var(--ink)}.btn.send:hover{box-shadow:8px 8px 0 var(--ink)}.btn.send:active{box-shadow:2px 2px 0 var(--ink)}.form-status{border:var(--rule-thin);background:var(--paper);flex:240px;margin:0;padding:12px 16px;font-size:16px;font-weight:600}.form-status[data-kind=success]{background:var(--blue);color:var(--on-color)}.form-status[data-kind=error]{background:var(--red);color:var(--on-color)}footer{background:var(--ink);color:var(--paper)}footer .wrap{gap:28px;padding-block:clamp(36px,6vw,72px) 28px;display:grid}footer .in-short{letter-spacing:-.015em;text-transform:uppercase;margin:0;padding:0;font-size:clamp(24px,3.4vw,48px);font-weight:700;line-height:1.1;list-style:none}footer .in-short li:nth-child(2){color:var(--yellow)}footer .in-short li:nth-child(3){color:var(--blue-soft)}.foot-mark{isolation:isolate;width:120px;height:40px}.foot-row{border-top:2px solid var(--ink-line);font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;color:var(--paper-soft);flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding-top:20px;display:flex}.foot-mid{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 28px;display:flex}.social{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.social a{border:2px solid var(--paper);width:48px;height:48px;color:var(--paper);transition:background .15s,color .15s,transform .2s var(--ease);justify-content:center;align-items:center;text-decoration:none;display:flex}.social a:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink);transform:translateY(-2px)}.social svg{fill:currentColor;width:22px;height:22px}.social svg.line{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:square;stroke-linejoin:miter}.social svg.line circle[fill]{stroke:none}.lb{z-index:50;background:var(--veil);padding:calc(64px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));color:var(--paper);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;animation:.25s both lbIn;display:grid;position:fixed;inset:0}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.lb figure{flex-direction:column;align-items:center;gap:16px;min-width:0;margin:0;display:flex}.lb img{object-fit:contain;max-width:100%}.lb canvas,.lb img{border:4px solid var(--paper);box-shadow:var(--off-l) var(--off-l) 0 var(--red);animation:lbZoom .45s var(--ease) both}@keyframes lbZoom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.lb figcaption{text-align:center;font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase}.lb figcaption strong{font-family:var(--body);letter-spacing:0;color:var(--yellow);margin-bottom:6px;font-size:clamp(22px,3vw,34px);font-weight:800;display:block}.lb-nav{border:3px solid var(--paper);width:56px;height:56px;color:var(--paper);cursor:pointer;background:0 0;font-size:24px;font-weight:700;transition:background .15s,color .15s}.lb-nav:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.lb-close{top:calc(12px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));border:3px solid var(--paper);min-height:44px;color:var(--paper);font-family:var(--mono);font-size:var(--label);letter-spacing:var(--track);text-transform:uppercase;cursor:pointer;background:0 0;padding:0 18px;font-weight:700;position:absolute}.lb-close:hover{background:var(--red);border-color:var(--red)}.lb-count{top:calc(24px + env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));font-family:var(--mono);font-size:var(--label);letter-spacing:.14em;font-variant-numeric:tabular-nums;font-weight:700;position:absolute}.lb :focus-visible{outline-color:var(--yellow)}@media (width<=640px){.lb{grid-template-rows:1fr auto;grid-template-columns:1fr}.lb figure{grid-row:1}.lb-navs{justify-content:center;gap:16px;display:flex}}@media (width>=641px){.lb-navs{display:contents}.lb-nav.prev{grid-area:1/1}.lb-nav.next{grid-area:1/3}.lb figure{grid-area:1/2}}.nf{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.nf-art{right:-4%;top:calc(var(--nav) + 2%);isolation:isolate;width:min(70vw,820px);height:auto;position:absolute}.nf-art>*{mix-blend-mode:multiply}.nf .wrap{z-index:1;width:100%;padding-block:0 clamp(40px,7vw,90px);position:relative}.nf h1{font-family:var(--display);letter-spacing:-.04em;font-size:clamp(110px,28vw,380px);font-weight:800;line-height:.8}.nf h1 .flare{color:var(--red)}.nf p{max-width:30ch;margin:22px 0 32px;font-size:clamp(19px,2vw,24px);font-weight:500}.nf .btn{display:inline-block}@keyframes sFloat{0%{transform:translateY(calc(var(--amp,8px) * .6))}to{transform:translateY(calc(var(--amp,8px) * -1))}}@keyframes sSlide{0%{transform:translateX(calc(var(--amp,8px) * -1))}to{transform:translateX(var(--amp,8px))}}@keyframes sRock{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}@keyframes sBreathe{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes sPulse{0%{transform:scale(1)}to{transform:scale(.78)}}@keyframes sGrow{0%{transform:scaleY(.86)}to{transform:scaleY(1)}}@keyframes sSpin{to{transform:rotate(360deg)}}@keyframes sFlip{0%,70%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes sDot{0%{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(.55)}}@keyframes gDrift{0%{translate:0 calc(var(--amp,8px) * .6)}to{translate:0 calc(var(--amp,8px) * -1)}}@keyframes gTilt{0%{rotate:-8deg}to{rotate:8deg}}.ex svg *,.places svg *,.contact-art *,.nf-art *,.foot-mark *,.mark *{transform-box:fill-box;transform-origin:50%;animation-duration:var(--d,5s);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}.ex svg{--amp:12px;animation:7s ease-in-out infinite alternate gDrift;overflow:visible}.ex-about svg{animation:6s ease-in-out infinite alternate gTilt}.ex-frames svg circle:nth-child(2){--d:3.2s;animation-name:sBreathe}.ex-frames svg circle:nth-child(3){--d:2.4s;animation-name:sPulse}.ex-contact svg rect{--d:36s;animation-name:sSpin;animation-timing-function:linear;animation-direction:normal}.ex-contact svg circle{--amp:10px;--d:4s;animation-name:sFloat}.places svg{--amp:6px}.places figure:first-child svg circle{--d:5s;animation-name:sFloat}.places figure:first-child svg polygon:first-of-type{--d:6s;animation-name:sRock}.places figure:first-child svg polygon:nth-of-type(2){--d:7s;animation-name:sSlide}.places figure:nth-child(2) svg circle{--d:3s;animation-name:sPulse}.places figure:nth-child(2) svg rect:nth-child(n+3):nth-child(-n+10){transform-origin:50% 100%;--d:2.4s;animation-name:sGrow}.places figure:nth-child(2) svg rect:nth-child(3){animation-delay:-.3s}.places figure:nth-child(2) svg rect:nth-child(4){animation-delay:-1.1s}.places figure:nth-child(2) svg rect:nth-child(5){animation-delay:-.6s}.places figure:nth-child(2) svg rect:nth-child(6){animation-delay:-1.8s}.places figure:nth-child(2) svg rect:nth-child(7){animation-delay:-.9s}.places figure:nth-child(2) svg rect:nth-child(8){animation-delay:-2.1s}.places figure:nth-child(2) svg rect:nth-child(9){animation-delay:-.2s}.places figure:nth-child(2) svg rect:nth-child(10){animation-delay:-1.4s}.contact-art,.nf-art{--amp:20px}.contact-art circle,.nf-art circle{--d:8s;animation-name:sBreathe}.contact-art rect,.nf-art rect{--d:7s;animation-name:sRock}.contact-art polygon,.nf-art polygon{--d:6s;animation-name:sFloat}.mark{--amp:1.5px}.mark circle{--d:3.4s;animation-name:sFloat}.mark rect{--d:4.2s;animation-name:sRock}.mark path{--d:3.8s;animation-name:sSlide}.foot-mark{--amp:5px}.foot-mark circle{--d:3.2s;animation-name:sFloat}.foot-mark rect{--d:4s;animation-name:sRock}.foot-mark path{--d:3.6s;animation-name:sFloat;animation-delay:-1.2s}.sec:before{animation:4.5s ease-in-out infinite sFlip}.log-section .sec:before{animation:2.6s ease-in-out infinite alternate sPulse}.stack-section .sec:before{animation:3.4s ease-in-out infinite alternate sRock}.eyebrow .dot,.spec .dot{animation:1.6s ease-in-out infinite alternate sDot}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.rv.pre{opacity:1;transform:none}}
