:root{color-scheme:light;--bg:oklch(.975 0 0);--surface:oklch(.94 0 0);--ink:oklch(.12 0 0);--muted:oklch(.43 0 0);--line:oklch(.84 0 0);--accent:oklch(.527 .202 22.7);--accent-ink:oklch(.98 0 0);--display:Arial,"Helvetica Neue","Noto Sans SC",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--page:clamp(20px,3vw,56px);--section:clamp(110px,16vw,260px);--ease:cubic-bezier(.22,1,.36,1);--z-header:20;--z-preview:30;--z-cursor:40;--z-toast:50}:root[data-theme=dark]{color-scheme:dark;--bg:oklch(.09 0 0);--surface:oklch(.15 0 0);--ink:oklch(.92 0 0);--muted:oklch(.66 0 0);--line:oklch(.27 0 0);--accent:oklch(.62 .19 23);--accent-ink:oklch(.98 0 0)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--display);font-size:16px;line-height:1.45;transition:background .5s var(--ease),color .5s var(--ease);cursor:none}button,a{font:inherit;color:inherit}a{text-decoration:none}button{border:0;background:none;padding:0;cursor:none}img{display:block;width:100%}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.site-header{position:fixed;inset:0 0 auto;z-index:var(--z-header);height:76px;padding:0 var(--page);display:flex;align-items:center;justify-content:space-between;font:11px/1 var(--mono);text-transform:uppercase;transition:background .35s,border .35s}.site-header.is-scrolled{background:color-mix(in oklch,var(--bg) 92%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{letter-spacing:-.02em}.brand sup{font-size:8px;margin-left:5px}.site-header nav{display:flex;gap:clamp(12px,2.1vw,32px);align-items:center}.site-header nav a,.text-control{position:relative;text-transform:uppercase}.site-header nav a:after,.text-control:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;border-bottom:1px solid;transition:right .3s var(--ease)}.site-header nav a:hover:after,.text-control:hover:after{right:0}.sound{display:inline}.cursor{position:fixed;top:-9px;left:-9px;width:18px;height:18px;border:1px solid var(--ink);border-radius:50%;z-index:var(--z-cursor);pointer-events:none;display:grid;place-items:center;transition:width .25s,height .25s,background .25s,color .25s,border-color .25s}.cursor.active{top:-25px;left:-25px;width:50px;height:50px;background:var(--ink);color:var(--bg)}.cursor span{font:8px/1 var(--mono)}main{overflow:clip}.hero{min-height:100dvh;padding:clamp(118px,14vh,170px) var(--page) 38px;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto 1fr auto;column-gap:18px;position:relative;border-bottom:1px solid var(--line)}.hero-meta{grid-column:1/-1;display:flex;justify-content:space-between;font:11px/1.3 var(--mono);text-transform:uppercase}.hero h1{grid-column:1/-1;align-self:center;margin:3vh 0;font-size:clamp(62px,10.3vw,168px);font-weight:500;letter-spacing:-.04em;line-height:.82;text-transform:uppercase;text-wrap:balance}.hero h1 .line{display:block}.hero h1 .offset{padding-left:8.5vw}.hero-intro{grid-column:8/-1;max-width:52ch;margin:0 0 5vh;font-size:clamp(15px,1.25vw,20px);line-height:1.55;text-wrap:pretty}.hero-meta.bottom{align-items:end}.section{padding:var(--section) var(--page);border-bottom:1px solid var(--line)}.intro-section{display:grid;grid-template-columns:repeat(12,1fr);gap:30px 18px}.intro-section>div:first-child{grid-column:1/9}.intro-section h2{margin:0;font-size:clamp(50px,7.4vw,118px);font-weight:500;line-height:.92;letter-spacing:-.04em}.intro-section h2 span{color:var(--muted)}.intro-copy{grid-column:8/-1;margin-top:clamp(40px,10vw,160px)}.intro-copy>p{font-size:clamp(19px,1.7vw,26px);line-height:1.5}.intro-copy dl{margin-top:70px}.intro-copy dl div{display:grid;grid-template-columns:1fr 2fr;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.intro-copy dt{font-family:var(--mono);color:var(--muted)}.intro-copy dd{margin:0}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid var(--line)}.stats span{padding:18px 16px 0 0;font:12px var(--mono);border-right:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-bottom:clamp(50px,8vw,120px)}.section-heading h2{grid-column:1/8;font-size:clamp(52px,8vw,128px);font-weight:500;letter-spacing:-.04em;line-height:.9;margin:0}.section-heading p{grid-column:10/-1;margin:0;font:12px/1.5 var(--mono)}.project-list{border-top:1px solid var(--ink)}.project-row{display:grid;grid-template-columns:.6fr 1.4fr 5fr 1.4fr .6fr 28px;gap:14px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line);transition:opacity .3s,transform .35s var(--ease)}.project-list.has-active .project-row{opacity:.24}.project-list.has-active .project-row.active{opacity:1;transform:translate(10px)}.project-no,.project-type,.project-role,.project-year{font:11px/1.4 var(--mono);text-transform:uppercase}.project-main strong{display:block;font-size:clamp(26px,3.4vw,58px);font-weight:500;line-height:1;letter-spacing:-.035em;transition:letter-spacing .3s}.project-row.active .project-main strong{letter-spacing:-.01em}.project-main small{display:block;margin-top:14px;color:var(--muted);font-size:14px}.project-arrow{opacity:0;transform:translate(-8px,8px);transition:.3s}.project-row.active .project-arrow{opacity:1;transform:none}.project-preview{position:fixed;z-index:var(--z-preview);width:min(34vw,520px);pointer-events:none;margin:0;background:var(--surface);border:1px solid var(--ink)}.project-preview img{aspect-ratio:1.35;object-fit:cover}.project-preview figcaption{padding:8px;font:9px var(--mono)}.capability-title{display:grid;grid-template-columns:2fr 1fr;gap:40px;margin-bottom:90px}.capability-title h2{font-size:clamp(50px,7vw,112px);line-height:.92;letter-spacing:-.04em;font-weight:500;margin:0}.capability-title p{align-self:end;font-size:20px;max-width:34ch}.capability-list{border-top:1px solid var(--ink)}.capability-list article{display:grid;grid-template-columns:.5fr 3fr 3fr 2fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .35s var(--ease),color .2s}.capability-list article:hover,.capability-list article:focus{padding-left:12px;color:var(--accent)}.capability-list article>span,.capability-list article em{font:10px var(--mono)}.capability-list h3{font-size:clamp(24px,2.5vw,42px);font-weight:500;margin:0}.capability-list h3 small{font-size:12px;color:var(--muted);margin-left:15px}.capability-list p{margin:0;max-width:45ch}.capability-list em{font-style:normal;opacity:0;transition:opacity .25s}.capability-list article:hover em,.capability-list article:focus em{opacity:1}.timeline{border-top:1px solid var(--ink)}.timeline article{display:grid;grid-template-columns:1.4fr 2.8fr 2fr 3fr;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline time,.timeline h3 small{font:11px var(--mono)}.timeline h3{margin:0;font-size:20px;font-weight:500}.timeline h3 small{display:block;color:var(--muted);margin-top:8px}.timeline p{margin:0;font-size:14px}.contact-section{min-height:100dvh;padding:clamp(130px,16vw,260px) var(--page) 40px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.contact-section>p{font:12px var(--mono);margin:0 0 8vh}.contact-section h2{font-size:clamp(58px,10.3vw,166px);font-weight:500;letter-spacing:-.04em;line-height:.82;margin:0}.contact-section h2 span{margin-left:9vw;color:var(--accent)}.contact-actions{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--ink);margin-top:8vh;padding-bottom:16px}.big-email{font-size:clamp(24px,4vw,66px);letter-spacing:-.03em}.big-email:hover{transform:translate(8px)}.copy{text-transform:uppercase;font:11px var(--mono)}.socials{display:flex;gap:25px;margin-top:28px;font:11px var(--mono);text-transform:uppercase}.socials a:hover{color:var(--accent)}.toast{position:fixed;z-index:var(--z-toast);left:50%;bottom:30px;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:var(--bg);padding:11px 17px;font:11px var(--mono);transition:.3s var(--ease);pointer-events:none}.toast.show{opacity:1;transform:translate(-50%)}footer{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:20px var(--page);border-top:1px solid var(--line);font:10px var(--mono);text-transform:uppercase}footer a{text-align:right}.project-detail{padding-top:76px}.project-hero{min-height:calc(100dvh - 76px);padding:55px var(--page) 35px;display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-content:space-between}.back{grid-column:1/4;font:11px var(--mono);text-transform:uppercase}.project-hero>p:first-of-type{grid-column:9/-1;font:11px var(--mono);text-transform:uppercase}.project-hero h1{grid-column:1/-1;font-size:clamp(60px,10vw,160px);font-weight:500;letter-spacing:-.04em;line-height:.86;margin:10vh 0 0}.project-value{grid-column:7/-1;font-size:clamp(20px,2vw,32px);max-width:30ch}.project-hero dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);margin:0}.project-hero dl div{padding-top:12px}.project-hero dt{font:10px var(--mono);color:var(--muted);text-transform:uppercase}.project-hero dd{margin:7px 0 0}.media-block{margin:0}.media-block img{aspect-ratio:16/9;object-fit:cover;background:var(--surface);cursor:zoom-in}.media-block figcaption{padding:9px var(--page);font:9px var(--mono)}.project-detail>.media-block{margin:0 var(--page)}.case-body{padding:var(--section) var(--page)}.case-section{display:grid;grid-template-columns:1fr 3fr 4fr;gap:20px;padding:40px 0;border-top:1px solid var(--line)}.case-section>span{font:11px var(--mono)}.case-section h2{font-size:clamp(28px,4vw,62px);font-weight:500;line-height:1;margin:0}.case-section p{font-size:clamp(18px,1.5vw,24px);line-height:1.55;max-width:40ch;margin:0}.media-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.media-pair .media-block img{aspect-ratio:4/3}.before-after{position:relative;margin:0 var(--page);aspect-ratio:16/8;background:var(--surface);overflow:hidden}.before-after>img,.before-after .after,.before-after .after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.before-after input{position:absolute;inset:0;width:100%;opacity:.001;cursor:ew-resize}.before-after figcaption{position:absolute;inset:auto 15px 12px;display:flex;justify-content:space-between;font:10px var(--mono);color:var(--ink);mix-blend-mode:difference}.next-project{min-height:75dvh;padding:var(--section) var(--page) 35px;border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.next-project span{font:11px var(--mono);text-transform:uppercase}.next-project strong{font-size:clamp(52px,9vw,145px);font-weight:500;line-height:.88;letter-spacing:-.04em}.next-project span:last-child{text-align:right}@media(max-width:900px){body{cursor:auto}.cursor{display:none}.site-header{height:64px}.site-header nav{gap:14px}.sound{display:none}.hero{padding-top:100px;grid-template-columns:repeat(4,1fr)}.hero h1{font-size:clamp(48px,14vw,100px);line-height:.86}.hero h1 .offset{padding-left:0}.hero-intro{grid-column:1/-1;font-size:16px;margin-top:25px}.hero-meta.bottom span:first-child{display:none}.intro-section{grid-template-columns:repeat(4,1fr)}.intro-section>div:first-child,.intro-copy,.stats{grid-column:1/-1}.intro-section h2{font-size:clamp(45px,12vw,82px)}.intro-copy{margin-top:40px}.stats{grid-template-columns:1fr 1fr;margin-top:55px}.stats span{min-height:70px}.section-heading{grid-template-columns:repeat(4,1fr)}.section-heading h2{grid-column:1/-1}.section-heading p{grid-column:3/-1}.project-row{grid-template-columns:35px 1fr 55px}.project-type,.project-role,.project-arrow{display:none}.project-main{grid-column:2/3}.project-year{grid-column:3}.project-main small{max-width:43ch}.project-preview{display:none}.capability-title{grid-template-columns:1fr}.capability-list article{grid-template-columns:35px 1fr}.capability-list article p{grid-column:2}.capability-list article em{display:none}.timeline article{grid-template-columns:1fr 2fr}.timeline article p{grid-column:2}.contact-section h2 span{margin-left:0}.socials{flex-wrap:wrap}.project-hero{grid-template-columns:repeat(4,1fr)}.back{grid-column:1/3}.project-hero>p:first-of-type{grid-column:3/-1}.project-hero h1,.project-value,.project-hero dl{grid-column:1/-1}.case-section{grid-template-columns:35px 1fr}.case-section p{grid-column:2}.media-pair{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}footer span:nth-child(2){display:none}}@media(max-width:560px){.site-header nav>a:first-of-type{display:none}.hero-meta.top span:first-child{display:none}.hero-meta.bottom{gap:10px}.hero-meta.bottom a{display:none}.section{padding-top:100px;padding-bottom:100px}.section-heading p{grid-column:1/-1;margin-top:18px}.project-row{padding:20px 0}.project-main strong{font-size:26px}.project-main small{font-size:13px}.intro-copy dl div{grid-template-columns:1fr}.intro-copy dd{margin-top:5px}.stats{grid-template-columns:1fr}.stats span{border-right:0;border-bottom:1px solid var(--line)}.capability-title{margin-bottom:50px}.capability-list h3 small{display:block;margin:5px 0 0}.contact-actions{align-items:flex-end}.copy{white-space:nowrap}.socials{gap:16px}.project-hero dl{grid-template-columns:1fr}.project-hero dl div{padding:10px 0;border-top:1px solid var(--line)}.before-after{margin:0;aspect-ratio:4/3}.next-project{min-height:60dvh}footer{grid-template-columns:1fr 1fr}footer span:nth-child(3){display:none}}@media(hover:none){body,button{cursor:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.cursor{transition:background .16s,color .16s,border-color .16s}.cursor.active{top:-9px;left:-9px;width:18px;height:18px}.cursor span{font-size:4px}
