.first-visit { margin-top:24px; padding:20px; border:1px solid #ffffff30; border-radius:12px; background:#ffffff08; }
.first-visit h3 { margin:0 0 12px; font-size:19px; line-height:1.3; font-weight:600; }
.first-visit ul { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.first-visit li { display:grid; grid-template-columns:16px 1fr; gap:8px; font-size:14px; line-height:1.55; color:#eadfe7; }
.first-visit li::before { content:'✓'; color:#edb9d3; }
.first-visit .expectation { margin:14px 0 0; font-size:13px; line-height:1.6; color:#d9ccd6; }
.seans-short { margin:0; min-width:0; width:min(100%,260px); justify-self:center; }
.seans-short .short-cover { position:relative; display:block; width:100%; aspect-ratio:4/5; overflow:hidden; padding:0; border:0; border-radius:14px; background:#160f19; color:white; text-align:left; cursor:pointer; font:inherit; }
.seans-short .short-cover[hidden],.seans-short .short-player[hidden] { display:none; }
.short-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.short-cover::after { content:''; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#100914ed); pointer-events:none; }
.short-cover .short-play { position:absolute; z-index:1; bottom:14px; left:16px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:#c21874; }
.short-cover .short-label { position:absolute; z-index:1; left:70px; right:14px; bottom:14px; min-height:42px; display:flex; flex-direction:column; justify-content:center; font-size:14px; line-height:1.35; font-weight:500; }
.short-label small { font-size:12px; font-weight:400; color:#eee0e9; margin-top:3px; }
.seans-short .short-player { position:relative; width:min(100%,260px); margin-inline:auto; aspect-ratio:4/5; border-radius:14px; overflow:hidden; background:#160f19; }
.short-player iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; }
.seans-short figcaption { margin-top:12px; font-size:12px; line-height:1.6; color:#dbced8; }
.seans-short figcaption a { color:inherit; text-underline-offset:3px; }
.seans-short figcaption span { display:block; margin-top:5px; }
.short-cover:focus-visible { outline:3px solid #edb9d3; outline-offset:4px; }
.booking-testimonial { margin:18px 0 0; padding:14px 16px; border:0; border-left:3px solid #c21874; border-radius:0 8px 8px 0; background:#faf5f8; color:#4f3a48; }
.booking-testimonial p { margin:0 0 5px; font-size:14px; line-height:1.55; font-weight:400; }
.booking-testimonial cite { font-size:12px; font-style:normal; color:#706873; }
.ticket-total small { display:block; font-size:11px; line-height:1.5; color:#706873; font-weight:400; margin-top:3px; }
.ticket-total output { white-space:nowrap; }
.ticket-total { padding-top:14px; border-top:1px solid #eadfe5; align-items:flex-start; }
.quote-section { padding-block:40px; }
.quote-section .quote-top { margin-bottom:20px; }
.quote-section .section-title { font-size:28px; }
.quote-section blockquote { padding:20px; border-radius:12px; }
.quote-section .quote-mark { display:none; }
.quote-section blockquote p { margin:0 0 12px; font-size:16px; line-height:1.6; }
@media(max-width:760px) {
  .first-visit { padding:17px; margin-top:20px; }
  .short-cover .short-label { font-size:13px; }
  .video-proof-grid { gap:24px; }
}

/* Separate the stage photograph from the copy and booking controls. */
.ticket-detail .hero { min-height:0; background:#25142d; }
.ticket-detail .hero::before,.ticket-detail .hero::after { display:none; }
.ticket-detail .hero-inner { min-height:0; grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); gap:48px; padding-block:40px; align-items:start; }
.ticket-detail .hero-copy { transform:none; min-width:0; }
.ticket-portrait { margin:0 0 24px; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:12px; }
.ticket-portrait img { width:100%; height:100%; display:block; object-fit:cover; }
.ticket-detail .hero-copy .eyebrow { margin:0 0 12px; padding:0; }
.ticket-detail .eyebrow::before { display:none; }
.ticket-detail h1 { max-width:none; font-size:clamp(32px,3.5vw,46px); line-height:1.12; }
.ticket-detail .hero-lead { margin:18px 0 22px; font-size:16px; line-height:1.65; color:#f1e9ef; }
.ticket-detail .facts { margin-bottom:22px; }
.ticket-detail .hero-proof { font-weight:400; font-size:14px; }
.ticket-detail .hero-proof::before { display:none; }
.ticket-detail .ticket-card { width:100%; max-width:none; margin:0; }
.ticket-detail .faq { padding-block:36px; }
.ticket-detail .faq-grid { gap:30px; }
.ticket-detail .faq .section-title,.ticket-detail .final-cta .section-title { font-size:clamp(26px,3vw,34px); line-height:1.2; }
.ticket-detail .final-cta { padding-block:36px; }
.ticket-detail .final-cta p { margin-block:14px 20px; }
@media(max-width:920px) {
 .ticket-detail .hero-inner { display:grid; grid-template-columns:1fr; gap:28px; padding-block:24px; }
 .ticket-detail .hero-copy,.ticket-detail .ticket-card { max-width:600px; width:100%; margin-inline:auto; }
 .ticket-portrait { max-height:280px; margin-bottom:20px; }
 .ticket-detail .hero-copy .eyebrow { margin-bottom:12px; }
}

.ticket-detail .final-cta .btn { margin-top:0; }

.first-visit .contact-invitation { margin:20px 0 0; max-width:32ch; color:#f2bad8; font-size:clamp(18px,2vw,22px); font-weight:500; line-height:1.45; text-wrap:balance; }
.first-visit .contact-invitation strong { font-weight:700; color:inherit; }

/* A single invitation within the introduction; no separate promotional panel. */
.hero .contact-invitation { display:block; margin-top:12px; color:#f1b8d5; font-size:inherit; line-height:1.5; }
.hero .contact-invitation strong { color:inherit; font-weight:600; }
.ticket-detail .hero-inner { grid-template-columns:minmax(0,1fr) minmax(350px,.85fr); gap:44px; padding-block:32px; }
.ticket-detail .hero-copy .eyebrow { font-size:11px; line-height:1.5; letter-spacing:.12em; color:#e8c1d6; }
.ticket-detail .hero-lead { font-size:16px; line-height:1.6; margin:14px 0 20px; max-width:40ch; }
.ticket-detail .facts { display:flex; flex-wrap:wrap; gap:7px 18px; margin:0; padding:16px 0 0; border-top:1px solid #ffffff26; }
.ticket-detail .fact { min-width:0; max-width:100%; padding:0; border:0; border-radius:0; background:none; color:#f1e9ef; font-size:14px; line-height:1.55; }
.ticket-detail .fact:first-child { flex-basis:100%; }
.ticket-detail .fact svg { width:16px; height:16px; }
.ticket-detail .ticket-card { padding:26px; border:0; border-radius:14px; box-shadow:none; background:#fff; backdrop-filter:none; }
.ticket-detail .ticket-card::before { display:none; }
.ticket-detail .ticket-label { font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; color:#75415e; }
.ticket-detail .ticket-card h2 { font-size:29px; line-height:1.2; margin:9px 0; }
.ticket-detail .ticket-meta { font-size:13px; line-height:1.5; margin:0 0 20px; }
.ticket-detail .ticket-options { min-height:0; margin-bottom:14px; }
.ticket-detail .ticket-picker[aria-busy="true"] .ticket-options:empty { min-height:100px; }
.ticket-detail .ticket-name { font-size:15px; font-weight:600; }
.ticket-detail .ticket-price { font-size:18px; font-weight:600; }
.ticket-detail .ticket-description { font-size:12px; line-height:1.5; }
.ticket-detail .ticket-buy { min-height:50px; border-radius:8px; font-size:16px; font-weight:600; box-shadow:none; text-transform:none; letter-spacing:0; }
.ticket-detail .ticket-buy:hover:not(:disabled) { transform:none; }
.ticket-detail .secure { align-items:flex-start; line-height:1.5; }
.ticket-detail .secure svg { flex:none; margin-top:2px; }
.ticket-detail .visit-info { padding-block:40px; background:#fff; }
.ticket-detail .visit-info .faq-grid { grid-template-columns:.8fr 1.2fr; gap:40px; }
.ticket-detail .visit-info .section-title { margin:0; font-size:28px; }
.ticket-detail .accordion details { border:0; border-bottom:1px solid #e5dce2; border-radius:0; background:transparent; margin:0; }
.ticket-detail .accordion summary { min-height:52px; padding:16px 28px 16px 0; font-size:15px; font-weight:500; }
.ticket-detail .visit-answer { padding:0 0 18px; font-size:14px; line-height:1.65; color:#655b65; }
.ticket-detail .visit-answer p { padding:0; margin:0 0 12px; font-size:14px; line-height:1.65; }
.ticket-detail .visit-answer p:last-child { margin-bottom:0; }
.ticket-detail .visit-answer a { color:#923365; text-underline-offset:3px; }
.ticket-detail .visit-times { margin:16px 0 0; max-width:380px; }
.ticket-detail .visit-times div { display:flex; justify-content:space-between; gap:20px; padding:5px 0; }
.ticket-detail .visit-times dd { margin:0; font-variant-numeric:tabular-nums; color:#322335; }
.ticket-detail .footer { padding-block:24px; }
.ticket-detail .mobile-buy { display:none; }
.ticket-detail :is(a,button,select,summary):focus-visible { outline:3px solid #c21874; outline-offset:3px; }
@media(max-width:920px) {
  .ticket-detail .hero-inner { grid-template-columns:1fr; gap:24px; padding-block:24px; }
  .ticket-detail .hero-copy,.ticket-detail .ticket-card { width:100%; max-width:600px; margin-inline:auto; }
  .ticket-detail .ticket-portrait { max-height:240px; margin-bottom:20px; }
  .ticket-detail .visit-info .faq-grid { grid-template-columns:1fr; gap:18px; max-width:600px; }
}
@media(max-width:540px) {
  .ticket-detail .hero-inner { gap:22px; padding-block:18px 24px; }
  .ticket-detail .ticket-portrait { margin-bottom:18px; border-radius:10px; max-height:205px; }
  .ticket-detail h1 { font-size:31px; line-height:1.15; }
  .ticket-detail .hero-copy .eyebrow { margin-bottom:7px; }
  .ticket-detail .hero-lead { margin:12px 0 16px; font-size:15px; }
  .ticket-detail .facts { padding-top:13px; gap:5px 14px; }
  .ticket-detail .fact { font-size:13px; }
  .ticket-detail .ticket-card { padding:20px; border-radius:12px; }
  .ticket-detail .ticket-card h2 { font-size:27px; }
  .ticket-detail .ticket-option { gap:10px; }
  .ticket-detail .visit-info { padding-block:30px; }
  .ticket-detail .visit-info .section-title { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .ticket-detail *, .ticket-detail *::before, .ticket-detail *::after { animation:none!important; transition:none!important; }
}
