:root{--bg:#111;--display:#777;--text:#aaa;--text-muted:#777;--line:#777;--accent:#cb450c;--hover:#f4f4f4;--hover-glow:0 0 8px #ffffff57, 0 0 20px #ffffff29;--focus:#cb450c59;--font-display:"Bebas Neue", Impact, Haettenschweiler, "Arial Narrow", sans-serif;--font-sans:Arial, Helvetica, sans-serif;color:var(--text);background:var(--bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}*{box-sizing:border-box}html{scrollbar-color:var(--line) var(--bg);scrollbar-width:thin;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-padding-top:24px;overflow-y:auto}@media (pointer:fine){*,:before,:after{cursor:none!important}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0e0e0e}::-webkit-scrollbar-thumb{background:var(--line);border:0;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--hover);box-shadow:0 0 12px #ffffff42}body{background:var(--bg);overscroll-behavior-y:none;min-width:320px;min-height:100vh;margin:0}#root{width:100%;overflow-x:clip}button,input,textarea,select{font:inherit}h1,h2,h3,p{overflow-wrap:anywhere}::selection{color:var(--bg);background:var(--hover)}.project-row strong,.contact-marquee span{--title-fill:0%}.custom-cursor{--cursor-x:-100px;--cursor-y:-100px;z-index:1000;border:1.5px solid var(--hover);width:14px;height:14px;box-shadow:var(--hover-glow);opacity:0;pointer-events:none;transform:translate3d(calc(var(--cursor-x) - 50%), calc(var(--cursor-y) - 50%), 0) scale(1);will-change:transform;background:#ffffff1a;border-radius:50%;transition:opacity .14s,transform 90ms,background .14s;position:fixed;top:0;left:0}.custom-cursor--visible{opacity:1}.custom-cursor--pressed{background:var(--hover);transform:translate3d(calc(var(--cursor-x) - 50%), calc(var(--cursor-y) - 50%), 0) scale(.72)}@property --title-fill{syntax:"<percentage>";inherits:false;initial-value:0%}.home,.case-page{min-height:100vh;padding:24px 40px 40px;overflow-x:hidden}.page-shell{transform-origin:top;will-change:opacity, filter, transform}.page-shell--leaving{pointer-events:none;animation:.28s cubic-bezier(.65,0,.35,1) both page-leave}.page-shell--entering{animation:.54s cubic-bezier(.22,1,.36,1) both page-enter}.home *,.case-page *{min-width:0}.meta-header{color:var(--text-muted);text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:32px;font-size:12px;font-weight:600;line-height:1.38;display:flex}.header-meta-lockup{justify-content:center;align-items:center;min-width:220px;display:flex;transform:translateY(-10px)}.header-meta-lockup p{margin:0}.header-signature{opacity:.84;width:132px;transition:filter .22s,opacity .22s,transform .26s cubic-bezier(.22,1,.36,1);display:block;transform:translateY(-1px)}.header-signature img{filter:grayscale()brightness(0)invert()drop-shadow(0 0 5px #ffffff3d)drop-shadow(0 0 14px #ffffff1f);width:100%;height:auto;display:block}.header-signature:hover{opacity:1;filter:drop-shadow(0 0 9px #ffffff70)drop-shadow(0 0 24px #ffffff38);transform:translateY(-3px)}.identity-link,.outline-button,.hero-copy a,.project-row a,.recognition-row a,.case-grid a,.footer a{color:inherit;text-decoration:none}.identity-link{color:var(--text)}.outline-button{border:2px solid var(--line);height:42px;color:var(--text);border-radius:999px;align-items:center;padding:0 14px;transition:background .22s,border-color .22s,color .22s,transform .22s;display:inline-flex}.outline-button:hover{border-color:var(--hover);color:var(--hover);box-shadow:var(--hover-glow);text-shadow:var(--hover-glow);background:#ffffff0f;transform:translateY(-2px)}.hero{min-height:calc(100svh - 92px);padding-top:clamp(30px,4.5vh,58px);padding-bottom:clamp(72px,9vh,118px);position:relative}.hero-title{width:100%;color:var(--display);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;margin:0;font-size:clamp(172px,min(18.2vw,33vh),382px);font-weight:400;line-height:.74;position:absolute;top:clamp(6px,1.8vh,20px);left:0;right:auto}.hero-line{transform-origin:0;white-space:nowrap;max-width:100%;display:block;overflow:visible;transform:scaleX(.94)}.hero-line>span{display:inline-block}.hero-line:nth-child(2),.hero-line-bottom{text-align:left}.hero-dash{color:var(--display);transform-origin:50%;transform:scaleX(1.35)}.hero-letter{transition:color .18s,transform .22s cubic-bezier(.22,1,.36,1);display:inline-block}.hero-letter+.hero-letter{margin-left:-.055em}.hero-letter--space{width:.16em;overflow:hidden}.hero-letter--space+.hero-letter{margin-left:0}.hero-letter:hover{color:var(--hover);text-shadow:var(--hover-glow);transform:translateY(-.03em)rotate(-2deg)}.hero-copy{width:min(520px,100%);color:var(--text);gap:clamp(30px,5vh,58px);margin:0;font-size:clamp(17px,1.25vw,23px);font-weight:400;line-height:1.28;display:grid;position:absolute;bottom:clamp(20px,4.5vh,56px);right:0}.hero-copy p>span,.section-label,.section-intro,.project-row span,.project-row em,.recognition-row span,.case-grid dt,.footer{color:var(--text-muted)}.hero-copy p>span,.section-label{text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.3}.hero-copy a{width:max-content;color:var(--text-muted);transition:color .22s}.hero-copy a:hover{color:var(--hover);text-shadow:var(--hover-glow)}.scroll-cue{text-transform:none;align-items:center;gap:18px;font-size:clamp(18px,1.45vw,26px);font-weight:400;line-height:1;display:inline-flex}.scroll-cue span{font:inherit;text-transform:inherit}.scroll-cue-arrow{color:var(--hover);will-change:transform, opacity;font-family:Arial,Helvetica,sans-serif;font-size:clamp(34px,2.6vw,48px);line-height:1;animation:1.1s cubic-bezier(.22,1,.36,1) infinite scroll-cue;display:inline-block}.projects-section,.recognition-section{padding:clamp(82px,11vw,180px) 0 0}.awards-section{padding:clamp(92px,12vw,190px) 0 0}.section-intro{text-transform:uppercase;justify-content:space-between;gap:24px;margin-bottom:30px;font-size:12px;font-weight:700;line-height:1.35;display:flex}.project-list,.recognition-list,.stack-list{margin:0;padding:0;list-style:none}.project-row{border-top:2px solid var(--line)}.project-row:last-child{border-bottom:2px solid var(--line)}.project-row a{grid-template-columns:minmax(120px,.22fr) minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(38px,5vw,70px) 0;display:grid}.project-row strong{color:#0000;background:linear-gradient(to top, var(--hover) 0 var(--title-fill), var(--display) var(--title-fill) 100%);font-family:var(--font-display);-webkit-text-fill-color:transparent;-webkit-hyphens:auto;hyphens:auto;letter-spacing:0;text-transform:uppercase;overflow-wrap:anywhere;-webkit-background-clip:text;background-clip:text;font-size:clamp(64px,9.6vw,154px);font-weight:400;line-height:.94;transition:--title-fill .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:visible}.project-row a:hover strong{--title-fill:100%;filter:drop-shadow(0 0 10px #ffffff38);transform:translate(.035em)}.project-row span,.project-row em{text-transform:uppercase;font-size:12px;font-style:normal;font-weight:700;line-height:1.35}.content-section{max-width:min(1160px,100%);margin-left:auto;padding:clamp(88px,10vw,168px) 0 0}.large-copy{color:var(--text);letter-spacing:0;overflow-wrap:anywhere;margin:22px 0 36px;font-size:clamp(32px,4.1vw,66px);font-weight:500;line-height:1.05}.large-copy span{color:var(--text-muted);text-transform:uppercase;transition:color .22s}.large-copy span:hover{color:var(--hover);text-shadow:var(--hover-glow)}.stack-list{flex-wrap:wrap;gap:10px 18px;display:flex}.stack-list li{color:var(--text-muted);text-transform:uppercase;font-size:14px;font-weight:700;transition:color .22s}.stack-list li:hover{color:var(--hover);text-shadow:var(--hover-glow)}.recognition-list{max-width:1040px;margin-left:auto}.recognition-row{border-top:2px solid var(--line)}.recognition-row:last-child{border-bottom:2px solid var(--line)}.recognition-row a,.recognition-row article{grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);gap:32px;padding:24px 0;display:grid}.recognition-row strong{color:var(--text);font-size:clamp(18px,1.7vw,28px);font-weight:600;line-height:1.15;transition:color .22s}.recognition-row span{font-size:clamp(16px,1.2vw,20px);font-weight:400;line-height:1.45}.recognition-row a:hover strong{color:var(--hover);text-shadow:var(--hover-glow)}.awards-layout{grid-template-columns:minmax(0,.95fr) minmax(300px,.65fr);gap:clamp(64px,10vw,150px);display:grid}.awards-list{margin:0;padding:0;list-style:none}.award-row{border-top:2px solid var(--line)}.award-row:last-child{border-bottom:2px solid var(--line)}.award-row a,.award-row span{color:var(--text);padding:20px 0;font-size:clamp(20px,1.7vw,30px);font-weight:500;line-height:1.2;text-decoration:none;transition:color .22s,transform .22s;display:block}.award-row a:hover{color:var(--hover);text-shadow:var(--hover-glow);transform:translate(8px)}.interests-panel{align-content:start;gap:clamp(58px,9vw,120px);display:grid}.interests-panel p:not(.section-label){color:var(--text);margin:16px 0 0;font-size:clamp(20px,1.8vw,32px);font-weight:400;line-height:1.25}.interests-panel a{color:var(--text-muted);text-transform:uppercase;text-decoration:none;transition:color .22s}.interests-panel a:hover{color:var(--hover);text-shadow:var(--hover-glow)}.contact-section{text-align:center;padding:clamp(120px,16vw,240px) 0 0}.contact-copy{width:min(460px,100%);color:var(--text);margin:0 auto 44px;font-size:clamp(20px,2vw,32px);font-weight:400;line-height:1.3}.email-button{color:var(--text);font:inherit;background:0 0;border:0;padding:0;transition:color .22s}.email-button:hover{color:var(--hover);text-shadow:var(--hover-glow)}.email-button>span{border:2px solid var(--line);width:max-content;color:var(--text-muted);text-transform:uppercase;border-radius:999px;margin:14px auto 0;padding:5px 10px;font-size:12px;font-weight:700;display:block}.contact-marquee{margin-top:clamp(70px,9vw,130px);overflow:hidden}.contact-marquee p{width:max-content;margin:0;animation:24s linear infinite marquee;display:flex}.contact-marquee span{color:#0000;background:linear-gradient(to top, var(--hover) 0 var(--title-fill), var(--display) var(--title-fill) 100%);font-family:var(--font-display);-webkit-text-fill-color:transparent;letter-spacing:0;text-transform:uppercase;-webkit-background-clip:text;background-clip:text;padding-right:36px;font-size:clamp(80px,14vw,220px);line-height:.9;transition:--title-fill .42s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.contact-marquee:hover p{animation-play-state:paused}.contact-marquee:hover span{--title-fill:100%;filter:drop-shadow(0 0 12px #fff3)}.footer{text-transform:uppercase;justify-content:space-between;align-items:flex-end;gap:32px;padding-top:40px;font-size:14px;font-weight:600;display:flex}.footer p{margin:0}.footer>p a{color:var(--text);text-transform:none;border:0;margin-top:8px;padding:0;transition:color .22s,text-shadow .22s;display:inline-block}.footer>p a:hover{color:var(--hover);box-shadow:none;text-shadow:var(--hover-glow);background:0 0}.footer nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 12px;display:flex}.footer nav a{border:2px solid var(--line);border-radius:999px;justify-content:center;align-items:center;min-width:48px;height:44px;padding:0 16px;line-height:1;transition:background .22s,border-color .22s,box-shadow .22s,color .22s;display:inline-flex}.footer nav a:hover{border-color:var(--hover);color:var(--hover);box-shadow:var(--hover-glow);text-shadow:var(--hover-glow);background:#ffffff0f}.case-page--backdrop{position:relative}.case-backdrop{z-index:0;pointer-events:none;height:min(100svh,100vh);position:absolute;top:0;left:0;right:0;overflow:hidden}.case-backdrop__image{background-image:var(--case-backdrop-image);filter:grayscale()contrast(1.08)brightness(.82);background-position:50% 42%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-6%;transform:scale(1.04)}.case-backdrop__scrim{background:linear-gradient(105deg, #111111eb 0%, #1111116b 42%, #111111ad 100%), linear-gradient(to bottom, #111111b8 0%, #1111112e 38%, #111111e0 78%, var(--bg) 100%);position:absolute;inset:0}.case-page--backdrop .meta-header,.case-page--backdrop .case-hero,.case-page--backdrop .case-grid{z-index:1;position:relative}.case-page--backdrop .case-grid{background:var(--bg);border-top-color:#77777773;margin-top:clamp(12px,2vh,28px);padding-top:clamp(36px,5vh,56px)}.case-page--backdrop .case-hero h1{color:#8f8f8f;text-shadow:0 2px 28px #00000073}.case-hero{align-content:end;min-height:calc(100svh - 116px);padding:clamp(42px,6vh,74px) 0 clamp(36px,5vh,62px);display:grid}.case-hero h1{max-width:min(1180px,100%);color:var(--display);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;overflow-wrap:anywhere;margin:16px 0 18px;font-size:clamp(72px,8.8vw,154px);font-weight:400;line-height:.82}.glow-title{color:var(--display)}.glow-title-word{white-space:nowrap;display:inline-block}.glow-title-gap{width:.24em;display:inline-block}.glow-title-letter{animation:4.8s ease-in-out infinite title-letter-glow;animation-delay:calc(var(--letter-index) * .12s);will-change:color, filter, text-shadow, transform;display:inline-block}.case-hero>p:last-child{width:min(760px,100%);color:var(--text);margin:0;font-size:clamp(20px,1.55vw,28px);line-height:1.3}.case-grid{border-top:2px solid var(--line);grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:clamp(42px,8vw,120px);padding-top:30px;display:grid}.case-grid dl{margin:0}.case-grid dt{text-transform:uppercase;margin-top:22px;font-size:12px;font-weight:700}.case-grid dt:first-child{margin-top:0}.case-grid dd{color:var(--text);margin:8px 0 0;font-size:17px;line-height:1.45}.case-links{flex-wrap:wrap;gap:8px;display:flex}.case-grid h2{color:var(--text);letter-spacing:0;margin:0 0 18px;font-size:clamp(28px,3.5vw,56px);line-height:1}.case-grid p,.case-grid li{color:var(--text);font-size:clamp(18px,1.45vw,24px);line-height:1.45}.case-grid ul{gap:14px;margin:30px 0 0;padding-left:20px;display:grid}.case-grid a{color:var(--text-muted);transition:color .22s}.case-grid a:hover{color:var(--hover);text-shadow:var(--hover-glow)}.reveal{opacity:0;filter:blur(5px);transition:opacity .68s,filter .68s,transform .86s cubic-bezier(.22,1,.36,1);transform:translateY(34px)}.reveal.is-visible{opacity:1;filter:blur();transform:translateY(0)}.project-row.reveal:nth-child(2),.recognition-row.reveal:nth-child(2){transition-delay:80ms}.recognition-row.reveal:nth-child(3){transition-delay:.14s}.recognition-row.reveal:nth-child(4){transition-delay:.2s}@keyframes marquee{to{transform:translate(-50%)}}@keyframes scroll-cue{0%,to{opacity:.45;transform:translateY(-5px)}50%{opacity:1;transform:translateY(6px)}}@keyframes page-leave{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(9px);transform:translateY(-18px)scale(.985)}}@keyframes page-enter{0%{opacity:0;filter:blur(10px);transform:translateY(22px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes title-letter-glow{0%,72%,to{color:var(--display);filter:none;text-shadow:none;transform:translateY(0)}12%{color:var(--hover);filter:drop-shadow(0 0 8px #ffffff5c);text-shadow:0 0 8px #ffffff61,0 0 22px #ffffff29;transform:translateY(-.018em)}24%{color:#d8d8d8;filter:drop-shadow(0 0 4px #ffffff2e);text-shadow:0 0 10px #ffffff29;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (pointer:coarse),(prefers-reduced-motion:reduce){.custom-cursor{display:none}}@media (width<=900px){.hero-title{font-size:clamp(104px,min(24vw,27vh),210px)}.project-row a,.recognition-row a,.recognition-row article,.awards-layout,.case-grid{grid-template-columns:1fr}.project-row em{justify-self:start}}@media (width<=620px){.home,.case-page{padding:18px 16px 32px}.meta-header{align-items:flex-start;gap:18px}.meta-header>p,.header-meta-lockup{display:none}.hero{min-height:calc(100svh - 78px);padding-top:72px}.hero-title{font-size:clamp(43px,14vw,76px);position:static}.hero-line{text-align:left;display:block;transform:scaleX(.96)}.hero-line>span{display:inline-flex}.hero-letter+.hero-letter{margin-left:-.04em}.hero-letter--space{width:.15em}.hero-dash{display:none}.hero-copy{gap:42px;margin-top:34px;margin-left:auto;font-size:18px;position:static}.section-intro{display:block}.section-intro p+p{margin-top:18px}.project-row strong{font-size:clamp(38px,14vw,72px)}.large-copy{font-size:clamp(28px,9.8vw,48px)}.interests-panel p:not(.section-label){font-size:22px}.footer{display:block}.footer nav{margin-top:18px}.case-hero h1{font-size:clamp(48px,16vw,92px)}}
