/* Consistent compact controls, with separate visual weight for secondary actions. */
:root{--frame-radius:4px 14px 4px 4px}
.key,.hero .key,.deck-controls .key{box-shadow:3px 3px var(--ink);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.key:after{top:3px;bottom:0;right:-3px;width:3px;transform:skewY(45deg)}
.key:hover,.hero .key:hover{transform:translate(-1px,-1px);box-shadow:4px 4px var(--ink)}
.key:active,.hero .key:active,.key.tap-feedback{transform:translate(2px,2px);box-shadow:1px 1px var(--ink)}
.key:active:after{bottom:0;width:1px;right:-1px}
.outline-control{display:inline-flex;justify-content:center;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;border:1px solid currentColor;background:transparent;color:inherit;border-radius:3px;padding:6px 12px;font:13px/1.4 Abar,sans-serif;cursor:pointer;text-decoration:none;box-shadow:none;transition:background .2s,color .2s}
.outline-control:hover,.outline-control:focus-visible{background:var(--ink);color:var(--paper)}
.outline-control:active{background:var(--teal);color:white}
.section-head{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:18px}
.section-head>div:first-child{flex:0 1 auto;min-width:0;order:-1}
.section-head h2{margin:0;white-space:nowrap}
.section-head:after{display:block;order:0;margin:0;flex:1;min-width:12px;height:1px;content:'';background:#17191a30}
.section-head>.outline-control,.section-head>.tabs{order:2;align-self:center;margin:0;max-width:none}
.section-head>.ornament{display:none}
#concerts>.ornament-a{display:none}
.singles-section .section-head{width:100%}
.singles-section .section-head:after{min-width:0}
.single-meta{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex-wrap:nowrap}
.single-meta>div{min-width:0;width:100%}
.single-meta h3{font-size:26px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0 0 3px}
.single-meta .key{align-self:flex-start;min-height:29px;margin:0;padding:3px 9px;font:11px/1.6 Abar,sans-serif;background:#fbfaf5;border-radius:3px 9px 3px 3px}
.album-meta>div{min-width:0}.album-meta h3{white-space:nowrap}
.about-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.about-heading h2{margin:0;white-space:nowrap;font-size:34px}
#members-button{font-size:11px;padding:5px 8px;margin:0}
.about-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}
.member-line{grid-template-columns:1fr 1.25fr 30px}
.member-line strong{white-space:nowrap}.member-line>span{font-size:12px}
.contact-section>.eyebrow{display:none}
.contact-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:stretch;gap:28px}
.contact-grid h2,.contact-grid h3{font:700 32px/1.3 Mashin,Abar,sans-serif;margin:0 0 18px;white-space:nowrap}
.contact-grid .booking{border-right:1px solid #17191a30;padding-right:28px}
.contact-link{font-size:clamp(23px,2.3vw,34px);line-height:1.3;direction:ltr;text-align:right}
.contact-grid .social-links a{border-radius:3px;padding:5px;transition:background .2s,color .2s,transform .2s}
.contact-grid .social-links a:hover,.contact-grid .social-links a:focus-visible{color:var(--teal);background:#087c8010;transform:translateY(-2px)}
.modal-links a{transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s}
.modal-links a:hover,.modal-links a:focus-visible{background:var(--ink);color:white;border-color:var(--ink);transform:translateY(-2px);box-shadow:0 3px 0 var(--yellow)}
.modal-links a:active{transform:translateY(0);box-shadow:none;background:var(--teal)}
.release-cover,#modal,.inline-player,.booklet-grid button,.video-card,.gallery-image{border-radius:var(--frame-radius)}
.release-cover .portrait-frame{border:0;box-shadow:none}
.booklet-grid button{padding:0;display:grid;place-items:center;background:#e7e5dc;aspect-ratio:1.35;max-width:none}
.booklet-grid img{width:100%;height:100%;max-height:340px;object-fit:contain;aspect-ratio:auto}
.concert-popup.release-layout{grid-template-columns:minmax(0,1fr) minmax(210px,32%);gap:24px}
.concert-popup>.release-cover,.concert-popup>.poster-unavailable{grid-column:2;grid-row:1;width:100%;margin:0}
.concert-popup>div:not(.poster-unavailable){grid-column:1;grid-row:1}
.concert-popup>.release-cover img{width:100%;max-height:440px;object-fit:contain;background:#e7e5dc}
.concert-popup>.poster-unavailable{min-height:180px;aspect-ratio:auto;border:1px dashed #17191a40;border-radius:var(--frame-radius);padding:18px;align-self:start}
#modal-body .poster-unavailable h3{font-size:25px;margin:5px 0}
.hero-art{aspect-ratio:2.75!important;margin-bottom:58px;isolation:isolate}
.hero .photo-window>img{object-fit:cover;object-position:center 25%}
.hero .photo-window:hover>img{transform:scale(1.012)}
.hero .bike-stage.real-cycle{position:absolute;width:51%;max-width:620px;left:0;right:auto;bottom:-92px;z-index:4;transform-origin:center;pointer-events:none}
.real-cycle svg{overflow:visible}
.real-cycle .cycle-wheel,body.explicit-motion .real-cycle .cycle-wheel{animation:none!important;transform-box:view-box;transform-origin:0 0}
.compact-player{width:100%;margin:0;padding:15px 6%;border:0;border-radius:0;background:#17191a;color:#fff;box-shadow:none;grid-template-columns:56px minmax(170px,260px) minmax(100px,1fr) auto;gap:18px;min-width:0}
.compact-player>img{width:56px;height:56px;aspect-ratio:1}
.compact-player>div{min-width:0}
.compact-player h3{font-size:30px;white-space:nowrap}
.compact-player h3 small{font-size:12px;color:#d2d8d4}.compact-player p{color:#bbc7c1;white-space:nowrap}
.compact-player .wave-seek{display:flex;width:100%;max-width:300px;height:30px;min-width:0;grid-column:auto;justify-self:center}
.compact-player .wave-seek i{background:#f5d527;min-width:1px}
.compact-player .wave-seek:focus-within{outline:2px solid var(--yellow);outline-offset:6px}
.compact-player .key{min-height:31px;padding:4px 10px;box-shadow:2px 2px #000}
.compact-player .key:after{display:none}
.compact-player .key.blue{background:#f3f2ec;color:#17191a}
.compact-controls{grid-column:auto;flex-wrap:nowrap;justify-content:flex-end;gap:12px}
.compact-controls label{margin:0;flex-shrink:0}
.compact-controls input{width:60px}
@media(max-width:1100px){
 .compact-player{grid-template-columns:52px minmax(150px,1fr) auto;gap:12px;padding-block:12px}
 .compact-player .wave-seek{grid-column:2;grid-row:2;max-width:none;height:22px}
 .compact-player>img{grid-row:1/3;width:52px;height:52px}
 .compact-controls{grid-column:3;grid-row:1/3}
 .compact-player h3{margin-bottom:2px}.compact-player p{font-size:10px}
 .about-heading{align-items:center;flex-wrap:wrap}.about-heading h2{font-size:32px}
 .about-heading #members-button{margin-inline-start:auto}
}
@media(max-width:680px){
 .section-head{gap:10px;flex-direction:row;flex-wrap:nowrap}.section-head h2{font-size:28px}
 .section-head>.outline-control{font-size:10px;padding:5px 7px;max-width:none}
 .section-head .tabs button{font-size:12px;padding:5px 9px}
 .single-meta h3{font-size:24px}.single-meta p{font-size:11px}
 .single-meta .key{font-size:10px;min-height:28px;margin:0}
 .album-meta{gap:10px}.album-meta h3{font-size:27px}
 .about-section{grid-template-columns:1fr;gap:22px}.about-heading h2{font-size:29px}
 .member-line strong{font-size:22px}.member-line>span{font-size:11px}
 .contact-grid{grid-template-columns:1fr;gap:24px}
 .contact-grid h2,.contact-grid h3{font-size:29px;margin-bottom:12px}
 .contact-grid .booking{border-right:0;border-top:1px solid #17191a30;padding:20px 0 0}
 .contact-link{font-size:25px}.contact-grid .social-links{grid-template-columns:1fr 1fr}
 .hero-art{aspect-ratio:2.3!important;margin-bottom:35px}
 .hero .bike-stage.real-cycle{width:75%;bottom:-65px;max-width:none}
 .compact-player{padding:12px 6%;grid-template-columns:44px minmax(0,1fr);gap:8px 12px}
 .compact-player>img{width:44px;height:44px;grid-row:1}
 .compact-player h3{font-size:27px;gap:6px}.compact-player h3 small{font-size:10px}
 .compact-player p{font-size:10px}
 .compact-controls{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:14px}
 .compact-controls label{margin-inline-start:auto}
 .compact-player .wave-seek{grid-column:1/-1;grid-row:3;margin-top:4px;height:22px}
 .concert-popup.release-layout{display:flex;gap:16px}
 .concert-popup>.release-cover{width:min(230px,85%);align-self:center}
 .concert-popup>.poster-unavailable{width:100%;min-height:0;padding:14px;order:2}
 .concert-popup>.poster-unavailable>span{display:none}
 .booklet-grid{grid-template-columns:1fr}
 .inline-player{bottom:-1px}.inline-player>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){body:not(.explicit-motion) .key,body:not(.explicit-motion) .modal-links a{transition:none}}
/* The stage ends at the artwork edge, with scroll distance above that edge. */
.intro-stage{height:100svh;overflow:hidden;background:#f3f2ec}
.intro-sequence{height:190svh}
.band-scene{top:auto;bottom:0;left:50%;width:min(1440px,100%);height:auto;aspect-ratio:2;transform:translateX(-50%);transition:none}
.intro-parallax{position:absolute;inset:0;will-change:transform}
.intro-background,.intro-member,.intro-shoulder-bird{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;will-change:transform,opacity;transform-origin:50% 50%}
.intro-background{z-index:0}.intro-member{z-index:1}.intro-shoulder-bird{z-index:2}
.intro-member>img,.intro-shoulder-bird>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;transform-origin:0 0;max-width:none}
.intro-finish{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;opacity:0;pointer-events:none}
.intro-identity img{box-shadow:0 9px 20px #0002;border:0}
.intro-stage:after{opacity:.025}.intro-progress{bottom:0}
.intro-scroll{bottom:7%;font-size:12px}.intro-scroll i{font-size:24px}
.intro-sequence.reduced{height:calc(min(50vw,720px) + 70px)}
@media(max-width:680px){.intro-stage{height:100svh}.intro-sequence{height:180svh}.band-scene{top:auto;bottom:0;width:100%;height:auto}.intro-scroll{bottom:8%;font-size:10px;gap:3px}.intro-identity span{top:calc(100% + 10px);font-size:14px}.intro-sequence.reduced,.intro-sequence.reduced .intro-stage{height:calc(50vw + 70px)}}
.intro-sequence.reduced .intro-stage{height:calc(min(50vw,720px) + 70px)}
