:root { color-scheme: dark; --bg:#07080c; --ink:#fff8ef; --muted:#aeb2be; --line:rgba(255,255,255,.14); --gold:#f1d78f; --red:#ed1c24; --mint:#75d8b7; --panel:rgba(18,20,27,.78); }
* { box-sizing:border-box; }
html { background:var(--bg); scroll-behavior:smooth; }
body { min-width:320px; margin:0; overflow-x:hidden; color:var(--ink); background:radial-gradient(900px 600px at 96% 6%,rgba(241,215,143,.14),transparent 66%),radial-gradient(760px 520px at 6% 58%,rgba(117,216,183,.10),transparent 68%),radial-gradient(640px 440px at 74% 86%,rgba(237,28,36,.08),transparent 70%),var(--bg); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
a { color:inherit; }
.shell { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.topbar { display:flex; min-height:74px; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.brand { font-size:.79rem; font-weight:850; letter-spacing:.22em; }
.guide-label { color:var(--muted); font-size:.67rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:7px 10px; padding-top:18px; color:var(--muted); font-size:.72rem; letter-spacing:.04em; }
.breadcrumbs span[aria-hidden="true"] { color:rgba(255,255,255,.34); }
.label,.kicker { color:var(--gold); font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.kicker { display:block; margin-bottom:16px; }
.hero { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr); gap:clamp(36px,7vw,96px); align-items:center; padding:clamp(42px,7vw,92px) 0 56px; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:650px; padding-bottom:4px; margin-bottom:22px; font-size:clamp(2.35rem,5.3vw,5.5rem); line-height:1; letter-spacing:-.06em; text-transform:uppercase; overflow-wrap:normal; word-break:normal; hyphens:none; }
h1.title-long { font-size:clamp(2.15rem,4.25vw,4.45rem); line-height:1; }
.title-line,.title-sub { display:block; overflow-wrap:normal; word-break:normal; hyphens:none; }
.title-sub { margin-top:.3em; color:var(--gold); font-size:.28em; line-height:1; letter-spacing:.02em; }
.intro { max-width:600px; margin-bottom:28px; color:#d9dbe0; font-size:clamp(1rem,1.5vw,1.16rem); }
.event-stamp { display:inline-flex; flex-wrap:wrap; gap:8px 13px; align-items:center; color:var(--muted); font-size:.86rem; }
.event-stamp strong { color:var(--ink); font-weight:650; }
.dot { width:4px; height:4px; border-radius:50%; background:var(--gold); }
.event-visual { position:relative; display:grid; width:100%; min-width:0; margin:0; aspect-ratio:1010 / 1240; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:0; background:#101218; box-shadow:0 30px 90px rgba(0,0,0,.48); }
.event-poster { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.facts { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.fact { min-height:116px; padding:22px 20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(20,22,29,.66); }
.fact .label { display:block; margin-bottom:9px; color:var(--muted); }
.fact strong { display:block; font-size:1rem; font-weight:650; line-height:1.34; }
.fact address { margin:0; font-size:.91rem; font-style:normal; font-weight:650; line-height:1.34; }
.section { padding:clamp(58px,8vw,100px) 0; border-bottom:1px solid var(--line); }
h2 { margin-bottom:19px; font-size:clamp(1.85rem,3.4vw,3.25rem); line-height:1; letter-spacing:-.045em; text-transform:uppercase; }
h3 { margin-bottom:12px; font-size:1rem; letter-spacing:-.01em; }
.content-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:22px; align-items:stretch; }
.split-card { display:flex; min-width:0; flex-direction:column; padding:clamp(26px,3.7vw,42px); border:1px solid rgba(255,255,255,.17); border-radius:0; background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.028)); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 30px 80px rgba(0,0,0,.3); }
.body-copy { color:#d8dae0; font-size:1.04rem; }
.body-copy p:last-child { margin-bottom:0; }
.plan-panel { margin-top:auto; padding:20px; border-left:3px solid var(--mint); border-radius:0; background:rgba(117,216,183,.07); }
.plan-panel .label { display:block; margin-bottom:8px; color:var(--mint); }
.plan-panel p { margin:8px 0 0; color:#dcefe8; font-size:.9rem; }
.lineup { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.lineup li { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding:15px 2px; border-bottom:1px solid var(--line); font-size:1.05rem; font-weight:650; }
.lineup-block .lineup { flex:1; }
.lineup li::after { content:""; width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--red); order:2; }
.lineup li { order:1; }
.lineup li::first-line { order:1; }
.visit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.visit-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:0; background:rgba(255,255,255,.035); }
.visit-card p { margin:9px 0 0; color:#d5d7dd; font-size:.94rem; }
.services { padding:clamp(30px,5vw,54px); border:1px solid rgba(255,255,255,.17); border-radius:0; background:linear-gradient(126deg,rgba(241,215,143,.12),rgba(20,22,29,.97) 44%,rgba(117,216,183,.10)); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 30px 80px rgba(0,0,0,.3); }
.services-head { max-width:760px; margin-bottom:28px; }
.services-head p { margin:0; color:#d8dae0; }
.service-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.ticket-field { min-width:0; padding:24px; border:1px solid rgba(117,216,183,.28); border-radius:0; background:rgba(7,8,12,.44); }
.ticket-field .label { display:block; margin-bottom:8px; }
.ticket-field p { margin:9px 0 0; color:#d5d7dd; font-size:.9rem; }
.button-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.button { display:inline-flex; min-height:49px; align-items:center; justify-content:center; gap:12px; padding:12px 17px; border:1px solid rgba(255,255,255,.25); border-radius:0; color:var(--ink); background:rgba(255,255,255,.04); font-size:.82rem; font-weight:800; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.button:hover,.button:focus-visible { border-color:#fff; color:var(--bg); background:#fff; outline:none; }
.button.primary { border-color:var(--red); color:var(--bg); background:var(--red); }
.button.primary:hover,.button.primary:focus-visible { color:var(--red); background:var(--bg); }
.faq-action { grid-column:1/-1; }
.arrow { font-size:1.12rem; }
.faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); }
summary { display:flex; gap:14px; justify-content:space-between; padding:19px 0; cursor:pointer; font-size:1rem; font-weight:650; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary::after { color:var(--mint); content:"+"; font-size:1.25rem; font-weight:400; }
details[open] summary::after { content:"–"; }
details p { max-width:520px; margin:-3px 0 20px; color:var(--muted); font-size:.93rem; }
.hub-intro { max-width:720px; margin-bottom:40px; color:#d5d7dd; font-size:1.04rem; }
.hub-group { padding:34px; border:1px solid rgba(255,255,255,.17); border-radius:0; background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.028)); }
.hub-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.hub-card { min-width:0; padding:20px; border:1px solid var(--line); border-radius:0; background:rgba(7,8,12,.42); }
.hub-card strong { display:block; margin:5px 0 14px; font-size:1rem; line-height:1.35; }
.hub-card .button { width:100%; }
.hub-open { padding:34px 0 10px; }
footer { display:flex; justify-content:space-between; gap:24px; padding:30px 0 48px; color:var(--muted); font-size:.76rem; }
footer strong { color:var(--ink); letter-spacing:.12em; }
@media (max-width:900px) { .hero { grid-template-columns:1fr; gap:42px; } .content-grid { grid-template-columns:1fr; } .facts { grid-template-columns:repeat(2,1fr); } }
@media (min-width:761px) { .about-block { min-height:420px; } }
@media (max-width:760px) { .shell { width:min(100% - 30px,560px); } .topbar { min-height:62px; } .guide-label { display:none; } .breadcrumbs { padding-top:14px; font-size:.68rem; } .hero { gap:38px; padding:46px 0; } h1,h1.title-long { font-size:clamp(2rem,10vw,3.5rem); } .event-visual { width:min(100%,460px); } .section { padding:62px 0; } .content-grid,.visit-grid,.service-actions,.faq-grid,.hub-list { grid-template-columns:1fr; } .split-card,.services,.hub-group { padding:25px 21px; } .button-row { align-items:stretch; flex-direction:column; } .button { width:100%; } .faq-action { grid-column:auto; } footer { display:block; } footer p { margin:0 0 8px; } }
@media (max-width:390px) { .shell { width:calc(100% - 26px); } .facts { grid-template-columns:1fr; } .fact { min-height:auto; } .split-card,.services,.hub-group { padding:22px 18px; } }
.hero>*,.content-grid>*,.service-actions>*,.visit-grid>*,.hub-list>* { min-width:0; }
