/* Shared visual language, based on the booking page. Loaded after legacy styles. */
html.site-calm body.site-refresh {
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --heading: var(--sans); --accent-font: var(--sans); --display: var(--sans);
  --ornament-font: var(--sans); --serif: var(--sans); --body: var(--sans);
  --font-display: var(--sans); --font-body: var(--sans);
  --bg: #121619; --bg-soft: #1b2227; --panel: #1b2227; --panel-strong: #20282e;
  --text: #f5f5f2; --cream: #f5f5f2; --muted: #b9bec2; --gold: #eac48c;
  --gold-deep: #eac48c; --line: #343a3e; --line-strong: #596369;
  --red: #eac48c; --wine: #eac48c; --electric: #b9bec2;
  --gala-ink: #121619; --gala-gold: #eac48c; --gala-cream: #f5f5f2; --gala-copy: #b9bec2;
  --shadow: none; --radius-xl: 10px; --radius-lg: 8px; --radius-md: 6px; --radius-sm: 5px;
  --max-width: 1160px;
  margin: 0; background: #121619; color: #f5f5f2;
  font-family: var(--sans); font-size: 17px; line-height: 1.6;
}
html.site-calm body.site-refresh::before,
html.site-calm body.site-refresh::after,
html.site-calm body.site-refresh :is(.backdrop, .side-rail, .tour-scroll-line, .review-marquee, .masthead-music-link) { display: none; }
html.site-calm body.site-refresh :is(.site-shell,.page-shell,.masthead,.section,.button,.footer,h1,h2,h3)::before,
html.site-calm body.site-refresh :is(.site-shell,.page-shell,.masthead,.section,.button,.footer,h1,h2,h3)::after { display: none; }
html.site-calm body.site-refresh :is(.site-shell,.page-shell) { width: min(1160px,calc(100% - 4rem)); max-width: none; margin: 0 auto; padding: 0; background: none; border: 0; box-shadow: none; }
html.site-calm body.site-refresh main { display: block; min-width: 0; }
html.site-calm body.site-refresh :is(h1,h2,h3,h4) { font-family: var(--sans); font-style: normal; text-transform: none; text-shadow: none; color: #f5f5f2; letter-spacing: -.035em; text-wrap: balance; }
html.site-calm body.site-refresh h1 { margin: .7rem 0 1.25rem; font-size: clamp(2.5rem,4.5vw,4.15rem); font-weight: 700; line-height: 1.06; letter-spacing: -.045em; }
html.site-calm body.site-refresh h2 { margin: .4rem 0 1.4rem; font-size: clamp(1.75rem,3.1vw,2.65rem); font-weight: 650; line-height: 1.13; }
html.site-calm body.site-refresh h3 { font-size: 1.3rem; font-weight: 650; line-height: 1.3; letter-spacing: -.02em; }
html.site-calm body.site-refresh .eyebrow { color: #eac48c; font-family: var(--sans); font-size: .75rem; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; text-shadow: none; }
html.site-calm body.site-refresh .lede { color: #b9bec2; font-family: var(--sans); font-size: 1.1rem; font-weight: 400; line-height: 1.65; }
html.site-calm body.site-refresh .section { margin: 0; padding: 3.5rem 0; border: 0; border-bottom: 1px solid #343a3e; border-radius: 0; background: none; box-shadow: none; }
html.site-calm body.site-refresh .section[id], html.site-calm body.site-refresh .tour-season[id] { scroll-margin-top: 1.5rem; }
html.site-calm body.site-refresh .section-heading { margin-bottom: 2rem; }
html.site-calm body.site-refresh .section-heading p { color: #b9bec2; }
html.site-calm body.site-refresh .section-heading .eyebrow { color: #eac48c; }
html.site-calm body.site-refresh :is(.hero,.about-feature-grid,.press-landing) > * { min-width: 0; }
html.site-calm body.site-refresh :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #eac48c; outline-offset: 4px; }
/* Identical navigation on every page, including booking. */
html.site-calm body.site-refresh .masthead { position: relative; top: auto; display: grid; grid-template-columns: 190px minmax(0,1fr) auto; align-items: center; gap: 1.25rem; margin: 0; padding: 1.25rem 0; width: 100%; background: none; border: 0; border-bottom: 1px solid #343a3e; border-radius: 0; box-shadow: none; backdrop-filter: none; }
html.site-calm body.site-refresh .masthead .brand { grid-column: 1; grid-row: 1; gap: .7rem; width: auto; min-width: 0; padding: 0; }
html.site-calm body.site-refresh .masthead .brand-mark { width: 40px; height: 40px; border-radius: 50%; padding: 0; border: 0; box-shadow: none; }
html.site-calm body.site-refresh .masthead .brand-copy strong { color: #f5f5f2; font-family: var(--sans); font-size: 1.1rem; font-weight: 700; letter-spacing: -.025em; text-shadow: none; }
html.site-calm body.site-refresh .masthead .brand-copy small { color: #b9bec2; font-family: var(--sans); font-size: .7rem; font-weight: 400; letter-spacing: .02em; text-shadow: none; }
html.site-calm body.site-refresh .masthead .site-nav { justify-content: center; gap: 1.4rem; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
html.site-calm body.site-refresh .masthead .site-nav a { min-height: 44px; padding: .45rem 0; background: none; border: 0; border-radius: 0; box-shadow: none; color: #b9bec2; font-family: var(--sans); font-size: .875rem; font-weight: 500; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; }
html.site-calm body.site-refresh .masthead .site-nav a::after { display: none; }
html.site-calm body.site-refresh .masthead .site-nav a:is(:hover,[aria-current="page"],.is-current) { background: none; color: #f5f5f2; border: 0; text-decoration: underline; text-underline-offset: 7px; }
html.site-calm body.site-refresh .masthead .masthead-music-link { display: none; }
html.site-calm body.site-refresh .masthead .lang-switch { grid-column: 3; grid-row: 1; margin: 0; gap: .1rem; }
html.site-calm body.site-refresh .masthead .lang-switch a { flex: 0 0 34px; width: 34px; height: 34px; min-width: 0; min-height: 0; padding: 0; background: none; border: 1px solid transparent; border-radius: 5px; box-shadow: none; }
html.site-calm body.site-refresh .masthead .lang-switch a[aria-current="page"] { border-color: #626b70; }
html.site-calm body.site-refresh .masthead .nav-toggle { padding: .5rem .75rem; background: none; border: 1px solid #626b70; border-radius: 5px; box-shadow: none; color: #f5f5f2; font-family: var(--sans); font-size: .95rem; font-weight: 500; text-transform: none; letter-spacing: 0; }
/* Shared controls. */
html.site-calm body.site-refresh .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin: 0; padding: .85rem 1.25rem; border: 1px solid #eac48c; border-radius: 6px; background: #eac48c; color: #182127; font-family: var(--sans); font-size: 1rem; font-weight: 650; line-height: 1.4; letter-spacing: 0; text-transform: none; text-decoration: none; box-shadow: none; transform: none; }
html.site-calm body.site-refresh .button:hover { background: #f3d3a4; border-color: #f3d3a4; box-shadow: none; transform: none; }
html.site-calm body.site-refresh :is(.button-secondary,.button-ghost) { background: transparent; border-color: #626b70; color: #f5f5f2; }
html.site-calm body.site-refresh :is(.button-secondary,.button-ghost):hover { background: #252f35; border-color: #b9bec2; }
html.site-calm body.site-refresh .hero-actions { gap: .75rem; }
html.site-calm body.site-refresh :is(.form-field input,.form-field select,.form-field textarea,.finder-city-label select) { min-height: 48px; padding: .7rem .8rem; background: #20282e; color: #f5f5f2; border: 1px solid #626b70; border-radius: 5px; box-shadow: none; font-family: var(--sans); font-size: 16px; }
html.site-calm body.site-refresh :is(.form-field > span,.finder-city-label > span) { font-family: var(--sans); color: #f5f5f2; }
html.site-calm body.site-refresh input::placeholder, html.site-calm body.site-refresh textarea::placeholder { color: #acb4b9; opacity: 1; }
/* Photo introductions keep the image clear and the caption outside the photo. */
html.site-calm body.site-refresh :is(.about-landing,.concerts-landing,.booking-landing,.seo-landing) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 3rem; }
html.site-calm body.site-refresh .hero-copy { padding: 0; background: none; }
html.site-calm body.site-refresh .press-landing { align-items: start; }
html.site-calm body.site-refresh .press-landing .hero-copy { display: block; align-self: start; }
html.site-calm body.site-refresh .press-landing .hero-copy .hero-actions { margin-top: 1.5rem; }
html.site-calm body.site-refresh .hero-copy::before, html.site-calm body.site-refresh .hero-copy::after { display: none; }
html.site-calm body.site-refresh :is(.stage-card,.about-feature-image,.story-image-card) { margin: 0; background: none; border: 0; border-radius: 8px; box-shadow: none; transform: none; }
html.site-calm body.site-refresh :is(.stage-card,.about-feature-image,.story-image-card)::before,
html.site-calm body.site-refresh :is(.stage-card,.about-feature-image,.story-image-card)::after { display: none; }
html.site-calm body.site-refresh :is(.about-landing-card,.concerts-landing-card,.booking-landing-card) { display: block; height: auto; min-height: 0; max-height: none; padding: 0; aspect-ratio: auto; overflow: hidden; }
html.site-calm body.site-refresh :is(.about-landing-card,.concerts-landing-card,.booking-landing-card) img { position: static; display: block; width: 100%; height: auto; min-height: 0; max-height: none; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; filter: none; transform: none; }
html.site-calm body.site-refresh .concerts-landing-card img { aspect-ratio: 1 / 1; max-height: 470px; object-fit: contain; background: #0c0f11; }
html.site-calm body.site-refresh .stage-card-copy { position: static; inset: auto; padding: 1rem 0 0; background: none; border: 0; text-shadow: none; }
html.site-calm body.site-refresh .stage-card-copy strong { font-size: .95rem; font-weight: 500; color: #f5f5f2; }
/* Quiet content panels throughout editorial and utility pages. */
html.site-calm body.site-refresh :is(.about-proof-card,.contact-card,.about-quote-card,.review-card,.qa-card,.story-chapter,.resource-card,.press-editorial-card,.press-note-card,.press-spotlight-card,.fact-card,.member-showcase,.member-card,.archive-card,.photo-archive-card,.seo-link-card,.info-card,.booking-story,.booking-form-card) { background: #1b2227; border: 1px solid #343a3e; border-radius: 8px; box-shadow: none; transform: none; }
html.site-calm body.site-refresh :is(.about-proof-card,.contact-card,.about-quote-card,.review-card,.qa-card,.story-chapter,.resource-card,.press-editorial-card,.press-note-card,.press-spotlight-card,.fact-card,.member-showcase,.member-card,.archive-card,.photo-archive-card,.seo-link-card,.info-card,.booking-story,.booking-form-card)::before,
html.site-calm body.site-refresh :is(.about-proof-card,.contact-card,.about-quote-card,.review-card,.qa-card,.story-chapter,.resource-card,.press-editorial-card,.press-note-card,.press-spotlight-card,.fact-card,.member-showcase,.member-card,.archive-card,.photo-archive-card,.seo-link-card,.info-card,.booking-story,.booking-form-card)::after { display: none; }
html.site-calm body.site-refresh :is(.about-proof-card,.contact-card,.about-quote-card,.review-card,.qa-card,.press-note-card,.fact-card) { padding: 1.5rem; }
html.site-calm body.site-refresh :is(.about-feature-copy,.about-proof-card,.contact-card,.about-quote-card,.review-card,.qa-card,.story-chapter,.resource-card,.press-editorial-card,.press-note-card,.press-spotlight-card,.fact-card,.booking-story) p { color: #b9bec2; }
html.site-calm body.site-refresh .about-proof-card > span { color: #eac48c; font-family: var(--sans); font-size: 2.5rem; font-weight: 600; line-height: 1.2; text-shadow: none; }
html.site-calm body.site-refresh .about-proof-card strong { font-family: var(--sans); font-size: 1rem; color: #f5f5f2; }
html.site-calm body.site-refresh :is(.about-feature-grid,.about-proof-grid,.contact-card-grid) { gap: 1.5rem; }
html.site-calm body.site-refresh .about-feature-grid { align-items: center; gap: 3rem; }
html.site-calm body.site-refresh .about-feature-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; filter: none; border-radius: 8px; }
html.site-calm body.site-refresh :is(.about-quote-card,.review-card) blockquote { font-family: var(--sans); font-size: 1.5rem; line-height: 1.4; letter-spacing: -.02em; }
html.site-calm body.site-refresh .review-stars { color: #eac48c; text-shadow: none; }
html.site-calm body.site-refresh .contact-card a { color: #eac48c; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
/* Tour list and filters, without the legacy concert-poster boxes. */
html.site-calm body.site-refresh .tour-list { gap: 0; }
html.site-calm body.site-refresh .tour-item { padding: 1.5rem 0; background: none; border: 0; border-bottom: 1px solid #343a3e; border-radius: 0; box-shadow: none; transform: none; }
html.site-calm body.site-refresh .tour-item::before, html.site-calm body.site-refresh .tour-item::after { display: none; }
html.site-calm body.site-refresh .tour-date-block { background: #20282e; border: 0; border-radius: 6px; box-shadow: none; color: #f5f5f2; }
html.site-calm body.site-refresh .tour-date-block span { color: #f5f5f2; text-shadow: none; font-family: var(--sans); }
html.site-calm body.site-refresh .tour-date-block .tour-day { color: #eac48c; font-size: 1.9rem; font-weight: 650; }
html.site-calm body.site-refresh :is(.tour-city-line,.tour-helper,.tour-season-heading p) { color: #b9bec2; }
html.site-calm body.site-refresh .tour-item h3 { margin: 0 0 .3rem; font-size: 1.3rem; }
html.site-calm body.site-refresh :is(.ticket-placeholder,.ticket-status) { padding: .6rem .8rem; border: 1px solid #626b70; border-radius: 5px; background: #20282e; color: #d2d7db; box-shadow: none; font-family: var(--sans); font-size: .85rem; text-shadow: none; }
html.site-calm body.site-refresh .concerts-keyword-grid { display: flex; flex-wrap: wrap; gap: .6rem; }
html.site-calm body.site-refresh :is(.concerts-keyword-grid a,.filter-chip,.tour-jump-link) { padding: .65rem 1rem; background: #1b2227; color: #f5f5f2; border: 1px solid #596369; border-radius: 6px; box-shadow: none; font-family: var(--sans); font-size: .9rem; font-weight: 500; }
html.site-calm body.site-refresh :is(.concerts-keyword-grid a,.filter-chip,.tour-jump-link):hover { background: #303b42; }
/* A consistent, compact footer. */
html.site-calm body.site-refresh .footer { display: block; margin: 0; padding: 2rem 0; background: none; border: 0; border-top: 1px solid #343a3e; border-radius: 0; box-shadow: none; color: #b9bec2; }
html.site-calm body.site-refresh .footer p { margin: 0 0 .75rem; color: #b9bec2; font-family: var(--sans); font-size: .8rem; font-weight: 400; text-shadow: none; }
html.site-calm body.site-refresh .footer :is(.footer-link-group,.social-links) { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .25rem 1.3rem; margin: 0 0 1rem; }
html.site-calm body.site-refresh .footer a { min-height: 44px; padding: .2rem 0; background: none; border: 0; border-radius: 0; box-shadow: none; color: #b9bec2; font-family: var(--sans); font-size: .8rem; font-weight: 400; text-shadow: none; }
html.site-calm body.site-refresh .footer a:hover { color: #f5f5f2; text-decoration: underline; }
/* Cookie and invitation UI shares the same visual language. */
html.site-calm body.site-refresh :is(.marketing-consent,.newsletter-prompt) { background: #20282e; color: #f5f5f2; border: 1px solid #596369; border-radius: 10px; box-shadow: 0 12px 40px #0005; }
html.site-calm body.site-refresh .marketing-consent-button { background: #eac48c; border: 1px solid #eac48c; border-radius: 6px; color: #182127; box-shadow: none; font-family: var(--sans); font-weight: 600; }
html.site-calm body.site-refresh .marketing-consent-button-secondary { background: transparent; border-color: #626b70; color: #f5f5f2; }
@media (min-width: 1000px) {
  html.site-calm body.site-refresh .masthead .site-nav { display: flex; flex-wrap: nowrap; position: static; inset: auto; grid-column: 2; grid-row: 1; justify-self: end; overflow: visible; }
  html.site-calm body.site-refresh .masthead .nav-toggle { display: none; }
}
@media (max-width: 999px) {
  html.site-calm body.site-refresh .masthead { grid-template-columns: minmax(0,1fr) auto auto; gap: 1rem; }
  html.site-calm body.site-refresh .masthead .nav-toggle { display: block; grid-column: 2; grid-row: 1; }
  html.site-calm body.site-refresh .masthead .site-nav { display: none; position: absolute; z-index: 100; inset: calc(100% - .2rem) 0 auto auto; width: min(280px,100%); padding: .8rem 1.2rem; background: #20272c; border: 1px solid #4d585f; border-radius: 6px; box-shadow: none; }
  html.site-calm body.site-refresh .masthead .site-nav.is-open { display: grid; grid-template-columns: 1fr; gap: .3rem; justify-content: stretch; }
  html.site-calm body.site-refresh .masthead .site-nav a { justify-content: flex-start; }
  html.site-calm body.site-refresh :is(.about-landing,.concerts-landing,.booking-landing,.seo-landing,.about-feature-grid) { gap: 2rem; }
}
@media (max-width: 760px) {
  html.site-calm body.site-refresh :is(.site-shell,.page-shell) { width: calc(100% - 2.5rem); }
  html.site-calm body.site-refresh .masthead { padding: 1rem 0; gap: .6rem; }
  html.site-calm body.site-refresh .masthead .brand { gap: .5rem; }
  html.site-calm body.site-refresh .masthead .brand-mark { width: 35px; height: 35px; }
  html.site-calm body.site-refresh .masthead .brand-copy strong { font-size: 1rem; }
  html.site-calm body.site-refresh .masthead .lang-switch a { width: 30px; height: 32px; flex-basis: 30px; }
  html.site-calm body.site-refresh .masthead .nav-toggle { font-size: .875rem; padding: .45rem .6rem; }
  html.site-calm body.site-refresh .section { padding: 2.25rem 0; }
  html.site-calm body.site-refresh h1 { font-size: clamp(2.35rem,8.8vw,3.6rem); }
  html.site-calm body.site-refresh .lede { font-size: 1rem; }
  html.site-calm body.site-refresh :is(.about-landing,.concerts-landing,.booking-landing,.seo-landing,.about-feature-grid,.about-proof-grid,.about-quote-section,.contact-card-grid) { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  html.site-calm body.site-refresh .hero-actions { flex-direction: column; align-items: stretch; }
  html.site-calm body.site-refresh .hero-actions .button { width: 100%; }
  html.site-calm body.site-refresh .tour-item { grid-template-columns: 4rem minmax(0,1fr); gap: .8rem; }
  html.site-calm body.site-refresh .tour-item-actions { grid-column: 1 / -1; }
}
@media (max-width: 440px) {
  html.site-calm body.site-refresh .masthead .brand-copy small { display: none; }
}
/* Editorial, press and archive components use the same surfaces. */
html.site-calm body.site-refresh :is(.press-mini-list li,.press-route-strip span,.press-material-card,.resource-card-media,.resource-card-media-compact,.archive-history-card,.archive-proof-pills span,.press-archive-collage,.press-archive-collage > div,.pill,.tag,.card-label) { background: #1b2227; border: 1px solid #343a3e; border-radius: 6px; color: #f5f5f2; box-shadow: none; text-shadow: none; }
html.site-calm body.site-refresh :is(.press-archive-collage,.archive-history-card,.press-material-card)::before,
html.site-calm body.site-refresh :is(.press-archive-collage,.archive-history-card,.press-material-card)::after { display: none; }
html.site-calm body.site-refresh :is(.pill,.tag,.card-label,.press-route-strip span) { font-family: var(--sans); font-weight: 500; letter-spacing: .02em; }
html.site-calm body.site-refresh :is(.press-mini-list strong,.press-spotlight-copy strong) { font-family: var(--sans); font-weight: 650; line-height: 1.2; }
html.site-calm body.site-refresh .stage-card-copy .eyebrow { display: block; margin-bottom: .25rem; }
html.site-calm body.site-refresh .archive-history-card :is(h2,h3,p) { color: #f5f5f2; }
html.site-calm body.site-refresh.page-reviews .hero { margin: 0; padding: 3.5rem 0; gap: 3rem; background: none; border: 0; border-bottom: 1px solid #343a3e; border-radius: 0; box-shadow: none; }
html.site-calm body.site-refresh.page-reviews :is(.visual-card,.note-card,.quote-card,.testimonial,.hero-points > div) { background: #1b2227; color: #f5f5f2; border: 1px solid #343a3e; border-radius: 8px; box-shadow: none; }
html.site-calm body.site-refresh.page-reviews :is(.visual-card,.note-card,.quote-card,.testimonial)::before,
html.site-calm body.site-refresh.page-reviews :is(.visual-card,.note-card,.quote-card,.testimonial)::after { display: none; }
html.site-calm body.site-refresh.page-reviews :is(.testimonial,.quote-card) p { color: #f5f5f2; }
html.site-calm body.site-refresh.page-reviews .section-nav a { background: #1b2227; border: 1px solid #596369; border-radius: 6px; color: #b9bec2; font-weight: 500; }
html.site-calm body.site-refresh.page-reviews .paper-card { background: #f5f6f7; color: #182127; border: 0; border-radius: 8px; box-shadow: none; }
html.site-calm body.site-refresh.page-reviews .paper-card :is(h2,h3,h4,p) { color: #182127; }
html.site-calm body.site-refresh.page-reviews .hero-stage-overlay { background: linear-gradient(transparent, #000d); }
@media (max-width:760px) {
  html.site-calm body.site-refresh.page-reviews .hero { grid-template-columns: minmax(0,1fr); padding: 2.25rem 0; gap: 2rem; }
}
html.site-calm body.site-refresh .about-feature-copy { padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
html.site-calm body.site-refresh .booking-facts .fact-card { background: #1b2227; }
html.site-calm body.site-refresh :is(.photo-archive-intro,.press-clipping-card,.privacy-summary-card,.privacy-toc) { background: #1b2227; border: 1px solid #343a3e; border-radius: 8px; box-shadow: none; }
html.site-calm body.site-refresh :is(.photo-archive-intro,.press-clipping-card,.privacy-summary-card,.privacy-toc)::before,
html.site-calm body.site-refresh :is(.photo-archive-intro,.press-clipping-card,.privacy-summary-card,.privacy-toc)::after { display: none; }
html.site-calm body.site-refresh .privacy-section { background: #f5f6f7; color: #182127; border: 0; border-radius: 8px; box-shadow: none; }
html.site-calm body.site-refresh .privacy-section :is(h2,h3,h4,p,li) { color: #182127; }
html.site-calm body.site-refresh .privacy-section a:not(.button) { color: #344955; }
html.site-calm body.site-refresh.page-booking .booking-form-card { background: #f5f6f7; color: #182127; border: 0; border-radius: 10px; }
html.site-calm body.site-refresh.page-booking .booking-form-card :is(h2,h3,h4,.form-field > span) { color: #182127; }
html.site-calm body.site-refresh.page-booking .booking-form-card p { color: #525d65; }
html.site-calm body.site-refresh.page-booking .booking-form-card :is(input,select,textarea) { color: #182127; background: #fff; border-color: #8c969e; }
html.site-calm body.site-refresh.page-booking .booking-form-card select option { background: #fff; color: #182127; }
html.site-calm body.site-refresh.page-booking .booking-form-card :is(input,textarea)::placeholder { color: #68737c; }
html.site-calm body.site-refresh.page-booking .booking-form-card .button { background: #182127; border-color: #182127; color: #fff; }
html.site-calm body.site-refresh.page-booking .booking-form-card :is(a,button,input,select,textarea):focus-visible { outline-color: #176b9e; }
html.site-calm body.site-refresh.page-booking .booking-form-card .form-privacy-note a { color: #344955; }
html.site-calm body.site-refresh.page-booking .booking-form-card .form-feedback[data-state="success"] { color: #176240; }
html.site-calm body.site-refresh.page-booking .booking-form-card .form-feedback[data-state="error"] { color: #a12020; }
html.site-calm body.site-refresh .newsletter-prompt h2 { font-size: 1.5rem; }
html.site-calm body.site-refresh .newsletter-prompt .newsletter-form { background: none; color: #f5f5f2; }
/* Light booking forms retain white fields when the global controls load last. */
html.site-calm body.site-refresh .booking-form-panel .booking-form :is(input,select,textarea) { background: #fff; color: #182127; border-color: #8c969e; }
html.site-calm body.site-refresh .booking-form-panel .booking-form :is(input,textarea)::placeholder { color: #68737c; }
html.site-calm body.site-refresh .tour-venue-address { margin: .6rem 0 0; max-width: 62ch; color: #b9bec2; font-size: .85rem; line-height: 1.6; }
html.site-calm body.site-refresh .tour-venue-address a { color: #eac48c; text-decoration: underline; text-underline-offset: 3px; }
html.site-calm body.site-refresh .error-page { min-height: 60vh; display: grid; align-content: center; justify-items: start; padding-block: 4rem; }
html.site-calm body.site-refresh .error-page p:not(.eyebrow) { max-width: 48ch; color: #b9bec2; }
html.site-calm body.site-refresh .error-page .hero-actions { display: flex; flex-wrap: wrap; margin-top: 1rem; }

/* Carry the stage colours and original gold identity through the shared layout. */
html.site-calm body.site-refresh {
  --bg: #111116;
  --text: #f7f0e5;
  --gold: #e5bb73;
  background: radial-gradient(ellipse 85% 650px at 3% 0, #4a202c77, transparent 78%),
              radial-gradient(ellipse 70% 620px at 100% 0, #15334e77, transparent 80%), #111116;
  color: #f7f0e5;
}
html.site-calm body.site-refresh :is(.site-shell, .page-shell) { width: min(1280px, calc(100% - 4rem)); }
html.site-calm body.site-refresh .masthead { border-bottom-color: #b7924a45; }
html.site-calm body.site-refresh .masthead .site-nav a { font-weight: 600; color: #d0c9ca; }
html.site-calm body.site-refresh .masthead .site-nav a:is(:hover,[aria-current="page"]) { color: #f1d5a1; }
html.site-calm body.site-refresh .section { border-bottom-color: #9b82412b; }
html.site-calm body.site-refresh .button-primary {
  background: linear-gradient(115deg, #f6dfaa, #d4a65c 65%, #e8c985);
  border-color: #e9c57e;
  color: #211a10;
  box-shadow: inset 0 1px #fff5, 0 4px 18px #0003;
}
html.site-calm body.site-refresh .button-primary:hover { background: #f6dfaa; border-color: #f6dfaa; }
html.site-calm body.site-refresh :is(.button-secondary,.button-ghost) { border-color: #ad916653; }
html.site-calm body.site-refresh :is(.button-secondary,.button-ghost):hover { background: #292226; border-color: #dcc08c; }
/* The original PNG has transparent margins. This displays its wordmark without altering the asset. */
html.site-calm body.site-refresh .gold-wordmark { display: block; position: relative; aspect-ratio: 480 / 252; overflow: hidden; flex: 0 0 auto; }
html.site-calm body.site-refresh .gold-wordmark > img { display: block; position: absolute; width: 187.5%; max-width: none; height: auto; left: -45.4167%; top: -29.7619%; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; object-fit: contain; filter: none; }
html.site-calm body.site-refresh .masthead .brand-gold { width: 116px; }
html.site-calm body.site-refresh .masthead .brand-gold + .brand-copy { display: none; }
html.site-calm body.site-refresh .booking-intro { padding-top: 3rem; }
html.site-calm body.site-refresh .booking-live { border: 1px solid #b18d523b; box-shadow: 0 20px 65px #0005; border-radius: 10px; }
@media (max-width:760px) {
  html.site-calm body.site-refresh :is(.site-shell, .page-shell) { width: calc(100% - 2.5rem); }
  html.site-calm body.site-refresh .masthead .brand-gold { width: 96px; }
}
@media (max-width:360px) {
  html.site-calm body.site-refresh :is(.site-shell, .page-shell) { width: calc(100% - 2rem); }
  html.site-calm body.site-refresh .masthead .brand-gold { width: 84px; }
}
