@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@500;600;700;800;900&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600&family=Syne:wght@600;700;800&family=Playfair+Display:ital,wght@1,500&display=swap";:root{--bg:#070707;--fg:#f3f3ef;--muted:#92928c;--line:#2d2d2a;--signal:#b7ff36;--panel:#11110f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Arial,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:30;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit}.skip{z-index:50;background:var(--signal);color:#080808;padding:12px;position:fixed;top:-60px;left:16px}.skip:focus{top:16px}.topbar{border-bottom:1px solid var(--line);text-transform:uppercase;z-index:5;grid-template-columns:1fr 1fr 1fr;align-items:start;height:94px;padding:22px 28px;font:11px DM Mono,monospace;display:grid;position:relative}.wordmark{letter-spacing:-.05em;font:900 21px Inter,sans-serif}.topbar p{color:var(--muted);margin:0;line-height:1.45}.topbar nav{justify-content:flex-end;gap:25px;display:flex}.topbar nav a{position:relative}.topbar nav a:after{content:"";background:var(--signal);height:1px;transition:right .25s;position:absolute;bottom:-5px;left:0;right:100%}.topbar nav a:hover:after{right:0}.hero{flex-direction:column;justify-content:space-between;min-height:calc(100vh - 94px);padding:28px;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";border:1px solid var(--line);pointer-events:none;border-radius:50%;position:absolute}.hero:before{width:42vw;height:42vw;animation:18s linear infinite spin;top:-18vw;right:-20vw}.hero:after{width:18vw;height:18vw;animation:11s linear infinite spinReverse;top:9vw;right:4vw}.hero-index{color:var(--muted);font:11px DM Mono,monospace}.hero-index span{color:var(--signal);margin-left:14px}.hero h1{z-index:2;letter-spacing:-.078em;margin:38px 0;font-size:clamp(61px,11.5vw,177px);font-weight:900;line-height:.77;position:relative}.hero h1>span,.hero h1>em{opacity:0;animation:.85s cubic-bezier(.2,.85,.2,1) forwards titleIn;display:inline-block;transform:translateY(70px)skewY(4deg)}.hero h1>span:nth-child(3){animation-delay:.1s}.hero h1 em{color:var(--signal);font-style:normal;animation-delay:.2s}.hero-foot{z-index:2;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:end;padding-top:18px;font-size:15px;display:grid;position:relative}.hero-foot p{max-width:570px;color:var(--muted);margin:0;line-height:1.5}.hero-foot a{text-transform:uppercase;justify-self:end;font:11px DM Mono,monospace;transition:color .2s}.hero-foot a:hover{color:var(--signal)}.orbit{border:1px solid var(--signal);width:100px;height:100px;color:var(--signal);border-radius:50%;place-items:center;font:11px DM Mono,monospace;animation:4s ease-in-out infinite float;display:grid;position:absolute;top:23vh;right:14vw}.ticker{background:var(--signal);color:#090909;white-space:nowrap;padding:14px 0;font:600 12px DM Mono,monospace;overflow:hidden;transform:rotate(-1deg)scale(1.02)}.ticker div{width:max-content;animation:18s linear infinite drift}.section-head{grid-template-columns:1fr 2fr auto;align-items:end;margin-bottom:70px;display:grid}.section-head p,.section-head span,.about-label,.contact>p{text-transform:uppercase;color:var(--muted);font:11px DM Mono,monospace}.section-head h2,.about h2{letter-spacing:-.065em;margin:0;font-size:clamp(44px,7vw,104px);line-height:.88}.project{border-bottom:1px solid var(--line);isolation:isolate;grid-template-columns:65px minmax(280px,2fr) 1fr 115px;align-items:center;gap:25px;padding:30px 8px;transition:padding .28s,color .28s;display:grid;position:relative}.project:before{content:"";background:var(--signal);z-index:-1;transition:inset .42s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 100% 0 0}.project:hover{color:#080808;padding-left:20px;padding-right:20px}.project:hover:before{inset:0}.project-no,.project-link,.project li{text-transform:uppercase;font:10px DM Mono,monospace}.project h3{letter-spacing:-.055em;margin:0 0 7px;font-size:clamp(32px,4.2vw,65px);line-height:.92;transition:transform .35s}.project:hover h3{transform:translate(9px)}.project p{max-width:540px;color:var(--muted);margin:0;font-size:14px;transition:color .25s}.project ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.project li{border:1px solid;padding:6px 8px}.project-link{text-align:right}.about{border-top:1px solid var(--line);background:var(--panel);grid-template-columns:1fr 2fr 1fr;gap:42px;display:grid}.about-copy p{max-width:680px;color:var(--muted);margin:38px 0 0;font-size:19px;line-height:1.6}.about dl{border-top:1px solid var(--line);margin:0}.about dl div{border-bottom:1px solid var(--line);padding:17px 0}.about dt{text-transform:uppercase;color:var(--muted);font:10px DM Mono,monospace}.about dd{margin:8px 0 0;font-size:14px}.contact{flex-direction:column;justify-content:space-between;min-height:80vh;display:flex}.contact h2{letter-spacing:-.075em;margin:80px 0;font-size:clamp(58px,11vw,165px);line-height:.8}.contact h2 a{color:var(--signal);transition:transform .3s;display:inline-block}.contact h2 a:hover{transform:translate(18px)}.contact-row{border-top:1px solid var(--fg);text-transform:uppercase;grid-template-columns:2fr 1fr;font:11px DM Mono,monospace;display:grid}.contact-row>*{color:var(--muted);padding:20px 0}.contact-row a{text-align:right;color:var(--fg)}footer{border-top:1px solid var(--line);text-transform:uppercase;color:var(--muted);grid-template-columns:1fr 1fr 1fr;padding:22px 28px;font:10px DM Mono,monospace;display:grid}footer span:nth-child(2){text-align:center}footer a{text-align:right}.reveal-motion{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(45px)}.reveal-motion.in{opacity:1;transform:none}.cursor,.cursor-label{pointer-events:none;z-index:100;opacity:0;position:fixed;top:0;left:0}.cursor{background:var(--signal);border-radius:50%;width:12px;height:12px;transition:width .2s,height .2s,opacity .2s;transform:translate(-50%,-50%)}.cursor-label{color:#080808;font:9px DM Mono,monospace;transform:translate(-50%,-50%)}body.project-hover .cursor{width:58px;height:58px}body.project-hover .cursor-label{opacity:1}@keyframes titleIn{to{opacity:1;transform:none}}@keyframes drift{to{transform:translate(-35%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@keyframes float{50%{transform:translateY(-20px)rotate(8deg)}}@media (width<=800px){.cursor,.cursor-label{display:none}.topbar{grid-template-columns:1fr auto;height:auto;padding:18px}.topbar p{display:none}.topbar nav{gap:14px}.hero{min-height:84vh;padding:20px 18px 27px}.hero h1{margin:55px 0;font-size:clamp(55px,17vw,94px);line-height:.82}.hero-foot{grid-template-columns:1fr;gap:24px}.hero-foot a{justify-self:start}.orbit{width:66px;height:66px;top:19vh;right:8vw}.work,.about,.contact{padding:76px 18px}.section-head{grid-template-columns:1fr auto;gap:20px;margin-bottom:45px}.section-head h2{grid-area:2/1/auto/-1}.project{grid-template-columns:35px 1fr auto;gap:11px;padding:23px 0}.project ul{display:none}.project h3{font-size:35px}.project p{font-size:12px;line-height:1.45}.project-link{font-size:0}.project-link:after{content:"↗";font-size:18px}.project:hover{padding-left:7px;padding-right:7px}.about{grid-template-columns:1fr;gap:38px}.about-copy p{font-size:17px}.contact{min-height:70vh}.contact h2{margin:65px 0}.contact-row{grid-template-columns:1fr;gap:0}.contact-row>*{border-bottom:1px solid var(--line);text-align:left!important}footer{grid-template-columns:1fr 1fr}footer span:nth-child(2){display:none}.ticker{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.hero h1>span,.hero h1>em,.reveal-motion{opacity:1;transform:none}}:root{--bg:#0b0b0b;--fg:#fff;--muted:#707070;--line:#222;--signal:#cf0;--panel:#101010;--ivory:#f5f4f0;--charcoal:#1a1a1a}body{background:var(--bg);color:var(--fg);cursor:none;font-family:Inter,Arial,sans-serif}body:before{opacity:.03}.viewport-frame{z-index:90;pointer-events:none;border:1px solid #ffffff21;position:fixed;inset:12px}.corner{color:var(--signal);font:12px DM Mono,monospace;position:absolute}.tl{top:-9px;left:-5px}.tr{top:-9px;right:-5px}.bl{bottom:-9px;left:-5px}.br{bottom:-9px;right:-5px}.rail{z-index:40;color:#5c5c5c;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;pointer-events:none;font:8px DM Mono,monospace;position:fixed;top:50%}.rail-left{left:17px;transform:translate(-50%,-50%)rotate(-90deg)}.rail-right{right:17px;transform:translate(50%,-50%)rotate(90deg)}.rail i,.status-dot{background:var(--signal);border-radius:50%;width:5px;height:5px;margin-left:8px;animation:1.4s steps(2,end) infinite pulse;display:inline-block}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom-color:var(--line);z-index:50;background:#0b0b0be0;align-items:center;height:76px;padding:20px 48px;position:sticky;top:0}.wordmark{font-family:Syne,sans-serif;font-size:20px}.topbar p,.topbar nav{letter-spacing:.15em;font-size:8px}.topbar nav a:after{background:var(--signal)}.hero{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:repeat(12,1fr);gap:18px 24px;min-height:calc(100vh - 76px);padding:28px 8vw 34px;display:grid;overflow:hidden}.hero-index{letter-spacing:.15em;grid-column:1/8;font-size:8px}.hero h1{letter-spacing:-.04em;max-width:none;font-family:Syne,sans-serif;font-size:clamp(58px,8.15vw,125px);font-weight:800;line-height:.76;font-stretch:var(--stretch,100%);z-index:3;flex-direction:column;grid-area:2/1/auto/9;justify-content:center;align-self:center;margin:0;display:flex}.hero h1>span,.hero h1>em{white-space:nowrap;display:block}.hero h1 em{color:var(--signal);letter-spacing:-.06em;font-family:Playfair Display,serif;font-size:.86em;font-weight:500}.hero-portrait{border:1px solid var(--line);z-index:2;background:#111;border-radius:2px;grid-area:2/9/auto/13;place-self:stretch stretch;width:100%;height:auto;min-height:0;margin:0;animation:.9s .2s both portraitIn;position:relative;bottom:auto;right:auto;overflow:hidden}.hero-portrait:before{content:"";z-index:4;pointer-events:none;border:1px solid #ffffff26;position:absolute;inset:8px}.hero-portrait canvas,.hero-portrait img{object-fit:cover;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.hero-portrait canvas{z-index:2}.hero-portrait img{filter:grayscale()contrast(1.08);z-index:1}.hero-portrait:hover img{filter:none;transform:scale(1.02)}.hero-portrait figcaption{background:var(--bg);letter-spacing:.15em;z-index:5;padding:7px 9px;font-size:8px;bottom:14px;left:14px}.registration{z-index:6;color:var(--signal);font:11px DM Mono,monospace;position:absolute}.r1{top:14px;left:14px}.r2{bottom:14px;right:14px}.hero-foot{border-top-color:var(--line);grid-column:1/13;grid-template-columns:5fr 2fr;align-items:end;display:grid}.hero-foot p{max-width:60ch;font-size:16px;line-height:1.6}.hero-foot strong{color:#fff}.hero-foot a{letter-spacing:.15em;font-size:8px}.ticker{background:var(--signal);color:#0b0b0b;letter-spacing:.15em;padding:11px 0;font-size:8px;transform:none}.work,.about,.contact{padding:130px 8vw}.light-section{background:var(--ivory);color:var(--charcoal)}.light-section .section-head p,.light-section .section-head span{color:#6f6e68}.section-head{grid-template-columns:3fr 8fr 1fr;margin-bottom:90px}.section-head h2,.about h2{letter-spacing:-.04em;font-family:Syne,sans-serif;font-size:clamp(54px,8vw,118px);font-weight:700;line-height:.86}.section-head h2 em,.about h2 em{font-family:Playfair Display,serif;font-weight:500}.section-head p,.section-head span,.about-label,.contact>p{letter-spacing:.15em;font-size:8px}.project-list{border-top:1px solid var(--charcoal)}.project{min-height:150px;color:var(--charcoal);border-bottom:1px solid #e0ddd5;grid-template-columns:54px minmax(280px,6fr) 3fr 100px;padding:28px 0}.project:before{background:var(--charcoal)}.project:hover{color:var(--ivory)}.project:hover p{color:#aaa}.project h3{letter-spacing:-.04em;font-family:Syne,sans-serif;font-size:clamp(40px,5vw,74px)}.project p{color:#777;max-width:60ch}.project li,.project-no,.project-link{letter-spacing:.12em;font-size:8px}.project li{border-radius:2px}.project-link{white-space:nowrap}.about{background:var(--bg);grid-template-columns:2fr 7fr 3fr;padding-top:150px;padding-bottom:150px}.about-copy p{max-width:60ch;font-size:16px;line-height:1.6}.about dl{border-top-color:var(--line)}.about dl div{border-bottom-color:var(--line)}.about dt{letter-spacing:.15em;font-size:8px}.about dd{font-size:13px}.contact{padding-top:150px}.contact h2{letter-spacing:-.04em;font-family:Syne,sans-serif;font-size:clamp(66px,12vw,176px)}.contact h2 a{color:var(--signal)}.contact-row{letter-spacing:.15em;font-size:8px}.contact-row a{color:var(--fg)}footer{letter-spacing:.15em;padding:22px 48px;font-size:8px}.cursor{border:1px solid var(--signal);mix-blend-mode:difference;background:0 0;width:18px;height:18px}.cursor-label{color:#000;letter-spacing:.12em;font-size:7px}body.project-hover .cursor{background:var(--signal);mix-blend-mode:normal;width:74px;height:74px}.page-transition{z-index:120;background:var(--signal);color:#0b0b0b;pointer-events:none;opacity:0;transform-origin:50%;letter-spacing:.15em;place-items:center;font:8px DM Mono,monospace;display:grid;position:fixed}.page-transition.active{animation:.65s cubic-bezier(.2,.85,.2,1) forwards flipOpen}.reveal-motion{transform:translateY(55px)skewY(2deg)}@keyframes pulse{50%{opacity:.15}}@keyframes flipOpen{0%{opacity:1}to{opacity:1;width:100vw!important;height:100vh!important;top:0!important;left:0!important}}@keyframes portraitIn{0%{opacity:0;clip-path:inset(100% 0 0)}to{opacity:1;clip-path:inset(0)}}@media (width<=900px){body{cursor:auto}.rail,.cursor,.cursor-label{display:none}.viewport-frame{inset:6px}.topbar{padding:18px 22px}.hero{min-height:auto;padding:28px 22px 34px;display:flex}.hero h1{white-space:normal;align-self:stretch;width:100%;margin:60px 0 30px;font-size:clamp(38px,11.5vw,54px);line-height:.84}.hero h1 span,.hero h1 em{white-space:nowrap}.hero-portrait{width:100%;height:62vh;max-height:580px;margin-bottom:34px}.hero-foot{grid-template-columns:1fr;gap:24px}.work,.about,.contact{padding:90px 22px}.section-head{grid-template-columns:1fr auto;margin-bottom:55px}.section-head h2{grid-column:1/-1}.project{grid-template-columns:34px 1fr auto;min-height:120px}.project ul{display:none}.about{grid-template-columns:1fr}.contact h2{font-size:clamp(46px,14vw,78px)}footer{padding:20px 22px}.page-transition{display:none}}.contact-row{grid-template-columns:repeat(3,1fr)}.contact-row>*{text-align:left!important}.contact-row>:nth-child(2){text-align:center!important}.contact-row>:last-child{color:var(--fg);cursor:none;background:0 0;border:0;text-align:right!important}@media (width<=900px){.contact-row{grid-template-columns:1fr}.contact-row>*{text-align:left!important}}.hero-notes{color:var(--muted);letter-spacing:.15em;z-index:4;grid-area:2/1/auto/5;grid-template-columns:repeat(3,1fr);align-self:end;gap:10px;margin-bottom:0;font:8px DM Mono,monospace;display:grid}.hero-notes span{border-top:1px solid var(--line);padding-top:9px}.hero-portrait{transform-origin:50% 85%;animation:.9s .2s both portraitIn,5.5s ease-in-out 1.2s infinite photoWiggle}.sound-toggle{z-index:95;border:1px solid var(--signal);background:var(--bg);color:var(--signal);letter-spacing:.15em;cursor:none;border-radius:2px;padding:10px 12px;font:8px DM Mono,monospace;position:fixed;bottom:26px;right:28px}.sound-toggle[aria-pressed=false]{border-color:var(--line);color:var(--muted)}@keyframes photoWiggle{0%,to{transform:rotate(0)translate(0)}25%{transform:rotate(.35deg)translate(-2px)}50%{transform:rotate(-.25deg)translate(2px)}75%{transform:rotate(.18deg)translateY(-2px)}}@media (width<=900px){.hero{justify-content:flex-start}.hero h1{margin:48px 0 22px;font-size:clamp(40px,11.8vw,64px);line-height:.78;display:flex}.hero-notes{display:none}.hero-portrait{min-height:430px;animation:.9s .2s both portraitIn,5.5s ease-in-out 1.2s infinite photoWiggle}.sound-toggle{cursor:pointer;bottom:16px;right:16px}.project-link:after{content:"OPEN";letter-spacing:.15em;font-size:8px}}@media (prefers-reduced-motion:reduce){.rail i,.status-dot,.page-transition.active,.hero-portrait{animation:none}}
