:root{color-scheme:dark;--yellow:#D7EF47;--white:#f2f0eb;--gutter:clamp(24px,5vw,88px);--stage:100svh}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#000;color:var(--white);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none;text-underline-offset:.2em}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--yellow);outline-offset:6px}img,video{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}em{font-style:normal;color:var(--yellow)}.masthead{height:90px;padding:0 var(--gutter);position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;z-index:10}.wordmark{width:150px;height:84px}.wordmark img{object-fit:contain}.masthead nav{display:flex;gap:36px;align-items:center;font-size:16px}.masthead nav a{padding-block:12px}.contact-nav{color:var(--yellow)}.scroll-scene{position:relative}.sticky-stage{position:relative;min-height:var(--stage);overflow:hidden}.motion-ready .scroll-scene{height:240svh}.motion-ready .sticky-stage{position:sticky;top:0;height:var(--stage);min-height:640px}.motion-ready .intro-scene{height:160svh}.intro-stage{padding:120px var(--gutter) 36px;display:flex;flex-direction:column;justify-content:space-between;background:#000}.intro-top,.intro-bottom,.section-label{display:flex;justify-content:space-between;gap:24px}.intro-top{font-size:14px;letter-spacing:.08em;text-transform:uppercase}.intro-stage h1{font-size:clamp(68px,9.6vw,170px);line-height:.95;letter-spacing:-.065em;font-weight:600;position:relative;z-index:2;margin:36px 0;transform:translateY(calc(var(--intro-p,0)*-50px));opacity:calc(1 - var(--intro-p,0)*.65)}.intro-stage h1 em{display:inline-block}.intro-bottom{align-items:end;font-size:15px;line-height:1.55;position:relative;z-index:3}.intro-bottom>p{color:#aaa}.scroll-cue{display:flex;gap:30px;align-items:center}.down-arrow{font-size:36px;color:var(--yellow)}.scene-tag{font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.1em}.hero-stills{position:absolute;right:8%;top:28%;width:20vw;height:25vw;max-height:400px;pointer-events:none}.still{position:absolute;width:70%;height:70%;border:5px solid #000;filter:grayscale(1)}.still-one{top:0;right:0;transform:rotate(8deg) translateY(calc(var(--intro-p,0)*-80px))}.still-two{width:85%;height:48%;bottom:0;left:-10%;transform:rotate(-9deg) translateY(calc(var(--intro-p,0)*60px))}.film-stage{background:#000;min-height:800px}.film-window{position:absolute;inset:0;clip-path:inset(calc((1 - var(--film-grow,1))*12%) calc((1 - var(--film-grow,1))*16%) round calc((1 - var(--film-grow,1))*18px));overflow:hidden}.film-window video{transform:scale(calc(1.08 - var(--film-grow,1)*.08));object-position:center}.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0007 0%,transparent 28%,#0004 48%,#000e 100%)}.film-top{position:absolute;top:40px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.film-copy{position:absolute;bottom:64px;left:var(--gutter);right:var(--gutter);transform:translateY(calc((1 - var(--film-copy,1))*100px));opacity:var(--film-copy,1)}.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:13px;line-height:1.5}.film-copy h2{font-size:clamp(72px,10vw,156px);font-weight:500;line-height:.92;letter-spacing:-.055em;margin:24px 0 32px}.film-bottom{display:flex;justify-content:space-between;align-items:end;gap:24px}.film-bottom p{font-size:20px;line-height:1.5}.pill-link{display:flex;gap:80px;border:1px solid #ffffff80;border-radius:50px;padding:18px 26px;font-size:17px;backdrop-filter:blur(12px);background:#0004}.pill-link span{color:var(--yellow)}.film-meter{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff30}.film-meter span{display:block;background:var(--yellow);height:100%;width:calc(var(--film-p,0)*100%)}.photo-stage{background:var(--yellow);color:#000;padding:44px var(--gutter) 28px;display:flex;flex-direction:column;gap:24px}.photo-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.photo-heading h2{font-size:clamp(56px,7vw,110px);letter-spacing:-.06em;line-height:1.05;margin-top:8px;font-weight:500}.photo-heading>p{font-size:18px;line-height:1.5}.photo-viewport{flex:1;min-height:0;overflow:visible}.photo-rail{display:flex;gap:3vw;height:100%;width:max-content;transform:translateX(var(--rail-x,0px))}.photo-rail figure{width:min(43vw,670px);height:100%;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.photo-rail img{min-height:0;flex:1;object-position:50% 38%;border-radius:4px}.photo-rail figcaption{display:flex;justify-content:space-between;gap:20px;font-size:17px;font-weight:600;padding-bottom:8px}.photo-bottom{display:flex;justify-content:space-between;gap:24px;font-size:14px}.photo-bottom a{font-weight:600}.section-pad{padding:120px var(--gutter)}.about-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.about-image{max-width:320px;width:85%;aspect-ratio:1;border-radius:50%;overflow:hidden;justify-self:center}.about-section h2{font-size:clamp(44px,5.5vw,86px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin-top:22px}.body-copy{font-size:20px;color:#aaa;line-height:1.65;max-width:50ch;margin:30px 0}.about-section a{font-size:17px}.section-label{font-size:14px;color:#aaa;margin-bottom:36px}.services{padding-top:32px}.service-row{display:grid;grid-template-columns:1fr 240px 60px;gap:24px;align-items:center;padding:38px 0;border-top:1px solid #444;transition:color .2s}.service-row:hover{color:var(--yellow);text-decoration:none}.service-row:hover h3{text-decoration:underline;text-decoration-thickness:2px}.service-number{font-size:14px;color:#aaa}.service-row h3{font-size:clamp(44px,6vw,90px);font-weight:400;letter-spacing:-.04em}.service-row p{font-size:17px;line-height:1.5;color:#aaa}.service-arrow{font-size:48px;text-align:right}.other-work{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:100px}.work-media{aspect-ratio:3/2;overflow:hidden;border-radius:10px}.work-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:20px 0 8px}.work-title h3{font-size:25px;font-weight:500}.work-title>span{color:var(--yellow);font-size:24px}.other-work p{color:#999;font-size:15px}.all-work{display:inline-block;margin-top:40px;font-size:18px}.contact-section{background:var(--yellow);color:#000;padding-top:72px;padding-bottom:64px}.contact-section h2{font-size:clamp(90px,16vw,250px);line-height:.88;letter-spacing:-.07em;font-weight:500;margin:44px 0 60px}.contact-section em{color:transparent;-webkit-text-stroke:2px #000}.contact-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center}.email{font-size:clamp(22px,3vw,40px);letter-spacing:-.025em}.footer{padding:40px var(--gutter);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:14px;color:#aaa}.footer>div{display:flex;gap:24px}.page-progress{position:fixed;left:0;top:0;z-index:20;height:3px;width:calc(var(--page-p,0)*100%);background:var(--yellow);mix-blend-mode:difference}.skip{position:fixed;left:20px;top:-100px;z-index:30;padding:12px 20px;background:var(--yellow);color:#000}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* With no motion enhancement, every scene remains readable in ordinary flow. */
html:not(.motion-ready) .photo-rail{width:100%;height:auto;display:grid;grid-template-columns:repeat(3,1fr)}html:not(.motion-ready) .photo-rail figure{width:100%;height:auto}html:not(.motion-ready) .photo-rail img{aspect-ratio:4/5;height:auto}html:not(.motion-ready) .photo-stage{min-height:0}
@media(max-width:800px){.masthead{height:80px}.wordmark{width:110px;height:70px}.masthead nav{gap:18px;font-size:14px}.masthead nav>a:nth-child(2){display:none}.intro-stage{padding-top:108px}.intro-top{font-size:10px;letter-spacing:.06em}.intro-stage h1{font-size:clamp(50px,10.5vw,84px);margin:30px 0;line-height:1}.hero-stills{top:20%;right:13%;width:32vw;height:28vw}.intro-bottom>p{font-size:13px}.scene-tag{display:none}.scroll-cue{font-size:12px;gap:16px}.motion-ready .sticky-stage{min-height:560px}.film-stage{min-height:650px}.film-top{font-size:11px;top:28px}.film-copy{bottom:36px}.film-copy h2{font-size:clamp(60px,13vw,100px)}.film-bottom{align-items:start;flex-direction:column}.film-bottom p{font-size:17px}.pill-link{padding:14px 22px;gap:56px;font-size:16px}.photo-stage{padding-top:32px;gap:22px}.photo-heading h2{font-size:52px}.photo-heading>p{font-size:13px}.photo-rail figure{width:76vw}.photo-rail{gap:6vw}.photo-bottom{font-size:12px;align-items:center}.photo-bottom>span{max-width:15ch}.section-pad{padding:72px var(--gutter)}.about-section{grid-template-columns:1fr;gap:36px}.about-image{width:140px;justify-self:start}.about-section h2{font-size:48px}.body-copy{font-size:18px}.services{padding-top:0}.section-label{font-size:11px;line-height:1.5}.service-row{grid-template-columns:1fr 36px;gap:12px;padding:28px 0}.service-row h3{font-size:42px}.service-row p{grid-column:1;grid-row:2;font-size:15px}.service-arrow{grid-column:2;grid-row:1;font-size:34px}.other-work{grid-template-columns:1fr;gap:40px;margin-top:56px}.work-title h3{font-size:23px}.contact-section h2{font-size:25vw}.contact-bottom{flex-direction:column;align-items:start;font-size:15px}.footer{font-size:12px}.footer>span{width:100%}html:not(.motion-ready) .photo-rail{grid-template-columns:1fr;gap:32px}}
@media(max-height:600px){.motion-ready .intro-stage{padding-top:90px}.intro-stage h1{font-size:clamp(45px,7vw,90px)}.hero-stills{top:26%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Scroll study 03 */
html{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
.motion-ready .intro-scene{height:250svh}
.motion-ready .photo-rail figure{width:var(--photo-width,43vw)}
.motion-ready .photo-stage{min-height:0;height:100svh}
.photo-rail img{border-radius:10px}
@media(max-width:800px){.photo-heading{align-items:start;flex-direction:column;gap:8px}.photo-heading>p br{display:none}.photo-heading>p{font-size:13px}.photo-heading h2{font-size:46px}.photo-stage{gap:16px;padding-top:26px}.photo-rail{gap:24px}}

.motion-ready .intro-scene{height:175svh}
@media(max-width:800px){.intro-stage{padding-top:108px}.landing-reveal .intro-stage{padding-top:108px}}

/* Consistent section labels, independent of menu numbering. */
.section-kicker{font-size:13px;line-height:1.5;font-weight:400;letter-spacing:.12em;text-transform:uppercase}
.intro-bottom{justify-content:flex-end}
@media(max-width:800px){.section-kicker{font-size:11px}}

/* Stable scroll geometry and shared contact layout. */
html{overflow-anchor:none}
.intro-bottom{justify-content:space-between}
.contact-jump{font-weight:600;font-size:clamp(16px,1.5vw,22px)}
.contact-section{display:grid;grid-template-columns:1.2fr 1fr;column-gap:6vw;align-items:center}
.contact-section>.kicker{grid-column:1/-1}
.contact-section h2{font-size:clamp(72px,11vw,180px);margin-bottom:0}
.contact-details{justify-self:end;width:max-content;max-width:100%;padding-top:44px}
.contact-name{font-size:clamp(21px,2.2vw,32px);margin-bottom:28px}
.contact-methods{display:grid;gap:20px}
.contact-methods a{display:flex;align-items:center;gap:16px;font-size:clamp(18px,1.9vw,28px)}
.contact-methods svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.contact-methods small{display:block;font-size:12px;margin-bottom:5px}
.contact-section a:focus-visible{outline-color:#000}
@media(max-width:800px){.contact-section{grid-template-columns:1fr}.contact-section h2{font-size:23vw}.contact-details{justify-self:start;padding-top:40px}.contact-methods a{font-size:20px}.intro-bottom{gap:18px;flex-wrap:wrap}}

html[lang="en"] .intro-stage h1{font-size:clamp(66px,9.4vw,164px)}
@media(max-width:800px){html[lang="en"] .intro-stage h1{font-size:clamp(48px,10vw,80px)}}

/* Supplied film title, anchored in the existing film-copy container. */
.film-copy h2.film-title-art{width:min(42vw,560px);max-width:100%;font-size:inherit;line-height:0;letter-spacing:0}
.film-title-art img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:800px){.film-copy h2.film-title-art{width:min(78vw,440px)}}
