:root{--paper:#f2efea;--paper-2:#e9e4dc;--sand:#e0ccbb;--ink:#0d0e13;--ink-soft:#6e6a63;--ink-faint:#a8a29a;--accent:#ff5a1f;--accent-soft:#ff8a52;--night:#0b0b0c;--line:#0d0e1321;--line-soft:#0d0e1312;--sans:"Switzer", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--serif:"Instrument Serif", Georgia, "Times New Roman", serif;--pad-y:clamp(6rem, 16vh, 13rem);--gutter:clamp(1.4rem, 5vw, 5rem);--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-weight:400;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}::selection{background:var(--ink);color:var(--paper)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.wrap{width:100%;padding-inline:var(--gutter);max-width:1680px;margin:0 auto}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem;font-weight:400}.display{letter-spacing:-.035em;font-size:clamp(2.4rem,6.4vw,6.2rem);font-weight:300;line-height:.98}.display em{font-family:var(--serif);letter-spacing:-.01em;font-style:italic;font-weight:400}.line-mask{padding-bottom:.06em;overflow:hidden}.line-inner{display:block}.cursor-wave{z-index:0;pointer-events:none;position:fixed;inset:0}.cursor-wave canvas{display:block}.page{z-index:1;position:relative}.reduced .cursor-wave{display:none}.cursor{z-index:9999;pointer-events:none;position:fixed;top:0;left:0}.cursor-dot{z-index:10000;background:var(--ink);pointer-events:none;will-change:transform;border-radius:50%;width:6px;height:6px;position:fixed;top:0;left:0}.cursor-ring{z-index:9999;pointer-events:none;will-change:transform;width:42px;height:42px;transition:width .4s var(--ease), height .4s var(--ease), background .4s var(--ease), border-color .3s ease;border:1px solid #0d0e1347;border-radius:50%;place-items:center;display:grid;position:fixed;top:0;left:0}.cursor-ring .label{letter-spacing:.14em;text-transform:uppercase;color:var(--paper);opacity:0;transition:opacity .3s ease, transform .4s var(--ease);white-space:nowrap;font-size:.6rem;transform:scale(.6)}.cursor-ring.is-link{background:#0d0e130f;width:58px;height:58px}.cursor-ring.is-view{background:var(--ink);border-color:var(--ink);width:96px;height:96px}.cursor-ring.is-view .label{opacity:1;transform:scale(1)}.cursor-ring.on-dark{border-color:#f2efea59}.cursor-ring.on-dark.is-view{background:var(--paper);border-color:var(--paper)}.cursor-ring.on-dark.is-view .label{color:var(--ink)}body.cursor-active,body.cursor-active a,body.cursor-active button{cursor:none}.cursor-dot.on-dark{background:var(--paper)}.loader{z-index:10001;background:var(--paper);padding:var(--gutter);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.loader-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:1rem;display:flex}.loader-word{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem}.loader-count{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(3.5rem,12vw,9rem);font-style:italic;line-height:.85}.loader-bar{background:var(--ink);width:0%;height:1px;margin-top:1px}.nav{z-index:200;padding:clamp(1.1rem, 2.4vw, 1.9rem) var(--gutter);mix-blend-mode:normal;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.wordmark{letter-spacing:-.02em;font-size:1.06rem;font-weight:400}.wordmark em{font-family:var(--serif);color:var(--accent);font-style:italic}.nav-links{gap:clamp(1.2rem,2.6vw,2.4rem);display:flex}.nav-links a{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding-bottom:2px;font-size:.76rem;position:relative}.nav-links a:after{content:"";background:var(--ink);transform-origin:100%;width:100%;height:1px;transition:transform .5s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{transform-origin:0;transform:scaleX(1)}.nav.on-dark .wordmark,.nav.on-dark .nav-links a:hover{color:var(--paper)}.nav.on-dark .nav-links a{color:#f2efea99}.nav.on-dark .nav-links a:after{background:var(--paper)}.hero{height:100svh;min-height:620px;padding:var(--gutter);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.hero-canvas{z-index:1;position:absolute;inset:0}.hero-canvas canvas{display:block}.hero-fallback{z-index:1;padding:0 var(--gutter);opacity:0;pointer-events:none;align-items:center;display:flex;position:absolute;inset:0}.hero-fallback h1{letter-spacing:-.045em;font-size:clamp(3.5rem,15vw,15rem);font-weight:300;line-height:.86}.hero-fallback em{font-family:var(--serif);color:var(--accent-soft);font-style:italic}.no-webgl .hero-fallback,.reduced .hero-fallback{opacity:1}.no-webgl .hero-canvas,.reduced .hero-canvas{display:none}.hero-foot{z-index:3;border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:end;gap:2rem;padding-top:1.2rem;display:grid;position:relative}.hero-foot p{color:var(--ink-soft);max-width:30ch;font-size:.82rem;line-height:1.45}.hero-hint{text-align:center;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);justify-self:center;font-size:.68rem}.hero-cue{justify-self:end;align-items:center;gap:.7rem;display:flex}.hero-cue span{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem}.hero-cue i{background:var(--line);width:1px;height:34px;display:block;position:relative;overflow:hidden}.hero-cue i:after{content:"";background:var(--ink);animation:cue 2.4s var(--ease) infinite;position:absolute;inset:0}@keyframes cue{0%{transform:translateY(-100%)}55%,to{transform:translateY(100%)}}.statement{padding-block:var(--pad-y)}.statement-inner{max-width:min(46rem,100%);margin-left:auto}.statement p{letter-spacing:-.025em;font-size:clamp(1.5rem,3.1vw,2.9rem);font-weight:300;line-height:1.22}.statement em{font-family:var(--serif);font-style:italic}.statement .eyebrow{margin-bottom:clamp(1.6rem,4vw,3rem);display:block}.work{padding-bottom:var(--pad-y)}.work-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:clamp(2.5rem,6vw,4.5rem);padding-bottom:1.8rem;display:flex}.work-head .display{font-size:clamp(1.8rem,4vw,3.4rem)}.project{margin-bottom:clamp(3rem,7vw,6rem);display:block}.project:last-child{margin-bottom:0}.project-frame{background:var(--paper-2);aspect-ratio:16/10;position:relative;overflow:hidden}.project-frame.is-tall{aspect-ratio:4/5}.project-media{object-fit:cover;object-position:left top;will-change:transform;width:100%;height:100%;position:absolute;inset:0}.project-frame .veil{background:var(--ink);opacity:0;transition:opacity .7s var(--ease);z-index:2;pointer-events:none;position:absolute;inset:0}.project:hover .veil{opacity:.14}.project-frame .scale-box{position:absolute;inset:0;overflow:hidden}.project-frame .scale-box>*{transition:transform 1.2s var(--ease)}.project:hover .scale-box>*{transform:scale(1.04)}.cover-panel{background:var(--paper-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:2rem;display:flex;position:absolute;inset:0}.cover-panel-name{letter-spacing:-.03em;font-size:clamp(1.4rem,3vw,2.4rem);font-weight:300}.cover-panel-note{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem}.live-frame{background:#fff;position:absolute;inset:0;overflow:hidden}.live-frame iframe{transform-origin:0 0;pointer-events:none;border:0;width:1440px;height:900px}.live-badge{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);background:#f2efeae6;border-radius:999px;align-items:center;gap:.5rem;padding:.34rem .7rem;font-size:.62rem;display:flex;position:absolute;top:1rem;left:1rem}.live-badge i{background:var(--accent);border-radius:50%;width:5px;height:5px}.project-caption{grid-template-columns:auto 1fr auto;align-items:baseline;gap:clamp(1rem,3vw,2.5rem);width:min(100%,58rem);padding-top:.9rem;display:grid}.project:nth-of-type(2n) .project-caption{text-align:right;margin-left:auto}.p-num{color:var(--ink-faint);letter-spacing:.1em;font-size:.72rem}.p-name{letter-spacing:-.03em;font-size:clamp(1.05rem,1.8vw,1.5rem);font-weight:300;display:block}.p-name em{font-family:var(--serif);font-style:italic}.p-kind{color:var(--ink-soft);margin-top:.2rem;font-size:.8rem;display:block}.p-year{color:var(--ink-faint);font-size:.72rem}.project-frame{width:min(100%,58rem)}.project:nth-of-type(odd) .project-frame{margin-right:auto}.project:nth-of-type(2n) .project-frame{margin-left:auto}.caps{padding-block:var(--pad-y);border-top:1px solid var(--line)}.cap{border-bottom:1px solid var(--line-soft);grid-template-columns:4rem minmax(0,1fr) minmax(0,1.5fr);align-items:start;gap:clamp(1rem,3vw,3rem);padding:clamp(1.4rem,3vw,2.4rem) 0;display:grid}.cap:first-of-type{border-top:1px solid var(--line-soft)}.cap-num{color:var(--ink-faint);padding-top:.5rem;font-size:.72rem}.cap h3{letter-spacing:-.025em;font-size:clamp(1.1rem,2.1vw,1.7rem);font-weight:300}.cap p{color:var(--ink-soft);max-width:52ch;font-size:.9rem}.contact{background:var(--night);color:var(--paper);margin-top:var(--pad-y);padding:clamp(7rem,18vh,14rem) 0 clamp(3rem,6vw,5rem)}.contact .eyebrow{color:#f2efea73}.contact-mail{letter-spacing:-.045em;color:var(--paper);width:max-content;max-width:100%;margin:clamp(1.5rem,4vw,3rem) 0 clamp(3rem,8vw,6rem);font-size:clamp(2rem,8.5vw,8rem);font-weight:200;line-height:.95;display:block;position:relative}.contact-mail em{font-family:var(--serif);font-style:italic;font-weight:400}.contact-mail:after{content:"";background:var(--paper);transform-origin:100%;width:100%;height:1px;transition:transform .7s var(--ease);position:absolute;bottom:.08em;left:0;transform:scaleX(0)}.contact-mail:hover:after{transform-origin:0;transform:scaleX(1)}.foot{color:#f2efea80;border-top:1px solid #f2efea24;flex-wrap:wrap;justify-content:space-between;gap:2rem 3rem;padding-top:2rem;font-size:.78rem;display:flex}.foot .col{flex-direction:column;gap:.4rem;display:flex}.foot a:hover{color:var(--paper)}.foot strong{color:var(--paper);font-weight:400}.marquee{white-space:nowrap;border-block:1px solid var(--line);padding:clamp(2rem,5vw,4rem) 0;overflow:hidden}.marquee-track{will-change:transform;display:inline-flex}.marquee-track span{letter-spacing:-.035em;align-items:center;gap:.4em;padding-right:.4em;font-size:clamp(2rem,6vw,5.5rem);font-weight:200;display:inline-flex}.marquee-track em{font-family:var(--serif);font-style:italic;font-weight:400}.marquee-track i{color:var(--accent);font-style:normal}.case{padding-top:0}.case-nav{z-index:200;padding:clamp(1.1rem, 2.4vw, 1.9rem) var(--gutter);color:var(--paper);mix-blend-mode:difference;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.case-nav a{letter-spacing:.1em;text-transform:uppercase;font-size:.76rem}.case-hero{background:var(--paper-2);height:82svh;min-height:460px;position:relative;overflow:hidden}.case-hero .project-media{height:120%;inset:-10% 0}.case-hero:after{content:"";background:linear-gradient(#0d0e1300 45%,#0d0e138c);position:absolute;inset:0}.case-title{z-index:2;left:var(--gutter);right:var(--gutter);color:var(--paper);position:absolute;bottom:clamp(2rem,5vw,4rem)}.case-title h1{letter-spacing:-.04em;font-size:clamp(2.4rem,8vw,7rem);font-weight:300;line-height:.95}.case-title em{font-family:var(--serif);font-style:italic}.case-meta{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;padding:clamp(3rem,7vw,5rem) 0;display:grid}.case-meta .k{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.5rem;font-size:.68rem;display:block}.case-meta .v{font-size:.95rem}.case-lede{max-width:min(42rem,100%);margin-left:auto;padding:clamp(3rem,8vw,6rem) 0}.case-lede p{letter-spacing:-.02em;font-size:clamp(1.25rem,2.4vw,2.1rem);font-weight:300;line-height:1.28}.case-body{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(2rem,5vw,4rem);padding-bottom:clamp(3rem,8vw,6rem);display:grid}.case-body p{color:var(--ink-soft);max-width:56ch;font-size:.95rem}.case-gallery{gap:clamp(1rem,2.5vw,2rem);padding-bottom:clamp(3rem,8vw,6rem);display:grid}.case-gallery.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.case-shot{aspect-ratio:4/5;background:var(--paper-2);position:relative;overflow:hidden}.case-live-wrap{padding-bottom:clamp(3rem,8vw,6rem)}.case-live-frame{aspect-ratio:16/10;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden}.case-next{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2rem;padding:clamp(2.5rem,6vw,4rem) 0;display:flex}.case-next .display{font-size:clamp(1.8rem,5vw,4rem)}.back-link{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.76rem}.back-link:hover{color:var(--ink)}.curtain{z-index:9500;background:var(--ink);transform-origin:bottom;pointer-events:none;position:fixed;inset:0;transform:scaleY(0)}@media (width<=900px){.hero-foot{grid-template-columns:1fr;gap:1rem}.hero-hint,.hero-cue{justify-self:start}.statement-inner{max-width:none;margin-left:0}.cap{grid-template-columns:2.5rem 1fr}.cap p{grid-column:2}.project-frame,.project-caption{width:100%;margin-inline:0}.project:nth-of-type(2n) .project-caption{text-align:left;margin-left:0}.project-caption{grid-template-columns:auto 1fr}.p-year{grid-column:2}}@media (pointer:coarse){.hero-hint{display:none}}@media (width<=820px){.cursor-dot,.cursor-ring{display:none}body.cursor-active{cursor:auto}.project-frame{aspect-ratio:16/10}.nav-links{gap:1rem}.nav-links a{font-size:.68rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.hero-canvas{display:none}.hero-fallback{opacity:1}.cursor-dot,.cursor-ring{display:none}body.cursor-active{cursor:auto}}
