/* Continuous room coordinates match the 1774 × 887 master photograph.
   Every poster, label and button travels with this one surface. */
.bar-tour{height:320svh;padding-top:76px;background:#110d09}
.bar-viewport{top:76px;height:calc(100svh - 76px);min-height:0;perspective:none}
.bar-nav{background:#101923f2;border-bottom:1px solid #ccb08230;backdrop-filter:blur(10px)}
.room-world{position:absolute;left:0;top:0;width:1774px;height:887px;transform-origin:0 0;will-change:transform}
.room-world .room-art{width:1774px;height:887px;max-width:none;display:block;pointer-events:none;user-select:none}
.room-world .neon-shimmer{left:748px;top:201px;width:190px;height:67px}
.room-world .object-target{position:absolute;z-index:5;border:0;border-radius:0;background:transparent;box-shadow:none}
.room-world .object-target:hover,.room-world .object-target:focus-visible{box-shadow:inset 0 0 30px #ffd19930;outline:1px solid #ffdc91}
.room-world .show-target{left:190px;top:255px;width:266px;height:166px}
.room-world .jukebox-target{left:1364px;top:450px;width:195px;height:120px}
.room-world .object-target span{bottom:-32px;left:50%;font:600 12px/1.2 'Inter',sans-serif;padding:6px 10px;background:#211b12df;border:1px solid #b08b51;opacity:1;box-shadow:0 2px 7px #0008}
.room-board{position:absolute;left:193px;top:256px;width:261px;height:164px}
.room-poster{position:absolute;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:space-between;overflow:hidden;padding:11px 8px 7px;width:124px;height:162px;color:#342918;text-decoration:none;isolation:isolate;transition:filter .15s;outline-offset:2px!important}
.room-poster.poster-left{left:0;top:0;transform:rotate(.4deg)}
.room-poster.poster-right{left:144px;top:6px;width:114px;height:156px;transform:rotate(.1deg)}
.room-poster:hover,.room-poster:focus-visible{filter:brightness(1.16)}
.room-poster::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,#54311408 3px);pointer-events:none;z-index:3;mix-blend-mode:multiply}
.room-poster>span{font:600 7px/1.25 'Inter',sans-serif;letter-spacing:.06em;color:inherit}
.room-poster strong{font:600 21px/.9 'Source Serif 4',Georgia,serif;letter-spacing:-.015em;text-transform:uppercase;color:inherit;position:relative;z-index:2;max-width:100%}
.room-poster .poster-venue{font:600 8px/1.1 'Inter',sans-serif;margin:0;color:inherit;position:relative;z-index:2}
.room-poster .poster-venue span{display:block;font:500 6px/1.2 'Inter',sans-serif;margin-top:3px}
.room-poster .poster-time{font:600 7px/1 'Inter',sans-serif;letter-spacing:0}
.room-poster small{font:600 6px/1.2 'Inter',sans-serif;border-bottom:1px solid currentColor;padding:2px 0;color:inherit;position:relative;z-index:2}
.room-poster.poster-band{color:#6c261c;background:#ebcd9635;border:3px double #742c245c;padding:9px 7px 6px}
.poster-band .poster-kicker{font-size:6px;letter-spacing:.15em;border-bottom:1px solid #742c245c;width:100%;padding-bottom:4px}
.poster-band strong{font-size:26px;line-height:.85}
.poster-band .poster-date{font:600 15px/.95 'Source Serif 4',sans-serif;border-block:1px solid #8f3d26;padding:4px 0;width:100%;letter-spacing:.02em}
.room-poster.poster-acoustic{color:#1e2e28;background:#efe0bb38;align-items:flex-start;text-align:left;padding:10px 8px 7px}
.poster-acoustic .poster-photo{position:absolute;right:-8px;top:22px;width:71px;height:100px;object-fit:cover;object-position:center 8%;filter:sepia(1) contrast(1.1);mix-blend-mode:multiply;opacity:.9;z-index:-1}
.poster-acoustic strong{font:600 20px/.86 'Source Serif 4',sans-serif;max-width:73px;text-shadow:0 1px #eddab1}
.poster-acoustic .poster-kicker{font-size:6px;letter-spacing:.15em}
.poster-acoustic .poster-date{font-size:5.7px;letter-spacing:0;background:#25362c;color:#e8d6aa;padding:3px 4px;margin-top:2px;max-width:90px}
.poster-acoustic .poster-venue{margin-top:auto;padding-top:6px;width:100%;border-top:1px solid #34483e}
.poster-acoustic .poster-time{margin-top:4px}
.room-machine{position:absolute;inset:0;pointer-events:none}
.room-machine .jukebox-deck{left:1373px;top:468px;width:173px;height:72px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));column-gap:8px;row-gap:2px;padding:0;background:#442c19;pointer-events:auto;transform:skewY(1.5deg);transform-origin:0 0}
.room-machine .machine-card{display:flex;gap:3px;min-height:0;padding:1px 2px;border:.5px solid #a17f49;border-radius:.5px;background:linear-gradient(110deg,#fae5bd,#edd5a4);color:#302616;box-shadow:inset 0 0 3px #70492266,0 1px 2px #0009;text-shadow:none;overflow:hidden}
.room-machine .machine-card:hover,.room-machine .machine-card:focus-visible{background:#fff6cc;box-shadow:0 0 8px #ffc866;outline:.8px solid #fff5bf;outline-offset:1px}
.room-machine .machine-card:active{transform:translateY(.7px);box-shadow:inset 0 1px 3px #402400}
.room-machine .machine-card.is-current{background:#fbecaa;box-shadow:inset 2px 0 #486445,0 0 6px #fad786}
.room-machine .card-code{font:600 7px/1 'Source Serif 4',sans-serif;border-right:.5px solid #9f815950;padding-right:2px;color:#79542a}
.room-machine .card-copy{flex:1;min-width:0}
.room-machine .card-copy strong{font:600 6.1px/1.02 'Inter',sans-serif;letter-spacing:-.02em;display:block;color:#302616}
.room-machine .card-copy small{font:500 4.5px/1.1 'Inter',sans-serif;margin-top:1px;color:#675032;display:block}
.room-machine .jukebox-pager{left:1374px;top:549px;width:176px;height:23px;gap:12px;border:.7px solid #936630;border-radius:1px;background:linear-gradient(#261e17,#0e100b);box-shadow:inset 0 1px 3px #000;pointer-events:auto;transform:skewY(1.5deg);transform-origin:0 0}
.room-machine .jukebox-pager button{width:23px;height:19px;min-height:0;min-width:0;border:.6px solid #aa8b55;border-radius:2px;font:17px/.8 Georgia,serif;padding:0;background:linear-gradient(#5b5143,#24251c)}
.room-machine .jukebox-pager>span{font:7px/1 'Courier New',monospace;letter-spacing:.1em;min-width:30px}
.room-machine .record-motion{left:1400px;top:414px;width:110px;height:14px;opacity:0;transform:rotate(-4deg)}
.is-playing .room-machine .record-motion{opacity:.8;animation:record-glint 3s linear infinite}
.room-vignette{background:linear-gradient(180deg,#130c0320,transparent 15%,transparent 65%,#080d1366)}
.bar-intro{bottom:115px;left:4%;padding:16px 20px 18px;border-left:2px solid #deb879;background:#11181ccc;backdrop-filter:blur(6px);max-width:330px;will-change:opacity}
.bar-intro h2{font-size:32px;margin-bottom:14px}
.bar-intro .eyebrow{font-size:9px}
.bar-controls{bottom:22px;left:3%;gap:22px}
.room-stops{background:#101820e3;padding:4px;border-radius:4px}
.room-stops button{padding:10px 16px;font-size:12px}
.room-caption{position:absolute;top:16px;left:50%;transform:translateX(-50%);padding:8px 13px;margin:0!important;z-index:6;font:500 12px/1.3 'Inter',sans-serif!important;background:#151a16de;color:#f6e4bf!important;border:1px solid #c4a36950;border-radius:3px;white-space:nowrap;pointer-events:none}
.room-caption:empty{display:none}
.scroll-clue{bottom:100px;right:3%;font-size:9px}
@media(max-width:1100px) and (min-width:801px){.bar-controls .skip-room{display:none}.bar-intro{bottom:110px}}
@media(max-width:800px),(max-height:600px){
 .bar-tour{height:auto;padding-top:65px}.bar-viewport{height:calc(100svh - 65px);min-height:590px;top:0;position:relative}
 .bar-intro{left:18px;bottom:132px;padding:13px 15px;max-width:290px}.bar-intro h2{font-size:29px}.bar-intro .eyebrow{font-size:8px}
 .bar-controls{left:14px;bottom:89px;right:14px;justify-content:center;gap:0}.bar-controls .skip-room{display:none}.room-stops{display:flex;width:100%;justify-content:center}.room-stops button{flex:1;padding:7px 8px;font-size:11px;min-height:42px}
 .room-caption{top:13px;font-size:11px!important;padding:7px 10px}.scroll-clue{display:none}
 .room-machine .jukebox-deck{grid-template-rows:repeat(2,minmax(0,1fr));row-gap:2px;column-gap:7px}
 .room-machine .machine-card{padding:3px 3px;gap:3px}.room-machine .card-code{font-size:7px}.room-machine .card-copy strong{font-size:7.1px;line-height:1.08}.room-machine .card-copy small{font-size:5.5px;margin-top:2px}
 .room-machine .jukebox-pager{height:27px;top:548px}.room-machine .jukebox-pager button{height:24px;width:27px;font-size:19px}.room-machine .jukebox-pager>span{font-size:7.5px}
 .room-world .object-target span{font-size:10px;bottom:-25px;padding:5px 7px}
}
@media(prefers-reduced-motion:reduce){.bar-tour{height:auto}.bar-viewport{position:relative;top:0}.room-world{will-change:auto}.neon-shimmer,.record-motion{animation:none!important}.room-poster{transition:none}}
/* Let the browser rasterize type at the settled camera scale. */
.room-world{will-change:auto}
.room-poster.poster-acoustic{background:#ddbd86}
.room-poster.poster-band{background:#dfbd8459;padding-top:8px;padding-bottom:6px}
.poster-band strong{font-size:23px;line-height:.84}
.poster-band .poster-date{font-size:13px;padding:3px 0}
.room-poster .poster-venue{font-size:7.5px}
.room-poster .poster-venue span{font-size:5.7px;margin-top:2px}
.room-poster .poster-time{font-size:6.4px}
.room-poster small{font-size:5.7px;padding:1px 0}
.poster-acoustic .poster-photo{z-index:0;opacity:.72;mix-blend-mode:multiply}
.poster-acoustic>span{position:relative;z-index:2}
.room-machine .jukebox-deck{top:464px;height:80px;row-gap:1.4px}
.room-machine .machine-card{padding:.6px 2px;align-items:center}
.room-machine .card-copy strong{font:600 5.8px/1 'Inter',sans-serif}
.room-machine .card-copy small{font:500 4.2px/1.05 'Inter',sans-serif;margin-top:.4px}
.poster-acoustic::before{content:'';position:absolute;z-index:4;left:4px;top:4px;width:4px;height:4px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#dab76c,#845123 70%,#4d321d);box-shadow:110px 0 #8a5929,0 149px #8a5929,110px 149px #8a5929}
.poster-pager{position:absolute;bottom:153px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;padding:4px;background:#142018ed;border:1px solid #b59968;border-radius:4px;z-index:7;color:#e8d9b8}
.poster-pager button{min-width:44px;min-height:40px;border:0;background:#e4ce9e;color:#201c11;font-size:18px;border-radius:2px}.poster-pager button:disabled{opacity:.3}.poster-pager span{font:12px 'Courier New',monospace;min-width:40px;text-align:center}
@media(max-width:800px),(max-height:600px){
 .room-machine .jukebox-deck{top:464px;height:80px;row-gap:2px}
 .room-machine .machine-card{padding:3px}.room-machine .card-copy strong{font-size:7.1px;line-height:1.08}.room-machine .card-copy small{font-size:5.5px;margin-top:2px}
 .room-machine .jukebox-pager{top:551px}
}
@media(min-width:801px) and (max-height:600px){.bar-tour{padding-top:76px}.bar-viewport{min-height:640px}.bar-controls{bottom:20px;justify-content:flex-start;width:380px}.poster-pager{bottom:90px}.bar-intro{bottom:110px}.bar-nav{height:76px}}
.room-machine .machine-blank{display:block;border:.5px solid #a17f49;border-radius:.5px;background:linear-gradient(110deg,#ebd2a1,#e3c997);box-shadow:inset 0 0 3px #70492266,0 1px 2px #0009;opacity:.8;pointer-events:none}

/* One entrance, one page. Exploring the room never intercepts page scrolling. */
:root{--site-header-height:80px}
html{scroll-padding-top:calc(var(--site-header-height) + 16px)}
.site-skip{position:fixed;left:16px;top:12px;z-index:100;background:var(--color-text);color:var(--color-bg);padding:12px 18px;transform:translateY(-180%)}
.site-skip:focus{transform:none}
.bar-nav{height:var(--site-header-height);background:var(--color-bg);padding-inline:clamp(20px,4vw,64px);gap:24px;backdrop-filter:none}
.bar-nav.scrolled{background:var(--color-bg);backdrop-filter:none}
.bar-nav .nav-name,.calendar-open .bar-nav .nav-name{display:inline-flex;opacity:1;pointer-events:auto}
.bar-nav nav{gap:clamp(16px,2vw,28px);width:auto;margin-left:auto}
.bar-nav nav a{font-size:14px;font-weight:600;letter-spacing:0;white-space:nowrap}
.bar-nav nav a:hover{color:var(--color-accent)}
.bar-nav .nav-booking{white-space:nowrap}
.nav-menu-toggle{display:none}
.bar-tour{height:auto;padding-top:var(--site-header-height)}
.room-anchor{position:absolute;top:0;left:0;scroll-margin:0}
#site-main>#book-chris{scroll-margin-top:0}
.bar-viewport{position:relative;top:0;height:calc(100svh - var(--site-header-height));min-height:560px;max-height:1000px}
.bar-intro{left:4%;bottom:110px;padding:24px 28px;max-width:420px;border:0;background:#151515f2;backdrop-filter:none}
.bar-intro .eyebrow{font:600 12px/1.4 var(--font-body);color:var(--color-accent);letter-spacing:.08em;margin:0 0 10px}
.bar-intro h1{font:600 clamp(36px,3.4vw,50px)/1.05 var(--font-heading);letter-spacing:-.015em;color:var(--color-text);margin:0 0 12px}
.bar-intro-copy{font:400 15px/1.5 var(--font-body);color:var(--color-muted);max-width:32ch;margin:0 0 20px}
.bar-intro-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.bar-intro-actions>a{font:600 14px/1.5 var(--font-body);color:var(--color-text);min-height:44px;display:inline-flex;align-items:center;gap:6px;text-underline-offset:4px}
.bar-intro .stage-music-toggle{background:var(--color-accent);color:var(--color-accent-ink);border:1px solid #e7aa55;box-shadow:var(--shadow-button);font:600 14px/1.4 var(--font-body);min-height:48px}
.bar-intro .stage-music-toggle:hover{background:var(--color-accent-hover)}
.bar-intro .stage-music-toggle[aria-pressed=true]{background:var(--color-text);color:var(--color-accent-ink)}
.bar-controls{bottom:24px;left:4%;right:auto;gap:24px;width:auto;justify-content:flex-start;flex-wrap:wrap}
.room-stops{display:flex;background:var(--color-bg);backdrop-filter:none;gap:4px}
.room-stops button{font:600 14px/1.3 var(--font-body);min-height:48px;padding:12px 18px}
.bar-controls .skip-room,.room-song-list{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:8px 0;color:var(--color-text);font:600 14px/1.4 var(--font-body);text-decoration:underline;text-underline-offset:5px;border:0}
.room-caption{font-size:14px!important;top:20px}
.poster-pager{bottom:110px}
.room-at-top:not(.has-music-choice) .cash-player.is-compact:not(.is-playing):not(.is-loading):not(.has-feedback){display:none}
.flat-music .song-choice{min-height:64px}
.flat-music .song-choice strong{font-size:16px;line-height:1.3}
.flat-music .song-choice small{font-size:13px;line-height:1.4}
@media(max-width:1100px) and (min-width:961px){.bar-nav{padding-inline:24px;gap:20px}.bar-nav nav{gap:16px}.bar-nav nav a{font-size:13px}}
@media(max-width:960px){
 :root{--site-header-height:76px}
 .bar-nav{padding-inline:20px;gap:16px}
 .bar-nav .nav-name{margin-right:auto}
 .bar-nav .artist-wordmark-name{font-size:32px}
 .bar-nav .artist-wordmark-descriptor{font-size:10px}
 .nav-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px;border:0;background:transparent;color:var(--color-text);font:600 14px/1.4 var(--font-body)}
 .bar-nav nav{position:absolute;inset:var(--site-header-height) 0 auto;display:grid;grid-template-columns:1fr;margin:0;padding:12px 20px 20px;gap:0;background:var(--color-bg);border-bottom:1px solid var(--color-border-soft);max-height:calc(100svh - var(--site-header-height));overflow:auto}
 .bar-nav.navigation-ready:not(.menu-open) nav{display:none}
 .bar-nav nav a,.bar-nav .club-nav{display:flex;align-items:center;font-size:17px;min-height:52px;padding:12px 8px}
 .bar-nav .nav-booking{font-size:14px;padding-inline:16px;min-height:44px}
}
@media(max-width:800px){
 .bar-intro{left:20px;right:20px;bottom:196px;padding:18px 20px;max-width:390px}
 .bar-intro h1{font-size:36px}
 .bar-intro-copy{font-size:14px;margin-bottom:16px}
 .bar-intro-actions{gap:18px}
 .bar-intro-actions>a{font-size:13px}
 .bar-controls{left:16px;right:16px;bottom:76px;gap:4px 18px;justify-content:flex-start}
 .room-stops{width:100%;justify-content:space-between}
 .room-stops button{flex:1;padding:10px 8px;font-size:13px}
 .bar-controls .skip-room,.room-song-list{min-height:40px;font-size:13px}
 .poster-pager{bottom:204px}
 .room-caption{top:14px;font-size:12px!important}
}
@media(max-width:600px){
 .bar-nav{padding-inline:16px;gap:8px}
 .bar-nav .artist-wordmark-name{font-size:30px}
 .bar-nav .nav-booking{font-size:13px;padding-inline:10px;gap:6px}
 .nav-menu-toggle{font-size:13px;padding-inline:4px;gap:4px}
}
@media(max-width:370px){
 .bar-nav{padding-inline:12px;gap:6px}
 .bar-nav .artist-wordmark-name{font-size:26px}
 .bar-nav .artist-wordmark-descriptor{font-size:9px}
 .bar-nav .nav-booking{font-size:13px;padding-inline:10px;gap:5px}
 .nav-menu-toggle{font-size:13px;gap:5px;padding-inline:6px}
 .nav-menu-toggle span{display:none}
 .bar-intro{left:16px;right:16px;padding:16px;bottom:192px}
 .bar-intro-actions{gap:10px}.bar-intro .stage-music-toggle{font-size:13px;padding-inline:12px}
 .room-stops button{font-size:12px}
}
@media(max-height:600px) and (min-width:801px){
 .bar-viewport{min-height:470px}
 .bar-intro{bottom:104px;padding:18px 22px;max-width:400px}
 .bar-intro h1{font-size:36px}
 .bar-controls{bottom:20px;width:auto}
 .poster-pager{bottom:100px}
}
@media(prefers-reduced-motion:reduce){.room-world{will-change:auto}.bar-intro{will-change:auto}}
