@font-face{font-family:"Haas";src:url("assets/fonts/haas.woff2") format("woff2");font-display:swap}
:root{--paper:#f1f1ef;--ink:#101010;--line:rgba(16,16,16,.16);--pad:clamp(16px,1.7vw,32px);--ease:cubic-bezier(.2,.78,.18,1);--tracking-display:-.05em;--tracking-heading:-.03em;--tracking-body:0;--tracking-ui:.04em;--studio-progress:0;--principle-progress:0}
*{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--ink) var(--paper)}body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:"Haas",Arial,sans-serif;cursor:default}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}::selection{background:var(--ink);color:var(--paper)}

.boot{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto 1fr auto;padding:var(--pad);background:var(--ink);color:var(--paper);transition:opacity .7s ease,visibility .7s}.boot.is-done{opacity:0;visibility:hidden}.boot__top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:var(--tracking-ui)}.boot>p{place-self:center;margin:0;font-size:clamp(32px,5.5vw,88px);letter-spacing:var(--tracking-display)}.boot__meter{position:absolute;right:var(--pad);bottom:var(--pad);left:var(--pad);height:1px;background:rgba(255,255,255,.25)}.boot__meter span{display:block;width:0;height:100%;background:var(--paper);animation:load 1s var(--ease) forwards}.boot__count{align-self:end;padding-bottom:12px;font-size:11px;letter-spacing:var(--tracking-ui)}@keyframes load{to{width:100%}}

.site-header{position:fixed;z-index:50;top:var(--pad);right:var(--pad);left:var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:28px;pointer-events:none;mix-blend-mode:difference;color:#fff;transition:top .55s var(--ease),right .55s var(--ease),left .55s var(--ease),height .55s var(--ease),padding .55s var(--ease),background .4s ease}.site-header>*{pointer-events:auto}.nav-brand{opacity:0;transform:translateY(-8px);visibility:hidden;font-size:17px;letter-spacing:var(--tracking-heading);transition:opacity .35s,transform .5s var(--ease),visibility .35s}.scene-status{justify-self:center;display:flex;gap:12px;opacity:0;font-size:10px;letter-spacing:var(--tracking-ui);transition:opacity .35s}.menu-button{justify-self:end;border:0;padding:4px 0;background:transparent;cursor:pointer;font-size:11px;letter-spacing:var(--tracking-ui)}.menu-button span{display:inline-block;margin-left:9px;font-size:18px;line-height:.5;transition:transform .4s var(--ease)}.menu-button[aria-expanded="true"] span{transform:rotate(45deg)}.site-header.is-scrolled{top:0;right:0;left:0;height:56px;padding:0 var(--pad);background:var(--ink);mix-blend-mode:normal;color:var(--paper)}.site-header.is-scrolled .nav-brand,.site-header.is-scrolled .scene-status{opacity:1;visibility:visible;transform:none}

.menu-panel{position:fixed;inset:0;z-index:80;visibility:hidden;pointer-events:none}.menu-panel__backdrop{position:absolute;inset:0;width:100%;border:0;background:rgba(0,0,0,.5);opacity:0;cursor:pointer;transition:opacity .45s}.menu-panel__inner{position:absolute;inset:0 0 0 auto;display:grid;grid-template-rows:auto 1fr auto;width:min(760px,100%);padding:clamp(22px,4vw,58px);overflow:hidden;background:var(--ink);color:var(--paper);transform:translateX(102%);transition:transform .75s var(--ease)}.menu-panel.is-open{visibility:visible;pointer-events:auto}.menu-panel.is-open .menu-panel__backdrop{opacity:1}.menu-panel.is-open .menu-panel__inner{transform:none}.menu-panel__head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start}.menu-panel__head strong{font-size:clamp(26px,3.1vw,46px);font-weight:inherit;line-height:.9;letter-spacing:var(--tracking-heading)}.menu-close{border:0;padding:6px 0 8px 12px;background:none;cursor:pointer;font-size:11px;letter-spacing:var(--tracking-ui)}.menu-close span{margin-left:8px;font-size:18px}.menu-links{position:relative;z-index:1;align-self:center;list-style:none;margin:5vh 0;padding:0}.menu-links a{display:grid;grid-template-columns:46px 1fr;align-items:baseline;padding:8px 0;transition:transform .45s var(--ease),opacity .3s}.menu-links:hover a{opacity:.28}.menu-links a:hover,.menu-links a:focus-visible{opacity:1;outline:0;transform:translateX(16px)}.menu-links span{font-size:10px;letter-spacing:var(--tracking-ui)}.menu-links strong{font-size:clamp(42px,6.2vw,86px);font-weight:inherit;line-height:.9;letter-spacing:var(--tracking-display);text-transform:uppercase}.menu-panel__footer{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:var(--tracking-ui)}

