/* Keep Safari's status-bar area separate from scrolling page content. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html,body{background-color:var(--dusk)}
body::before{content:'';position:fixed;top:0;left:0;right:0;height:var(--safe-top);z-index:1100;background:var(--dusk);pointer-events:none}
nav{padding-top:calc(1.4rem + var(--safe-top));padding-left:calc(2.2rem + var(--safe-left));padding-right:calc(2.2rem + var(--safe-right))}
.wrap{padding-left:max(2rem,var(--safe-left));padding-right:max(2rem,var(--safe-right))}
footer{padding-left:max(2rem,var(--safe-left));padding-right:max(2rem,var(--safe-right))}
/* The original sunset, paper tickets and VHS identity remain the visual foundation. */
:focus-visible{outline:3px solid var(--amber);outline-offset:5px}
button{font:inherit}
button:disabled{opacity:.6;cursor:wait}
[hidden]{display:none!important}
.skip-link{position:fixed;top:calc(1rem + var(--safe-top));left:max(1rem,var(--safe-left));z-index:10000;padding:.8rem 1.2rem;background:var(--cream);color:var(--ink);transform:translateY(calc(-100% - 2rem - var(--safe-top)))}
.skip-link:focus{transform:none}
section[id]{scroll-margin-top:calc(6rem + var(--safe-top))}
nav:focus-within{transform:none!important}
nav ul a[aria-current]{color:var(--amber)}
nav ul a[aria-current]::after{transform:scaleX(1)}
.hero{min-height:100dvh}
.hero-actions{display:flex;justify-content:center;gap:1.8rem;flex-wrap:wrap;margin-top:2.6rem;position:relative;z-index:3}
.hero-actions a{font-size:.82rem;letter-spacing:.12em;padding:.7rem 0;border-bottom:1px solid rgba(255,246,236,.5);transition:color .2s,border-color .2s}
.hero-actions a:hover{color:var(--gold);border-color:var(--gold)}
.motion-toggle{position:fixed;bottom:calc(2rem + var(--safe-bottom));right:calc(2rem + var(--safe-right));z-index:1001;background:rgba(11,8,18,.5);color:var(--cream);border:1px solid rgba(255,246,236,.35);padding:.6rem .9rem;font-size:.7rem;letter-spacing:.06em;cursor:pointer;border-radius:2px}
.intro-skip{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);background:transparent;color:var(--gold);border:0;border-bottom:1px solid currentColor;padding:.8rem;cursor:pointer;font-size:.78rem;letter-spacing:.12em}
.intro-skipped .hero-copy,.intro-skipped .scroll-cue{animation:none;opacity:1}


