html:has(.project-page){scroll-snap-type:none}
.project-page{background:var(--ink);color:var(--white)}
.project-intro{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end}.intro-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05);animation:intro-scale 9s cubic-bezier(.18,.7,.2,1) both}.intro-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.91),rgba(7,9,10,.48) 55%,rgba(7,9,10,.15)),linear-gradient(0deg,rgba(7,9,10,.42),transparent 48%)}.intro-copy{position:relative;z-index:2;padding:10rem var(--page-x) 5rem;max-width:76rem}.intro-copy h1{font-size:clamp(4.6rem,10.4vw,10rem)}.project-lede{max-width:42rem;margin:2rem 0 2.5rem;padding-left:1rem;border-left:2px solid var(--violet);font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.65}.project-header{position:fixed}
.cinema{padding:clamp(5rem,8vw,8rem) var(--page-x);background:var(--ink)}.cinema-stage{position:relative;min-height:min(78vw,800px);height:78vh;overflow:hidden;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);outline:none}.cinema-stage:focus-visible{outline:2px solid var(--violet);outline-offset:5px}.scene{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}.scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.76),rgba(7,9,10,.12) 64%),linear-gradient(0deg,rgba(7,9,10,.58),transparent 45%)}.scene img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform 7s cubic-bezier(.15,.7,.2,1)}.scene.is-active{opacity:1;z-index:1}.scene.is-active img{transform:scale(1)}.scene-copy{position:absolute;z-index:3;left:clamp(1.25rem,4vw,4rem);bottom:clamp(7rem,14vh,9.5rem);width:min(42rem,65%)}.scene-copy h2{font-size:clamp(3.2rem,6.5vw,7.2rem);line-height:.86}.scene-copy>p:last-child{max-width:36rem;margin:1.6rem 0 0;font-size:clamp(.92rem,1.2vw,1.1rem);line-height:1.6;color:rgba(255,255,255,.78)}.scene-count{position:absolute;z-index:3;right:clamp(1.25rem,3vw,3rem);top:2rem;display:flex;align-items:center;gap:.75rem;font:600 .65rem "Roboto Condensed",sans-serif;letter-spacing:.14em}.scene-count i{display:block;width:4rem;height:1px;background:rgba(255,255,255,.5)}
.cinema-controls{position:absolute;z-index:4;right:clamp(1.25rem,3vw,3rem);bottom:2.1rem;display:flex;align-items:center}.cinema-controls button{min-width:3rem;height:3rem;border:1px solid rgba(255,255,255,.45);background:rgba(11,13,14,.55);color:#fff;font:600 .7rem "Roboto Condensed",sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.cinema-controls .play{min-width:8rem;border-inline:0}.cinema-controls button:hover{background:var(--violet)}.scene-rail{position:absolute;z-index:4;left:clamp(1.25rem,4vw,4rem);right:18rem;bottom:2.1rem;display:grid;grid-template-columns:repeat(12,1fr);gap:.4rem}.scene-rail button{display:grid;gap:.5rem;border:0;background:transparent;color:rgba(255,255,255,.52);text-align:left;cursor:pointer;font:600 .6rem "Roboto Condensed",sans-serif;letter-spacing:.1em}.scene-rail i{display:block;height:2px;background:rgba(255,255,255,.28);transition:background .3s,transform .3s;transform-origin:left}.scene-rail button.is-active{color:#fff}.scene-rail button.is-active i{background:var(--violet);transform:scaleY(2)}.cinema-note{margin:1rem 0 0;color:rgba(255,255,255,.5);font-size:.68rem;line-height:1.5}
.brochure{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center;padding:clamp(6rem,10vw,10rem) var(--page-x);background-color:var(--paper);background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-size:100% 25%,25% 100%;color:var(--ink)}.brochure-copy h2{font-size:clamp(4rem,7.6vw,8rem)}.brochure-copy h2 em{color:var(--violet)}.brochure-copy>p:last-of-type{max-width:34rem;margin:2.5rem 0 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7}.brochure-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.5rem}.project-button{display:inline-flex;align-items:center;min-height:3.1rem;padding:.8rem 1.1rem;border:1px solid var(--ink);text-decoration:none;font:600 .68rem "Roboto Condensed",sans-serif;letter-spacing:.15em;text-transform:uppercase}.project-button.primary,.project-button:hover{background:var(--ink);color:var(--white)}.brochure-preview{position:relative;display:block;overflow:hidden;border:1px solid var(--line-dark);box-shadow:0 2rem 5rem rgba(11,13,14,.2)}.brochure-preview img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .7s ease}.brochure-preview span{position:absolute;right:0;bottom:0;display:flex;gap:2rem;background:var(--ink);color:var(--white);padding:1rem 1.2rem;font:600 .68rem "Roboto Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase}.brochure-preview:hover img{transform:scale(1.025)}.project-footer{position:static;margin:0;padding:1.5rem var(--page-x);background:var(--ink)}.project-footer a{text-underline-offset:.35em}
.cinema{scroll-margin-top:4rem}
@keyframes intro-scale{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(max-width:760px){.project-header .site-nav{background:rgba(11,13,14,.97)}.project-intro{min-height:88svh}.intro-copy{padding:8rem 1.25rem 4rem}.intro-copy h1{font-size:clamp(4.1rem,20vw,6rem)}.cinema{padding:4rem 0}.cinema-stage{height:78svh;min-height:580px;border:0}.scene-copy{left:1.25rem;right:1.25rem;bottom:9.5rem;width:auto}.scene-copy h2{font-size:clamp(3rem,14vw,4.8rem)}.scene-copy>p:last-child{font-size:.9rem}.scene-count{right:1.25rem;top:1.25rem}.scene-rail{left:1.25rem;right:1.25rem;bottom:6.1rem;gap:.25rem}.scene-rail button span{display:none}.cinema-controls{left:1.25rem;right:auto;bottom:1.6rem}.cinema-note{padding:0 1.25rem}.brochure{grid-template-columns:1fr;padding:5rem 1.25rem;background-size:100% 25%,50% 100%}.brochure-preview{order:-1}.project-footer{display:block;padding:1.5rem 1.25rem;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.intro-image,.scene img{animation:none;transition:none}.scene{transition:none}}
