/* Integration: published content, shared interactions, accessible final states. */
[hidden]{display:none!important}
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scrollbar-color:#ff5b2b #171813}
body{caret-color:var(--orange,#ff5b2b)}
button,input,textarea,a{-webkit-tap-highlight-color:transparent}
:is(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--orange,#ff5b2b);outline-offset:5px}
button:disabled{opacity:.35;cursor:default;transform:none!important}
.languages{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:24px;font-size:12px;font-weight:600}
.languages a{padding:12px 4px;color:#626659;transition:color 160ms}
.languages a:hover,.languages a[aria-current]{color:var(--ink,#171813)}
.languages a[aria-current]{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:6px}
.languages>span{color:#717467}
.record-cover-hit,.photo-stage{touch-action:pan-y}
.record-cover-hit{cursor:grab;user-select:none}
.record-cover-hit.dragging{cursor:grabbing}
.record-cover-hit .sleeve{translate:var(--cover-drag,0px) 0;transition:translate 220ms var(--motion-ease)}
.record-cover-hit.dragging .sleeve{transition:none}
.record-platforms a[hidden],#play-record[hidden]{display:none}
#record-description:empty{display:none}
#record-description{color:#c3c5b8;font-size:14px;line-height:1.7;overflow-wrap:anywhere;margin:18px 0 10px}
.dates-board{margin-top:48px}
.dates-tabs{display:flex;gap:36px;border-bottom:1px solid #17181335}
.dates-tabs button{position:relative;display:flex;gap:15px;align-items:center;padding:18px 0;background:transparent;border:0;color:#66695f;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.dates-tabs button:after{position:absolute;content:'';height:2px;bottom:-1px;left:0;right:0;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform 250ms var(--motion-ease)}
.dates-tabs button[aria-selected=true]{color:var(--ink)}
.dates-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.dates-tabs button>span{font-size:11px;font-variant-numeric:tabular-nums;color:#66695f}
.dates-panel{padding:4px 0 0;outline-offset:8px}
.event-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid #17181325}
.event-row time{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 12px;font-variant-numeric:tabular-nums}
.event-row time strong{font:600 46px/.95 var(--display,'Barlow Condensed',sans-serif)}
.event-row time>span{font-size:12px;text-transform:uppercase;max-width:60px;line-height:1.4}
.event-row small{grid-column:1/-1;font-size:11px;color:#61665b;margin-top:10px}
.event-row h3{font-size:clamp(24px,2.4vw,34px);line-height:1.1;margin:0 0 7px;overflow-wrap:anywhere}
.event-row p{font-size:13px;color:#555b4e}
.event-row .event-description{margin-top:8px;font-size:12px}
.event-state{display:inline-block;border:1px solid #17181340;padding:7px 12px;font-size:12px}
.event-state.cancelled{color:#882e27;border-color:#882e2760}
.event-state.soldout{background:var(--ink);color:var(--paper)}
.dates-empty{display:grid;grid-template-columns:1fr auto;gap:10px 36px;padding:32px 0 10px;align-items:center}
.dates-empty>p{font-size:clamp(23px,2.4vw,31px);line-height:1.2;font-family:var(--display);font-weight:600}
.dates-empty>span{grid-column:1;font-size:13px;color:#606456;max-width:49ch}
.dates-empty>.text-link{grid-column:2;grid-row:1/3;white-space:nowrap}
.video-dialog,.photo-dialog{transform-origin:top left;overscroll-behavior:contain}
.video-dialog::backdrop,.photo-dialog::backdrop{background:#060704e8;backdrop-filter:none}
.video-dialog[data-state=opening]::backdrop,.photo-dialog[data-state=opening]::backdrop{animation:backdrop-in 320ms both}
.video-dialog[data-state=closing]::backdrop,.photo-dialog[data-state=closing]::backdrop{animation:backdrop-out 240ms both}
.video-frame{position:relative;isolation:isolate}
.video-frame iframe{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0}
.media-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;font-size:13px;color:#c9ccbd}
.media-loading:before{content:'';width:20px;height:20px;border:1px solid #f1eee430;border-top-color:var(--orange);border-radius:50%;animation:media-spin 1s linear infinite}
.media-wait{position:relative;background:#292b25;padding:12px 20px;font-size:12px;line-height:1.5;color:#f1eee4}
.field-error{display:block;color:#9c321d;font-size:12px;line-height:1.5;margin-top:7px}
.booking-form [aria-invalid=true]{border-color:#9c321d!important}
.booking-review{color:var(--ink);background:var(--paper);padding:clamp(22px,3vw,36px);scroll-margin-top:calc(var(--header-height) + 24px)}
.booking-review h3{font-size:clamp(30px,3vw,40px);margin-bottom:20px}
.review-details{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.review-details div{min-width:0}
.review-details dt{font-size:11px;color:#64695d;margin-bottom:3px}
.review-details dd{font-size:14px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.review-message{white-space:pre-wrap;font-size:13px!important;color:#4f5549!important;border-top:1px solid #17181325;padding-top:18px;margin-top:22px!important}
.booking-review .review-email{width:100%;margin-top:24px}
.booking-review .edit-request,.booking-review .copy-request{border:0;border-bottom:1px solid #17181360;background:transparent;color:var(--ink);padding:10px 0;font-size:12px;cursor:pointer;margin:15px 20px 0 0}
.booking-form .form-status:empty,.copy-status:empty{display:none}
body.modal-open,body.menu-open{overflow:hidden}
.ticker>div{animation-play-state:paused}
.ticker.in-view>div{animation-play-state:running}
.paused .ticker>div,.page-hidden .ticker>div{animation-play-state:paused!important}
.paused *{animation:none!important;scroll-behavior:auto!important;transition-duration:0s!important}
.paused .hero h1,.paused .hero h1>span,.paused .hero-photo,.paused .hero-actions,.paused .hero-copy,.paused .hero-stage-frame,.paused .reveal,.paused .split-title>span{opacity:1!important;transform:none!important;clip-path:none!important}
@keyframes media-spin{to{transform:rotate(360deg)}}
@keyframes backdrop-in{from{background-color:#06070400}to{background-color:#060704e8}}
@keyframes backdrop-out{from{background-color:#060704e8}to{background-color:#06070400}}
@media(max-width:900px){.languages{margin-left:auto;margin-right:12px}.header .menu-toggle{order:3}.event-row{grid-template-columns:100px 1fr auto;gap:20px}.menu-close{display:flex}}
@media(max-width:600px){.languages{gap:5px;margin-right:3px;font-size:11px}.event-row{grid-template-columns:75px minmax(0,1fr);gap:16px}.event-row time{grid-template-columns:1fr}.event-row time strong{font-size:40px}.event-row time>span{font-size:11px;max-width:none;margin-top:5px}.event-row small{font-size:11px}.event-action{grid-column:2}.dates-tabs{gap:24px}.dates-tabs button{font-size:13px;gap:9px}.dates-empty{display:block;padding:26px 0 4px}.dates-empty>span{display:block;margin:12px 0}.dates-empty>.text-link{margin-top:10px}.review-details{grid-template-columns:1fr 1fr}.media-wait{font-size:11px;padding:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.video-dialog::backdrop,.photo-dialog::backdrop{animation:none!important}.media-loading:before{animation:none}}
@media print{.languages,.dates-tabs,.video-dialog,.photo-dialog{display:none!important}.dates-panel[hidden]{display:block!important}}

/* Corrections from the combined desktop/mobile inspection. */
html:has(body.paused){scroll-behavior:auto}
.booking-review .review-heading h3{margin:0}
.booking-review .review-intro{color:#505548;font-size:13px;line-height:1.65}
.booking-review .review-details>div{display:block}
.booking-review .review-message{background:transparent;color:#4f5549;border:0;border-top:1px solid #17181325;padding:18px 0 0}
.photo-dialog .photo-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}
.photo-dialog .photo-stage>img{grid-area:1/1;min-height:0;min-width:0;width:100%;height:100%;max-height:100%;object-fit:contain}
.track-symbol .icon{width:18px;height:18px}
.press-page .kit-links a{display:inline-flex;align-items:center;gap:7px}
/* A contextual action follows the selected record when the deck leaves view. */
.music-dock{position:fixed;z-index:45;left:50%;bottom:24px;transform:translateX(-50%);width:min(620px,calc(100% - 40px));padding:12px;display:flex;align-items:center;gap:15px;background:var(--ink);color:var(--paper);box-shadow:0 10px 35px #17181335;animation:dock-enter 280ms var(--motion-ease)}
.music-dock>img{width:56px;height:56px;object-fit:cover;flex-shrink:0}
.music-dock>div{min-width:0;flex:1}
.music-dock small{display:block;font-size:11px;color:#c3c5b8;margin-bottom:4px}
.music-dock strong{display:block;font-size:16px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-dock button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;cursor:pointer}
.dock-listen{padding:12px 18px;background:var(--orange);color:var(--ink);font-size:13px;font-weight:600;transition:background 160ms}
.dock-listen:hover{background:#ff815c}
.dock-dismiss{width:40px;background:transparent;color:var(--paper)}
.music-dock .icon{width:20px;height:20px}
.modal-open .music-dock,.menu-open .music-dock{display:none}
.catalogue-empty{padding:40px 0;grid-column:1/-1}
.catalogue-empty p{font:600 clamp(32px,4vw,64px)/1.1 var(--display);margin-bottom:24px}
.track-art{aspect-ratio:1;object-fit:cover}
.sleeve[aria-busy=true]{opacity:.7}
.kit-body .languages a{color:#c3c5b8}
.kit-body .languages a:hover,.kit-body .languages a[aria-current]{color:var(--paper)}
@keyframes dock-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.music-dock{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);gap:10px;padding:10px}.music-dock>img{width:44px;height:44px}.music-dock strong{font-size:13px}.music-dock small{font-size:11px}.dock-listen{padding:10px 12px}.dock-dismiss{width:30px}.dock-listen .icon{display:none}}
@media print{.music-dock{display:none!important}}
