/* Refinements from the conversion-focused design review. */
.audience { grid-template-columns: 230px minmax(0,1fr); align-items: center; gap: 36px; }
.audience-heading .small-heading { color: var(--ink); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.audience-heading p { margin-top: 10px; font-size: 21px; line-height: 1.25; letter-spacing: -.025em; color: var(--ink); }
.audience-list { --audience-chip-bg: #ffffff38; --audience-chip-border: #6683b34a; list-style: none; margin: 0; padding: 0; gap: 10px; }
.audience-list li { padding: 12px 18px; color: var(--ink); font-size: 15px; line-height: 1.4; border: 1px solid var(--audience-chip-border); border-radius: 4px; background: var(--audience-chip-bg); transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
/* Theme defaults must not override the paired foreground/background hover state. */
:root[data-theme="dark"] .audience-list { --audience-chip-bg: #ffffff06; --audience-chip-border: #b8d5ff35; }
@media (hover:hover) { .audience-list li:hover { color: #070828; background: var(--yellow); border-color: var(--yellow); } }
.experience-modal > img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 3/2; object-fit: contain; background: #050728; }
.experience-modal .modal-close { background: #06092de8; --icon-filter: invert(1); border: 1px solid #ffffff40; }
.tickets-section .ticket-button[hidden], .ticket-unavailable[hidden] { display: none; }
.ticket-unavailable { display: flex; align-items: center; justify-content: center; min-height: 58px; padding: 14px; border: 1px solid currentColor; border-radius: var(--button-radius); color: #52617d; font-size: 15px; font-weight: 500; text-align: center; }
.ticket-pass .ticket-unavailable { color: #b9c9e8; }
.member-coupon { display: flex; align-items: center; justify-content: space-between; gap: 32px; max-width: 1040px; margin: 34px auto 0; padding: 28px 30px; border-left: 3px solid var(--blue); background: #0035f609; }
.member-coupon h3 { font-size: 21px; letter-spacing: -.025em; }
.member-coupon p { max-width: 670px; margin-top: 9px; font-size: 15px; line-height: 1.6; text-wrap: pretty; }
.member-coupon .text-link { flex: none; color: var(--blue); font-size: 15px; text-decoration: underline; text-underline-offset: 5px; }
:root[data-theme="dark"] .member-coupon { background: #ffe43b08; border-left-color: var(--yellow); }
:root[data-theme="dark"] .member-coupon .text-link { color: var(--yellow); }
.event-preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 30px; padding: 20px 24px; border: 1px dashed #7c93bd; border-radius: 5px; background: var(--page); }
.event-preview-toolbar strong { font-size: 15px; }
.event-preview-toolbar p { max-width: 560px; margin-top: 5px; font-size: 12px; line-height: 1.5; }
.event-preview-options { display: flex; gap: 5px; flex: none; }
.event-preview-options button { padding: 12px 16px; min-height: 44px; border: 1px solid #7c93bd; border-radius: 4px; color: var(--ink); background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
.event-preview-options button[aria-pressed="true"] { background: var(--yellow); color: #070828; border-color: var(--yellow); }
.buddy-art-layout { grid-template-areas: "device copy" "device features"; align-content: center; }
.buddy-device-art { position: relative; width: min(450px,100%); margin: 0 auto 26px; aspect-ratio: 1086/1448; }
.buddy-device-art .buddy-art-device-image { width: 100%; height: auto; object-fit: contain; }
.buddy-official-logo { position: absolute; top: 10.6%; left: 63%; width: 14%; height: auto; }
@media (max-width: 980px) { .audience { grid-template-columns: 1fr; gap: 22px; } .audience-heading p br { display: none; } }
@media (max-width: 900px) { .buddy-art-layout { grid-template-areas: "copy" "device" "features"; } .buddy-device-art { width: min(390px,100%); } .event-preview-toolbar { align-items: flex-start; flex-direction: column; gap: 14px; } }
@media (max-width: 767px) {
  .audience-list li { padding: 10px 13px; font-size: 14px; }
  .member-coupon { align-items: flex-start; flex-direction: column; gap: 18px; padding: 24px; }
  .member-coupon h3 { font-size: 20px; line-height: 1.3; }
  .event-preview-toolbar { padding: 18px; }
  .event-preview-options { width: 100%; flex-wrap: wrap; }
  .event-preview-options button { flex: 1; }
  .buddy-device-art { width: min(360px,100%); margin-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) { .audience-list li { transition: none; } }