.chapter{position:relative}.stage{position:sticky;top:0;min-height:100svh;overflow:hidden}.grid-field{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:25vw 25vh;pointer-events:none}.section-index{position:absolute;z-index:5;top:calc(56px + var(--pad));left:var(--pad);display:flex;gap:14px;font-size:10px;letter-spacing:var(--tracking-ui)}

.work-chapter{height:125svh;background:var(--paper)}.work-stage{background:var(--paper)}.work-stage::after{content:"";position:absolute;inset:auto 0 0;z-index:30;height:14vh;background:linear-gradient(transparent,rgba(241,241,239,.96));pointer-events:none}.hero-identity{position:absolute;z-index:8;top:var(--pad);left:var(--pad);display:grid;gap:3px;line-height:1}.hero-identity strong{font-size:clamp(25px,2.2vw,36px);font-weight:inherit;letter-spacing:var(--tracking-heading)}.hero-identity span{font-size:10px;letter-spacing:var(--tracking-ui)}.carousel{position:absolute;z-index:4;top:26%;width:100%;overflow:hidden;touch-action:pan-y;cursor:grab}.carousel.is-dragging{cursor:grabbing}.carousel__track{display:flex;align-items:stretch;gap:clamp(18px,3vw,54px);width:max-content;padding:0;will-change:transform}.project-card{position:relative;flex:0 0 clamp(310px,31vw,590px);aspect-ratio:1.58;overflow:hidden;background:#cacac7;transform:translateZ(0) scale(.92);opacity:.48;transition:transform .7s var(--ease),opacity .55s ease}.project-card:first-child{margin-left:4vw}.project-card.is-active{opacity:1;transform:translateZ(0) scale(1)}.project-card img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04);transition:transform 1s var(--ease),filter .5s}.project-card:hover img{transform:scale(1.04);filter:saturate(1)}.project-card__meta{position:absolute;right:8px;bottom:8px;left:8px;display:grid;grid-template-columns:1fr auto;padding:11px 12px;background:rgba(12,12,12,.92);color:#fff;font-size:10px;letter-spacing:var(--tracking-ui)}.project-card__meta b{font-weight:inherit;opacity:.55}.work-stage h1{position:absolute;z-index:8;right:5vw;bottom:10.5vh;left:5vw;margin:0;text-align:center;text-transform:uppercase;font-size:clamp(46px,5.55vw,94px);font-weight:inherit;line-height:.86;letter-spacing:var(--tracking-display);transform:translateY(calc(var(--work-progress,0) * 3vh))}.work-controls{position:absolute;z-index:35;right:var(--pad);bottom:var(--pad);left:var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:9px;letter-spacing:var(--tracking-ui)}.work-controls p{justify-self:center;margin:0}.work-controls>a{justify-self:end;padding-bottom:3px;border-bottom:1px solid}.carousel-buttons{display:flex;gap:5px}.carousel-buttons button{display:grid;place-items:center;width:34px;height:28px;border:1px solid var(--ink);background:var(--paper);cursor:pointer;transition:background .25s,color .25s}.carousel-buttons button:hover{background:var(--ink);color:var(--paper)}.scroll-cue{position:absolute;z-index:7;right:var(--pad);top:50%;display:grid;justify-items:center;gap:8px;transform:translateY(-50%);font-size:8px;letter-spacing:var(--tracking-ui);writing-mode:vertical-rl}.scroll-cue span{width:1px;height:48px;overflow:hidden;background:var(--line)}.scroll-cue span::after{content:"";display:block;width:100%;height:50%;background:var(--ink);animation:scrollCue 1.8s var(--ease) infinite}@keyframes scrollCue{from{transform:translateY(-110%)}to{transform:translateY(220%)}}

.studio-chapter{height:220svh;background:var(--ink)}.studio-stage{background:var(--paper);color:var(--ink);transition:background .2s,color .2s}.studio-wash{position:absolute;inset:0;background:var(--ink);transform:scaleY(calc(var(--studio-progress) * 1.05));transform-origin:bottom;will-change:transform}.studio-stage .section-index{color:color-mix(in srgb,var(--paper) calc(var(--studio-progress) * 100%),var(--ink))}.studio-copy{position:absolute;inset:0 var(--pad);display:flex;align-items:center;padding-top:16vh}.studio-copy>p{position:absolute;top:15vh;right:0;width:min(450px,34vw);margin:0;font-size:clamp(16px,1.4vw,24px);line-height:1.08;letter-spacing:var(--tracking-body);transform:translateY(calc(var(--studio-progress) * -4vh));opacity:calc(1 - var(--studio-progress) * 1.7)}.studio-copy h2{display:grid;gap:2.5vh;width:100%;margin:0;font-weight:inherit;line-height:.76}.studio-copy h2 span:first-child{font-size:clamp(96px,14.8vw,238px);letter-spacing:var(--tracking-display);transform:translateX(calc(var(--studio-progress) * -18vw))}.studio-copy h2 span:last-child{justify-self:end;max-width:72vw;text-align:right;font-size:clamp(54px,8.3vw,134px);line-height:.82;letter-spacing:var(--tracking-display);transform:translateX(calc(var(--studio-progress) * 18vw))}.services-wrap{position:absolute;z-index:4;top:calc(56px + 5vh);right:var(--pad);bottom:5vh;left:var(--pad);display:grid;grid-template-columns:.7fr 2fr;grid-template-rows:1fr auto;color:var(--paper);transform:translateY(calc((1 - var(--studio-progress)) * 28vh));opacity:clamp(0,calc(var(--studio-progress) * 2),1)}.services-wrap>p{grid-column:1 / -1;align-self:center;margin:0;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);font-size:clamp(110px,19vw,300px);line-height:.7;letter-spacing:var(--tracking-display);text-transform:uppercase;transform:translateX(calc((1 - var(--studio-progress)) * -10vw))}.services{min-width:0;grid-column:2;grid-row:2;align-self:end;list-style:none;margin:0;padding:0}.services li{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:baseline;padding:5px 0}.services span{font-size:10px;letter-spacing:var(--tracking-ui);opacity:.48}.services strong{min-width:0;font-size:clamp(30px,4.25vw,68px);font-weight:inherit;line-height:.92;letter-spacing:var(--tracking-heading)}

