/* Architectural studio experience — shared visual direction */
:root{--paper:#f4f3ed;--paper-2:#e9e8e0;--ink:#17241f;--ink-2:#203229;--t-ink:#17241f;--brass:#8d9b75;--brass-2:#53684b;--brass-lt:#d1dabd;--display:var(--sans);--section:clamp(5rem,10vw,9rem)}
h1,h2,h3{letter-spacing:-.055em}h2 em,h3 em{font-family:Georgia,serif;font-style:italic;font-weight:400}body:before{display:none!important}.nav{padding-top:1.25rem;padding-bottom:1.25rem}.brand-text{font-family:var(--sans);font-weight:500;letter-spacing:-.025em}.brand-text em{font-style:normal}.nav-links a{letter-spacing:.08em}.nav-links .nav-cta{border-radius:0}.nav.scrolled{background:rgba(244,243,237,.96)}.btn{border-radius:0}.cinema{height:175svh;background:var(--ink);position:relative}.cinema-sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;color:#fff}.cinema-photo{position:absolute;inset:0;clip-path:inset(var(--hero-inset,0%) round var(--hero-radius,0px));transform:scale(var(--hero-scale,1.08));will-change:transform,clip-path}.cinema-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.cinema-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,13,.53),rgba(8,19,13,.05)),linear-gradient(0deg,rgba(8,19,13,.62),transparent 50%,rgba(8,19,13,.3))}.cinema-copy{position:absolute;left:var(--pad);right:var(--pad);top:27%;transform:translateY(var(--hero-y,0px));opacity:var(--hero-opacity,1)}.cinema-kicker{font-size:10px;letter-spacing:.22em;margin-bottom:2rem}.cinema h1{font-size:clamp(2.5rem,4.8vw,5rem);line-height:.94;max-width:none;white-space:nowrap;font-weight:400;letter-spacing:-.065em}.cinema h1 em{font-family:Georgia,serif;font-weight:400;font-style:italic;color:#e1e7cf}.cinema-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:2.25rem;max-width:650px}.cinema-bottom p{font-size:14px;line-height:1.7;color:#eee}.round-link{width:74px;height:74px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;font-size:32px;transition:background .3s,transform .3s}.round-link:hover{background:#e1e7cf;color:#17241f;transform:rotate(45deg)}.cinema-footer{position:absolute;bottom:35px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.13em}.cinema-footer a span{margin-left:30px}.cinema-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff25}.cinema-progress span{display:block;height:100%;background:#d1dabd;transform-origin:left;transform:scaleX(var(--hero-progress,0))}.stats-band{background:var(--ink)}.hero-stats strong{font-family:var(--sans);font-size:clamp(2.6rem,5vw,5rem);letter-spacing:-.065em}.hero-stats>div{padding-top:3rem;padding-bottom:3rem}.stmt-wrap{background:var(--paper)}.stmt{font-size:clamp(2rem,4.2vw,4.2rem);line-height:1.25;letter-spacing:-.045em;max-width:1100px}.stmt em{color:#53684b}.stmt-foot{justify-content:flex-end}.section-head h2{font-size:clamp(2.8rem,5.5vw,5.5rem)}.works{grid-template-columns:1fr 1.15fr;gap:5vw}.works-preview{aspect-ratio:4/5;border:0}.works-preview img{height:100%;object-fit:cover}.works-preview figcaption{background:#17241fd9;color:white;padding:18px}.works-list a{padding:1.8rem 0;transition:padding .35s,background .35s}.works-list a:hover,.works-list a.active-row{padding-left:15px;background:#e7e9df}.w-name{font-family:var(--sans);font-size:clamp(1.1rem,2vw,1.8rem);letter-spacing:-.04em}.w-meta{font-size:9px}.detail-story{background:#17241f;color:#f4f3ed}.detail-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.detail-layout h2{font-size:clamp(3rem,5.8vw,5.8rem);margin:2rem 0}.detail-layout .eyebrow{color:#cbd6bd}.detail-layout .lede{color:#b9c2b7;font-size:15px}.detail-controls{display:flex;gap:20px;flex-wrap:wrap;margin:2rem 0 1rem}.detail-controls button{font:inherit;font-size:12px;background:none;color:#aab7a5;border:0;border-bottom:1px solid #53634b;padding:12px 0;cursor:pointer}.detail-controls button.selected{color:white;border-color:#d1dabd}#detail-description{font-size:13px;color:#b9c2b7;min-height:5em;max-width:30em}.detail-visual{overflow:hidden;position:relative;aspect-ratio:4/5}.detail-visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.22);object-position:50% 60%;transition:transform 1.1s,object-position 1.1s}.detail-visual figcaption{position:absolute;bottom:0;padding:25px;background:linear-gradient(transparent,#0009);width:100%;font-size:12px}.xp-grid{gap:1.5rem;border:0}.xp-card{border:0;overflow:hidden;background:#e9e8e0}.xp-card img{transition:transform .8s}.xp-card:hover img{transform:scale(1.045)}.xp-body{padding:2rem}.xp-body h3{font-size:1.7rem}.process-grid{border:0;gap:1.5rem}.process-step{border:0;border-top:1px solid var(--line);padding:2rem 0;transition:transform .3s}.process-step:hover{transform:translateY(-7px)}.s-num{font-size:2rem;letter-spacing:-.05em}.cta-band h2{font-size:clamp(3rem,6.8vw,7rem)}.page-hero h1{font-size:clamp(3.5rem,7vw,7rem)}
@media(max-width:900px){.cinema-sticky{min-height:560px}.cinema-copy{top:30%}.cinema h1{font-size:clamp(2.5rem,6vw,4rem)}.cinema-footer>span:not(.cinema-count){display:none}.works,.detail-layout{grid-template-columns:1fr}.works-preview{aspect-ratio:4/3}.detail-visual{aspect-ratio:4/3}.detail-layout{gap:2rem}.nav.open{background:var(--paper)}.cinema-bottom{max-width:500px}}
@media(max-width:620px){.cinema{height:145svh}.cinema-copy{top:27%}.cinema h1{font-size:clamp(1.375rem,6.9vw,3rem)}.cinema-kicker{font-size:8px;letter-spacing:.14em}.cinema-bottom p{font-size:12px}.round-link{width:56px;height:56px}.cinema-footer{font-size:8px}.brand-text small{font-size:7px}.hero-stats>div{padding:1.5rem 1rem}.hero-stats strong{font-size:2.5rem}.detail-controls{gap:16px}.w-meta{font-size:9px}.section-head h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.cinema{height:100svh}.cinema-photo,.cinema-copy{transform:none!important;opacity:1!important;clip-path:none!important}.detail-visual img{transition:none}}
/* The photograph remains visible until a video frame is playing. */
.cinema-photo .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;opacity:0;transition:opacity .8s;pointer-events:none}
.cinema-photo .hero-video.is-playing{opacity:1}
.hero-video-toggle{position:absolute;right:var(--pad);bottom:80px;z-index:3;background:#17241f80;border:1px solid #ffffff80;padding:10px 16px;color:white;font:inherit;font-size:11px;cursor:pointer}
.hero-video-toggle[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.cinema-photo .hero-video,.hero-video-toggle{display:none}}

/* A longer scroll runway gives the architectural dolly room to unfold. */
.cinema{height:240svh}.cinema:has(.hero-video[data-video-src]:not([data-video-src=""])) .cinema-photo{--hero-scale:1}
@media(max-width:620px){.cinema{height:200svh}}
@media(prefers-reduced-motion:reduce){.cinema{height:100svh}}

/* Home navigation enters after the hero scroll sequence completes. */
body.home .nav.hero-nav-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%)}
body.home .nav{transition:opacity .3s ease,transform .3s ease,visibility .3s,background .4s,box-shadow .4s,color .4s}

/* Hero → next section merge: over the last fifth of the scroll the photo recedes
   into a rounded frame inside the ink ground, a veil deepens it, and the stats
   band lifts into place — so the two sections read as one continuous surface. */
.cinema-sticky{background:var(--ink)}
.cinema-merge-veil{position:absolute;inset:0;pointer-events:none;background:var(--ink);opacity:var(--hero-veil,0)}
.stats-band .hero-stats{transform:translateY(var(--stats-lift,0px))}
@media(prefers-reduced-motion:reduce){.cinema-merge-veil{display:none}.stats-band .hero-stats{transform:none}}
