/* A velvet theatre surrounds the film: rich materials, restrained gold leaf. */
:root {
  --ink: #181410;
  --surface: #2a2218;
  --velvet: #671510;
  --gold: #dca744;
  --ivory: #f6eee3;
  --muted: #d0c5b3;
  --line: rgba(215,166,77,.34);
  --gold-leaf: linear-gradient(115deg,#c38b32 0%,#f9e6af 22%,#dfa93e 45%,#f5d98c 68%,#bf842d 100%);
}
body { background:#181410; color:var(--ivory); isolation:isolate; }
body::before {
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg,rgba(24,20,16,.12),rgba(24,20,16,.28)),url(images/theatre-atmosphere-v2.png) center/cover no-repeat;
}
p {color:var(--muted)}
h1,h2,h3 {font-weight:500}
em {color:var(--gold)}
.brand>span,.scene-copy h1,.scene-copy h2,
.section-heading h2 em,.about-copy h2 em,.live-copy h2 em,
.contact-band h2 em,.page-intro h1,.show-card h3,.signature,.quote-mark {
  color:#e9bc62;
  background-image:var(--gold-leaf); background-clip:text; -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
}
.scene-copy h1 em,.scene-copy h2 em {color:inherit;-webkit-text-fill-color:inherit}
.scene-copy h1,.scene-copy h2 {filter:drop-shadow(0 2px 8px rgba(15,10,4,.42))}
.brand small {color:#ebd3aa;font-weight:500;letter-spacing:.27em}
.eyebrow,.scene-copy .eyebrow {color:#e7b75b;font-weight:600;letter-spacing:.18em}
.scene-copy p:not(.eyebrow) {color:#f0e7df}
.desktop-nav a {color:#f2e8dc;font-weight:500}
.site-header {background:linear-gradient(180deg,rgba(23,17,10,.67),rgba(23,17,10,.08));border-bottom-color:rgba(229,184,95,.2)}
.site-header.is-scrolled,.inner-page .site-header {
  background:linear-gradient(100deg,rgba(34,27,17,.97),rgba(24,20,15,.95));
  border-bottom:1px solid rgba(225,174,79,.36);backdrop-filter:blur(12px);
}
.header-cta {color:#f4d58e;background:rgba(66,48,24,.26);border-color:#b7873c;font-weight:500}
.header-cta:hover {background:rgba(210,151,49,.17)}
.mobile-nav {background:linear-gradient(110deg,rgba(29,23,16,.96),rgba(24,20,15,.92)),url(images/theatre-atmosphere-v2.png) center/cover}
.film-shade {background:linear-gradient(90deg,rgba(16,12,7,.78),rgba(16,12,7,.44) 29%,transparent 60%),linear-gradient(0deg,rgba(22,17,10,.83),transparent 24%,transparent 86%,rgba(22,17,10,.24))}
.scene-copy .button {color:#f6d991;border-color:#d4a04b;background:linear-gradient(115deg,rgba(43,31,17,.55),rgba(59,44,23,.3));box-shadow:inset 0 0 0 3px rgba(213,161,75,.06);font-weight:500}
.scene-copy .button:hover {color:#24190c;background:var(--gold-leaf)}
.button-gold {background:var(--gold-leaf);border-color:#dcb464;color:#24190c;font-weight:600;box-shadow:0 5px 24px rgba(8,5,1,.18)}
.button-gold:hover {background:linear-gradient(115deg,#ebc774,#fff0c0,#d9a446);color:#24190c}
.film-play {color:#f3dba3;border-color:rgba(226,174,73,.65);background:rgba(23,17,10,.28)}
.motion-toggle,.film-skip,.scroll-cue {color:#eee0d2}
.chapter {color:#cbbfa8;font-weight:500}
.chapter.is-current,.chapter:hover {color:#f5ce75;text-shadow:none}
.film-progress {background:rgba(240,193,97,.27)}
.film-progress i {background:linear-gradient(90deg,#b77b2e,#e3af43,#fff0ba);box-shadow:0 0 8px rgba(222,171,64,.4)}
.trust-line {background:linear-gradient(90deg,rgba(61,43,20,.8),rgba(37,30,19,.83),rgba(61,43,20,.8));color:#e7dcc5;border-block:1px solid rgba(226,176,89,.33)}
.shows-section {background:none;padding-top:110px}
.section-heading>p {color:#e2d8c5}
.show-image {outline:1px solid #ad8047;box-shadow:0 14px 36px rgba(14,9,2,.36)}
.show-image::after {content:"";position:absolute;inset:8px;border:1px solid rgba(251,226,166,.3);pointer-events:none}
.show-image img {filter:saturate(1) brightness(1)}
.image-arrow {background:#3b2b16;color:#f2ca77;border-color:#9c743d;z-index:1}
.show-meta {color:#efc873;font-weight:500}
.show-card p {color:#ded3bd}
.text-link {color:#f5e9d4;border-bottom-color:rgba(230,177,80,.55)}
.text-link:hover {color:#f1c76b;border-bottom-color:#e6b453}
.complete-offer {border-color:rgba(227,177,84,.55);background:linear-gradient(110deg,rgba(55,39,19,.93),rgba(36,29,18,.87),rgba(62,45,23,.91));box-shadow:inset 0 0 0 5px rgba(223,172,72,.035),0 18px 45px rgba(12,8,2,.2)}
.complete-offer h3 {color:#f7e9d5}
.complete-price {color:#d8c9ae}.complete-price strong {color:#f1c76b}
.pricing-note {color:#cbbb9e}
.about-section {position:relative;align-items:start}
.portrait-frame {box-shadow:0 18px 55px rgba(12,8,1,.35)}
.portrait-frame::after {border-color:rgba(226,176,86,.65)}
.portrait-caption {background:rgba(34,26,16,.9);color:#f0e3cb;border-color:rgba(221,170,76,.55)}
.memberships {color:#d5c5a7}
.trailer-poster {outline-color:#b88a48;box-shadow:0 20px 50px rgba(12,8,2,.3)}
.play-circle {color:#f5d589;border-color:#efc777;background:rgba(43,28,13,.73)}
.testimonial {background:radial-gradient(ellipse at center,rgba(72,50,20,.62),rgba(37,29,16,.42) 66%,transparent);border-top-color:rgba(215,166,77,.36)}
.testimonial blockquote {color:#f4e6cb}
.quote-credit {color:#ceba95}
.contact-band {background:linear-gradient(90deg,rgba(26,18,10,.1),rgba(31,24,15,.48) 30%,rgba(31,24,15,.48) 70%,rgba(26,18,10,.1));border-color:rgba(215,166,77,.5)}
.contact-band::before,.contact-band::after {display:none}
.contact-band p:not(.eyebrow),.contact-phone {color:#e8dabe}
.site-footer {background:linear-gradient(180deg,rgba(25,19,12,.55),rgba(21,17,11,.86))}
.footer-grid a,.footer-grid p,.footer-bottom {color:#dacbac}
.footer-top p {color:#e4d7b9}
.page-intro {background:linear-gradient(180deg,rgba(35,26,14,.2),transparent)}
.breadcrumb {color:#dfceaa}
.prose,.review-card p {color:#e1d4ba}
.prose h2,.prose h3 {color:#f1d091}
.booking-panel,.inquiry-form {background:linear-gradient(135deg,rgba(50,37,20,.96),rgba(32,26,17,.97));border-color:rgba(212,161,76,.5);box-shadow:0 15px 40px rgba(14,9,2,.25)}
.booking-panel p,.inquiry-form>p {color:#e0ceac}
input,textarea,select {background:#211a12;border-color:#8d744a;color:#f8eee7}
input::placeholder,textarea::placeholder {color:#bcad92}
.music-player,.trailer-dialog {background:#2b2116}
.source-section {padding-top:72px;padding-bottom:72px;border-top:1px solid var(--line)}
.source-section>h2 {font-size:clamp(36px,4vw,58px);margin-bottom:32px}
.source-copy {max-width:1000px}
.source-copy p {max-width:82ch}
.source-copy h2,.source-copy h3 {margin-top:36px}
.source-offer {display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;padding:35px 0 50px;border-bottom:1px solid var(--line)}
.source-offer:last-child {border-bottom:0;padding-bottom:0}
.source-offer .source-gallery {grid-template-columns:1fr;margin-top:0}
.source-gallery,.source-videos {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:32px}
.source-gallery figure {margin:0;background:rgba(25,19,11,.7);border:1px solid var(--line)}
.source-gallery img {width:100%;aspect-ratio:4/3;object-fit:cover}
.source-gallery figcaption {padding:15px 18px;color:#ead8b2;font-size:12px}
.source-videos {grid-template-columns:repeat(2,minmax(0,1fr))}
.source-videos article {min-width:0}
.source-videos h3 {font-size:32px;margin-bottom:20px}
.source-videos video {display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#14110a;border:1px solid var(--line)}
.source-videos p {margin-top:12px;font-size:13px}
.reference-logos {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:32px}
.reference-logos figure {margin:0;padding:24px 18px;min-height:140px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;background:#eee5d5;border:1px solid #b79a5e}
.reference-logos img {width:auto;max-width:100%;height:70px;object-fit:contain}
.reference-logos figcaption {color:#3a2e19;font-size:12px;text-align:center}
.reference-logos .rivella-reference img {height:78px}
.reference-logos figure,.reference-logos a {min-width:0;max-width:100%;overflow-wrap:anywhere}
.source-sponsor {max-width:320px;grid-template-columns:1fr}
.source-section .source-copy a {overflow-wrap:anywhere}
.memberships {flex-wrap:wrap;row-gap:16px}
.legal a {overflow-wrap:anywhere}
/* Prominent controls remain in the picture on desktop and mobile. */
.film-story.autoplay-film {height:100svh;min-height:600px}
.autoplay-film .film-stage {position:relative;height:100%;min-height:600px}
.autoplay-film .film-bottom,.autoplay-film.static-mode .film-bottom {bottom:92px;align-items:flex-end}
.autoplay-film .film-actions {display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:16px;background:rgba(20,14,8,.88);border:1px solid #dca744;box-shadow:0 8px 32px rgba(0,0,0,.3)}
.autoplay-film .film-play,.autoplay-film .motion-toggle {min-height:54px;padding:12px 20px;font-size:17px;font-weight:600;letter-spacing:0;line-height:1.35;gap:16px}
.autoplay-film .film-play {background:var(--gold-leaf);color:#24190c;border:1px solid #edc573}
.autoplay-film .film-play span {color:inherit;font-size:22px}
.autoplay-film .motion-toggle {color:#fae9c6;border:1px solid #b7873c;background:#2a2117}
.autoplay-film .motion-toggle span {font-size:19px}
.autoplay-film .chapter-rail {display:flex}
.autoplay-film video[hidden] {display:none}
.reference-logos figure:has(>a) {padding:0}
.reference-logos figure>a {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px 18px;width:100%;height:100%;min-height:140px;transition:background .2s}
.reference-logos figure>a:hover {background:#fff5dd}
.reference-logos figure>a:focus-visible {outline:3px solid #dca744;outline-offset:3px}
.autoplay-film .film-error {bottom:260px;right:var(--pad);left:auto}
@media(max-width:760px){
 .film-story.autoplay-film,.autoplay-film .film-stage {min-height:650px}
 .autoplay-film .film-bottom,.autoplay-film.static-mode .film-bottom {bottom:78px;left:20px;right:20px}
 .autoplay-film .film-actions {width:100%;gap:8px;padding:10px}
 .autoplay-film .film-play,.autoplay-film .motion-toggle {font-size:16px;min-height:48px;padding:10px 12px;flex:auto}
 .autoplay-film .film-copy,.autoplay-film.static-mode .film-copy {bottom:235px;height:245px}
 .autoplay-film .film-skip {display:none}
 .autoplay-film .film-error {bottom:215px;left:24px;right:24px}
}
@media(min-width:600px) and (max-height:540px){
 .film-story.autoplay-film,.autoplay-film .film-stage {min-height:480px}
 .autoplay-film .film-copy {top:90px;bottom:auto}
 .autoplay-film .film-actions {width:auto}
 .autoplay-film .film-bottom {left:auto}
 .autoplay-film .film-play,.autoplay-film .motion-toggle {font-size:15px}
}
/* Allow room for italic overhangs and descenders in gold-clipped headings. */
.scene-copy h1,.scene-copy h2,.page-intro h1 {
  padding:.08em .18em .18em .04em;
  margin-left:-.04em;
  line-height:1.08;
}
.scene-copy h1 em {padding-top:0}
.scene-copy {min-width:0}
.memberships a {display:flex;align-items:center;justify-content:center;background:#fff;padding:12px;min-width:0;width:132px;height:100px;border:1px solid var(--line)}
.memberships img {width:100%;height:100%;object-fit:contain}
.gallery-open {overflow:hidden}
.gallery-dialog {width:min(1200px,96vw);max-width:none;max-height:94dvh;padding:16px;background:#211a12;color:var(--ivory);border:1px solid var(--gold)}
.gallery-dialog::backdrop {background:rgba(0,0,0,.92)}
.gallery-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.gallery-counter {color:var(--ivory);font-size:14px}
.gallery-close,.gallery-prev,.gallery-next {border:1px solid var(--line);background:#2a2218;color:#f4d58e;min-width:48px;min-height:48px}
.gallery-close {padding:8px 16px;font-size:14px}
.gallery-stage {display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;align-items:center}
.gallery-full {width:100%;height:min(74dvh,850px);object-fit:contain;touch-action:pan-y}
.gallery-prev,.gallery-next {font-size:36px;line-height:1}
.gallery-prev[hidden],.gallery-next[hidden] {visibility:hidden;display:block}
.gallery-error {padding:12px;color:var(--ivory)}
@media(max-width:760px){
 .scene-copy h1 {font-size:clamp(32px,10vw,62px);max-width:100%}
 .scene-copy h2 {font-size:clamp(30px,9vw,52px);max-width:100%}
 .memberships {gap:12px}
 .memberships a {width:110px;height:86px}
 .gallery-dialog {padding:12px}
 .gallery-stage {grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}
 .gallery-prev,.gallery-next {min-width:44px}
 .gallery-full {height:66dvh}
}
@media(min-width:600px) and (max-height:540px){
 .scene-copy h1 {font-size:clamp(28px,4.8vw,40px)}
 .scene-copy h2 {font-size:clamp(27px,4.4vw,38px)}
}
@media(min-width:1600px){body::before{background-size:cover}}
@media(max-width:760px){
 body::before {background-position:center;background-size:100% 100%;}
 .shows-section {padding-top:68px}
 .film-shade {background:linear-gradient(0deg,#181410 0%,rgba(24,20,16,.97) 15%,rgba(25,19,12,.52) 39%,transparent 68%,rgba(23,17,10,.3) 100%)}
 .film-stage {background:#181410}
 .contact-band {background-size:100% 100%;background-position:center}
 .trust-line {color:#ebddbd}
 .eyebrow,.scene-copy .eyebrow {letter-spacing:.12em}
 .source-section {padding-top:48px;padding-bottom:48px}
 .source-gallery,.source-videos {grid-template-columns:1fr;gap:28px}
 .source-offer {grid-template-columns:1fr;gap:24px;padding-top:20px}
 .reference-logos {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .reference-logos figure {padding:18px 12px;min-height:125px}
 .reference-logos img {height:58px}
 .reference-logos .rivella-reference img {height:66px}
 .source-sponsor {grid-template-columns:1fr}
}
@media(max-width:760px) and (max-height:680px){
 .film-shade {background:linear-gradient(0deg,#181410 0%,rgba(24,20,16,.95) 26%,rgba(25,19,12,.2) 55%,transparent 75%)}
}
@media(min-width:600px) and (max-height:540px){
 .film-shade {background:linear-gradient(90deg,rgba(19,14,8,.83),rgba(19,14,8,.44) 34%,transparent 68%),linear-gradient(0deg,rgba(24,20,16,.85),transparent 26%)}
}
@media(forced-colors:active){
 .brand>span,.scene-copy h1,.scene-copy h2,.section-heading h2 em,.about-copy h2 em,.live-copy h2 em,.contact-band h2 em,.page-intro h1,.show-card h3,.signature,.quote-mark {background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}
}
