/* homepage acts: hero (layered), corridor (continuous walk), scale (peak), door */
.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;background:var(--night);color:var(--night-ink);isolation:isolate;z-index:0}
.hero .planes{position:absolute;inset:0;z-index:1;isolation:isolate;overflow:hidden}
.hero .plate{position:absolute;inset:-6% 0;will-change:transform}
.hero .plate picture,.hero .plate img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero .hero-copy{position:absolute;left:0;right:0;bottom:clamp(28px,7vh,80px);z-index:3;will-change:transform}
.hero h1{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero .lede{color:rgba(255,255,255,.9);margin-top:1.2em;max-width:34ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.6em}
.hero .scrim{position:absolute;inset:auto 0 0 0;height:62%;z-index:2;pointer-events:none;background:linear-gradient(to top,rgba(10,9,8,.78) 0%,rgba(10,9,8,.42) 45%,rgba(10,9,8,0) 100%)}
@media (max-width:700px){.hero .plate img{object-position:50% 30%}.hero .scrim{height:70%}}

.intro .stat{display:flex;flex-direction:column;gap:.4em}
.intro .stat strong{font-family:var(--fd);font-weight:300;font-size:clamp(3rem,6vw,5.5rem);line-height:1;letter-spacing:-.04em}
.intro .stat strong i{font-style:normal;font-size:.5em;vertical-align:middle;margin:0 .1em;color:var(--ink-mute)}
.intro .stat span{font-size:var(--tiny);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}

/* corridor: a sticky stage, a horizontal track driven by vertical scroll */
.corridor{position:relative;height:calc(var(--n,12) * 52vh + 100vh);background:var(--surface)}
.corridor .stage{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}
.corridor .track{display:flex;gap:4vw;padding-inline:var(--pad);will-change:transform;align-items:center}
.panel{position:relative;flex:0 0 auto;width:72vw;max-width:1180px;aspect-ratio:16/9;max-height:78svh;overflow:hidden;background:var(--canvas);display:block}
.panel picture{display:block;width:106%;height:100%;margin-left:-3%;will-change:transform}
.panel img{display:block;width:100%;height:100%;object-fit:cover}
.panel .cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,2.2vw,28px);display:flex;flex-direction:column;align-items:flex-start;gap:.35em;color:#fff;background:linear-gradient(to top,rgba(10,9,8,.6),rgba(10,9,8,0));opacity:0;transform:translateY(8px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.panel:hover .cap,.panel:focus-visible .cap,.panel.near .cap{opacity:1;transform:none}
.panel .cap .t{font-family:var(--fd);font-size:clamp(1.3rem,2.4vw,2.2rem);text-transform:uppercase;letter-spacing:-.02em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.panel .cap .r{font-size:var(--tiny);text-transform:uppercase;letter-spacing:.12em;opacity:.85}
.panel.end{aspect-ratio:auto;width:48vw;height:min(78svh,calc(72vw * 9/16));max-height:none;background:var(--night);color:var(--night-ink);display:flex;align-items:center;justify-content:center}
.panel.end .endcopy{display:flex;flex-direction:column;align-items:flex-start;gap:1.5em;padding:var(--pad)}
.panel.end .eyebrow{color:#8E8A83}
.panel.end .btn{border-color:var(--night-ink);color:var(--night-ink)}
.panel.end:hover .btn{background:var(--night-ink);color:var(--night)}
.corridor .bar{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(18px,3vh,32px);height:1px;background:var(--line)}
.corridor .bar i{display:block;height:100%;width:100%;background:var(--ink);transform-origin:left;transform:scaleX(0)}
@media (max-width:700px){.panel{width:86vw;aspect-ratio:4/5;max-height:68svh}.panel picture{width:112%;margin-left:-6%}.panel.end{width:70vw;height:calc(86vw * 9/16)}.corridor{height:calc(var(--n,12) * 44vh + 100vh)}}

/* artist */
.artist .photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
@media (min-width:901px){.artist .photo img{aspect-ratio:auto;min-height:100%}}

/* door: the close holds */
.door{background:var(--night);color:var(--night-ink);padding:var(--beat) 0;border-top:1px solid rgba(243,238,230,.12)}
.door h2{max-width:14ch}
.door-links{display:flex;flex-direction:column;gap:.2em;margin-top:1.5em;font-family:var(--fd);font-size:clamp(1.4rem,3.4vw,3.2rem);letter-spacing:-.02em;line-height:1.15}
.door-links a{position:relative;width:max-content;max-width:100%;word-break:break-all}
.door-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}
.door-links a:hover::after{transform:scaleX(1)}
.door-links a:hover{color:var(--blush)}

@media (prefers-reduced-motion:reduce){
  .corridor{height:auto}
  .corridor .stage{position:static;height:auto;display:block;padding:var(--beat) 0}
  .corridor .track{flex-direction:column;align-items:stretch;gap:var(--gap)}
  .panel{width:auto;max-width:none;max-height:none}
  .panel.end{width:auto;height:auto;padding:var(--beat) 0}
  .panel .cap{opacity:1;transform:none}
  .corridor .bar{display:none}
}
