:root {
    --black: #080807;
    --black-soft: #11110f;
    --black-card: #171714;
    --ivory: #f3efe6;
    --ivory-deep: #e8e0d2;
    --white: #fffdf8;
    --surface-card: #fffdf8;
    --surface-card-raised: #ffffff;
    --surface-field: #fbfaf6;
    --surface-field-border: #d8d0c2;
    --gold: #c99a48;
    --gold-light: #e1bd73;
    --accent-ink: #805414;
    --ink: #171612;
    --muted: #6c665d;
    --text-on-dark: #f6f1e7;
    --text-on-dark-soft: #c7c0b4;
    --text-on-dark-muted: #aaa398;
    --line-dark: rgba(255,255,255,.13);
    --line-light: rgba(18,17,14,.14);
    --shadow: 0 24px 70px rgba(0,0,0,.22);
    --space-base: #cfc6b7;
    --space-layer: radial-gradient(ellipse at 13% 15%,rgba(201,154,72,.48),transparent 32%),radial-gradient(ellipse at 83% 27%,rgba(52,76,105,.3),transparent 35%),radial-gradient(ellipse at 50% 92%,rgba(255,250,235,.82),transparent 44%);
    --space-lines: rgba(78,62,39,.13);
    --space-orbit: rgba(114,83,35,.18);
    --section-ivory: rgba(243,239,230,.74);
    --section-dark: rgba(8,8,7,.72);
    --section-dark-2: rgba(17,17,15,.7);
    --glass-card: rgba(255,253,248,.76);
    --glass-card-strong: rgba(255,253,248,.9);
    --glass-border: rgba(255,255,255,.66);
    --glass-highlight: rgba(255,255,255,.55);
    --glass-shadow: 0 28px 80px rgba(37,29,17,.16),0 5px 18px rgba(37,29,17,.08),inset 0 1px 0 rgba(255,255,255,.7);
    --radius-card: 20px;
    --radius-control: 12px;
    --container: 1240px;
    --header-height: 86px;
    --font-display: Georgia, 'Times New Roman', serif;
    --font-sans: Inter, 'Segoe UI', Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { width:100%; max-width:100%; overflow-x:hidden; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height) + 18px); }
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; --ivory:#11110f; --ivory-deep:#181713; --surface-card:#1b1a17; --surface-card-raised:#211f1a; --surface-field:#0d0d0b; --surface-field-border:#4d493f; --accent-ink:#e1bd73; --ink:#f6f1e7; --muted:#c7c0b4; --line-light:rgba(255,255,255,.18); --shadow:0 24px 70px rgba(0,0,0,.45); --space-base:#020203; --space-layer:radial-gradient(ellipse at 14% 12%,rgba(201,154,72,.34),transparent 29%),radial-gradient(ellipse at 84% 31%,rgba(35,71,119,.46),transparent 36%),radial-gradient(ellipse at 48% 88%,rgba(130,75,23,.25),transparent 43%); --space-lines:rgba(225,189,115,.14); --space-orbit:rgba(225,189,115,.17); --section-ivory:rgba(17,17,15,.66); --section-dark:rgba(4,4,4,.63); --section-dark-2:rgba(12,12,11,.61); --glass-card:rgba(24,23,20,.68); --glass-card-strong:rgba(28,27,23,.84); --glass-border:rgba(255,255,255,.15); --glass-highlight:rgba(255,255,255,.08); --glass-shadow:0 34px 95px rgba(0,0,0,.46),0 8px 24px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1); }
body { position:relative; width:100%; max-width:100%; min-height:100vh; margin:0; overflow-x:hidden; isolation:isolate; background:var(--space-base); color:var(--white); font-family:var(--font-sans); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
@supports (overflow:clip) { html,body { overflow-x:clip; } }
.space-backdrop { position:fixed; z-index:0; inset:0; width:100%; max-width:100%; height:100%; overflow:hidden; contain:strict; background:var(--space-base); pointer-events:none; }
.space-backdrop::before,.space-backdrop::after { position:absolute; inset:-15vmax; content:''; }
.space-backdrop::before { background:var(--space-layer); animation:space-drift 28s ease-in-out infinite alternate; will-change:transform; }
.space-backdrop::after { background-image:radial-gradient(circle at 20% 30%,var(--space-lines) 0 1.2px,transparent 1.8px),radial-gradient(circle at 72% 68%,var(--space-lines) 0 1.1px,transparent 1.7px),repeating-radial-gradient(ellipse at 50% 45%,transparent 0 92px,var(--space-lines) 93px 94.5px,transparent 97px 168px); background-size:78px 78px,127px 127px,100% 100%; opacity:1; transform:scale(1.12); }
.space-backdrop span { position:absolute; border:1px solid var(--space-orbit); border-radius:50%; box-shadow:0 0 90px rgba(201,154,72,.08),inset 0 0 90px rgba(201,154,72,.035); transform:rotate(-18deg); }
.space-backdrop span:first-child { top:8vh; right:-28vw; width:78vw; height:58vw; }
.space-backdrop span:last-child { bottom:-36vw; left:-22vw; width:72vw; height:72vw; transform:rotate(24deg); }
@keyframes space-drift { from { transform:scale(1.02) translate3d(-1.2%,0,0); } to { transform:scale(1.08) translate3d(1.2%,-1%,0); } }
body.nav-open { overflow: hidden; }
body.share-open { overflow: hidden; }
img { display: block; max-width: 100%; }
iframe,video,canvas,svg { max-width:100%; }
main,header,footer,section { max-width:100%; }
main :where(article,div,section,aside,form) { min-width:0; }
.prose a,.contact-detail p,.footer-contact,.ticket-seller { overflow-wrap:anywhere; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
p { margin: 0 0 1.25rem; }
h1, h2, h3 { margin: 0; font-family: var(--font-display); font-weight: 500; font-kerning: normal; font-feature-settings: 'kern','liga'; letter-spacing: -.018em; line-height: 1.08; text-wrap: balance; }
h1 { font-size: clamp(3rem, 7vw, 6.9rem); }
h2 { font-size: clamp(2.15rem, 4vw, 4.2rem); }
h3 { font-size: clamp(1.22rem, 2vw, 1.6rem); }
::selection { background: var(--gold); color: var(--black); }

.container { width: min(calc(100% - 40px), var(--container)); max-width:100%; min-width:0; margin-inline: auto; }
.container--narrow { width: min(calc(100% - 40px), 780px); }
.section { padding: clamp(76px, 9vw, 132px) 0; }
.section { position:relative; }
.section--dark { background: var(--section-dark); color: var(--white); backdrop-filter:blur(3px); }
.section--dark-2 { background: var(--section-dark-2); color: var(--white); backdrop-filter:blur(3px); }
.section--ivory { background: var(--section-ivory); color: var(--ink); backdrop-filter:blur(3px); }
.sr-only { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 16px; background: var(--gold); color: var(--black); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.eyebrow { margin: 0 0 14px; color: var(--gold-light); font-size: .76rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow--dark { color: var(--accent-ink); }
.lead { position: relative; padding-left: 20px; font-size: clamp(1.04rem, 1.8vw, 1.24rem); line-height: 1.75; }
.lead::before { position: absolute; top: .2em; bottom: .2em; left: 0; width: 2px; background: linear-gradient(var(--gold-light),var(--gold),transparent); content: ''; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; border: 1px solid transparent; padding: 11px 22px; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease; cursor: pointer; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }
.button--gold { background: var(--gold); color: var(--black); }
.button--gold:hover { background: var(--gold-light); }
.button--dark { background: var(--black); color: var(--white); }
.button--dark:hover { background: #2a2823; }
.button--outline { border-color: var(--gold); color: var(--gold-light); background: transparent; }
.button--outline:hover { background: var(--gold); color: var(--black); }
.text-link { color: var(--gold-light); font-size: .82rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.text-link span { display: inline-block; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(5px); }
.text-link--dark { color: var(--accent-ink); }
.section-heading { max-width: 720px; margin-bottom: 44px; }
.section-heading h2 { position: relative; padding-bottom: 18px; }
.section-heading h2::after { position: absolute; bottom: 0; left: 0; width: 52px; height: 2px; background: linear-gradient(90deg,var(--gold),var(--gold-light),transparent); content: ''; }
.section-heading > p:not(.eyebrow) { margin-top: 18px; color: var(--muted); }
.section--dark .section-heading > p:not(.eyebrow),.section--dark-2 .section-heading > p:not(.eyebrow) { color:var(--text-on-dark-soft); }
.section-heading--row { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 28px; }

.site-header { position:sticky; z-index:300; top:0; height:var(--header-height); border-bottom:1px solid var(--line-dark); background:#040403; box-shadow:none; transform:none; transition:transform .34s cubic-bezier(.22,.7,.22,1),background-color .3s ease,border-color .3s ease,box-shadow .3s ease; }
.site-header.is-at-top { background:#040403; border-bottom-color:rgba(255,255,255,.12); }
.site-header.is-scrolled { border-bottom-color:rgba(255,255,255,.16); background:rgba(7,7,6,.66); box-shadow:0 16px 44px rgba(0,0,0,.22); -webkit-backdrop-filter:blur(20px) saturate(1.28); backdrop-filter:blur(20px) saturate(1.28); }
.site-header.is-hidden:not(:focus-within) { transform:translateY(calc(-100% - 2px)); pointer-events:none; }
.site-header__inner { display: flex; height: 100%; align-items: center; justify-content: space-between; gap: 18px; }
.site-logo { width: 158px; height: 78px; flex: 0 0 auto; overflow: hidden; }
.site-logo img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 4px 13px rgba(0,0,0,.4)); transition:filter .3s ease,transform .3s ease; }
.site-logo:hover img { filter:drop-shadow(0 5px 17px rgba(201,154,72,.22)); transform:scale(1.025); }
.site-nav { display: flex; align-items: center; gap: clamp(12px, 1.45vw, 23px); }
.site-nav__link { position: relative; padding: 31px 0 26px; color: #e8e4db; font-size: .73rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.site-nav__link::after { position: absolute; right: 0; bottom: 17px; left: 0; height: 2px; background: var(--gold); content: ''; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.site-nav__link:hover::after, .site-nav__link.is-active::after { transform: scaleX(1); transform-origin: left; }
.site-nav__link.is-active { color: var(--gold-light); }
.nav-toggle { display: none; width: 48px; height: 48px; border: 0; background: transparent; cursor: pointer; }
.nav-toggle span:not(.sr-only) { display: block; width: 27px; height: 2px; margin: 6px auto; background: var(--white); transition: transform .2s, opacity .2s; }
.nav-backdrop { display:none; }
.site-actions { display:flex; flex:0 0 auto; align-items:center; gap:8px; }
.language-menu { position:relative; }
.language-menu.is-open { z-index:520; }
.language-menu__trigger { display:grid; width:auto; min-width:78px; height:40px; grid-template-columns:auto auto auto; align-items:center; justify-content:center; gap:7px; padding:0 10px; border:1px solid rgba(255,255,255,.25); border-radius:var(--radius-control); background:rgba(17,17,15,.78); color:#f5f1e8; cursor:pointer; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.language-menu__trigger:hover,.language-menu__trigger[aria-expanded="true"] { border-color:var(--gold); background:#211b12; }
.language-menu__mark { color:var(--gold-light); font-family:var(--font-display); font-size:.82rem; line-height:1; }
.language-menu__current { min-width:20px; font-size:.72rem; font-weight:900; letter-spacing:.08em; text-align:center; }
.language-menu__chevron { color:#cfc7b8; font-size:.92rem; line-height:1; transform:translateY(-1px); transition:transform .2s ease; }
.language-menu__trigger[aria-expanded="true"] .language-menu__chevron { transform:rotate(180deg) translateY(1px); }
.language-menu__options { position:absolute; z-index:530; top:calc(100% + 12px); right:0; width:230px; padding:8px; border:1px solid rgba(225,189,115,.25); border-radius:16px; background:linear-gradient(145deg,rgba(201,154,72,.12),transparent 38%),rgba(7,7,6,.98); box-shadow:0 24px 70px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.07); -webkit-backdrop-filter:blur(22px) saturate(1.2); backdrop-filter:blur(22px) saturate(1.2); }
.language-menu__options[hidden] { display:none; }
.language-menu__option { display:grid; min-height:46px; grid-template-columns:40px 1fr 18px; align-items:center; gap:10px; padding:8px 11px; border:1px solid transparent; border-radius:11px; color:#d9d3c8; }
.language-menu__option:hover,.language-menu__option:focus-visible { border-color:rgba(201,154,72,.32); background:rgba(201,154,72,.1); color:#fff; outline:none; }
.language-menu__option.is-active { background:rgba(201,154,72,.14); color:var(--gold-light); }
.language-menu__code { color:var(--gold-light); font-size:.7rem; font-weight:900; letter-spacing:.08em; }
.language-menu__name { font-family:var(--font-display); font-size:1rem; }
.language-menu__check { color:var(--gold-light); font-size:.78rem; text-align:right; }
.theme-toggle { position:relative; width:40px; height:38px; padding:0; border:1px solid rgba(255,255,255,.25); border-radius:var(--radius-control); background:rgba(17,17,15,.74); color:var(--gold-light); cursor:pointer; backdrop-filter:blur(10px); }
.theme-toggle:hover { border-color:var(--gold); background:#211b12; }
.theme-toggle span { position:absolute; inset:0; display:grid; place-items:center; font-size:1.15rem; transition:opacity .2s, transform .2s; }
.theme-toggle__sun { opacity:0; transform:rotate(-35deg) scale(.7); }
.theme-toggle__moon { opacity:1; }
html[data-theme="dark"] .theme-toggle__sun { opacity:1; transform:none; }
html[data-theme="dark"] .theme-toggle__moon { opacity:0; transform:rotate(35deg) scale(.7); }

html[data-theme="dark"] .eyebrow--dark,html[data-theme="dark"] .text-link--dark,html[data-theme="dark"] .prose a,html[data-theme="dark"] .back-link--dark { color:var(--gold-light); }
html[data-theme="dark"] .button--dark { border-color:var(--gold); background:var(--gold); color:var(--black); }
html[data-theme="dark"] .button--dark:hover { background:var(--gold-light); }
html[data-theme="dark"] .form-grid label { color:var(--ink); }
html[data-theme="dark"] .date-badge { background:#e8e0d2; color:#171612; }
html[data-theme="dark"] .flash { background:var(--surface-card-raised); color:var(--ink); }
html[data-theme="dark"] .flash button { color:var(--ink); }
html[data-theme="dark"] .news-card time,html[data-theme="dark"] .article-header time,html[data-theme="dark"] .timeline span,html[data-theme="dark"] .fact-list dt,html[data-theme="dark"] .member-card p,html[data-theme="dark"] .event-row__meta,html[data-theme="dark"] .event-row__venue,html[data-theme="dark"] .contact-detail > span,html[data-theme="dark"] .ticket-event__meta { color:var(--gold-light); }
html[data-theme="dark"] .ticket-seller em { color:#9db9df; }
html[data-theme="dark"] .ticket-event__content > h3 a:hover,html[data-theme="dark"] .ticket-seller > b,html[data-theme="dark"] .ticket-fallback > span,html[data-theme="dark"] .tickets-trust span { color:var(--gold-light); }
html.theme-changing body,html.theme-changing .section,html.theme-changing .news-card,html.theme-changing .member-card,html.theme-changing .event-row,html.theme-changing .video-card,html.theme-changing .contact-form,html.theme-changing .ticket-event,html.theme-changing .maintenance-card { transition:background-color .35s ease,color .35s ease,border-color .35s ease; }

.flash-stack { position: fixed; z-index: 200; top: 102px; right: 0; left: 0; pointer-events: none; }
.flash { display: flex; width: min(100%, 620px); margin: 0 0 10px auto; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px 14px 20px; border-left: 4px solid var(--gold); background: #f9f5ec; box-shadow: var(--shadow); color: var(--ink); pointer-events: auto; }
.flash--error { border-left-color: #a53131; }
.flash button { border: 0; background: transparent; color: var(--ink); font-size: 1.5rem; cursor: pointer; }

.hero { position: relative; height: min(720px, calc(100vh - var(--header-height))); min-height: 590px; overflow: hidden; background: #050505; }
.hero__slides, .hero__slide { position: absolute; inset: 0; }
.hero__slide { visibility: hidden; opacity: 0; transition: opacity .8s ease, visibility .8s; }
.hero__slide.is-active { visibility: visible; opacity: 1; }
.hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; transform: scale(1.02); transition: transform 8s linear; }
.hero__video { background:#050505; }
.hero__slide.is-active .hero__image { transform: scale(1.09); }
.hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.89) 0%, rgba(0,0,0,.58) 40%, rgba(0,0,0,.12) 72%), linear-gradient(0deg,rgba(0,0,0,.52),transparent 45%); }
.hero__content { position: relative; z-index: 2; display: flex; height: 100%; max-width: var(--container); flex-direction: column; align-items: flex-start; justify-content: center; padding-top: 10px; }
.hero h1 { max-width: 760px; color: var(--white); font-size: clamp(3.4rem, 7.5vw, 7.2rem); letter-spacing: -.035em; text-transform: uppercase; }
.hero__subtitle { margin: 18px 0 32px; color: var(--gold-light); font-family: var(--font-display); font-size: clamp(1.35rem, 3vw, 2.35rem); }
.hero__arrow { position: absolute; z-index: 4; top: 50%; width: 52px; height: 70px; border: 0; background: rgba(0,0,0,.2); color: #fff; font-family: var(--font-display); font-size: 3rem; line-height: 1; transform: translateY(-50%); cursor: pointer; transition: background .2s; }
.hero__arrow:hover { background: rgba(0,0,0,.65); }
.hero__arrow--prev { left: 10px; }
.hero__arrow--next { right: 10px; }
.hero__dots { position: absolute; z-index: 4; right: 0; bottom: 28px; left: 0; display: flex; justify-content: center; gap: 9px; }
.hero__dots button { width: 9px; height: 9px; padding: 0; border: 1px solid white; border-radius: 50%; background: transparent; cursor: pointer; }
.hero__dots button.is-active { background: var(--gold); border-color: var(--gold); }
.hero__autoplay { position:absolute; z-index:5; right:24px; bottom:22px; display:grid; width:42px; height:42px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.32); border-radius:50%; background:rgba(5,5,4,.54); color:var(--gold-light); font-family:var(--font-sans); font-size:.8rem; font-weight:900; cursor:pointer; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.hero__autoplay:hover { border-color:var(--gold); background:rgba(5,5,4,.82); transform:scale(1.05); }
.hero__autoplay[aria-pressed="true"] { color:#fff; }

.values { padding: 38px 0 34px; border-top: 1px solid rgba(201,154,72,.2); }
.values__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.values article { min-height: 142px; padding: 6px 30px; border-right: 1px solid var(--line-dark); text-align: center; }
.values article:last-child { border-right: 0; }
.value-icon { display: block; height: 41px; color: var(--gold); font-family: var(--font-display); font-size: 2.5rem; line-height: 1; }
.values h2 { margin: 12px 0 7px; color: var(--gold-light); font-family: var(--font-sans); font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.values p { margin: 0; color: #b8b3a9; font-size: .87rem; line-height: 1.55; }

.split-feature { display: grid; grid-template-columns: .88fr 1.25fr; align-items: center; gap: clamp(55px, 8vw, 120px); }
.split-feature__copy h2 { margin-bottom: 25px; }
.split-feature__copy .button { margin-top: 12px; }
.split-feature__media { position: relative; }
.split-feature__media img { position: relative; z-index: 2; width: 100%; aspect-ratio: 16/9; object-fit: cover; box-shadow: var(--shadow); }
.gold-frame { position: absolute; z-index: 1; top: 22px; right: -20px; bottom: -22px; left: 22px; border: 2px solid var(--gold); }

.event-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.event-card { border: 1px solid rgba(201,154,72,.5); background: linear-gradient(145deg,#151512,#0c0c0b); }
.event-card__image { position: relative; display: block; aspect-ratio: 1.45; overflow: hidden; }
.event-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.event-card:hover .event-card__image img { transform: scale(1.055); }
.date-badge { position: absolute; top: 0; left: 0; display: flex; min-width: 64px; height: 72px; flex-direction: column; align-items: center; justify-content: center; background: var(--ivory); color: var(--ink); font-size: .7rem; font-weight: 800; }
.date-badge strong { display: block; font-family: var(--font-display); font-size: 1.85rem; line-height: .95; }
.event-card__body { padding: 24px 22px 26px; }
.event-card h3 { min-height: 2.2em; margin-bottom: 18px; font-family: var(--font-sans); font-size: 1.03rem; font-weight: 750; line-height: 1.25; text-transform: uppercase; }
.meta-line { display: flex; gap: 8px; margin: 4px 0; color: #bdb8ad; font-size: .8rem; }
.meta-line span { color: var(--gold); }
.event-card .button { min-height: 39px; margin-top: 18px; padding: 8px 15px; font-size: .68rem; }
.empty-state { padding: 55px; border: 1px solid var(--line-dark); text-align: center; }
.empty-state p { color: #bdb8ad; font-family: var(--font-display); font-size: 1.45rem; }
.empty-state--light { border-color: var(--line-light); }
.empty-state--light p { color: var(--muted); }

.news-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.news-card { overflow: hidden; background: var(--surface-card); box-shadow: 0 12px 35px rgba(30,25,15,.08); }
.news-card > a { display: block; aspect-ratio: 1.52; overflow: hidden; }
.news-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.news-card:hover img { transform: scale(1.045); }
.news-card > div { padding: 25px 26px 30px; }
.news-card time { color: #956a28; font-size: .73rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.news-card h3, .news-card h2 { margin: 11px 0 14px; font-size: 1.5rem; line-height: 1.2; }
.news-card p { margin: 0; color: var(--muted); font-size: .94rem; }
.news-grid--archive { grid-template-columns: repeat(2,1fr); }
.news-grid--archive .news-card { display: grid; grid-template-columns: 44% 1fr; }
.news-grid--archive .news-card > a { height: 100%; aspect-ratio: auto; }

.video-feature__grid { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 70px; }
.video-feature h2 { margin-bottom: 22px; }
.video-feature p:not(.eyebrow) { color: var(--text-on-dark-soft); }
.video-feature .button { margin-top: 12px; }
.video-frame { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #000; box-shadow: var(--shadow); }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.page-hero { position: relative; display: flex; min-height: 420px; align-items: center; overflow: hidden; background-position: center; background-size: cover; }
.page-hero::before { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.35)),linear-gradient(0deg,rgba(0,0,0,.5),transparent); content: ''; }
.page-hero > .container { position: relative; z-index: 1; padding-top: 20px; }
.page-hero h1 { font-size: clamp(3.5rem, 7vw, 6.3rem); }
.page-hero p:last-child { max-width: 670px; margin-top: 16px; color: #ddd7cc; font-family: var(--font-display); font-size: clamp(1.15rem,2.4vw,1.65rem); }
.page-hero--history { background-image: url('../images/generated/band-stage-1600.webp'); background-position: center 42%; }
.page-hero--band { background-image: url('../images/generated/hero-band-1600.webp'); }
.page-hero--events { background-image: url('../images/generated/conductor-960.webp'); }
.page-hero--tickets { background-image: url('../images/generated/hero-band-1600.webp'); background-position:center 46%; }
.page-hero--news { background-image: url('../images/young-artists.jpg'); }
.page-hero--gallery { background-image: url('../images/generated/band-stage-1600.webp'); }
.page-hero--videos { background-image: url('../images/generated/hero-band-1600.webp'); }
.page-hero--contact { background-image: url('../images/generated/conductor-960.webp'); background-position: center 32%; }
.page-hero--simple { min-height: 330px; background: radial-gradient(circle at 75% 20%,#3b2b12 0,transparent 32%),var(--black); }

.history-layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.72fr); gap: clamp(60px,8vw,120px); align-items: start; }
.prose { font-size: 1.06rem; line-height: 1.85; }
.prose h2 { margin: 0 0 28px; }
.prose h3 { margin: 35px 0 12px; }
.prose p { margin-bottom: 1.4rem; }
.prose a { color: #795315; text-decoration: underline; text-underline-offset: 3px; }
.article-body .prose > p:first-child::first-letter,.history-layout .prose > p:first-child::first-letter { float:left; margin:.08em .12em 0 0; color:var(--accent-ink); font-family:var(--font-display); font-size:3.55em; line-height:.78; }
.history-aside { position: sticky; top: 115px; }
.history-aside img { width: 100%; aspect-ratio: 1.14; object-fit: cover; box-shadow: var(--shadow); }
.fact-list { margin: 0; padding: 0; }
.fact-list div { display: grid; grid-template-columns: 110px 1fr; align-items: center; padding: 21px 10px; border-bottom: 1px solid var(--line-light); }
.fact-list dt { color: #94651c; font-family: var(--font-display); font-size: 2rem; }
.fact-list dd { margin: 0; color: var(--muted); }
.quote-band { background: linear-gradient(100deg,rgba(0,0,0,.88),rgba(0,0,0,.6)),url('../images/generated/hero-band-1600.webp') center/cover; }
.quote-band blockquote { max-width: 950px; margin: 0 auto; color: var(--white); font-family: var(--font-display); font-size: clamp(1.7rem,3.6vw,3.1rem); line-height: 1.35; text-align: center; }
.quote-band cite { display: block; margin-top: 24px; color: var(--gold-light); font-family: var(--font-sans); font-size: .8rem; font-style: normal; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.timeline { position: relative; display: grid; grid-template-columns: repeat(5,1fr); gap: 0; }
.timeline::before { position: absolute; top: 16px; right: 8%; left: 8%; height: 1px; background: var(--gold); content: ''; }
.timeline article { position: relative; padding: 52px 25px 0; text-align: center; }
.timeline article::before { position: absolute; top: 9px; left: calc(50% - 8px); width: 15px; height: 15px; border: 3px solid var(--ivory); border-radius: 50%; background: var(--gold); content: ''; }
.timeline span { color: #936519; font-size: .75rem; font-weight: 900; letter-spacing: .08em; }
.timeline h3 { margin: 9px 0 12px; font-size: 1.35rem; }
.timeline p { color: var(--muted); font-size: .9rem; }

.members-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.member-card { overflow: hidden; border: 1px solid var(--line-light); background: var(--surface-card); transition: transform .25s, box-shadow .25s; }
.member-card:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(45,37,24,.12); }
.member-card img, .member-card__placeholder { width: 100%; aspect-ratio: 1/1.08; object-fit: cover; }
.member-card img { filter: grayscale(1) contrast(1.04); transform: scale(1.005); transition: filter .6s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.member-card:hover img, .member-card:focus-within img { filter: grayscale(0) contrast(1); transform: scale(1.045); }
.member-card__placeholder { display: grid; place-items: center; background: radial-gradient(circle at 50% 35%,#42331e,#12110e 70%); color: var(--gold); }
.member-card__placeholder span { font-family: var(--font-display); font-size: 4rem; }
.member-card > div:last-child { padding: 21px 20px; }
.member-card h3 { font-size: 1.25rem; }
.member-card p { margin: 7px 0 0; color: #94651f; font-size: .76rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.member-card .member-card__bio { color: var(--muted); font-size: .86rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.instrument-strip { display: grid; grid-template-columns: repeat(5,1fr); gap: 15px; }
.instrument-strip figure { position: relative; margin: 0; overflow: hidden; }
.instrument-strip img { width: 100%; aspect-ratio: .78; object-fit: cover; filter: saturate(.75); transition: transform .4s, filter .4s; }
.instrument-strip figure:hover img { transform: scale(1.04); filter: saturate(1); }
.instrument-strip figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 32px 15px 14px; background: linear-gradient(transparent,rgba(0,0,0,.9)); color: var(--gold-light); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }

.event-list { display: grid; gap: 18px; }
.event-row { display: grid; grid-template-columns: 88px 220px 1fr auto; min-height: 185px; align-items: center; gap: 30px; border: 1px solid var(--line-light); background: var(--surface-card); }
.event-row__date { align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--black); color: var(--gold-light); }
.event-row__date strong { font-family: var(--font-display); font-size: 2.5rem; line-height: 1; }
.event-row__date span { font-size: .72rem; font-weight: 800; }
.event-row > img { width: 220px; height: 100%; min-height: 185px; object-fit: cover; }
.event-row__copy { padding: 22px 0; }
.event-row__copy h2 { margin: 4px 0 9px; font-size: 1.65rem; }
.event-row__copy > p:not(.event-row__meta) { margin: 0 0 8px; color: var(--muted); font-size: .9rem; }
.event-row__meta, .event-row__venue { margin: 0; color: #92631a; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.event-row > .button { margin-right: 28px; }
.event-row__actions { display:flex; flex-direction:column; gap:8px; margin-right:28px; }
.event-row__actions .button { white-space:nowrap; }
.button--share { gap:8px; border-color:rgba(128,84,20,.42); background:rgba(201,154,72,.08); color:var(--ink); }
.button--share:hover { border-color:var(--gold); background:rgba(201,154,72,.17); }
.button--share > span { color:var(--accent-ink); font-size:1rem; line-height:1; }
.archive-list { border-top: 1px solid var(--line-dark); }
.archive-list a { display: grid; grid-template-columns: 180px 1fr 260px; gap: 25px; padding: 25px 10px; border-bottom: 1px solid var(--line-dark); align-items: center; }
.archive-list a:hover strong { color: var(--gold-light); }
.archive-list time { color: var(--gold); font-size: .77rem; font-weight: 800; }
.archive-list strong { font-family: var(--font-display); font-size: 1.25rem; font-weight: 500; transition: color .2s; }
.archive-list span { color: var(--text-on-dark-soft); font-size: .87rem; text-align: right; }

.detail-hero { position: relative; min-height: 570px; background: var(--black); overflow: hidden; }
.detail-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.detail-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.32)); }
.detail-hero .container { position: relative; z-index: 1; display: flex; min-height: 570px; max-width: 900px; flex-direction: column; align-items: flex-start; justify-content: center; margin-left: max(20px,calc((100% - var(--container))/2)); }
.detail-hero h1 { font-size: clamp(3rem,6vw,6rem); }
.detail-hero .container > p:last-child { max-width: 700px; margin-top: 18px; font-size: 1.2rem; }
.back-link { display: inline-block; margin-bottom: 38px; color: #ddd8ce; font-size: .78rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.back-link--dark { color: #795315; }
.detail-layout { display: grid; grid-template-columns: 1fr 350px; gap: 90px; align-items: start; }
.detail-card { padding: 30px; background: var(--black); color: var(--white); box-shadow: var(--shadow); }
.detail-card h2 { margin-bottom: 25px; font-size: 1.8rem; }
.detail-card dl { margin: 0 0 26px; }
.detail-card dl div { padding: 14px 0; border-bottom: 1px solid var(--line-dark); }
.detail-card dt { color: var(--gold); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.detail-card dd { margin: 4px 0 0; }

.article-header { padding: 100px 0 70px; background: var(--ivory); color: var(--ink); text-align: center; }
.article-header time { color: #94651c; font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.article-header h1 { margin: 18px 0 24px; font-size: clamp(2.8rem,6vw,5.2rem); }
.article-header p { color: var(--muted); font-family: var(--font-display); font-size: 1.3rem; }
.article-header .back-link { display: block; margin-bottom: 40px; }
.article-image { position: relative; z-index: 2; margin-top: -28px; }
.article-image img { width: 100%; max-height: 680px; object-fit: cover; box-shadow: var(--shadow); }
.article-body { padding: 70px 0 110px; background: var(--ivory); color: var(--ink); }
.article-share { display: flex; gap: 20px; margin-top: 55px; padding-top: 25px; border-top: 1px solid var(--line-light); font-size: .82rem; font-weight: 800; }

/* Immersive gallery */
.gallery-experience { position:relative; overflow:hidden; min-height:980px; padding:clamp(105px,10vw,155px) 0; isolation:isolate; background:#050504; }
.gallery-atmosphere { position:absolute; z-index:-2; inset:-14%; overflow:hidden; background:radial-gradient(circle at 50% 44%,rgba(201,154,72,.28),transparent 44%),#080806; }
.gallery-atmosphere::after { position:absolute; inset:0; background:linear-gradient(115deg,rgba(5,5,4,.72),rgba(10,7,17,.32) 50%,rgba(3,8,20,.74)),radial-gradient(circle at 50% 46%,transparent 12%,rgba(3,3,3,.66) 76%); content:''; }
.gallery-atmosphere img { width:100%; height:100%; object-fit:cover; opacity:.56; filter:blur(88px) saturate(1.2); transform:scale(1.18); transition:opacity .35s ease; }
.gallery-experience__container { position:relative; }
.gallery-stage-frame { position:relative; min-height:800px; overflow:hidden; padding:clamp(52px,6vw,82px) clamp(18px,5vw,66px) 42px; border:1px solid rgba(255,255,255,.54); border-radius:clamp(30px,4vw,56px); background:linear-gradient(145deg,rgba(255,255,255,.62),transparent 23%),rgba(249,245,235,.9); color:#15130f; box-shadow:0 60px 160px rgba(0,0,0,.62),0 0 0 10px rgba(226,201,151,.1),inset 0 1px 0 #fff; -webkit-backdrop-filter:blur(34px) saturate(1.2); backdrop-filter:blur(34px) saturate(1.2); }
.gallery-stage-frame::before { position:absolute; inset:9px; border:1px solid rgba(166,113,31,.18); border-radius:calc(clamp(30px,4vw,56px) - 8px); content:''; pointer-events:none; }
.gallery-stage-header { position:relative; z-index:3; max-width:690px; margin:0 auto; text-align:center; }
.gallery-stage-header .eyebrow { color:#8a5b15; }
.gallery-stage-header h1 { margin:11px 0 13px; color:#12100d; font-size:clamp(2.75rem,5.5vw,5.25rem); }
.gallery-stage-header > p:last-child { color:#5d5549; font-size:clamp(.95rem,1.5vw,1.13rem); }
.gallery-filters { position:relative; z-index:4; display:flex; max-width:100%; flex-wrap:wrap; justify-content:center; gap:9px; margin:33px auto 15px; }
.gallery-filters button { min-height:42px; padding:9px 19px; border:1px solid rgba(45,37,25,.33); border-radius:999px; background:rgba(255,255,255,.35); color:#363027; font:800 .68rem/1 var(--font-sans); letter-spacing:.07em; text-transform:uppercase; cursor:pointer; transition:color .22s,background .22s,border-color .22s,transform .22s; }
.gallery-filters button:hover { border-color:#9b681d; transform:translateY(-2px); }
.gallery-filters button.is-active { border-color:#17140f; background:#17140f; color:#fff7e7; }
.gallery-stage { --gallery-step:clamp(175px,24vw,365px); position:relative; height:clamp(410px,45vw,570px); margin-top:10px; outline:none; perspective:1400px; touch-action:pan-y; }
.gallery-stage:focus-visible { outline:2px solid #a66c17; outline-offset:8px; }
.gallery-stage-card { position:absolute; z-index:var(--gallery-z,1); top:50%; left:50%; width:clamp(270px,34vw,500px); height:clamp(355px,40vw,530px); overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.32); border-radius:clamp(19px,2vw,30px); background:#17140f; box-shadow:0 26px 65px rgba(11,8,4,.28); opacity:var(--gallery-opacity,0); cursor:zoom-in; pointer-events:none; transform:translate(-50%,-50%) translateX(calc(var(--gallery-offset,0) * var(--gallery-step))) scale(var(--gallery-scale,.6)) rotateY(calc(var(--gallery-offset,0) * -4deg)) rotateZ(calc(var(--gallery-offset,0) * 1.2deg)); transition:transform .72s cubic-bezier(.2,.78,.22,1),opacity .45s,border-color .35s,box-shadow .35s; transform-style:preserve-3d; }
.gallery-stage-card[data-gallery-visible="true"] { pointer-events:auto; }
.gallery-stage-card.is-active { border-color:rgba(232,194,112,.9); box-shadow:0 34px 95px rgba(7,5,3,.48),0 0 0 5px rgba(198,143,49,.13); }
.gallery-stage-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.58) brightness(.7); transition:filter .6s,transform 1s; }
.gallery-stage-card.is-active img { filter:saturate(1) brightness(.92); }
.gallery-stage-card:hover img { filter:saturate(1) brightness(.78); transform:scale(1.025); }
.gallery-stage-card span,.gallery-archive-item span { position:absolute; right:0; bottom:0; left:0; display:flex; align-items:end; justify-content:space-between; gap:15px; padding:65px 20px 18px; background:linear-gradient(transparent,rgba(4,4,3,.9)); color:#fff; text-align:left; }
.gallery-stage-card span strong,.gallery-archive-item span strong { font-family:var(--font-display); font-size:1.15rem; font-weight:500; }
.gallery-stage-card span small,.gallery-archive-item span small { flex:0 0 auto; color:#e9cb91; font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.gallery-stage-controls { position:relative; z-index:4; display:grid; width:min(100%,430px); grid-template-columns:52px 1fr 52px; gap:14px; align-items:center; margin:-4px auto 0; }
.gallery-stage-controls button,.lightbox__controls button { display:grid; width:52px; height:52px; place-items:center; padding:0; border:1px solid rgba(39,32,22,.48); border-radius:50%; background:rgba(255,255,255,.36); color:#19150f; font-size:1.35rem; cursor:pointer; transition:background .22s,border-color .22s,color .22s,transform .22s; }
.gallery-stage-controls button:hover { border-color:#a56c18; background:#17140f; color:#fff; transform:scale(1.06); }
.gallery-stage-controls p { margin:0; color:#6d6253; font-size:.71rem; font-weight:800; letter-spacing:.05em; text-align:center; text-transform:uppercase; }
.gallery-archive-section { background:var(--surface-section); }
.gallery-archive-heading { display:grid; grid-template-columns:1fr minmax(260px,430px); gap:40px; align-items:end; }
.gallery-archive-heading > p { color:var(--muted); line-height:1.7; }
.gallery-archive { margin-top:45px; columns:3 290px; column-gap:18px; }
.gallery-archive-item { position:relative; display:block; width:100%; overflow:hidden; break-inside:avoid; margin:0 0 18px; padding:0; border:0; border-radius:22px; background:#17140f; box-shadow:0 15px 42px rgba(25,18,8,.14); cursor:zoom-in; }
.gallery-archive-item[hidden] { display:none; }
.gallery-archive-item img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:filter .45s,transform .65s; }
.gallery-archive-item--portrait img { aspect-ratio:4/5; }
.gallery-archive-item--panorama img { aspect-ratio:16/9; }
.gallery-archive-item span { opacity:0; transform:translateY(12px); transition:opacity .3s,transform .3s; }
.gallery-archive-item:hover img { filter:brightness(.72) saturate(.9); transform:scale(1.035); }
.gallery-archive-item:hover span,.gallery-archive-item:focus-visible span { opacity:1; transform:none; }

.lightbox { position:fixed; z-index:900; inset:0; display:grid; place-items:center; padding:clamp(18px,4vw,58px); color:#fff; }
.lightbox[hidden] { display:none; }
.lightbox__backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(2,2,2,.84); cursor:zoom-out; -webkit-backdrop-filter:blur(24px) saturate(.75); backdrop-filter:blur(24px) saturate(.75); }
.lightbox__panel { position:relative; z-index:1; display:grid; width:100%; height:100%; max-width:1500px; place-items:center; outline:none; }
.lightbox figure { display:grid; max-width:100%; max-height:100%; grid-template-rows:minmax(0,1fr) auto; gap:14px; margin:0; }
.lightbox__image-wrap { display:grid; min-height:0; place-items:center; touch-action:pan-y; }
.lightbox img { display:block; max-width:min(1220px,88vw); max-height:78vh; border-radius:18px; object-fit:contain; box-shadow:0 32px 120px #000; }
.lightbox figcaption { display:flex; max-width:min(1120px,86vw); align-items:end; justify-content:space-between; gap:24px; margin:0 auto; }
.lightbox figcaption p { margin:0; color:#fff; font-family:var(--font-display); font-size:clamp(1.15rem,2vw,1.65rem); }
.lightbox figcaption time { display:block; margin-top:3px; color:#dcc18d; font-size:.69rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.lightbox figcaption > span { color:#c9c3b8; font-size:.72rem; font-weight:800; letter-spacing:.1em; white-space:nowrap; }
.lightbox__close { position:fixed; z-index:3; top:max(18px,env(safe-area-inset-top)); right:max(22px,env(safe-area-inset-right)); display:grid; width:48px; height:48px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:rgba(12,12,10,.42); color:#fff; font-size:2rem; line-height:1; cursor:pointer; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.lightbox__controls { position:absolute; z-index:2; top:50%; right:0; left:0; display:flex; justify-content:space-between; pointer-events:none; transform:translateY(-50%); }
.lightbox__controls button { border-color:rgba(255,255,255,.4); background:rgba(12,12,10,.5); color:#fff; pointer-events:auto; }
.lightbox__controls button:hover { border-color:#dfb864; background:#dfb864; color:#15120c; transform:scale(1.08); }
body.lightbox-open { overflow:hidden; }
html[data-theme="dark"] .gallery-stage-frame { border-color:rgba(237,210,154,.2); background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 25%),rgba(18,17,15,.9); color:var(--ink); box-shadow:0 60px 160px rgba(0,0,0,.75),0 0 0 10px rgba(201,154,72,.06),inset 0 1px 0 rgba(255,255,255,.11); }
html[data-theme="dark"] .gallery-stage-frame::before { border-color:rgba(226,187,109,.15); }
html[data-theme="dark"] .gallery-stage-header h1 { color:var(--ink); }
html[data-theme="dark"] .gallery-stage-header > p:last-child,html[data-theme="dark"] .gallery-stage-controls p { color:var(--muted); }
html[data-theme="dark"] .gallery-stage-header .eyebrow { color:var(--gold-light); }
html[data-theme="dark"] .gallery-filters button { border-color:rgba(239,221,185,.28); background:rgba(255,255,255,.04); color:var(--ink); }
html[data-theme="dark"] .gallery-filters button.is-active { border-color:var(--gold); background:var(--gold); color:#15120c; }
html[data-theme="dark"] .gallery-stage-controls button { border-color:rgba(239,221,185,.3); background:rgba(255,255,255,.045); color:var(--ink); }

/* Event sharing */
.share-dialog { position:fixed; z-index:700; inset:0; display:grid; place-items:center; padding:24px; color:var(--ink); }
.share-dialog[hidden] { display:none; }
.share-dialog__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(2,2,2,.72); cursor:default; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.share-dialog__panel { position:relative; width:min(100%,650px); max-height:min(820px,calc(100vh - 48px)); overflow:auto; padding:clamp(26px,5vw,48px); border:1px solid var(--glass-border); border-radius:var(--radius-card); background:linear-gradient(145deg,var(--glass-highlight),transparent 36%),var(--glass-card-strong); box-shadow:0 45px 130px rgba(0,0,0,.55),inset 0 1px 0 var(--glass-highlight); -webkit-backdrop-filter:blur(28px) saturate(1.25); backdrop-filter:blur(28px) saturate(1.25); animation:share-panel-in .28s cubic-bezier(.2,.75,.25,1) both; }
.share-dialog__panel:focus { outline:none; }
.share-dialog__header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.share-dialog__header h2 { font-size:clamp(2.05rem,6vw,3.35rem); }
.share-dialog__close { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; padding:0; border:1px solid var(--line-light); border-radius:50%; background:rgba(201,154,72,.08); color:var(--ink); font-size:1.65rem; line-height:1; cursor:pointer; }
.share-dialog__close:hover { border-color:var(--gold); transform:rotate(8deg); }
.share-dialog__description { margin:17px 0 22px; color:var(--muted); }
.share-dialog__preview { display:grid; grid-template-columns:46px 1fr; gap:15px; align-items:center; margin-bottom:22px; padding:16px 18px; border:1px solid var(--line-light); border-radius:var(--radius-control); background:rgba(201,154,72,.08); }
.share-dialog__preview > span { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--black); color:var(--gold-light); font-size:1.15rem; }
.share-dialog__preview small,.share-dialog__preview strong { display:block; }
.share-dialog__preview small { color:var(--accent-ink); font-size:.64rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.share-dialog__preview strong { margin-top:2px; font-family:var(--font-display); font-size:1.18rem; line-height:1.25; }
.share-dialog__preview p { margin:5px 0 0; color:var(--muted); font-size:.78rem; line-height:1.45; white-space:pre-line; }
.share-dialog__options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.share-option { display:flex; min-height:88px; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:12px 8px; border:1px solid var(--line-light); border-radius:var(--radius-control); background:rgba(255,255,255,.18); color:var(--ink); text-align:center; cursor:pointer; transition:border-color .22s,background .22s,transform .22s; }
.share-option:hover { border-color:var(--gold); background:rgba(201,154,72,.13); transform:translateY(-3px); }
.share-option > span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#292722; color:#fff; font-family:var(--font-display); font-size:1rem; }
.share-option strong { font-size:.68rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.share-option--facebook > span { background:#1877f2; }
.share-option--whatsapp > span { background:#1da851; }
.share-option--viber > span { background:#7360f2; }
.share-option--email > span { background:#8a672f; }
.share-option--copy { grid-column:span 2; }
.share-option--copy { appearance:none; font:inherit; }
.share-option--copy.is-copied { border-color:#3d9a62; background:rgba(61,154,98,.14); }
.share-dialog__status { min-height:1.4em; margin:13px 0 -13px; color:var(--accent-ink); font-size:.74rem; font-weight:800; text-align:center; }
.ticket-event__share { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:18px; }
.ticket-event__share .button { min-height:40px; padding:8px 16px; font-size:.66rem; }
html[data-theme="dark"] .button--share { border-color:rgba(225,189,115,.48); background:rgba(201,154,72,.12); color:var(--ink); }
html[data-theme="dark"] .share-option { background:rgba(255,255,255,.045); }
@keyframes share-panel-in { from { opacity:0; transform:translateY(18px) scale(.975); } to { opacity:1; transform:none; } }

.video-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 35px; }
.video-card { background: var(--surface-card); box-shadow: 0 12px 35px rgba(30,25,15,.09); }
.video-card > div:last-child { padding: 24px 26px 28px; }
.video-card h2 { font-size: 1.55rem; }
.video-card p { margin: 11px 0 0; color: var(--muted); }

.contact-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(55px,8vw,120px); }
.contact-details h2 { margin-bottom: 36px; }
.institution-summary { margin:-14px 0 24px; padding:17px 18px; border-left:3px solid #a87527; background:rgba(201,154,72,.09); color:var(--muted); font-size:.94rem; line-height:1.7; }
.contact-detail { display: grid; grid-template-columns: 38px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line-light); }
.contact-detail > span { color: #94651c; font-size: 1.25rem; }
.contact-detail strong { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-detail p { margin: 5px 0 0; color: var(--muted); }
.contact-details > .text-link { display: inline-block; margin-top: 28px; }
.contact-form { padding: 38px; background: var(--surface-card); box-shadow: 0 16px 50px rgba(35,28,18,.1); }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.form-grid label { color: #49453f; font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.form-grid input:not([type=checkbox]), .form-grid textarea { width: 100%; margin-top: 8px; border: 1px solid var(--surface-field-border); border-radius: 0; background: var(--surface-field); color: var(--ink); padding: 12px 13px; outline: none; }
.form-grid input:focus, .form-grid textarea:focus { border-color: var(--gold); }
.form-wide { grid-column: 1/-1; }
.checkbox { display: flex; gap: 11px; align-items: flex-start; font-weight: 400!important; line-height: 1.5; }
.checkbox input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--gold); }
.checkbox a { text-decoration: underline; }
.contact-form .button { margin-top: 28px; }
.honeypot { position: absolute; left: -9999px; }
.legal-copy h2 { margin: 45px 0 15px; font-size: 2rem; }
.legal-copy h2:first-child { margin-top: 0; }

.not-found { display: grid; min-height: calc(100vh - var(--header-height)); place-items: center; padding: 90px 0; background: radial-gradient(circle at 50% 35%,#382811,transparent 38%),var(--black); text-align: center; }
.not-found span { display: block; color: rgba(201,154,72,.12); font-family: var(--font-display); font-size: clamp(8rem,25vw,20rem); line-height: .75; }
.not-found h1 { max-width: 850px; margin: 12px auto 20px; font-size: clamp(2.5rem,6vw,5rem); }
.not-found p:not(.eyebrow) { color: var(--text-on-dark-soft); }
.not-found .button { margin: 10px 5px; }

.site-footer { padding-top: 68px; border-top: 1px solid var(--line-dark); background: #050504; color: #c7c1b6; }
.site-footer__grid { display: grid; grid-template-columns: 1.05fr .7fr .9fr 1.35fr; gap: 55px; padding-bottom: 55px; }
.footer-brand img { width:190px; height:80px; object-fit:contain; filter:drop-shadow(0 7px 18px rgba(0,0,0,.4)); }
.footer-brand p { color: var(--text-on-dark-muted); font-size: .82rem; }
.footer-title { margin: 13px 0 21px; color: var(--gold-light); font-family: var(--font-sans); font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.footer-nav, .footer-contact { display: flex; flex-direction: column; gap: 4px; font-size: .88rem; font-style: normal; }
.footer-nav a:hover, .footer-contact a:hover { color: var(--gold-light); }
.social-links { display: flex; gap: 10px; }
.social-links a { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid #5b564d; border-radius: 50%; color: var(--text-on-dark); font-weight: 800; transition: border-color .2s,color .2s; }
.social-links a:hover { border-color: var(--gold); color: var(--gold); }
.site-footer__grid > div:last-child > p { font-size: .88rem; }
.newsletter { display: block; margin-top: 18px; }
.newsletter__row { display:flex; }
.newsletter input[type=email] { min-width: 0; flex: 1; border: 1px solid #292824; background: #11110f; color: #fff; padding: 11px 13px; }
.newsletter button { border: 0; background: var(--gold); color: var(--black); padding: 10px 14px; font-size: .68rem; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.newsletter__consent { display:flex; align-items:flex-start; gap:8px; margin-top:11px; color:#bcb6aa; font-size:.68rem; line-height:1.45; }
.newsletter__consent input { flex:0 0 auto; width:16px; height:16px; margin:2px 0 0; accent-color:var(--gold); }
.newsletter__consent a { color:var(--gold-light); text-decoration:underline; text-underline-offset:2px; }
.subscription-result { padding:clamp(32px,6vw,70px); border:1px solid var(--line-light); border-radius:var(--radius-card); background:var(--surface-glass); box-shadow:var(--shadow-card); text-align:center; }
.subscription-result p { max-width:680px; margin:0 auto 25px; font-size:clamp(1rem,2vw,1.2rem); line-height:1.75; }
.site-footer__bottom { display: flex; gap: 20px; padding: 19px 0 22px; border-top: 1px solid var(--line-dark); color: var(--text-on-dark-muted); font-size: .75rem; }
.site-footer__bottom span { margin-right: auto; }
.site-footer__bottom a:hover { color: var(--gold); }

/* Musical motion and immersive homepage */
.page-transition { position:fixed; z-index:1000; inset:0; display:grid; grid-template-columns:repeat(3,1fr); pointer-events:none; }
.page-transition span { background:linear-gradient(90deg,#050504,#17130c 62%,#050504); transform:scaleY(0); transform-origin:top; transition:transform .34s cubic-bezier(.7,0,.3,1); }
.page-transition span:nth-child(2) { transition-delay:.045s; }
.page-transition span:nth-child(3) { transition-delay:.09s; }
body.is-leaving .page-transition span { transform:scaleY(1); transform-origin:bottom; }
.music-section { position:relative; overflow:hidden; }
.music-section::before { position:absolute; z-index:3; top:0; left:-25%; width:150%; height:1px; background:linear-gradient(90deg,transparent,var(--gold),var(--gold-light),transparent); content:''; opacity:.48; transform:translateX(-45%); transition:transform 1.25s cubic-bezier(.2,.7,.2,1); }
.music-section.is-swept::before { transform:translateX(25%); }
.brass-stave { position:absolute; z-index:3; right:-5vw; bottom:10%; width:min(650px,55vw); height:90px; opacity:.38; pointer-events:none; transform:rotate(-5deg); }
.brass-stave i { position:absolute; right:0; left:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold-light)); transform:scaleX(0); transform-origin:right; animation:stave-in 1.15s forwards cubic-bezier(.2,.7,.2,1); }
.brass-stave i:nth-child(1){top:5px}.brass-stave i:nth-child(2){top:22px;animation-delay:.08s}.brass-stave i:nth-child(3){top:39px;animation-delay:.16s}.brass-stave i:nth-child(4){top:56px;animation-delay:.24s}.brass-stave i:nth-child(5){top:73px;animation-delay:.32s}
@keyframes stave-in { to { transform:scaleX(1); } }
.hero { --depth-x:0px; --depth-y:0px; }
.hero::after { position:absolute; z-index:1; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); content:''; opacity:.08; pointer-events:none; mix-blend-mode:soft-light; }
.hero__image { translate:var(--depth-x) var(--depth-y); }
.hero__spotlight { position:absolute; z-index:2; inset:-20%; background:radial-gradient(circle at var(--spot-x,70%) var(--spot-y,35%),rgba(238,195,111,.16),transparent 25%); pointer-events:none; transition:background-position .5s; }
.hero__content > * { opacity:0; transform:translateY(24px); animation:hero-copy-in .75s forwards cubic-bezier(.2,.75,.25,1); }
.hero__content > :nth-child(2){animation-delay:.12s}.hero__content > :nth-child(3){animation-delay:.23s}.hero__content > :nth-child(4){animation-delay:.34s}
@keyframes hero-copy-in { to { opacity:1; transform:none; } }

.section-heading--center { max-width:760px; margin-right:auto; margin-left:auto; text-align:center; }
.section-heading--center h2::after { right:0; margin-inline:auto; }
.story-numbers { padding-top:90px; padding-bottom:90px; }
.story-numbers__grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:52px; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.story-numbers__grid article { position:relative; padding:38px 25px; text-align:center; }
.story-numbers__grid article+article { border-left:1px solid var(--line-light); }
.story-numbers__grid strong { display:block; color:var(--accent-ink); font-family:var(--font-display); font-size:clamp(3rem,6vw,5.3rem); font-weight:500; line-height:1; }
.story-numbers__grid span { display:block; margin-top:12px; color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }

.orchestra-experience { position:relative; background:#060605; }
.orchestra-glow { position:absolute; top:-15%; right:-10%; width:55vw; height:55vw; border-radius:50%; background:radial-gradient(circle,rgba(201,154,72,.13),transparent 65%); pointer-events:none; }
.orchestra-heading { display:grid; grid-template-columns:.7fr 1.35fr; gap:20px 70px; align-items:end; margin-bottom:46px; }
.orchestra-heading .eyebrow { grid-column:1/-1; }
.orchestra-heading h2 { font-size:clamp(3rem,6vw,6rem); }
.orchestra-heading > p:last-child { max-width:480px; color:var(--text-on-dark-soft); line-height:1.75; }
.orchestra-tabs { position:relative; z-index:2; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); }
.orchestra-tab { padding:22px 13px; border:0; border-right:1px solid var(--line-dark); background:transparent; color:var(--text-on-dark-soft); font-family:var(--font-sans); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:color .3s,background .3s; }
.orchestra-tab:last-child { border-right:0; }
.orchestra-tab span { display:block; margin-bottom:7px; color:#9f927b; font-family:var(--font-display); font-size:1.3rem; font-weight:400; }
.orchestra-tab:hover,.orchestra-tab.is-active { background:rgba(201,154,72,.09); color:var(--gold-light); }
.orchestra-tab.is-active span { color:var(--gold); }
.orchestra-panel { display:grid; grid-template-columns:1.25fr .75fr; min-height:520px; align-items:stretch; }
.orchestra-panel[hidden] { display:none; }
.orchestra-panel.is-active { animation:orchestra-in .65s both cubic-bezier(.2,.75,.25,1); }
@keyframes orchestra-in { from{opacity:0;transform:translateY(16px)} }
.orchestra-panel__image { position:relative; overflow:hidden; }
.orchestra-panel__image::after { position:absolute; inset:0; background:linear-gradient(90deg,transparent 60%,#060605),linear-gradient(0deg,rgba(0,0,0,.35),transparent 50%); content:''; }
.orchestra-panel__image img { width:100%; height:100%; min-height:520px; object-fit:cover; filter:grayscale(.85) contrast(1.08); transition:filter .75s,transform 1.2s; }
.orchestra-panel:hover .orchestra-panel__image img { filter:grayscale(0); transform:scale(1.025); }
.orchestra-panel__image span { position:absolute; z-index:2; bottom:-.1em; left:20px; color:rgba(255,255,255,.12); font-family:var(--font-display); font-size:9rem; line-height:1; }
.orchestra-panel__copy { display:flex; flex-direction:column; justify-content:center; padding:55px 0 55px 50px; }
.orchestra-panel__copy h3 { margin:10px 0 20px; font-size:clamp(2.7rem,5vw,4.7rem); }
.orchestra-panel__copy > p:not(.eyebrow) { color:var(--text-on-dark-soft); line-height:1.8; }
.orchestra-panel__copy audio { width:100%; margin-top:28px; accent-color:var(--gold); }
.orchestra-audio-note { display:flex; align-items:center; gap:10px; margin-top:24px; font-size:.76rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.orchestra-audio-note span { color:var(--gold); animation:pulse-note 2s infinite; }
@keyframes pulse-note { 50%{opacity:.35;transform:scale(.8)} }

.events-home { position:relative; overflow:hidden; border-top:1px solid rgba(225,189,115,.16); background:radial-gradient(circle at 8% 20%,rgba(201,154,72,.16),transparent 28%),radial-gradient(circle at 92% 72%,rgba(77,55,111,.14),transparent 30%),linear-gradient(180deg,rgba(5,5,5,.94),rgba(10,9,8,.86)); }
.events-home::before { position:absolute; top:-220px; left:50%; width:min(1100px,95vw); height:520px; border-radius:50%; background:radial-gradient(ellipse,rgba(248,210,130,.13),transparent 68%); content:''; filter:blur(16px); pointer-events:none; transform:translateX(-50%); }
.events-home::after { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:72px 72px; content:''; opacity:.35; pointer-events:none; -webkit-mask-image:linear-gradient(180deg,#000,transparent 72%); mask-image:linear-gradient(180deg,#000,transparent 72%); }
.events-home > .container { position:relative; z-index:1; }
.next-concert { display:grid; grid-template-columns:1.12fr .88fr; min-height:670px; border:1px solid #2c2922; background:#090908; box-shadow:0 35px 90px rgba(0,0,0,.34); }
.next-concert__media { position:relative; min-height:620px; overflow:hidden; }
.next-concert__media img { width:100%; height:100%; object-fit:cover; transform:scale(1.01); transition:transform 8s linear; }
.next-concert.is-visible .next-concert__media img { transform:scale(1.08); }
.next-concert__scrim { position:absolute; inset:0; background:linear-gradient(90deg,transparent 65%,#090908),linear-gradient(0deg,rgba(0,0,0,.52),transparent 55%); }
.next-concert__date { position:absolute; top:30px; left:30px; display:flex; width:82px; height:92px; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.38); background:rgba(5,5,4,.7); color:var(--gold-light); font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; backdrop-filter:blur(9px); }
.next-concert__date strong { font-family:var(--font-display); font-size:2.8rem; font-weight:500; line-height:.9; }
.next-concert__copy { display:flex; flex-direction:column; justify-content:center; padding:55px clamp(35px,5vw,75px); }
.next-concert__copy h2 { margin:14px 0 20px; font-size:clamp(2.8rem,5vw,5.2rem); }
.next-concert__lead { color:var(--text-on-dark-soft); line-height:1.7; }
.next-concert__meta { margin:28px 0 22px; color:var(--gold-light); font-size:.74rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.countdown { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:30px; background:#2d2921; }
.countdown span { padding:15px 7px; background:#0e0d0b; color:var(--text-on-dark-muted); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.countdown strong { display:block; margin-bottom:5px; color:var(--white); font-family:var(--font-display); font-size:1.9rem; font-weight:500; }
.event-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.icon-action { display:inline-flex; min-height:42px; align-items:center; gap:7px; padding:8px 10px; border:0; background:transparent; color:#c8c1b5; font:inherit; font-size:.7rem; font-weight:800; cursor:pointer; }
.icon-action:hover { color:var(--gold-light); }
.upcoming-events-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:68px 0 25px; }
.upcoming-events-heading h2 { margin-top:7px; font-size:clamp(2.35rem,4.5vw,4.25rem); }
.next-events-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.upcoming-event-card { position:relative; display:grid; min-width:0; overflow:hidden; border:1px solid rgba(225,189,115,.2); border-radius:var(--radius-card); background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 38%),rgba(10,10,9,.7); box-shadow:0 24px 65px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07); -webkit-backdrop-filter:blur(18px) saturate(1.16); backdrop-filter:blur(18px) saturate(1.16); transition:border-color .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.2,.75,.25,1); }
.upcoming-event-card:hover { border-color:rgba(238,195,111,.58); box-shadow:0 34px 85px rgba(0,0,0,.42),0 0 45px rgba(201,154,72,.08),inset 0 1px 0 rgba(255,255,255,.12); transform:translateY(-8px); }
.upcoming-event-card__media { position:relative; aspect-ratio:1.36; overflow:hidden; background:#080807; }
.upcoming-event-card__media::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(7,7,6,.8)),linear-gradient(120deg,rgba(201,154,72,.13),transparent 38%); content:''; pointer-events:none; }
.upcoming-event-card__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.05); transform:scale(1.015); transition:filter .55s ease,transform 1s cubic-bezier(.2,.75,.25,1); }
.upcoming-event-card:hover .upcoming-event-card__media img { filter:saturate(1.08) contrast(1.03); transform:scale(1.085); }
.upcoming-event-card__date { position:absolute; z-index:2; top:18px; left:18px; display:flex; width:70px; height:78px; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.32); border-radius:14px; background:rgba(5,5,4,.68); color:var(--gold-light); font-size:.64rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.upcoming-event-card__date strong { display:block; color:#fff; font-family:var(--font-display); font-size:2.35rem; font-weight:500; line-height:.86; }
.upcoming-event-card__glow { position:absolute; z-index:1; right:-60px; bottom:-80px; width:210px; height:210px; border-radius:50%; background:radial-gradient(circle,rgba(230,180,86,.28),transparent 68%); opacity:.45; transition:opacity .35s ease,transform .55s ease; }
.upcoming-event-card:hover .upcoming-event-card__glow { opacity:.85; transform:scale(1.18); }
.upcoming-event-card__body { display:flex; min-height:258px; flex-direction:column; padding:26px 25px 24px; }
.upcoming-event-card__meta { margin:0 0 13px; overflow:hidden; color:var(--gold-light); font-size:.68rem; font-weight:850; letter-spacing:.075em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.upcoming-event-card h3 { margin:0 0 14px; color:var(--white); font-size:clamp(1.55rem,2.1vw,2.15rem); line-height:1.04; }
.upcoming-event-card__body > p:not(.upcoming-event-card__meta) { margin:0; color:var(--text-on-dark-soft); font-size:.84rem; line-height:1.65; }
.upcoming-event-card__link { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:auto; padding-top:22px; color:#f0dec0; font-size:.7rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.upcoming-event-card__link b { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(225,189,115,.28); border-radius:50%; color:var(--gold-light); font-size:1rem; transition:background .25s ease,transform .25s ease; }
.upcoming-event-card:hover .upcoming-event-card__link b { background:var(--gold); color:#0b0906; transform:rotate(12deg); }
.detail-card__actions { display:grid; gap:9px; }
.detail-card__actions .button { width:100%; text-align:center; }

/* Tickets concierge */
.ticket-intro { padding:42px 0; }
.ticket-intro__grid { display:grid; grid-template-columns:repeat(3,1fr); }
.ticket-intro article { display:grid; grid-template-columns:54px 1fr; gap:18px; padding:22px 30px; border-right:1px solid var(--line-dark); }
.ticket-intro article:last-child { border-right:0; }
.ticket-intro article > span { color:var(--gold); font-family:var(--font-display); font-size:2.1rem; line-height:1; }
.ticket-intro h2 { font-family:var(--font-sans); font-size:.78rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.ticket-intro p { margin:8px 0 0; color:var(--text-on-dark-muted); font-size:.83rem; line-height:1.65; }
.tickets-events .section-heading > p.tickets-trust { display:flex; max-width:270px; align-items:center; gap:10px; color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.tickets-trust span { display:grid; width:34px; height:34px; flex:0 0 auto; place-items:center; border:1px solid #cbbd9f; border-radius:50%; color:#8d601b; }
.ticket-event-list { display:grid; gap:28px; }
.ticket-event { display:grid; grid-template-columns:minmax(300px,.72fr) 1.28fr; min-height:390px; border:1px solid var(--line-light); background:var(--surface-card); box-shadow:0 18px 55px rgba(38,30,18,.08); }
.ticket-event__media { position:relative; min-height:390px; overflow:hidden; background:#111; }
.ticket-event__media::after { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 55%); content:''; }
.ticket-event__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.78); transition:filter .6s,transform 1s cubic-bezier(.2,.7,.2,1); }
.ticket-event:hover .ticket-event__media img { filter:saturate(1); transform:scale(1.035); }
.ticket-event__date { position:absolute; z-index:2; top:24px; left:24px; display:flex; width:78px; height:88px; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.38); background:rgba(5,5,4,.76); color:var(--gold-light); font-size:.68rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; backdrop-filter:blur(8px); }
.ticket-event__date strong { font-family:var(--font-display); font-size:2.6rem; font-weight:500; line-height:.9; }
.ticket-event__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(32px,5vw,64px); }
.ticket-event__meta { margin:0 0 12px; color:#95651d; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.ticket-event__content > h3 { margin-bottom:25px; font-size:clamp(2rem,3.8vw,3.6rem); }
.ticket-event__content > h3 a:hover { color:#865b1b; }
.ticket-sellers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ticket-seller { display:grid; grid-template-columns:48px 1fr auto; min-height:82px; align-items:center; gap:14px; padding:13px 16px; border:1px solid #ddd5c6; background:#faf8f3; transition:border-color .25s,background .25s,transform .25s; }
.ticket-seller:hover { border-color:var(--gold); background:#fff; transform:translateY(-2px); }
.ticket-seller__mark { display:grid; width:43px; height:43px; place-items:center; border-radius:50%; background:var(--black); color:var(--gold-light); font-family:var(--font-display); font-size:1.35rem; }
.ticket-seller small,.ticket-seller strong,.ticket-seller em { display:block; }
.ticket-seller small { color:var(--muted); font-size:.61rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ticket-seller strong { font-size:.95rem; }
.ticket-seller em { margin-top:2px; color:#426289; font-size:.58rem; font-style:normal; font-weight:800; }
.ticket-seller > b { color:#95651d; font-size:1.1rem; }
.ticket-seller--eventim .ticket-seller__mark { background:#e30613; color:#fff; }
.ticket-seller--entase .ticket-seller__mark { background:#183b6b; color:#fff; }
.ticket-seller--grabo .ticket-seller__mark { background:#ea5a23; color:#fff; }
.ticket-fallback { display:grid; grid-template-columns:45px 1fr auto; align-items:center; gap:16px; padding:18px; border:1px solid #d9cfbd; background:#f4eee2; }
.ticket-fallback > span { color:#99691f; font-size:1.7rem; text-align:center; }
.ticket-fallback strong { font-family:var(--font-display); font-size:1.15rem; }
.ticket-fallback p { margin:4px 0 0; color:var(--muted); font-size:.76rem; }
.box-office { position:relative; overflow:hidden; }
.box-office__glow { position:absolute; right:-15%; bottom:-60%; width:65vw; height:65vw; border-radius:50%; background:radial-gradient(circle,rgba(201,154,72,.16),transparent 65%); pointer-events:none; }
.box-office__grid { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(55px,9vw,130px); align-items:center; }
.box-office__title h2 { max-width:650px; font-size:clamp(3.3rem,6.5vw,6.5rem); }
.box-office__title > p:last-child { max-width:620px; margin-top:25px; color:var(--text-on-dark-soft); font-size:1.03rem; line-height:1.8; }
.box-office__details { padding:35px; border:1px solid rgba(201,154,72,.38); background:rgba(18,17,14,.72); backdrop-filter:blur(8px); }
.box-office__details dl { margin:0 0 28px; }
.box-office__details dl div { padding:16px 0; border-bottom:1px solid var(--line-dark); }
.box-office__details dt { color:var(--gold); font-size:.66rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.box-office__details dd { margin:5px 0 0; color:#eee9df; font-family:var(--font-display); font-size:1.2rem; }
.box-office__details dd a:hover { color:var(--gold-light); }
.box-office__actions { display:flex; flex-wrap:wrap; gap:10px; }
.ticket-note { text-align:center; }
.ticket-note h2 { margin-bottom:20px; }
.ticket-note p:last-child { color:var(--muted); line-height:1.85; }
html[data-theme="dark"] .ticket-seller { border-color:#454139; background:#131310; }
html[data-theme="dark"] .ticket-seller:hover { background:#1d1b16; }
html[data-theme="dark"] .ticket-fallback { border-color:#4b402d; background:#19150f; }

/* Atmospheric depth and frosted glass surfaces */
main { position:relative; z-index:1; }
.site-footer { position:relative; z-index:1; }
.news-card,.member-card,.event-row,.video-card,.contact-form,.ticket-event { position:relative; overflow:hidden; border:1px solid var(--glass-border); border-radius:var(--radius-card); background:linear-gradient(145deg,var(--glass-highlight),transparent 38%),var(--glass-card); box-shadow:var(--glass-shadow); -webkit-backdrop-filter:blur(18px) saturate(1.18); backdrop-filter:blur(18px) saturate(1.18); }
.news-card,.member-card,.video-card,.ticket-event { transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease; }
.news-card:hover,.member-card:hover,.video-card:hover,.ticket-event:hover { border-color:rgba(201,154,72,.48); box-shadow:0 36px 90px rgba(28,21,12,.23),0 8px 24px rgba(28,21,12,.1),inset 0 1px 0 var(--glass-highlight); transform:translateY(-6px); }
html[data-theme="dark"] .news-card:hover,html[data-theme="dark"] .member-card:hover,html[data-theme="dark"] .video-card:hover,html[data-theme="dark"] .ticket-event:hover { box-shadow:0 42px 110px rgba(0,0,0,.56),0 8px 28px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.1); }
.detail-card,.next-concert,.orchestra-panel,.box-office__details { overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-card); background:linear-gradient(145deg,rgba(255,255,255,.07),transparent 34%),rgba(8,8,7,.72); box-shadow:0 36px 100px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.09); -webkit-backdrop-filter:blur(20px) saturate(1.2); backdrop-filter:blur(20px) saturate(1.2); }
.values__grid,.ticket-intro__grid,.story-numbers__grid { overflow:hidden; border:1px solid var(--glass-border); border-radius:var(--radius-card); background:rgba(12,12,10,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 70px rgba(0,0,0,.12); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.story-numbers__grid { background:var(--glass-card); box-shadow:var(--glass-shadow); }
.event-card,.instrument-strip figure,.gallery-item,.video-frame,.split-feature__media img,.history-aside img,.article-image img,.empty-state { overflow:hidden; border-radius:var(--radius-card); }
.button { border-radius:999px; }
.hero__arrow { border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(7,7,6,.38); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.form-grid input:not([type=checkbox]),.form-grid textarea,.newsletter input { border-radius:var(--radius-control); }
.ticket-seller,.ticket-fallback,.box-office__details,.flash { border-radius:var(--radius-control); }
.date-badge { border-radius:0 0 var(--radius-control) 0; }
.ticket-event__date,.next-concert__date { border-radius:var(--radius-control); }
.article-header,.article-body { background:var(--section-ivory); backdrop-filter:blur(3px); }
.orchestra-experience { overflow:hidden; background:var(--section-dark); backdrop-filter:blur(3px); }

.reveal { transition-delay:var(--reveal-delay,0ms); }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
    :root { --header-height: 78px; }
    .nav-toggle { display: block; margin-left:auto; order:2; }
    .site-actions { order:3; }
    .language-menu__options { right:-48px; width:min(320px,calc(100vw - 28px)); }
    .site-nav { position:fixed; z-index:310; top:var(--header-height); right:0; bottom:0; width:min(420px,92vw); max-width:100%; min-height:calc(100dvh - var(--header-height)); visibility:hidden; overflow-y:auto; overscroll-behavior:contain; flex-direction:column; align-items:stretch; gap:0; padding:25px 28px 42px; border-left:1px solid rgba(225,189,115,.24); background:linear-gradient(155deg,rgba(201,154,72,.15),transparent 34%),#080807; box-shadow:-32px 0 90px rgba(0,0,0,.58),inset 1px 0 0 rgba(255,255,255,.05); transform:translateX(102%); transition:transform .3s ease,visibility 0s linear .3s; }
    .site-nav.is-open { visibility: visible; transform: none; transition-delay: 0s; }
    .site-nav__link { margin-bottom:5px; padding:15px 16px; border:1px solid transparent; border-radius:12px; color:#f3eee4; font-size:.88rem; }
    .site-nav__link:hover,.site-nav__link.is-active { border-color:rgba(201,154,72,.3); background:rgba(201,154,72,.11); color:var(--gold-light); }
    .site-nav__link::after { display: none; }
    .nav-backdrop { position:fixed; z-index:250; top:var(--header-height); right:0; bottom:0; left:0; display:block; visibility:hidden; padding:0; border:0; border-radius:0; background:rgba(0,0,0,.58); opacity:0; pointer-events:none; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:opacity .28s ease,visibility 0s linear .28s; }
    .nav-open .nav-backdrop { visibility:visible; opacity:1; pointer-events:auto; transition-delay:0s; }
    .nav-open .nav-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
    .nav-open .nav-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
    body.nav-open .site-header { position:fixed; z-index:420; top:0; right:0; left:0; width:100%; background:#040403; transform:none!important; pointer-events:auto; -webkit-backdrop-filter:none; backdrop-filter:none; }
    body.nav-open .nav-toggle { position:relative; z-index:430; }
    .event-grid { grid-template-columns: repeat(2,1fr); }
    .members-grid { grid-template-columns: repeat(3,1fr); }
    .timeline { grid-template-columns: 1fr; gap: 0; }
    .timeline::before { top: 0; bottom: 0; left: 12px; width: 1px; height: auto; }
    .timeline article { padding: 5px 0 32px 45px; text-align: left; }
    .timeline article::before { top: 8px; left: 5px; }
    .event-row { grid-template-columns: 78px 180px 1fr; }
    .event-row > img { width: 180px; }
    .event-row > .button { grid-column: 3; width: max-content; margin: 0 0 24px; }
    .event-row__actions { grid-column:3; flex-direction:row; width:max-content; margin:0 0 24px; }
    .site-footer__grid { grid-template-columns: repeat(2,1fr); }
    .next-concert { grid-template-columns:1fr; }
    .next-concert__media { min-height:500px; }
    .next-concert__scrim { background:linear-gradient(0deg,#090908,transparent 42%); }
    .next-events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .upcoming-event-card:last-child:nth-child(odd) { grid-column:1/-1; }
    .upcoming-event-card:last-child:nth-child(odd) .upcoming-event-card__media { aspect-ratio:2.35; }
    .ticket-event { grid-template-columns:minmax(280px,.7fr) 1.3fr; }
    .ticket-sellers { grid-template-columns:1fr; }
}

@media (max-width: 780px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    .section { padding: 70px 0; }
    .news-card,.member-card,.event-row,.video-card,.contact-form,.ticket-event,.detail-card,.next-concert,.orchestra-panel,.box-office__details { border-radius:16px; -webkit-backdrop-filter:blur(12px) saturate(1.12); backdrop-filter:blur(12px) saturate(1.12); }
    .values__grid,.ticket-intro__grid,.story-numbers__grid { border-radius:16px; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
    .site-logo { width: 150px; height: 65px; }
    .hero { min-height: 580px; height: calc(100svh - var(--header-height)); }
    .hero__veil { background: linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.38)),linear-gradient(0deg,rgba(0,0,0,.7),transparent 60%); }
    .hero h1 { width: 100%; font-size: clamp(2.7rem,12.5vw,3.5rem); }
    .hero__arrow { top: auto; bottom: 8px; height: 48px; transform: none; }
    .hero__autoplay { right:70px; bottom:11px; }
    .values__grid { grid-template-columns: repeat(2,1fr); }
    .values article { padding: 22px 14px; border-bottom: 1px solid var(--line-dark); }
    .values article:nth-child(2) { border-right: 0; }
    .values article:nth-child(3), .values article:nth-child(4) { border-bottom: 0; }
    .split-feature, .history-layout, .video-feature__grid, .detail-layout, .contact-layout { grid-template-columns: 1fr; gap: 48px; }
    .split-feature__copy { order: 2; }
    .split-feature__media { order: 1; }
    .gold-frame { right:0; left:14px; }
    .section-heading--row { align-items: flex-start; flex-direction: column; }
    .news-grid, .news-grid--archive, .video-grid { grid-template-columns: 1fr; }
    .news-grid--archive .news-card { grid-template-columns: 1fr; }
    .news-grid--archive .news-card > a { aspect-ratio: 1.52; }
    .page-hero { min-height: 360px; }
    .history-aside { position: static; }
    .members-grid { grid-template-columns: repeat(2,1fr); }
    .instrument-strip { grid-template-columns: repeat(2,1fr); }
    .instrument-strip figure:last-child { grid-column: 1/-1; }
    .event-row { grid-template-columns: 70px 1fr; gap: 0 20px; }
    .event-row > img { grid-column: 2; width: 100%; height: 170px; min-height: 0; margin-top: 20px; }
    .event-row__date { grid-row: 1/4; }
    .event-row__copy { grid-column: 2; padding: 20px 20px 10px 0; }
    .event-row > .button { grid-column: 2; margin: 0 0 22px; }
    .event-row__actions { grid-column:2; flex-wrap:wrap; margin:0 20px 22px 0; }
    .archive-list a { grid-template-columns: 1fr; gap: 4px; }
    .archive-list span { text-align: left; }
    .detail-hero .container { min-height: 520px; margin-inline: 14px; }
    .gallery-experience { min-height:auto; padding:86px 0; }
    .gallery-stage-frame { min-height:720px; border-radius:30px; }
    .gallery-stage { --gallery-step:44vw; height:470px; }
    .gallery-stage-card { width:min(62vw,430px); height:430px; }
    .gallery-stage-card[data-gallery-position="-2"],.gallery-stage-card[data-gallery-position="2"] { opacity:0!important; pointer-events:none!important; }
    .gallery-archive-heading { display:block; }
    .gallery-archive-heading > p { margin-top:18px; }
    .gallery-archive { columns:2 250px; }
    .lightbox__controls { top:auto; right:50%; bottom:4px; left:auto; gap:15px; transform:translateX(50%); }
    .contact-form { padding: 27px 20px; }
    .form-grid { grid-template-columns: 1fr; }
    .site-footer__grid { grid-template-columns: 1fr; gap: 35px; }
    .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
    .site-footer__bottom span { margin: 0 0 8px; }
    .story-numbers__grid { grid-template-columns:repeat(2,1fr); }
    .story-numbers__grid article:nth-child(3) { border-left:0; border-top:1px solid var(--line-light); }
    .story-numbers__grid article:nth-child(4) { border-top:1px solid var(--line-light); }
    .orchestra-heading { display:block; }
    .orchestra-heading > p:last-child { margin-top:20px; }
    .orchestra-tabs { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
    .orchestra-tab { min-width:145px; scroll-snap-align:start; }
    .orchestra-panel { grid-template-columns:1fr; }
    .orchestra-panel__image img { min-height:390px; max-height:500px; }
    .orchestra-panel__image::after { background:linear-gradient(0deg,#060605,transparent 45%); }
    .orchestra-panel__copy { padding:38px 5px 15px; }
    .upcoming-events-heading { align-items:flex-start; flex-direction:column; margin-top:50px; }
    .next-events-grid { grid-template-columns:1fr; }
    .upcoming-event-card:last-child:nth-child(odd) { grid-column:auto; }
    .upcoming-event-card:last-child:nth-child(odd) .upcoming-event-card__media { aspect-ratio:1.45; }
    .ticket-intro__grid { grid-template-columns:1fr; }
    .ticket-intro article { border-right:0; border-bottom:1px solid var(--line-dark); }
    .ticket-intro article:last-child { border-bottom:0; }
    .ticket-event { grid-template-columns:1fr; }
    .ticket-event__media { min-height:330px; }
    .box-office__grid { grid-template-columns:1fr; }
}

@media (max-width: 500px) {
    .site-logo { width:112px; }
    .site-header__inner { gap:7px; }
    .language-menu__trigger { min-width:66px; padding:0 7px; gap:5px; }
    .language-menu__mark { display:none; }
    .event-grid, .members-grid { grid-template-columns: 1fr; }
    .members-grid { gap: 14px; }
    .member-card { display: grid; grid-template-columns: 105px 1fr; }
    .member-card img, .member-card__placeholder { height: 100%; min-height: 125px; aspect-ratio: auto; }
    .gallery-experience { padding:65px 0; }
    .gallery-experience .container { width:calc(100% - 18px); }
    .gallery-stage-frame { min-height:640px; padding:43px 10px 26px; border-radius:24px; }
    .gallery-stage-frame::before { inset:5px; border-radius:19px; }
    .gallery-stage-header { padding:0 12px; }
    .gallery-stage-header h1 { font-size:2.75rem; }
    .gallery-stage-header > p:last-child { font-size:.9rem; }
    .gallery-filters { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; margin:25px 12px 5px; padding:2px 0 10px; scrollbar-width:none; }
    .gallery-filters::-webkit-scrollbar { display:none; }
    .gallery-filters button { flex:0 0 auto; min-height:39px; padding-inline:15px; }
    .gallery-stage { --gallery-step:71vw; height:390px; }
    .gallery-stage-card { width:76vw; max-width:340px; height:360px; border-radius:20px; }
    .gallery-stage-card span { padding:50px 16px 14px; }
    .gallery-stage-card span small { display:none; }
    .gallery-stage-controls { width:min(100% - 20px,360px); grid-template-columns:46px 1fr 46px; }
    .gallery-stage-controls button { width:46px; height:46px; }
    .gallery-archive { columns:1; margin-top:30px; }
    .gallery-archive-item span { opacity:1; transform:none; }
    .lightbox { padding:66px 12px calc(75px + env(safe-area-inset-bottom)); }
    .lightbox img { max-width:94vw; max-height:69vh; border-radius:12px; }
    .lightbox figcaption { width:92vw; max-width:none; align-items:flex-start; }
    .lightbox figcaption p { font-size:1.08rem; }
    .lightbox__close { top:max(12px,env(safe-area-inset-top)); right:12px; width:44px; height:44px; }
    .share-dialog { align-items:end; padding:0; }
    .share-dialog__panel { width:100%; max-height:calc(100svh - 24px); padding:27px 18px calc(24px + env(safe-area-inset-bottom)); border-width:1px 0 0; border-radius:22px 22px 0 0; }
    .share-dialog__description { margin-bottom:17px; }
    .share-dialog__preview { grid-template-columns:38px 1fr; padding:13px; }
    .share-dialog__preview > span { width:36px; height:36px; }
    .share-dialog__options { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .share-option { min-height:72px; flex-direction:row; gap:9px; }
    .share-option--copy { grid-column:1/-1; }
    .ticket-event__share { align-items:stretch; flex-direction:column; }
    .ticket-event__share .button { width:100%; }
    .newsletter__row { flex-direction: column; }
    .newsletter button { min-height: 43px; }
    .story-numbers__grid article { padding:28px 12px; }
    .story-numbers__grid strong { font-size:3.25rem; }
    .next-concert__media { min-height:360px; }
    .next-concert__copy { padding:38px 20px; }
    .countdown strong { font-size:1.45rem; }
    .upcoming-event-card__body { min-height:235px; padding:23px 20px 21px; }
    .event-actions .button { width:100%; text-align:center; }
    .icon-action { flex:1; justify-content:center; }
    .event-row__actions { display:grid; width:auto; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .event-row__actions .button { width:100%; min-width:0; padding-inline:12px; }
    .event-row__actions .event-row__ticket-action { grid-column:1/-1; grid-row:1; min-height:50px; padding-block:11px; overflow-wrap:anywhere; line-height:1.25; white-space:normal; }
    .event-row__actions .button--dark { grid-column:1; grid-row:2; }
    .event-row__actions .button--share { grid-column:2; grid-row:2; }
    .brass-stave { width:75vw; }
    .ticket-event__content { padding:28px 20px; }
    .ticket-event__media { min-height:270px; }
    .ticket-fallback { grid-template-columns:38px 1fr; }
    .ticket-fallback .button { grid-column:1/-1; }
    .box-office__details { padding:25px 20px; }
    .box-office__actions .button { width:100%; }
}

.maintenance-page { min-height:100vh; background:linear-gradient(115deg,rgba(5,5,4,.93),rgba(8,8,7,.72)),url('../images/generated/band-stage-1600.webp') center/cover fixed; color:var(--ink); }
.maintenance-tools { position:fixed; z-index:5; top:22px; right:24px; display:flex; gap:8px; }
.maintenance-shell { position:relative; z-index:1; display:grid; min-height:100vh; place-items:center; padding:92px 20px 44px; }
.maintenance-card { width:min(100%,720px); padding:clamp(40px,7vw,72px); border:1px solid rgba(201,154,72,.5); background:rgba(243,239,230,.97); box-shadow:0 36px 100px rgba(0,0,0,.5); text-align:center; }
.maintenance-logo { width:min(100%,270px); max-height:132px; margin:0 auto 32px; padding:10px 15px; border:1px solid rgba(201,154,72,.28); border-radius:16px; background:rgba(4,4,3,.95); box-shadow:0 18px 46px rgba(0,0,0,.24); object-fit:contain; }
.maintenance-card .eyebrow { color:#8c601c; }
.maintenance-card h1 { max-width:620px; margin-inline:auto; font-size:clamp(2.55rem,6vw,5rem); }
.maintenance-message { max-width:570px; margin:24px auto 30px; color:var(--muted); font-size:clamp(1rem,2vw,1.18rem); line-height:1.8; }
.maintenance-message p:last-child { margin-bottom:0; }
.maintenance-footnote { margin:27px 0 0; color:var(--muted); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
html[data-theme="dark"] .maintenance-card { background:rgba(17,17,15,.97); color:var(--ink); }
html[data-theme="dark"] .maintenance-card .eyebrow { color:var(--gold-light); }
@media (max-width:500px) {
    .maintenance-tools { top:14px; right:14px; }
    .maintenance-shell { padding:76px 12px 20px; }
    .maintenance-card { padding:38px 20px; }
    .maintenance-logo { width:210px; margin-bottom:26px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto!important; transition-duration: .01ms!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; }
    .reveal { opacity: 1; transform: none; }
}

/* Consent centre and privacy-gated external media */
.footer-cookie-settings { padding:0; border:0; background:transparent; color:inherit; font-size:inherit; cursor:pointer; }
.footer-cookie-settings:hover { color:var(--gold); }
.consent-banner[hidden],.consent-dialog[hidden] { display:none!important; }
.consent-banner { position:fixed; z-index:1200; right:clamp(14px,3vw,38px); bottom:clamp(14px,3vw,34px); left:clamp(14px,3vw,38px); display:grid; max-width:1180px; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px 42px; margin-inline:auto; padding:25px clamp(22px,3vw,38px); border:1px solid rgba(225,189,115,.34); border-radius:22px; background:linear-gradient(145deg,rgba(201,154,72,.14),transparent 38%),rgba(7,7,6,.96); box-shadow:0 32px 110px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.09); color:#f6f2e9; -webkit-backdrop-filter:blur(24px) saturate(1.25); backdrop-filter:blur(24px) saturate(1.25); }
.consent-banner .eyebrow { margin-bottom:8px; }
.consent-banner h2 { margin:0 0 8px; font-size:clamp(1.55rem,2.8vw,2.25rem); }
.consent-banner p:last-child { max-width:760px; margin:0; color:#d5cfc3; font-size:.9rem; line-height:1.65; }
.consent-banner p a { color:var(--gold-light); text-decoration:underline; text-underline-offset:3px; }
.consent-banner__actions { display:grid; grid-template-columns:repeat(2,minmax(150px,1fr)); gap:9px; }
.consent-banner__actions .button { min-height:44px; padding:9px 17px; white-space:nowrap; }
.consent-text-button { grid-column:1/-1; min-height:38px; border:0; background:transparent; color:var(--gold-light); font-size:.76rem; font-weight:800; letter-spacing:.06em; text-decoration:underline; text-underline-offset:4px; text-transform:uppercase; cursor:pointer; }
.consent-dialog { position:fixed; z-index:1300; inset:0; display:grid; place-items:center; padding:20px; }
.consent-dialog__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.72); -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px); }
.consent-dialog__panel { position:relative; z-index:1; width:min(720px,100%); max-height:min(820px,calc(100dvh - 40px)); overflow:auto; padding:clamp(27px,5vw,48px); border:1px solid rgba(225,189,115,.3); border-radius:24px; background:linear-gradient(145deg,rgba(201,154,72,.12),transparent 36%),#0b0b09; box-shadow:0 40px 130px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.08); color:#f6f2e9; outline:none; }
.consent-dialog__panel > h2 { margin:0 50px 10px 0; font-size:clamp(2rem,4vw,3.2rem); }
.consent-dialog__panel > p:not(.eyebrow) { color:#d2cbc0; line-height:1.7; }
.consent-dialog__close { position:absolute; top:19px; right:19px; display:grid; width:43px; height:43px; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(255,255,255,.05); color:#fff; font-size:1.55rem; cursor:pointer; }
.consent-options { display:grid; gap:10px; margin:28px 0; }
.consent-option { display:grid; min-height:96px; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:22px; padding:18px 20px; border:1px solid rgba(255,255,255,.13); border-radius:15px; background:rgba(255,255,255,.035); }
.consent-option h3 { margin:0 0 6px; font-family:var(--font-sans); font-size:.9rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.consent-option p { margin:0; color:#bbb4a8; font-size:.82rem; line-height:1.55; }
.consent-required { color:var(--gold-light); font-size:.68rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.consent-option input { position:absolute; width:1px; height:1px; opacity:0; }
.consent-switch { position:relative; display:block; width:52px; height:29px; flex:0 0 auto; border:1px solid #6a665e; border-radius:999px; background:#292824; cursor:pointer; transition:background .2s,border-color .2s; }
.consent-switch::after { position:absolute; top:4px; left:4px; width:19px; height:19px; border-radius:50%; background:#c9c3b9; content:''; transition:transform .2s,background .2s; }
.consent-option input:checked + .consent-switch { border-color:var(--gold-light); background:#8b6122; }
.consent-option input:checked + .consent-switch::after { background:#fff; transform:translateX(23px); }
.consent-option input:focus-visible + .consent-switch { outline:3px solid var(--gold-light); outline-offset:3px; }
.consent-dialog__actions { display:flex; flex-wrap:wrap; gap:10px; }
.consent-dialog__actions .button--outline { color:var(--gold-light); }
.consent-dialog-open { overflow:hidden; }
.video-consent { width:100%; height:100%; min-height:100%; background:radial-gradient(circle at 70% 25%,rgba(201,154,72,.18),transparent 34%),linear-gradient(145deg,#16130e,#050504); color:#f5f1e8; }
.video-consent__inner { display:flex; width:100%; height:100%; min-height:100%; flex-direction:column; align-items:center; justify-content:center; padding:clamp(20px,5vw,45px); text-align:center; }
.video-consent__play { display:grid; width:58px; height:58px; margin-bottom:15px; place-items:center; border:1px solid rgba(225,189,115,.48); border-radius:50%; background:rgba(201,154,72,.14); color:var(--gold-light); font-size:1.25rem; text-indent:.12em; }
.video-consent strong { margin-bottom:8px; font-family:var(--font-display); font-size:clamp(1.35rem,3vw,2rem); font-weight:500; }
.video-consent p { max-width:520px; margin:0 0 16px!important; color:#cfc8bc!important; font-size:.82rem; line-height:1.55; }
.video-consent .button { min-height:42px; padding:8px 17px; font-size:.68rem; }
.video-consent a { margin-top:12px; color:var(--gold-light); font-size:.7rem; text-decoration:underline; text-underline-offset:3px; }
.video-consent.is-loaded { position:absolute; inset:0; }
.cookie-table-wrap { overflow-x:auto; margin:28px 0; border:1px solid var(--line-light); border-radius:var(--radius-control); }
.cookie-table { width:100%; min-width:720px; border-collapse:collapse; font-size:.86rem; line-height:1.55; }
.cookie-table th,.cookie-table td { padding:16px 18px; border-bottom:1px solid var(--line-light); text-align:left; vertical-align:top; }
.cookie-table th { background:rgba(201,154,72,.1); color:var(--accent-ink); font-size:.68rem; letter-spacing:.07em; text-transform:uppercase; }
.cookie-table tr:last-child td { border-bottom:0; }
.cookie-table code { color:var(--accent-ink); font-weight:800; }
.cookie-policy > .button { margin:5px 0 12px; }

@media (max-width:820px) {
    .consent-banner { grid-template-columns:1fr; gap:18px; }
    .consent-banner__actions { width:100%; }
}
@media (max-width:520px) {
    .consent-banner { max-height:calc(100dvh - 20px); right:10px; bottom:10px; left:10px; overflow:auto; padding:21px 17px; border-radius:17px; }
    .consent-banner__actions { grid-template-columns:1fr; }
    .consent-text-button { grid-column:auto; }
    .consent-banner__actions .button { white-space:normal; }
    .consent-dialog { padding:8px; }
    .consent-dialog__panel { max-height:calc(100dvh - 16px); padding:28px 17px 22px; border-radius:17px; }
    .consent-option { grid-template-columns:1fr auto; gap:12px; padding:16px 14px; }
    .consent-required { white-space:normal; text-align:right; }
    .consent-dialog__actions { display:grid; }
}