.principle-chapter{height:185svh;background:var(--ink)}.principle-stage{display:flex;align-items:center;background:var(--ink);color:var(--paper)}.principle-stage .section-index{top:var(--pad)}.principle-runner{position:absolute;top:10vh;display:flex;gap:.3em;width:max-content;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.24);font-size:clamp(115px,19vw,310px);line-height:.75;letter-spacing:var(--tracking-display);white-space:nowrap;transform:translateX(calc(-36% * var(--principle-progress)));will-change:transform}.principle-copy{position:relative;z-index:2;display:grid;gap:1.4vh;width:calc(100% - 2 * var(--pad));margin:10vh auto 0;line-height:.87;text-transform:uppercase;transform:translateY(calc((.5 - var(--principle-progress)) * 12vh))}.principle-copy span{display:block;letter-spacing:var(--tracking-display);white-space:nowrap}.principle-copy span:first-child{font-size:clamp(48px,7.4vw,118px)}.principle-copy span:last-child{justify-self:end;font-size:clamp(42px,6.3vw,102px)}.principle-detail{position:absolute;z-index:2;right:var(--pad);bottom:calc(var(--pad) + 34px);width:min(430px,31vw);margin:0;font-size:clamp(16px,1.35vw,22px);line-height:1.12;letter-spacing:var(--tracking-body);opacity:calc(.78 + var(--principle-progress) * .22);transform:translateY(calc((1 - var(--principle-progress)) * 18px))}.principle-meter{position:absolute;right:var(--pad);bottom:var(--pad);left:var(--pad);height:3px;background:rgba(255,255,255,.18)}.principle-meter span{display:block;width:100%;height:100%;background:var(--paper);transform:scaleX(clamp(.03,var(--principle-progress),1));transform-origin:left}

.contact{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:calc(56px + var(--pad)) var(--pad) 0;background:var(--paper);color:var(--ink)}.contact .section-index{position:static}.contact h2{display:grid;gap:.03em;margin:auto 0;font-size:clamp(72px,11vw,178px);font-weight:inherit;line-height:.82;letter-spacing:var(--tracking-display);text-transform:uppercase}.contact-line{display:flex;align-items:baseline;gap:.105em;white-space:nowrap}.contact__bottom{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:40px;padding-bottom:5vh}.contact__link{width:fit-content;font-size:clamp(25px,3vw,48px);line-height:1.02;letter-spacing:var(--tracking-heading);background:linear-gradient(currentColor,currentColor) 0 100% / 100% 1px no-repeat;transition:background-size .4s var(--ease)}.contact__link:hover{background-size:0 1px}.contact__bottom>div{display:flex;justify-content:space-between;gap:28px;font-size:10px;line-height:1.2;letter-spacing:var(--tracking-ui)}footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:50px;border-top:1px solid var(--line);font-size:10px;line-height:1.2;letter-spacing:var(--tracking-ui)}footer>span:nth-child(2){justify-self:center}footer>a{justify-self:end}footer sup{font-size:6px;letter-spacing:0}

