@import url('https://fonts.googleapis.com/css2?family=Anton&family=DM+Mono:wght@400;500&display=swap');
:root { --black:#070707; --dark-red:#10090b; --red:#ff0000; --deep-red:#5c0008; --text:#f4f0ed; --muted:#8c8585; --line:rgba(255,0,0,.72); --line-soft:rgba(255,0,0,.35); --display:'Anton', sans-serif; --mono:'DM Mono', monospace; --container:1280px; --page-pad:clamp(20px,4vw,64px); }
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--text); font-family:var(--mono); font-size:16px; line-height:1.55; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:2px solid var(--text); outline-offset:4px; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
h1,h2,h3,p { margin:0; overflow-wrap:anywhere; }
h1,h2,h3 { font-family:var(--display); font-weight:400; text-transform:uppercase; line-height:.9; letter-spacing:-.03em; }
h1 { font-size:clamp(2.5rem,8vw,7rem); color:var(--red); }
h2 { font-size:clamp(2.5rem,5.5vw,5rem); }
.shell { width:min(var(--container),calc(100% - var(--page-pad) * 2)); margin-inline:auto; }
.section { padding-block:clamp(72px,10vw,150px); }
.eyebrow { color:var(--red); font-size:11px; line-height:1.2; letter-spacing:.08em; text-transform:uppercase; }
.intro-copy { max-width:520px; margin-top:24px; color:var(--muted); }
.site-header { position:sticky; top:0; z-index:20; background:rgba(7,7,7,.97); border-bottom:1px solid var(--line); }
.header-inner { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand-mark { display:block; width:82px; }
.brand-mark img { width:100%; height:42px; object-fit:contain; }
.desktop-nav { display:flex; align-items:center; gap:clamp(16px,2.5vw,36px); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.desktop-nav a:hover,.footer-links a:hover,.social-list a:hover { color:var(--red); }
.nav-ticket { border:1px solid var(--red); color:var(--red); padding:10px 14px; }
.menu-toggle { display:none; color:var(--red); background:transparent; border:0; padding:6px; }
.mobile-nav { padding-block:18px 24px; border-top:1px solid var(--line-soft); flex-direction:column; gap:18px; font-size:13px; text-transform:uppercase; }
.mobile-nav a:first-child { color:var(--black); background:var(--red); padding:12px 14px; }
.hero { position:relative; min-height:min(760px,88vh); display:flex; align-items:flex-end; overflow:hidden; }
.hero-image,.hero-scrim { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-scrim { background:linear-gradient(90deg,rgba(7,7,7,.96) 0%,rgba(7,7,7,.68) 43%,rgba(7,7,7,.12) 100%),linear-gradient(0deg,rgba(7,7,7,.88),transparent 62%); }
.hero-content { position:relative; z-index:1; padding-block:clamp(56px,8vw,110px); }
.hero-content h1 { max-width:860px; margin-top:16px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:24px; color:var(--text); font-size:12px; line-height:1.2; text-transform:uppercase; }
.hero-meta span { display:flex; align-items:center; gap:7px; }
.hero-meta .meta-price { color:var(--red); }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--red); padding:13px 18px; font-size:12px; line-height:1.2; letter-spacing:.06em; text-transform:uppercase; }
.button-primary { color:var(--black); background:var(--red); }
.button-primary:hover { background:var(--text); border-color:var(--red); }
.text-link,.archive-link { display:inline-flex; align-items:center; gap:8px; color:var(--red); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.text-link:hover,.archive-link:hover { color:var(--text); }
.scroll-marker { position:absolute; right:var(--page-pad); bottom:42px; z-index:1; color:var(--red); font-size:10px; letter-spacing:.1em; writing-mode:vertical-rl; }
.upcoming-section { background:var(--black); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.section-heading h2 { margin-top:12px; }
.section-heading > p { max-width:320px; color:var(--muted); font-size:13px; }
.slider-frame { padding-block:30px; }
.archive-link { display:inline-block; border-bottom:1px solid var(--red); padding-bottom:4px; }
.statement { background:var(--dark-red); border-block:1px solid var(--line-soft); }
.statement-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:start; }
.statement-grid .eyebrow { grid-column:span 2; }
.statement-grid h2 { grid-column:span 6; color:var(--red); }
.statement-copy { grid-column:span 4; padding-top:8px; }
.statement-copy p { margin-bottom:28px; }
.photo-band { background:var(--black); }
.photo-strip { display:grid; grid-template-columns:2fr 1fr 2fr; gap:16px; margin-top:32px; }
.photo { overflow:hidden; aspect-ratio:1.5; border:1px solid var(--line-soft); }
.photo-portrait { aspect-ratio:2/3; }
.photo img,.gallery-item img,.about-image img,.collage img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.photo:hover img,.gallery-item:hover img { transform:scale(1.03); }
.past-section { background:var(--dark-red); }
.event-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; margin-top:32px; }
.event-grid [data-yk-card] { --yk-card-bg:var(--black); --yk-card-text:var(--text); --yk-card-muted:var(--muted); --yk-card-border:var(--line); --yk-card-media-bg:var(--deep-red); --yk-card-shadow:none; --yk-card-title-font:var(--display); --yk-card-font:var(--mono); --yk-radius:0; --yk-card-ratio:3/2; --yk-card-title-size:clamp(1.7rem,3vw,2.6rem); --yk-card-title-leading:.92; --yk-card-title-case:uppercase; --yk-card-meta-case:uppercase; --yk-card-meta-color:var(--muted); }
.review-section { padding-block:52px; background:var(--dark-red); }
.review-band { border-block:1px solid var(--line-soft); padding-block:28px; }
.review-band .review-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:24px; }
.review-rating { color:var(--red); font-size:12px; text-transform:uppercase; }
.review-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.review-quote { border-left:1px solid var(--line); padding-left:18px; color:var(--text); }
.review-quote cite { display:block; margin-top:12px; color:var(--muted); font-size:11px; font-style:normal; text-transform:uppercase; }
.subscribe-band { background:var(--black); padding-top:72px; }
.subscribe-panel { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; border:1px solid var(--line); padding:clamp(24px,4vw,48px); }
.subscribe-panel h2 { color:var(--red); margin-top:12px; }
form { display:grid; gap:10px; }
form label { color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
form input,form textarea { width:100%; min-width:0; border:1px solid var(--line-soft); border-radius:0; background:transparent; color:var(--text); padding:12px; }
form input:focus,form textarea:focus { border-color:var(--red); outline:0; }
form button { justify-self:start; border:1px solid var(--red); color:var(--black); background:var(--red); padding:12px 18px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
form button:hover { background:var(--text); }
form [role=status] { color:var(--red); font-size:12px; }
.page-view { min-height:70vh; padding-top:clamp(70px,10vw,140px); }
.page-view > .shell > h1 { margin-top:16px; margin-bottom:42px; }
.page-slider { border-block:1px solid var(--line); padding-block:28px; }
.about-hero { position:relative; min-height:clamp(420px,65vh,680px); display:flex; align-items:end; overflow:hidden; }
.about-hero img,.about-hero-scrim { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-hero-scrim { background:linear-gradient(0deg,rgba(7,7,7,.9),rgba(7,7,7,.08)); }
.about-hero-copy { position:relative; z-index:1; padding-bottom:clamp(48px,8vw,100px); }
.about-hero-copy h1 { margin-top:14px; }
.about-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(32px,7vw,100px); align-items:start; }
.about-grid h2 { color:var(--red); margin:16px 0 28px; }
.about-grid p + p { margin-top:18px; }
.about-image { aspect-ratio:2/3; max-width:440px; border:1px solid var(--line); }
.facts { background:var(--dark-red); border-block:1px solid var(--line-soft); }
.facts-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.facts-row > div { padding:28px 20px; border-right:1px solid var(--line-soft); }
.facts-row > div:first-child { padding-left:0; }
.facts-row > div:last-child { border:0; }
.facts strong,.facts span { display:block; text-transform:uppercase; }
.facts strong { color:var(--red); font-family:var(--display); font-size:clamp(2rem,5vw,4rem); line-height:1; padding-block:4px; }
.facts span { margin-top:10px; font-size:11px; letter-spacing:.06em; }
.collage-section { background:var(--dark-red); }
.collage { display:grid; grid-template-columns:1.5fr 1fr 1.5fr; gap:16px; align-items:start; }
.collage > div { aspect-ratio:1.5; border:1px solid var(--line-soft); }
.collage > div:nth-child(2) { aspect-ratio:2/3; }
.centered-action { margin-top:34px; text-align:center; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; margin-block:48px 32px; }
.gallery-item { overflow:hidden; border:1px solid var(--line-soft); }
.gallery-landscape { grid-column:span 7; aspect-ratio:1.5; }
.gallery-portrait { grid-column:span 5; grid-row:span 2; aspect-ratio:2/3; }
.gallery-item:nth-child(3),.gallery-item:nth-child(5) { grid-column:span 7; }
.gallery-item:nth-child(6),.gallery-item:nth-child(7) { grid-column:span 6; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,120px); align-items:start; }
.contact-grid h1 { margin-top:16px; }
.social-list { display:grid; gap:12px; margin-top:48px; color:var(--red); font-size:12px; text-transform:uppercase; }
.contact-form { border:1px solid var(--line); padding:28px; }
.empty-view { padding-bottom:160px; }
.empty-view h1 { margin:18px 0 32px; }
.event-detail-panel { display:grid; grid-template-columns:1fr 1fr; gap:32px; border-block:1px solid var(--line); padding-block:28px; }
.detail-image { aspect-ratio:1.5; border:1px solid var(--line-soft); }
.detail-image img { width:100%; height:100%; object-fit:cover; }
.detail-copy h1 { margin:14px 0 22px; }
.detail-meta { display:grid; gap:10px; color:var(--muted); font-size:12px; text-transform:uppercase; }
.detail-description { margin-top:28px; max-width:620px; }
.site-footer { border-top:1px solid var(--red); padding-top:48px; background:var(--black); }
.footer-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:40px; align-items:start; padding-bottom:52px; }
.footer-note { margin-top:18px; color:var(--muted); font-size:12px; }
.footer-links { display:grid; gap:9px; margin-top:16px; font-size:12px; text-transform:uppercase; }
.social-icons { display:flex; gap:14px; margin-top:24px; color:var(--red); }
.social-icons svg { width:18px; height:18px; }
.site-footer form { margin-top:16px; }
.copyright { border-top:1px solid var(--line-soft); padding-block:18px; color:var(--muted); font-size:11px; text-transform:uppercase; }
@media (max-width:760px) { .desktop-nav { display:none; } .menu-toggle { display:block; } .mobile-nav { display:flex; } .hero { min-height:calc(100svh - 68px); aspect-ratio:4/5; } .hero-content { padding-block:42px 48px; } .hero-content h1 { font-size:clamp(2.5rem,8vw,7rem); } .scroll-marker { display:none; } .section-heading { display:block; } .section-heading > p { margin-top:18px; } .statement-grid,.about-grid,.contact-grid,.subscribe-panel,.event-detail-panel { grid-template-columns:1fr; } .statement-grid .eyebrow,.statement-grid h2,.statement-copy { grid-column:auto; } .statement-copy { padding-top:0; } .photo-strip { display:flex; overflow-x:auto; padding-bottom:8px; } .photo { min-width:78vw; } .photo-portrait { aspect-ratio:2/3; } .review-quotes { grid-template-columns:1fr; } .facts-row { display:block; } .facts-row > div,.facts-row > div:first-child { padding:22px 0; border-right:0; border-bottom:1px solid var(--line-soft); } .collage { display:grid; grid-template-columns:1fr 1fr; } .collage > div:first-child { grid-column:span 2; } .gallery-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:34px; } .gallery-landscape,.gallery-portrait,.gallery-item:nth-child(3),.gallery-item:nth-child(5),.gallery-item:nth-child(6),.gallery-item:nth-child(7) { grid-column:auto; grid-row:auto; } .gallery-portrait { aspect-ratio:2/3; } .gallery-item:nth-child(1),.gallery-item:nth-child(4),.gallery-item:nth-child(6) { grid-column:span 2; } .footer-grid { grid-template-columns:1fr; gap:42px; } .contact-form { padding:20px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }
