/* Matt Tuley: scroll choreography, with a fully readable static baseline. */
:root{--nav-height:96px}
.reading-progress{position:fixed;z-index:31;top:var(--nav-height);left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sound-story{position:relative;background:#11120f;color:var(--cream);isolation:isolate}
.sound-stage{position:relative;height:760px;height:min(860px,calc(100svh - var(--nav-height)));min-height:610px;overflow:hidden}
.sound-visual,.sound-poster,.sound-canvas,.sound-shade{position:absolute;inset:0;width:100%;height:100%}
.sound-visual{overflow:hidden}
.sound-poster{object-fit:cover;object-position:62% center;transform:scale(1.005)}
.sound-canvas{opacity:0;transition:opacity .5s}
.sound-canvas.is-ready{opacity:1}
.sound-shade{background:linear-gradient(90deg,rgba(10,12,9,.86) 0%,rgba(10,12,9,.63) 34%,rgba(10,12,9,.05) 76%),linear-gradient(0deg,rgba(10,12,9,.78),transparent 26%,transparent 80%,rgba(10,12,9,.22));pointer-events:none}
.sound-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;padding:62px 0 90px}
.sound-content .eyebrow{color:var(--gold);margin-bottom:32px}
.sound-heading{font-size:clamp(3.5rem,6.5vw,7.1rem);line-height:1.07;letter-spacing:-.045em;max-width:1100px}
.sound-heading>span{display:block;width:max-content;max-width:100%;color:var(--cream)}
.sound-heading em{color:var(--gold);font-weight:500}
.sound-content .sound-description{color:#ded8cd;max-width:35ch;font-size:.94rem;line-height:1.8;margin:30px 0 19px}
.sound-content .text-link{align-self:flex-start;color:var(--cream);font-size:.78rem;border-color:#d9b78270;gap:46px}
.sound-content .text-link:hover{color:var(--gold)}
.sound-footer{position:absolute;z-index:2;bottom:30px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#e7dbc7;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}
.sound-position{display:flex;gap:20px;align-items:center}
.sound-index{font-variant-numeric:tabular-nums;color:var(--gold)}
.sound-rail{width:150px;height:1px;background:#ffffff3d;overflow:hidden}
.sound-rail>span{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.sound-hint{display:flex;align-items:center;gap:12px}
.sound-hint span{display:inline-block;width:5px;height:5px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}
.motion-active .sound-story{height:245vh;height:245svh}
.motion-active .sound-stage{position:sticky;top:var(--nav-height);height:calc(100svh - var(--nav-height));min-height:540px}
.motion-active .sound-heading>span{opacity:var(--line-opacity,.35);transform:translateX(var(--line-offset,0px));will-change:opacity,transform}
.motion-active .motion-reveal{opacity:0;transform:translate3d(0,30px,0);transition:opacity .8s ease,transform .95s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-active .motion-reveal.motion-seen{opacity:1;transform:translate3d(0,0,0)}
.motion-active .event-card.motion-reveal{transform:translate3d(0,52px,0)}
.motion-active .event-card.motion-seen{transform:translate3d(0,0,0)}
.motion-active .event-card .event-image{clip-path:inset(10% 4% 0 4%);transition:clip-path 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-active .event-card.motion-seen .event-image{clip-path:inset(0 0 0 0)}
.motion-photo-window{overflow:hidden}
.motion-active .event-image img,.motion-active .motion-photo-window img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.1);transition:none;will-change:transform}
.motion-active .event-card:hover .event-image img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.1)}
.motion-active .setlist-paper{transform:translate3d(0,var(--paper-y,0px),0) rotate(var(--paper-angle,2deg));will-change:transform}
.setlist-feature{overflow:clip}
.motion-active .quote-word{opacity:var(--word-opacity,.28);transition:opacity .18s linear}
.motion-active .hero-copy>.eyebrow{animation:matt-enter .85s .06s both}
.motion-active .hero-copy>h1{animation:matt-enter 1s .14s both}
.motion-active .hero-copy>.lead{animation:matt-enter 1s .24s both}
.motion-active .hero-copy>.actions{animation:matt-enter 1s .34s both}
.motion-active .hero-video{animation:matt-enter 1.15s .2s both}
@keyframes matt-enter{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:761px){.event-card:nth-child(2){--reveal-delay:110ms}.event-card:nth-child(3){--reveal-delay:220ms}}
@media(max-width:1020px){.sound-heading{font-size:7.3vw}.sound-stage{min-height:560px}.sound-content{padding-top:45px}}
@media(max-width:760px){
 :root{--nav-height:78px}
 .sound-stage{height:660px;height:min(720px,calc(100svh - var(--nav-height)));min-height:540px}
 .motion-active .sound-story{height:215vh;height:215svh}
 .motion-active .sound-stage{height:calc(100svh - var(--nav-height));min-height:480px}
 .sound-content{padding:38px 0 86px;justify-content:center}
 .sound-content .eyebrow{font-size:.65rem!important;letter-spacing:.12em;margin-bottom:30px}
 .sound-heading{font-size:clamp(2.9rem,9.8vw,4.5rem);line-height:1.2;letter-spacing:-.04em}
 .sound-heading>span{width:auto;white-space:nowrap}
 .sound-content .sound-description{font-size:.86rem;max-width:28ch;margin:27px 0 15px}
 .sound-shade{background:linear-gradient(90deg,rgba(10,12,9,.83),rgba(10,12,9,.43)),linear-gradient(0deg,#0b0d0bbf,transparent 40%,#0b0d0b26)}
 .sound-poster{object-position:65% center}
 .sound-footer{bottom:24px;gap:12px;font-size:.57rem;letter-spacing:.075em}
 .sound-position{gap:12px}.sound-rail{width:74px}.sound-hint{gap:9px}
 .motion-active .event-card.motion-reveal{transform:translate3d(0,30px,0)}
 .motion-active .event-card.motion-seen{transform:translate3d(0,0,0)}
}
@media(max-width:370px){.sound-heading{font-size:9.4vw}.sound-footer{font-size:.52rem}.sound-rail{width:48px}}
@media(prefers-reduced-motion:reduce){
 .reading-progress{display:none}
 .sound-story,.motion-active .sound-story{height:auto}
 .sound-stage,.motion-active .sound-stage{position:relative;top:auto;min-height:550px;height:auto}
 .sound-content{padding:80px 0 110px}
 .sound-canvas{display:none}
 .sound-heading>span{opacity:1!important;transform:none!important}
 .sound-hint{display:none}
 .sound-rail>span{transform:scaleX(1)!important}
 .motion-reveal,.motion-active .motion-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .event-card .event-image{clip-path:none!important}
 .motion-active .event-image img,.motion-active .motion-photo-window img{transform:none!important}
 .setlist-paper{transform:rotate(2deg)!important}
 .quote-word{opacity:1!important}
}
@media print{.sound-story{height:auto!important}.sound-stage{position:relative!important;top:0!important;height:650px!important}.motion-reveal,.quote-word{opacity:1!important;transform:none!important}.reading-progress{display:none!important}}
