/* Independent screens below the permanent masthead. */
html:has(.paged-site){scroll-behavior:auto}
.paged-site{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.paged-site header{position:relative;flex:0 0 98px}
.paged-site main{position:relative;flex:1;min-height:0;overflow:hidden;isolation:isolate}
.site-page{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.site-page.music{background:#ebeef0}
.site-page.listen{background:var(--night)}
.site-page.section{padding-top:55px;padding-bottom:45px}
.site-page .section-head{margin-bottom:35px}
.site-page .milestones{margin-top:35px}
.site-page.contact{align-content:center;display:grid;grid-template-columns:1fr auto;gap:35px}
.site-page.contact footer{grid-column:1/-1;margin-top:20px;padding:25px 0;background:transparent;color:var(--muted);border-top:1px solid var(--line)}
.site-page.contact footer>span:first-child{color:var(--ink)}
.site-page.photo-home{height:100%;min-height:0;padding-bottom:50px;overflow:hidden;grid-template-rows:minmax(0,1fr);background:var(--night)}
.site-page.photo-home .artist-band{position:absolute;bottom:0;width:100%;padding:12px 20px}
nav a[aria-current=page]{color:var(--gold)}nav a[aria-current=page]:after{right:0}
.page-enter{z-index:2;animation:arrive .6s cubic-bezier(.22,.68,.24,1) both}
.page-exit{z-index:1;pointer-events:none;animation:depart .6s cubic-bezier(.22,.68,.24,1) both}
@keyframes arrive{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes depart{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.concert-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:25px}
.concert-tabs button{border:0;border-bottom:2px solid transparent;padding:13px 0;background:transparent;color:var(--muted);font:italic 24px var(--serif)}
.concert-tabs button[aria-pressed=true]{color:var(--ink);border-color:var(--gold)}
.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.poster-card button{width:100%;padding:0;border:0;background:#e9e5de;height:280px;display:flex;align-items:center;justify-content:center}
.poster-card img{width:100%;height:100%;object-fit:contain}
.poster-card .eyebrow{display:block;margin-top:17px}
.poster-card h3{font-size:27px;margin:7px 0}
.poster-card p{font-size:12px;line-height:1.7;color:var(--muted)}
.poster-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px}
.poster-pagination button{border:1px solid var(--line);background:transparent;padding:10px 18px;color:var(--ink)}
.poster-pagination button:disabled{opacity:.35;cursor:default}
.archive-heading{display:none}
@media(max-width:760px){
  .paged-site header{flex-basis:76px}
  .site-page.section{padding-top:35px;padding-bottom:35px}
  .site-page.photo-home{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 100px;padding:0 0 35px}
  .site-page.photo-home .main-photo{height:100%;min-height:0;max-height:none}
  .site-page.photo-home .main-photo>img{height:100%;object-position:50% 25%}
  .site-page.photo-home .portrait-title{bottom:22px;left:25px}
  .site-page.photo-home .portrait-title h1{font-size:clamp(58px,17vw,90px);margin:8px 0}
  .site-page.photo-home .portrait-title p{font-size:21px}
  .site-page.photo-home .portrait-title .button{margin-top:15px}
  .site-page.photo-home .small-photos{padding:8px 12px;grid-template-rows:minmax(0,1fr);gap:8px}
  .site-page.photo-home .small-photos span{font-size:16px;bottom:8px}
  .site-page.photo-home .artist-band{padding:8px 15px;font-size:6px;line-height:1.5;min-height:35px}
  .site-page.contact{display:block;padding:40px 27px}
  .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .poster-card button{height:210px}.poster-card h3{font-size:23px}.poster-card p{font-size:11px}
  .concert-tabs{gap:25px}.concert-tabs button{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.page-enter,.page-exit{animation:none}}