.schedule-tools{display:flex;align-items:center;gap:1.1rem;margin-bottom:2.6rem;flex-wrap:wrap}
.schedule-status{font-size:.78rem;color:#dac4b6;line-height:1.7;flex:1;min-width:200px}
.schedule-status::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-right:.7rem}
.schedule-status[data-state=stale],.schedule-status[data-state=error]{color:var(--gold)}
.schedule-retry,.schedule-more{color:var(--gold);background:none;border:0;border-bottom:1px solid rgba(255,217,160,.4);cursor:pointer;font-size:.8rem;padding:.65rem .1rem;transition:color .2s}
.schedule-retry:hover,.schedule-more:hover{color:var(--cream)}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:3.2rem;align-items:start}
.upcoming{margin-bottom:0;min-width:0}
.schedule-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}
.schedule-block-head h3{font-family:var(--font-deco);font-style:italic;font-size:1.65rem;color:var(--gold);font-weight:700;letter-spacing:.025em}
.schedule-block-head span{font-size:.75rem;color:#dac4b6;white-space:nowrap;font-variant-numeric:tabular-nums}
.tk{width:100%;border:0;text-align:left;grid-template-columns:92px minmax(0,1fr);box-shadow:0 8px 24px rgba(11,8,18,.32);--rot:-.4deg}
.tk:nth-child(even){--rot:.35deg}
.tk-body{padding:1.05rem 2.4rem 1.05rem 1.15rem;gap:.4rem}
.tk-title{font-size:.97rem;letter-spacing:.025em;line-height:1.65;overflow-wrap:anywhere}
.tk-md{color:#bb3d16;font-variant-numeric:tabular-nums}
.tk-stamp{font-size:.64rem;letter-spacing:.12em}
.tk-venue,.tk-time{font-size:.73rem;line-height:1.65;color:#69513d;overflow-wrap:anywhere}
.tk-meta,.tk.has-detail .tk-meta{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.08em;color:#a13919}
.tk.has-detail:hover .tk-meta{letter-spacing:.08em}
.tk-serial{right:-3rem;font-size:.47rem;letter-spacing:.18em;opacity:.6}
.tk-hole{right:.55rem;width:9px;height:9px;margin-top:-4.5px}
.tk-today{font-family:var(--font-osd);font-size:.55rem;background:#a73b21;color:#fff6ec;letter-spacing:.12em;padding:.25rem .4rem;margin-top:.35rem}
.schedule-more{display:block;margin:1.6rem auto 0}
.deadlines-panel{position:relative;padding:1.8rem 1.7rem 1.5rem;background:linear-gradient(110deg,rgba(255,217,160,.075),rgba(255,217,160,.025));border:1px solid rgba(255,217,160,.24);border-top:2px solid var(--amber);border-radius:2px}
.deadlines-panel::before{content:'';position:absolute;width:72px;height:21px;top:-11px;left:calc(50% - 36px);background:rgba(243,177,106,.25);transform:rotate(-4deg);border-inline:1px dashed rgba(255,217,160,.25)}
.deadlines-panel .schedule-block-head{margin-bottom:.8rem}
.deadline-note{font-size:.74rem;color:#dac4b6;line-height:1.85;margin-bottom:1.1rem}
.deadline-filters{display:flex;gap:.35rem;border-bottom:1px solid rgba(255,217,160,.2);padding-bottom:1rem}
.deadline-filters button{min-height:36px;padding:.4rem .7rem;font-size:.75rem;background:none;border:1px solid transparent;color:#dbc8bb;cursor:pointer;transition:background .2s}
.deadline-filters button[aria-pressed=true]{color:var(--gold);border-color:rgba(255,217,160,.4);background:rgba(255,217,160,.08)}
.deadline-list{list-style:none}
.deadline-list li+li{border-top:1px dashed rgba(255,217,160,.23)}
.deadline-item{display:flex;flex-direction:column;gap:.55rem;width:100%;padding:1.35rem 0;text-align:left;background:none;border:0;color:var(--cream);cursor:pointer;transition:transform .2s}
.deadline-item:hover{transform:translateX(3px)}
.deadline-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-size:.67rem;letter-spacing:.1em}
.deadline-kind{color:var(--gold)}
.deadline-status{color:#d5bdac}
.is-urgent .deadline-status{color:var(--gold);border-bottom:1px solid var(--amber);padding-bottom:.1rem}
.deadline-date{font-size:.95rem;display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;font-variant-numeric:tabular-nums;color:var(--gold)}
.deadline-date strong{font-family:var(--font-deco);font-size:1.5rem;font-weight:700;letter-spacing:.01em}
.deadline-date>span{font-size:.65rem}
.deadline-title{font-family:var(--font-serif);font-weight:600;font-size:.88rem;line-height:1.75;overflow-wrap:anywhere}
.deadline-caption{font-size:.67rem;color:#d0b9a8;line-height:1.7}
.deadline-caption>span{float:right;font-size:1rem;color:var(--gold)}
.deadline-footnote{font-size:.68rem;color:#d0b9a8;line-height:1.9;margin-top:1.2rem}
.schedule-empty,.deadline-empty{font-size:.85rem;line-height:2;color:#dac4b6;padding:2rem 0}
.schedule-loading{min-height:330px;display:grid;gap:1rem}
.schedule-loading span{display:block;background:rgba(255,217,160,.07);border-radius:4px;min-height:96px}
.cal-embed{margin-top:4rem}
.cal-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.cal-heading h3{font-size:1rem;font-weight:500;letter-spacing:.1em}
.cal-heading .cal-open{margin:0;font-size:.75rem;letter-spacing:.08em}

.lm-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin:1rem 0 1.4rem}
.lm-actions a{font-size:.8rem}
.lm-actions .ticket-link{display:inline-block;color:#fff6ec;background:#a73817;border-radius:3px;padding:.65rem 1rem;text-decoration:none}
.lm-actions .ticket-link:hover{background:#852c12;color:#fff}
.lm-deadlines{list-style:none;border-top:1px dashed #aa8660;border-bottom:1px dashed #aa8660;padding:.8rem 0;margin-bottom:1.5rem;font-size:.8rem}
.lm-description{white-space:pre-wrap;overflow-wrap:anywhere}
.lm-source-links{display:grid;gap:.4rem;margin-top:1rem;overflow-wrap:anywhere}
.lmodal-inner,.modal-inner{max-height:88dvh;overscroll-behavior:contain}
.lmodal-inner{padding-top:3.5rem}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}
.motion-paused .reveal{opacity:1;transform:none;filter:none}
.motion-paused .hero-copy,.motion-paused .scroll-cue{opacity:1;transform:none;filter:none}
.motion-paused #ambient-canvas{opacity:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}.cursor,.cursor-trail{display:none!important}body,a,button{cursor:auto!important}}
@media (max-width:1000px){.schedule-layout{gap:2rem;grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr)}.tk{grid-template-columns:76px minmax(0,1fr)}.tk-body{padding-left:.85rem}.deadlines-panel{padding:1.5rem 1.2rem}}
@media (max-width:760px){.schedule-layout{grid-template-columns:1fr;gap:3.5rem}.schedule-block-head h3{font-size:1.6rem}.schedule-tools{gap:.6rem}.schedule-status{font-size:.76rem}.tk{grid-template-columns:78px minmax(0,1fr)}.tk-title{font-size:.95rem}.tk-md{font-size:1.7rem}.tk-venue,.tk-time{font-size:.78rem}.tk-meta,.tk.has-detail .tk-meta{font-size:.73rem}.tk-body{padding:1rem 2rem 1rem 1rem}.deadlines-panel{padding:1.8rem 1.4rem 1.4rem}.deadline-title{font-size:1rem}.deadline-caption,.deadline-note{font-size:.8rem}.deadline-item{padding:1.4rem 0}.deadline-top{font-size:.76rem}.deadline-filters button{min-height:42px;font-size:.85rem}.hero-actions{gap:1.4rem;margin-top:2rem}.hero-actions a{font-size:.8rem}.motion-toggle{right:calc(1.1rem + var(--safe-right));bottom:calc(1.2rem + var(--safe-bottom));font-size:.65rem}.cal-heading{gap:.6rem}.schedule-more{font-size:.85rem;padding:.8rem}.lm-date{font-size:1.7rem}.lm-body{font-size:.92rem}}

nav.nav-scrolled{mix-blend-mode:normal;background:var(--dusk);border-bottom:1px solid rgba(255,217,160,.14)}
@media(max-width:760px){nav{justify-content:space-between;gap:1rem;padding:calc(.8rem + var(--safe-top)) calc(1rem + var(--safe-right)) .8rem calc(1rem + var(--safe-left))}nav .brand .logo-nav{width:105px}nav .brand small{font-size:.4rem;letter-spacing:.2em}nav ul{display:flex;gap:.85rem}nav ul a{font-size:.62rem;letter-spacing:.08em;padding:.8rem 0}}
@media(max-width:360px){nav .brand .logo-nav{width:88px}nav ul{gap:.6rem}nav ul a{font-size:.59rem}}

.hero{background:var(--night) url('../img/artist.png') center 35%/cover no-repeat}
.motion-paused .hero video{opacity:0}

@media(max-width:760px),(hover:none) and (pointer:coarse){
  nav,nav.nav-scrolled{transform:none!important;mix-blend-mode:normal;background:var(--dusk);backdrop-filter:none;border-bottom:1px solid rgba(255,217,160,.14)}
}
@media(max-width:760px){.wrap{padding-left:max(1.2rem,var(--safe-left));padding-right:max(1.2rem,var(--safe-right))}}
.modal,.lmodal{padding-top:calc(1rem + var(--safe-top));padding-right:calc(1rem + var(--safe-right));padding-bottom:calc(1rem + var(--safe-bottom));padding-left:calc(1rem + var(--safe-left))}
.modal-inner,.lmodal-inner{max-height:min(88dvh,calc(100dvh - var(--safe-top) - var(--safe-bottom) - 2rem))}
