:root{color-scheme:dark;--navy:#050b15;--blue:#102139;--gold:#c99a4a;--gold-bright:#dcc18c;--cream:#f8f5e9;--muted:#d2d8df;--gold-surface:linear-gradient(115deg,#b78a40 0%,#cba258 28%,#dcc18c 51%,#c9a059 76%,#bd9146 100%)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{position:relative;margin:0;background:var(--navy);color:var(--cream);font-family:'Montserrat',Arial,sans-serif;line-height:1.55;isolation:isolate;min-height:100vh}
.poster-backdrop{position:absolute;top:0;left:50%;width:min(100%,740px);z-index:-1;transform:translateX(-50%);pointer-events:none;overflow:hidden}
.poster-backdrop img{display:block;width:100%;height:auto}
.poster-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(5,11,21,.03) 28%,rgba(5,11,21,.40) 41%,rgba(5,11,21,.85) 57%,var(--navy) 73%),linear-gradient(90deg,var(--navy) 0%,transparent 9%,transparent 91%,var(--navy) 100%)}
.tickets-view .poster-backdrop{opacity:.22}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
a{color:inherit;text-underline-offset:5px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold-bright);outline-offset:6px}
button{font:inherit;cursor:pointer}
.shell{max-width:1100px;margin:auto;padding:0 28px}
.header{padding:25px 0 0;display:flex;align-items:center}
.back{text-decoration:none;font-size:.875rem;color:var(--gold)}
.hero{max-width:920px;margin:auto;text-align:center;padding:clamp(225px,64vw,380px) 0 0}
.eyebrow{font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 23px}
h1,h2,p{overflow-wrap:break-word}
h1,h2{font-family:'Montserrat',Arial,sans-serif;font-weight:700;letter-spacing:-.035em}
.hero-intro{max-width:700px;margin:0 auto;padding:0 18px 16px;background:linear-gradient(180deg,transparent 0%,rgba(5,11,21,.78) 42%,rgba(5,11,21,.96) 82%,rgba(5,11,21,.65) 100%);border-radius:14px}
.tour-wordmark{display:block;width:min(100%,460px);height:auto;margin:0 auto 16px;mix-blend-mode:lighten;mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 94%,transparent 100%)}
.hero-intro .lead{color:#fff;font-size:clamp(1rem,2vw,1.125rem);line-height:1.75;text-shadow:0 2px 6px #000}
.hero-intro .lead strong{font-weight:700}
.lead{color:var(--muted);font-size:1.0625rem;line-height:1.7;margin:0;text-shadow:0 2px 8px #0008}
.destinations{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-top:33px;text-align:left}
.reserve{position:relative;display:block;padding:23px 27px 24px;background:var(--gold-surface);color:#101b28;text-decoration:none;border:1px solid #d9bc83;border-radius:14px;box-shadow:inset 0 1px 0 #fff4,0 13px 35px #0009,0 0 24px #c99a4a18;transition:transform .2s,box-shadow .2s}
.reserve:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #fff4,0 18px 38px #0009,0 0 32px #c99a4a35}
.button-action{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.875rem;font-weight:700;margin-bottom:7px}
.button-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:clamp(1.3rem,2.3vw,1.75rem);font-weight:700;line-height:1.3;letter-spacing:-.025em}
.button-arrow{font-size:1.55rem;font-weight:400}
.button-meta{display:block;font-size:1rem;font-weight:700;margin-top:12px}
.button-place{display:block;font-size:.875rem;margin-top:2px;color:#192331;line-height:1.5}
.teaser{max-width:850px;margin:43px auto 0}
.section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.section-heading h2{font-size:1.35rem;line-height:1.45;margin:0;letter-spacing:-.025em}
.sound-toggle{background:#101c2de6;border:1px solid #c99a4a85;color:var(--gold-bright);padding:10px 16px;border-radius:999px;font-size:.875rem;font-weight:700;min-height:44px}
.sound-toggle:hover{background:#1b2a40}.sound-toggle[hidden]{display:none}
video{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1040/576;object-fit:contain;background:#000;border:1px solid #c99a4a60;border-radius:15px;box-shadow:0 22px 50px #0008}
.teaser-caption{font-size:.9375rem;color:var(--muted);text-align:center;margin:19px 0 0}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid #c99a4a28;margin-top:44px;padding:22px 0 28px;font-size:.875rem;color:#bac5d1}
footer a{color:var(--gold)}
.social-links{display:flex;flex-basis:100%;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:8px 0 2px}
.social-bubble{display:inline-flex;flex:0 0 48px;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid #c99a4a80;background:#10213999;color:var(--gold-bright);text-decoration:none;box-shadow:inset 0 1px 0 #ffffff08;transition:background-color .18s,border-color .18s,transform .18s}
.social-bubble:hover,.social-bubble:focus-visible{background:#c99a4a22;border-color:var(--gold-bright);color:var(--cream);transform:translateY(-2px)}
.social-icon{display:block;width:22px;height:22px;flex-shrink:0}
@media(prefers-reduced-motion:reduce){.social-bubble{transition:none}.social-bubble:hover,.social-bubble:focus-visible{transform:none}}
.tickets-page{padding-top:36px}.page-heading{text-align:center}
.page-heading .eyebrow{margin-bottom:16px}.page-heading h1{font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.25;margin:0 0 18px;color:var(--gold-bright)}
.ticket-grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:680px;margin:32px auto 0;gap:24px;align-items:start}
.selector-return{margin-top:30px}
.ticket-card{min-width:0;border:1px solid #c99a4a55;border-top:3px solid var(--gold);background:linear-gradient(145deg,#11223beF,#091424f5);border-radius:16px;padding:30px;scroll-margin-top:24px;box-shadow:0 18px 40px #0006}
.ticket-card:target{outline:2px solid var(--gold);outline-offset:4px}.ticket-card .eyebrow{letter-spacing:.07em;margin-bottom:14px}
.ticket-card h2{font-size:clamp(1.65rem,3.2vw,2.2rem);line-height:1.2;margin:0 0 15px;color:var(--gold-bright)}
.venue{color:var(--muted);font-size:1rem;margin:0 0 27px}.ticket-links{display:grid;gap:13px}
.ticket-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:9px;background:#eee5d4;color:var(--navy);text-decoration:none;font-size:.9375rem;line-height:1.4;border:1px solid #d9c8a6}
.ticket-links a:hover{background:var(--gold-surface)}
.ticket-note{color:var(--muted);font-size:.875rem;text-align:center;margin:26px 0}
.return-link{display:block;width:fit-content;margin:auto;font-size:.9375rem;color:var(--gold)}
.ticket-subheading{font-size:.875rem;line-height:1.5;font-weight:700;letter-spacing:.02em;margin:0 0 13px;color:var(--muted)}
.new-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#ff8793;background:#461723;border:1px solid #c34454;border-radius:5px;padding:3px 8px;font-size:.75rem;font-weight:700;line-height:1.4;letter-spacing:.07em;vertical-align:middle}
.sales-points{border-top:1px solid #c99a4a40;margin-top:29px;padding-top:25px;scroll-margin-top:25px}
.sales-heading{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;margin-bottom:6px}
.sales-heading h3{font-size:1rem;line-height:1.45;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--cream)}
.outlet-list{list-style:none;padding:0;margin:0}
.outlet{padding:20px 0;border-bottom:1px solid #c99a4a25}
.outlet:last-child{border-bottom:0;padding-bottom:0}
.outlet h4{font-size:.9375rem;line-height:1.5;margin:0 0 6px;font-weight:700;color:var(--cream);overflow-wrap:break-word}
.outlet-address{font-size:.875rem;line-height:1.65;color:var(--muted);margin:0}
.outlet-landmark{font-size:.8125rem;color:var(--muted);line-height:1.6;margin:4px 0 0}
.outlet-actions{display:flex;flex-wrap:wrap;align-items:center;column-gap:18px;margin-top:7px}
.outlet-actions a{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:.8125rem;font-weight:700;color:var(--gold-bright);text-decoration:underline;text-decoration-color:#c99a4a70;text-underline-offset:4px}
.outlet-actions a:hover{color:var(--cream);text-decoration-color:currentColor}
@media(max-width:640px){
  .shell{padding:0 18px}.header{padding-top:20px}
  .poster-backdrop::after{background:linear-gradient(180deg,transparent 0%,rgba(5,11,21,.03) 28%,rgba(5,11,21,.40) 41%,rgba(5,11,21,.85) 57%,var(--navy) 73%)}
  .lead{font-size:.9375rem}.destinations{grid-template-columns:1fr;gap:16px;margin-top:27px}.reserve{padding:18px 21px}.button-title{font-size:1.55rem}.button-action{font-size:.875rem;margin-bottom:4px;letter-spacing:.1em}.button-meta{margin-top:9px;font-size:.9375rem}
  .teaser{margin-top:34px}.section-heading h2{font-size:1.125rem}.sound-toggle{padding:9px 13px;font-size:.875rem}.teaser-caption{font-size:.875rem}
  .ticket-grid{grid-template-columns:1fr;gap:25px}.ticket-card{padding:23px}.ticket-card h2{font-size:1.8rem}
  .page-heading h1{font-size:2rem}.tickets-page{padding-top:28px}footer{margin-top:34px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reserve{transition:none}.reserve:hover{transform:none}}
