:root {
  --ink: #f4eee8;
  --muted: #b7a99e;
  --coal: #0d0b0a;
  --coal-2: #15110f;
  --panel: rgba(24, 18, 15, 0.92);
  --ember: #d7441c;
  --ember-hot: #ff6a2d;
  --bronze: #b8874e;
  --line: rgba(225, 176, 123, 0.24);
  --max: 1180px;
  --shadow-up: 0 -18px 42px rgba(215, 68, 28, 0.14), 0 -4px 0 rgba(184, 135, 78, 0.16);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--coal); }
body {
  margin: 0; color: var(--ink); background:
    linear-gradient(rgba(13,11,10,.88), rgba(13,11,10,.96)),
    url('https://domdanic.carrd.co/assets/images/image01.jpg?v=b6ec436c') center top / cover fixed;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65; min-height: 100vh;
}
body::after { content:""; position:fixed; z-index:-1; inset:auto 0 0; height:36vh; pointer-events:none; background:radial-gradient(ellipse at 50% 110%, rgba(255,85,27,.28), transparent 65%); }
a { color: var(--bronze); text-underline-offset: .18em; }
a:hover, a:focus-visible { color: var(--ember-hot); }
img { max-width:100%; }
.shell { width:min(calc(100% - 2rem), var(--max)); margin-inline:auto; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:1000; background:var(--ink); color:var(--coal); padding:.75rem 1rem; }
.skip-link:focus { top:1rem; }
.site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line); background:rgba(9,7,6,.9); backdrop-filter:blur(14px); box-shadow:0 10px 28px rgba(0,0,0,.24); }
.header-grid { min-height:78px; display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:center; }
.brand { display:flex; align-items:center; gap:.8rem; color:var(--ink); text-decoration:none; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.brand-logo { width:44px; height:44px; object-fit:contain; filter:drop-shadow(0 -7px 10px rgba(215,68,28,.35)); }
.brand-word { font-family: Georgia, "Times New Roman", serif; font-size:1.1rem; }
.site-nav { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:.15rem; }
.site-nav a { color:var(--muted); text-decoration:none; text-transform:uppercase; letter-spacing:.09em; font-size:.75rem; font-weight:800; padding:.6rem .7rem; border-bottom:2px solid transparent; }
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current="page"] { color:var(--ink); border-color:var(--ember); }
.nav-toggle { display:none; background:transparent; color:var(--ink); border:1px solid var(--line); padding:.6rem .8rem; font:inherit; font-weight:800; text-transform:uppercase; }
.hero { min-height:72vh; display:grid; align-items:end; position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,6,5,.97) 0%, rgba(8,6,5,.78) 48%, rgba(8,6,5,.22) 100%), linear-gradient(0deg, rgba(215,68,28,.15), transparent 38%); }
.hero-grid { position:relative; padding:clamp(5rem,11vw,9rem) 0 5rem; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(250px,.6fr); gap:4rem; align-items:end; }
.kicker,.eyebrow { color:var(--ember-hot); text-transform:uppercase; letter-spacing:.18em; font-weight:900; font-size:.76rem; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; line-height:1.05; text-wrap:balance; }
h1 { margin:.35rem 0 1rem; max-width:850px; font-size:clamp(3.4rem,9vw,8rem); letter-spacing:-.055em; }
h2 { font-size:clamp(2.1rem,5vw,4.4rem); margin:.25rem 0 1rem; letter-spacing:-.035em; }
h3 { font-size:1.45rem; margin:.2rem 0 .8rem; }
p { max-width:72ch; }
.hero-copy > p:not(.kicker) { font-size:clamp(1.05rem,2vw,1.3rem); color:#d9cec5; }
.button-row { display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.8rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.8rem 1.15rem; color:var(--ink); background:linear-gradient(135deg,var(--ember),#7b2312); text-decoration:none; text-transform:uppercase; letter-spacing:.09em; font-size:.78rem; font-weight:900; border:1px solid rgba(255,148,96,.4); clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)); box-shadow:0 -9px 20px rgba(215,68,28,.25); }
.button.secondary { background:rgba(16,12,10,.78); border-color:var(--bronze); }
.button:hover,.button:focus-visible { color:white; transform:translateY(-2px); }
.hero-aside { padding:1.4rem; border:1px solid var(--line); border-left:3px solid var(--ember); background:rgba(13,10,8,.76); box-shadow:var(--shadow-up); clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%); }
.hero-aside ul { margin:0; padding-left:1.2rem; color:var(--muted); }
.section { padding:clamp(4rem,8vw,7rem) 0; border-bottom:1px solid rgba(225,176,123,.11); }
.section-alt { background:linear-gradient(120deg,rgba(23,17,14,.92),rgba(11,9,8,.82)); }
.section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.55fr); gap:2rem; align-items:end; margin-bottom:2rem; }
.lead { color:#d8ccc2; font-size:1.15rem; }
.grid { display:grid; gap:1.1rem; }
.grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.card { min-width:0; padding:1.35rem; border:1px solid var(--line); border-top:3px solid rgba(184,135,78,.56); background:var(--panel); box-shadow:var(--shadow-up); clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%); }
.card p { color:var(--muted); }
.card .meta { color:var(--ember-hot); font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; font-weight:900; }
.link-card { color:inherit; text-decoration:none; transition:.16s ease; }
.link-card:hover,.link-card:focus-visible { color:inherit; border-color:var(--ember); transform:translateY(-3px); }
.link-card h3,.compact-title { overflow-wrap:anywhere; word-break:break-word; }
.compact-title { font-size:clamp(1rem,2vw,1.22rem); line-height:1.12; }
.affiliate-card { overflow:hidden; }
.discount-code { max-width:100%; font-size:clamp(.95rem,3.8vw,1.65rem); letter-spacing:-.055em; white-space:nowrap; overflow-wrap:normal; word-break:normal; }
.page-hero { padding:clamp(5rem,9vw,8rem) 0 3.5rem; border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(8,6,5,.96),rgba(8,6,5,.56)); }
.page-hero h1 { font-size:clamp(3.2rem,8vw,6.8rem); }
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.45fr); gap:2rem; align-items:start; }
.fact-list { list-style:none; padding:0; margin:0; }
.fact-list li { padding:.75rem 0; border-bottom:1px solid var(--line); color:var(--muted); }
.warning { padding:1rem 1.2rem; border-left:4px solid var(--ember); background:rgba(80,25,12,.28); color:#ecd7cb; }
.timezone-notice { padding:1rem 1.2rem; margin-bottom:1rem; border-left:4px solid var(--bronze); background:rgba(65,43,23,.3); color:#e2d3c7; }
.filter-bar { position:sticky; top:78px; z-index:20; display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,.45fr); gap:.8rem; padding:1rem; margin:0 0 1.5rem; border:1px solid var(--line); background:rgba(12,9,8,.94); box-shadow:0 -10px 28px rgba(215,68,28,.1); }
input,select { width:100%; padding:.85rem .95rem; background:#0c0908; color:var(--ink); border:1px solid var(--line); border-radius:0; font:inherit; }
.artist-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.artist-card { padding:1rem; border:1px solid rgba(225,176,123,.17); border-left:3px solid #5e3423; background:rgba(20,15,13,.88); min-height:180px; display:flex; flex-direction:column; box-shadow:0 -8px 20px rgba(215,68,28,.06); }
.artist-card h3 { font-size:1.12rem; }
.artist-links { margin-top:auto; display:flex; flex-wrap:wrap; gap:.45rem; }
.artist-links a { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; padding:.34rem .5rem; border:1px solid var(--line); text-decoration:none; }
.tags { display:flex; flex-wrap:wrap; gap:.35rem; margin:.6rem 0 1rem; }
.tag { font-size:.68rem; color:#d7c5b5; border:1px solid rgba(184,135,78,.28); padding:.18rem .38rem; text-transform:uppercase; letter-spacing:.06em; }
.result-count { color:var(--muted); margin:.5rem 0 1rem; }
.credit-list { display:grid; gap:.75rem; }
.credit-row { display:grid; grid-template-columns:minmax(180px,.45fr) minmax(180px,.45fr) minmax(240px,1fr); gap:1rem; align-items:start; padding:1rem 0; border-bottom:1px solid var(--line); }
.credit-row .asset { font-weight:900; color:var(--ink); }
.credit-row .note { color:var(--muted); font-size:.9rem; }
.schedule-table { width:100%; border-collapse:collapse; background:rgba(18,14,12,.88); }
.schedule-table th,.schedule-table td { text-align:left; vertical-align:top; padding:1rem; border:1px solid var(--line); }
.schedule-table th { color:var(--ember-hot); text-transform:uppercase; letter-spacing:.09em; font-size:.78rem; }
.schedule-time { font-variant-numeric:tabular-nums; }
.site-footer { padding:2rem 0; background:#080605; border-top:1px solid var(--line); }
.footer-grid { display:flex; justify-content:space-between; gap:2rem; color:var(--muted); font-size:.86rem; }
.footer-grid p { margin:0; }
.empty { padding:2rem; text-align:center; color:var(--muted); border:1px dashed var(--line); }
@media (max-width:900px) {
  .header-grid { grid-template-columns:1fr auto; }
  .nav-toggle { display:block; }
  .site-nav { display:none; grid-column:1/-1; justify-content:flex-start; padding-bottom:1rem; }
  .site-nav.open { display:flex; }
  .hero-grid,.section-head,.split { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .artist-grid,.grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .brand-word { display:none; }
  .site-nav { flex-direction:column; align-items:stretch; }
  .site-nav a { padding:.65rem 0; }
  .grid-2,.grid-3,.artist-grid,.filter-bar { grid-template-columns:1fr; }
  .credit-row { grid-template-columns:1fr; gap:.25rem; }
  .schedule-table,.schedule-table tbody,.schedule-table tr,.schedule-table th,.schedule-table td { display:block; }
  .schedule-table thead { display:none; }
  .schedule-table tr { margin-bottom:1rem; border:1px solid var(--line); }
  .schedule-table td { border:0; border-bottom:1px solid var(--line); }
  .schedule-table td::before { content:attr(data-label); display:block; color:var(--ember-hot); text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; font-weight:900; margin-bottom:.25rem; }
  .footer-grid { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}