@media(max-width:760px){:root{--pad:15px}.boot>p{font-size:10vw}.site-header{top:10px;right:10px;left:10px;grid-template-columns:1fr auto;height:32px;padding:0 10px;background:var(--ink);color:var(--paper);mix-blend-mode:normal}.nav-brand{opacity:1;visibility:visible;transform:none;font-size:12px}.scene-status{display:none}.menu-button{font-size:9px}.menu-button span{margin-left:6px;font-size:15px}.site-header.is-scrolled{height:44px;padding:0 var(--pad)}.menu-panel__inner{padding:18px var(--pad) 22px}.menu-panel__head strong{font-size:24px}.menu-links a{grid-template-columns:36px 1fr;padding:10px 0}.menu-links strong{font-size:clamp(39px,12.5vw,58px)}.menu-panel__footer{display:grid;gap:5px}.work-chapter{height:115svh}.hero-identity{top:60px}.hero-identity strong{font-size:21px}.project-readout{display:none}.carousel{top:25%}.carousel__track{gap:18px}.project-card{flex-basis:78vw;aspect-ratio:1.35}.project-card:first-child{margin-left:7vw}.work-stage h1{right:14px;bottom:14vh;left:14px;font-size:clamp(39px,11.2vw,58px);line-height:.88}.work-controls{grid-template-columns:1fr auto;bottom:14px}.work-controls p{display:none}.carousel-buttons button{width:31px;height:27px}.scroll-cue{display:none}.studio-chapter{height:190svh}.section-index{top:60px}.studio-copy{top:17vh}.studio-copy>p{position:static;width:88%;font-size:18px}.studio-copy h2{margin-top:13vh;font-size:26vw;line-height:.72}.services-wrap{grid-template-columns:1fr;gap:22px;bottom:7vh}.services strong{font-size:clamp(26px,8vw,42px)}.services li{grid-template-columns:38px 1fr;padding:6px 0}.principle-chapter{height:160svh}.principle-stage .section-index{top:60px}.principle-runner{top:17vh;font-size:32vw}.principle-copy{width:calc(100% - 30px);margin-top:12vh;font-size:12.4vw}.contact{padding-top:60px}.contact h2{font-size:16vw}.contact__bottom{grid-template-columns:1fr;gap:28px}.contact__bottom>div{max-width:420px}footer{grid-template-columns:1fr auto}footer>span:nth-child(2){display:none}}
@media(max-width:760px){.studio-copy{inset:17vh var(--pad) auto;display:block;padding:0}.studio-copy h2{margin-top:10vh;gap:2vh;line-height:.76}.studio-copy h2 span:first-child{font-size:22vw}.studio-copy h2 span:last-child{max-width:94vw;font-size:10vw;line-height:.84;letter-spacing:var(--tracking-display)}.services-wrap{top:60px;bottom:7vh;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;gap:0}.services-wrap>p{width:100%;min-width:0;font-size:30vw}.services{width:100%;grid-column:1;grid-row:2}.principle-copy{margin-top:8vh}.principle-copy span:first-child{font-size:12vw}.principle-copy span:last-child{font-size:8.7vw}.principle-detail{right:var(--pad);bottom:50px;width:calc(100% - 2 * var(--pad));font-size:15px}.contact h2{gap:.07em;font-size:18vw;line-height:.76}.contact-line{display:grid;gap:0;white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.studio-wash{transform:scaleY(1)}.services-wrap{transform:none;opacity:1}.studio-copy h2 span{transform:none!important}.principle-runner{transform:none}}

.project-card{aspect-ratio:16/9;background:#111;opacity:1}
.project-card img,.project-card video{display:block;width:100%;height:100%;object-fit:cover;filter:none;transition:transform 1s var(--ease)}
.project-card:hover img,.project-card:hover video{transform:scale(1.025);filter:none}
@media(max-width:760px){.project-card{aspect-ratio:16/9}}
.work-controls{grid-template-columns:1fr 1fr}
.work-controls>a{grid-column:2}
