/* ─── T's On Thomas — Tropical Neon · PCB Local · String Lights ─────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Pulled directly from the venue — blue walls, sunset mural, teal patio */
  --teal:        #2a8a8a;
  --teal-dim:    #1e6666;
  --cobalt:      #1a2e5a;
  --cobalt-mid:  #0e1e3d;
  --coral:       #e8603a;
  --coral2:      #ff7a50;
  --magenta:     #c4245e;
  --sunset-mid:  #d44e30;

  /* Venue wall colour — that washed blue */
  --wall:        #1a3a4a;
  --wall-deep:   #0f2535;

  /* Neutrals */
  --black:       #080808;
  --near-black:  #0d0d0d;
  --dark:        #131313;
  --panel:       #191919;
  --cream:       #f4ede0;
  --cream-dim:   rgba(244,237,224,.62);
  --cream-off:   rgba(244,237,224,.28);
  --rule:        rgba(244,237,224,.07);

  /* The mural gradient — cobalt → coral → magenta. Used sparingly. */
  --mural:       linear-gradient(135deg, #1a2e5a 0%, #2a8a8a 30%, #e8603a 65%, #c4245e 100%);
  --mural-h:     linear-gradient(90deg,  #1a2e5a 0%, #2a5a8a 35%, #e8603a 70%, #c4245e 100%);
  --mural-warm:  linear-gradient(135deg, #e8603a 0%, #c4245e 100%);

  /* Type */
  --cond:   "Barlow Condensed", "Arial Narrow", sans-serif;
  --body:   "Barlow", system-ui, sans-serif;
  --serif:  "Instrument Serif", Georgia, serif;
}

@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Barlow+Condensed:wght@400;500;600;700;800;900&family=Barlow:wght@300;400;500&display=swap');

/* ── RESET ─────────────────────────────────────────────────────────────────── */
html  { scroll-behavior:smooth; overflow-x:hidden; background:var(--black); }
body  { font-family:var(--body); font-weight:300; color:var(--cream); line-height:1.6;
        -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img   { display:block; max-width:100%; height:auto; }
a     { color:inherit; text-decoration:none; }

/* ── GRAIN — lighter than before, this place has warmth ────────────────────── */
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:300;
  opacity:.10; mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.5  0 0 0 0 0.35  0 0 0 0 0.2  0 0 0 0.15 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  animation:grain 2s steps(4) infinite;
}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-4px,4px)}50%{transform:translate(4px,-4px)}75%{transform:translate(-2px,-2px)}100%{transform:translate(0,0)}}

/* ── LAYOUT ─────────────────────────────────────────────────────────────────── */
.wrap { max-width:1200px; margin:0 auto; padding:0 48px; }

/* ── NAV ────────────────────────────────────────────────────────────────────── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:60px; display:flex; align-items:center; justify-content:space-between;
  padding:0 40px;
  background:rgba(8,8,8,.96); backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(42,138,138,.3);
}
.nav-brand img { height:40px; width:auto; display:block; }
.nav-links { display:flex; align-items:center; list-style:none;
             font-family:var(--cond); font-size:11px; font-weight:700;
             letter-spacing:.16em; text-transform:uppercase; }
.nav-links li a { display:block; padding:0 16px; height:60px; line-height:60px;
                  color:var(--cream-off); transition:color .15s; }
.nav-links li a:hover, .nav-links li a.active { color:var(--cream); }
.nav-links .nav-cta a {
  background:var(--mural-h); color:#fff; margin-left:8px;
  padding:0 22px; transition:opacity .15s;
}
.nav-links .nav-cta a:hover { opacity:.85; color:#fff; }

/* ── BUTTONS ────────────────────────────────────────────────────────────────── */
.btn-coral {
  display:inline-block; background:var(--coral); color:#fff;
  padding:13px 28px; font-family:var(--cond); font-size:11px;
  font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  transition:background .15s, transform .1s;
}
.btn-coral:hover { background:var(--coral2); transform:translateY(-1px); }

.btn-mural {
  display:inline-block; background:var(--mural-h); color:#fff;
  padding:13px 28px; font-family:var(--cond); font-size:11px;
  font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  transition:opacity .15s, transform .1s;
}
.btn-mural:hover { opacity:.85; transform:translateY(-1px); }

.btn-ghost {
  display:inline-block; border:1px solid rgba(244,237,224,.22); color:var(--cream-dim);
  padding:13px 28px; font-family:var(--cond); font-size:11px;
  font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  transition:border-color .15s, color .15s;
}
.btn-ghost:hover { border-color:var(--coral); color:var(--coral); }

.btn-teal {
  display:inline-block; background:var(--teal); color:#fff;
  padding:13px 28px; font-family:var(--cond); font-size:11px;
  font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  transition:background .15s;
}
.btn-teal:hover { background:var(--teal-dim); }

.btn-outline {
  display:inline-block; border:1px solid var(--rule); color:var(--cream-off);
  padding:10px 22px; font-family:var(--cond); font-size:10px;
  font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  transition:border-color .15s, color .15s;
}
.btn-outline:hover { border-color:var(--coral); color:var(--coral); }

/* ── TYPE ───────────────────────────────────────────────────────────────────── */
.eyebrow {
  display:block; font-family:var(--cond); font-size:10px; font-weight:800;
  letter-spacing:.36em; text-transform:uppercase; color:var(--coral); margin-bottom:10px;
}
.eyebrow.teal { color:var(--teal); }
.sec-title {
  font-family:var(--cond); font-weight:900; text-transform:uppercase;
  font-size:clamp(2.4rem,5vw,4.2rem); line-height:.92; letter-spacing:-.01em; color:var(--cream);
}
.sec-title .accent { color:var(--coral); }
.sec-title .teal   { color:var(--teal); }
.sec-serif { font-family:var(--serif); font-style:italic; font-weight:400;
             font-size:clamp(1.4rem,3vw,2.4rem); color:var(--cream-dim); line-height:1.2; }
.lead { font-size:15px; color:var(--cream-dim); line-height:1.85; max-width:44ch; }

/* mural rule line */
.mural-rule { width:44px; height:3px; background:var(--mural-h); margin-bottom:24px; }

/* ── HERO ────────────────────────────────────────────────────────────────────── */
.hero {
  position:relative; min-height:100vh; display:flex; align-items:center;
  overflow:hidden; padding-top:60px;
}
.hero-img-wrap {
  position:absolute; inset:0;
}
.hero-img {
  width:100%; height:100%; object-fit:cover; object-position:center 40%;
  filter:brightness(.55) saturate(.8);
}
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(15,37,53,.88) 0%, rgba(26,46,90,.55) 50%, rgba(10,10,10,.2) 100%);
}
.hero-content {
  position:relative; z-index:2; padding:0 48px; max-width:820px;
}
.hero-content h1 {
  font-family:var(--cond); font-weight:900;
  font-size:clamp(4rem,11vw,10rem); text-transform:uppercase;
  letter-spacing:-.02em; color:var(--cream); line-height:.85; margin-bottom:20px;
}
.hero-sub {
  font-family:var(--serif); font-style:italic; font-size:clamp(1.1rem,2.2vw,1.5rem);
  color:var(--cream-dim); margin-bottom:32px; max-width:36ch;
}
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:32px; }
.hero-pills {
  display:flex; gap:10px; flex-wrap:wrap;
}
.hero-pills span {
  font-family:var(--cond); font-size:9px; font-weight:800; letter-spacing:.22em;
  text-transform:uppercase; color:var(--cream-off);
  border:1px solid rgba(244,237,224,.12); padding:5px 12px;
}

/* ── TICKER (V3) ─────────────────────────────────────────────────────────────── */
.ticker-wrap {
  background:var(--mural-h); overflow:hidden; white-space:nowrap; padding:.55rem 0;
}
.ticker-track {
  display:inline-flex; align-items:center; gap:0;
  animation:ticker 48s linear infinite;
}
@keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.ticker-track span {
  font-family:var(--cond); font-size:10px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.92); padding:0 1.5rem;
}
.ticker-dot { color:rgba(255,255,255,.32) !important; padding:0 .2rem !important; }

/* legacy ticker classes kept for events page */
.ticker { background:var(--mural-h); overflow:hidden; white-space:nowrap; padding:.55rem 0; }
.ticker-inner { display:inline-flex; animation:ticker 38s linear infinite; }
.ticker-item {
  display:inline-block; color:rgba(255,255,255,.92); font-family:var(--cond);
  font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; padding:0 2.5rem;
}
.ticker-sep { color:rgba(255,255,255,.32); margin:0 .5rem; }

/* ── SPLIT LAYOUT ────────────────────────────────────────────────────────────── */
.split-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.split-img-block { position:relative; overflow:hidden; }
.split-img-block img { width:100%; height:100%; object-fit:cover; display:block; }
.split-img-caption {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(8,8,8,.8) 0%, transparent 100%);
  padding:28px 20px 14px;
  font-family:var(--cond); font-size:9px; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--cream-off);
}
.split-text-block h2 {
  font-family:var(--cond); font-weight:900; text-transform:uppercase;
  font-size:clamp(2rem,4.5vw,3.5rem); letter-spacing:-.01em;
  color:var(--cream); line-height:.9; margin-bottom:16px;
}

/* ── DECORATIVE RULES ────────────────────────────────────────────────────────── */
.teal-rule  { width:44px; height:3px; background:var(--teal); margin-bottom:24px; }
.coral-rule { width:44px; height:3px; background:var(--coral); margin-bottom:24px; }

/* ── THREE PILLARS ───────────────────────────────────────────────────────────── */
.pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.pillar-card { background:var(--panel); overflow:hidden; transition:background .2s; }
.pillar-card:hover { background:#1e1e1e; }
.pillar-img { aspect-ratio:4/3; overflow:hidden; }
.pillar-img img { width:100%; height:100%; object-fit:cover;
  filter:brightness(.7) saturate(.85); transition:filter .5s, transform .6s; }
.pillar-card:hover .pillar-img img { filter:brightness(.88) saturate(.95); transform:scale(1.04); }
.pillar-body { padding:24px 22px; }
.pillar-num {
  display:block; font-family:var(--cond); font-size:9px; font-weight:800;
  letter-spacing:.3em; text-transform:uppercase; color:var(--teal); margin-bottom:10px;
}
.pillar-body h3 {
  font-family:var(--cond); font-weight:900; font-size:clamp(1.4rem,2.5vw,1.9rem);
  text-transform:uppercase; letter-spacing:-.01em; color:var(--cream); line-height:.95; margin-bottom:10px;
}
.pillar-body p { font-size:13px; color:var(--cream-dim); line-height:1.7; margin-bottom:14px; }
.pillar-link {
  display:inline-block; font-family:var(--cond); font-size:9px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase; color:var(--coral);
}
.pillar-link:hover { color:var(--coral2); }

/* ── SCHEDULE MINI (homepage teaser) ────────────────────────────────────────── */
.sched-teaser-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:start; }
.sched-mini { display:flex; flex-direction:column; gap:2px; }
.sched-mini-row {
  background:rgba(255,255,255,.04); padding:14px 18px;
  display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:14px;
  border-left:2px solid transparent; transition:border-color .15s, background .15s;
}
.sched-mini-row:hover { background:rgba(255,255,255,.07); border-left-color:var(--coral); }
.sched-mini-row.hot  { background:rgba(42,138,138,.06); border-left-color:var(--teal); }
.sched-mini-row.late { background:rgba(196,36,94,.06);  border-left-color:var(--magenta); }

/* ── STAGE GLOW ──────────────────────────────────────────────────────────────── */
.stage-glow {
  position:absolute; width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(232,96,58,.12) 0%, transparent 70%);
  top:-100px; right:-100px; pointer-events:none;
}

/* ── PERKS GRID ──────────────────────────────────────────────────────────────── */
.perks-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
.perk-card {
  background:var(--panel); padding:36px 28px;
  border-top:3px solid transparent; transition:border-color .2s, background .2s;
}
.perk-card:hover { background:#1e1e1e; border-top-color:var(--teal); }
.perk-icon { font-size:28px; margin-bottom:14px; }
.perk-card h3 {
  font-family:var(--cond); font-weight:900; font-size:1.15rem; text-transform:uppercase;
  letter-spacing:.02em; color:var(--cream); margin-bottom:8px;
}
.perk-card p { font-size:13px; color:var(--cream-dim); line-height:1.7; }

/* ── MENU TEASER LIST ────────────────────────────────────────────────────────── */
.menu-teaser-list {
  list-style:none; margin-top:20px; display:flex; flex-direction:column; gap:8px;
}
.menu-teaser-list li {
  font-size:14px; color:var(--cream-dim); padding-left:18px; position:relative; line-height:1.5;
}
.menu-teaser-list li::before {
  content:"—"; position:absolute; left:0; color:var(--coral); font-weight:700;
}

/* ── CONTACT DARK PANEL ──────────────────────────────────────────────────────── */
.contact-panel.dark { background:var(--wall-deep); }

/* ── MAIN HERO — STAGE FULL BLEED ───────────────────────────────────────────── */
.main-hero {
  position:relative; min-height:100vh; display:flex; align-items:center;
  overflow:hidden; margin-top:60px;
}
.main-hero-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 25%;
}
.main-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(115deg, rgba(8,8,8,.82) 0%, rgba(26,46,90,.5) 45%, rgba(8,8,8,.15) 100%);
}
.main-hero-fade {
  position:absolute; bottom:0; left:0; right:0; height:160px;
  background:linear-gradient(to bottom, transparent 0%, var(--black) 100%);
  pointer-events:none;
}
.main-hero-content {
  position:relative; z-index:2; width:100%; padding:0 0 60px;
}
.main-hero-title {
  font-family:var(--cond); font-weight:900;
  font-size:clamp(4.5rem,12vw,11rem); text-transform:uppercase;
  letter-spacing:-.025em; color:var(--cream); line-height:.82;
  margin:16px 0 28px;
}
/* hero-sub and hero-actions already defined above */

/* ── UPCOMING SHOW BAR ───────────────────────────────────────────────────────── */
.upcoming-show-bar {
  background:var(--cobalt-mid); border-top:2px solid var(--coral);
  padding:18px 0;
}
.upcoming-show-inner {
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
}
.upcoming-show-meta {
  display:flex; flex-direction:column; gap:2px; flex-shrink:0;
}
.upcoming-show-label {
  font-family:var(--cond); font-size:8px; font-weight:800;
  letter-spacing:.3em; text-transform:uppercase; color:var(--coral);
}
.upcoming-show-date {
  font-family:var(--cond); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:var(--cream-off);
}
.upcoming-show-name {
  flex:1; font-family:var(--cond); font-weight:900;
  font-size:clamp(1.3rem,2.5vw,2rem); text-transform:uppercase;
  letter-spacing:-.01em; color:var(--cream);
}
.upcoming-show-name em { font-family:var(--serif); font-weight:400;
  text-transform:none; letter-spacing:0; font-size:.7em;
  color:var(--cream-dim); margin-left:8px; }

/* ── STAGE IDENTITY — no box ─────────────────────────────────────────────────── */
.stage-identity {
  background:var(--black); padding:100px 0 80px;
}
.stage-id-grid {
  display:grid; grid-template-columns:1fr 1.1fr; gap:72px; align-items:center;
}
.stage-id-heading {
  font-family:var(--cond); font-weight:900;
  font-size:clamp(3rem,6vw,5.5rem); text-transform:uppercase;
  letter-spacing:-.02em; color:var(--cream); line-height:.85;
  margin:10px 0 20px;
}
.stage-id-photos { display:flex; flex-direction:column; gap:3px; }
.stage-id-photo-main { overflow:hidden; }
.stage-id-photo-main img {
  width:100%; display:block; height:300px; object-fit:cover;
  filter:brightness(.8) saturate(.9);
  transition:filter .5s, transform .6s;
}
.stage-id-photo-main:hover img { filter:brightness(.95); transform:scale(1.02); }
.stage-id-photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.stage-id-photo-pair img {
  width:100%; display:block; height:160px; object-fit:cover;
  filter:brightness(.7) saturate(.85);
  transition:filter .5s, transform .6s;
}
.stage-id-photo-pair img:hover { filter:brightness(.9); transform:scale(1.03); }

/* ── BLAC JAC SECTION — cinematic, no box ────────────────────────────────────── */
.blacjac-section {
  position:relative; padding:120px 0; overflow:hidden;
  background:var(--wall-deep);
}
.blacjac-bg {
  position:absolute; inset:0;
}
.blacjac-bg img {
  width:100%; height:100%; object-fit:cover;
  object-position:70% center;
  filter:brightness(.12) saturate(.5);
}
.blacjac-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to right, rgba(15,37,53,.98) 0%, rgba(15,37,53,.88) 45%, rgba(15,37,53,.55) 75%, transparent 100%);
}
.blacjac-inner {
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 260px;
  gap:80px; align-items:center;
}
.blacjac-quote {
  font-family:var(--cond); font-weight:900; font-style:italic;
  font-size:clamp(3rem,6.5vw,6rem); text-transform:uppercase;
  letter-spacing:-.02em; color:var(--cream); line-height:.82;
  margin:12px 0 20px;
}
.blacjac-merch img {
  width:100%; display:block;
  border:2px solid rgba(232,96,58,.25);
  filter:brightness(.9);
}

/* ── SPECIALS — no box, horizontal flow ──────────────────────────────────────── */
.specials-section {
  background:var(--black); padding:80px 0;
}
.specials-header {
  display:flex; align-items:flex-end; justify-content:space-between;
  flex-wrap:wrap; gap:1rem; margin-bottom:40px;
}
.specials-flow {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(244,237,224,.06);
}
.special-item {
  padding:28px 0 28px 24px;
  border-right:1px solid rgba(244,237,224,.06);
  transition:background .2s;
}
.special-item:last-child { border-right:none; }
.special-item:hover { background:rgba(255,255,255,.02); }
.special-day-tag {
  font-family:var(--cond); font-size:9px; font-weight:800;
  letter-spacing:.3em; text-transform:uppercase; color:var(--coral);
  margin-bottom:12px;
}
.special-item-body .special-name {
  font-family:var(--cond); font-weight:900;
  font-size:clamp(1.1rem,2vw,1.5rem); text-transform:uppercase;
  letter-spacing:-.01em; color:var(--cream); line-height:1; margin-bottom:6px;
}
.special-item-body .special-detail {
  font-size:12px; color:var(--cream-dim); line-height:1.6;
}
.special-item-body .special-price {
  font-family:var(--cond); font-size:1.4rem; font-weight:900;
  color:var(--coral); margin-top:4px;
}
.specials-tagline {
  margin-top:32px; padding-top:24px;
  border-top:1px solid rgba(244,237,224,.06);
  font-family:var(--cond); font-size:10px; font-weight:800;
  letter-spacing:.32em; text-transform:uppercase; color:var(--teal);
  text-align:center;
}

/* ── DUAL HERO ───────────────────────────────────────────────────────────────── */
.dual-hero {
  display:grid; grid-template-columns:1fr 1fr;
  height:100vh; min-height:600px; position:relative; margin-top:60px;
}
.dual-hero-left, .dual-hero-right {
  position:relative; overflow:hidden;
}
.dual-hero-left img, .dual-hero-right img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 8s ease;
}
.dual-hero-left:hover img, .dual-hero-right:hover img { transform:scale(1.04); }
.dual-hero-left-overlay {
  position:absolute; inset:0;
  background:linear-gradient(160deg, rgba(8,8,8,.7) 0%, rgba(26,46,90,.5) 50%, rgba(8,8,8,.2) 100%);
}
.dual-hero-right-overlay {
  position:absolute; inset:0;
  background:linear-gradient(200deg, rgba(8,8,8,.7) 0%, rgba(15,37,53,.55) 50%, rgba(8,8,8,.2) 100%);
}
.dual-hero-left-text, .dual-hero-right-text {
  position:absolute; bottom:0; left:0; right:0; padding:48px 44px;
  background:linear-gradient(to top, rgba(8,8,8,.92) 0%, rgba(8,8,8,.4) 60%, transparent 100%);
}
.dual-hero-left-text h1, .dual-hero-right-text h1 {
  font-family:var(--cond); font-weight:900;
  font-size:clamp(2.8rem,6vw,5.5rem); text-transform:uppercase;
  letter-spacing:-.02em; color:var(--cream); line-height:.85; margin-bottom:20px;
}
.dual-hero-address {
  position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  z-index:10; padding:10px 24px;
  background:rgba(8,8,8,.85); border-top:2px solid var(--coral);
  font-family:var(--cond); font-size:9px; font-weight:800;
  letter-spacing:.28em; text-transform:uppercase; color:var(--cream-off);
  white-space:nowrap;
}
/* divider line between panels */
.dual-hero::after {
  content:""; position:absolute; left:50%; top:0; bottom:0;
  width:2px; background:var(--coral); z-index:5;
}

/* ── BLAC JAC FOOL SECTION ───────────────────────────────────────────────────── */
.fool-section {
  position:relative; background:var(--wall); overflow:hidden;
  padding:100px 0;
}
.fool-img-wrap {
  position:absolute; inset:0;
}
.fool-img-wrap img {
  width:100%; height:100%; object-fit:cover;
  object-position:center 30%;
  filter:brightness(.18) saturate(.6);
}
.fool-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to right, rgba(15,37,53,.97) 0%, rgba(15,37,53,.85) 40%, rgba(15,37,53,.4) 100%);
}
.fool-content {
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr auto;
  gap:60px; align-items:center;
}
.fool-text { max-width:560px; }
.fool-headline {
  font-family:var(--cond); font-weight:900;
  font-size:clamp(2.8rem,6vw,5.5rem); text-transform:uppercase;
  letter-spacing:-.02em; color:var(--cream); line-height:.85;
  margin-bottom:20px;
  font-style:italic;
}
.fool-merch {
  width:220px; flex-shrink:0;
}
.fool-merch img {
  width:100%; display:block; border:2px solid rgba(232,96,58,.3);
}
.fool-merch-cap {
  font-family:var(--cond); font-size:9px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--cream-off); text-align:center; margin-top:8px;
}

/* ── WEEKLY SPECIALS GRID ────────────────────────────────────────────────────── */
.specials-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-bottom:2px;
}
.special-card {
  background:var(--panel); padding:28px 24px;
  border-top:3px solid var(--coral);
  transition:background .2s;
}
.special-card:hover { background:#1e1e1e; }
.special-day {
  font-family:var(--cond); font-size:9px; font-weight:800;
  letter-spacing:.3em; text-transform:uppercase; color:var(--teal);
  margin-bottom:10px;
}
.special-name {
  font-family:var(--cond); font-weight:900;
  font-size:clamp(1.3rem,2.5vw,1.8rem); text-transform:uppercase;
  letter-spacing:-.01em; color:var(--cream); line-height:.95; margin-bottom:8px;
}
.special-detail { font-size:13px; color:var(--cream-dim); line-height:1.6; }
.specials-tagline {
  text-align:center; padding:20px;
  background:rgba(42,138,138,.06); border:1px solid rgba(42,138,138,.15);
  font-family:var(--cond); font-size:11px; font-weight:800;
  letter-spacing:.26em; text-transform:uppercase; color:var(--teal);
}

/* ── STAGE FULLBLEED ─────────────────────────────────────────────────────────── */
.stage-fullbleed {
  position:relative; min-height:580px; display:flex; align-items:center; overflow:hidden;
}
.stage-bg-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 30%;
  filter:brightness(.4) saturate(.7);
}
.stage-fullbleed-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to right, rgba(8,8,8,.88) 0%, rgba(8,8,8,.5) 55%, transparent 100%);
}
.stage-fullbleed-content {
  position:relative; z-index:2; padding:80px 48px;
}

/* ── UPCOMING EVENT ──────────────────────────────────────────────────────────── */
.upcoming-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;
}
.upcoming-img-wrap {
  position:relative; overflow:hidden;
}
.upcoming-img-wrap img {
  width:100%; display:block;
  filter:brightness(.75) saturate(.85);
}
.upcoming-date-badge {
  position:absolute; top:20px; left:20px;
  background:var(--coral); padding:10px 16px;
  display:flex; flex-direction:column; align-items:center; gap:0;
}
.badge-month {
  font-family:var(--cond); font-size:9px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.8);
}
.badge-day {
  font-family:var(--cond); font-weight:900; font-size:2.2rem;
  color:#fff; line-height:1;
}
.badge-time {
  font-family:var(--cond); font-size:9px; font-weight:700;
  letter-spacing:.12em; color:rgba(255,255,255,.8);
}

/* ── INFO STRIP ─────────────────────────────────────────────────────────────── */
.info-strip { display:grid; grid-template-columns:repeat(3,1fr); background:var(--wall-deep); }
.info-block { padding:1.75rem 2.5rem; border-right:1px solid rgba(42,138,138,.15); }
.info-block:last-child { border-right:none; }
.info-label { font-family:var(--cond); font-size:9px; font-weight:800; letter-spacing:.32em;
              text-transform:uppercase; color:var(--teal); margin-bottom:6px; }
.info-value { font-size:14px; color:var(--cream-dim); line-height:1.7; }
.info-value a:hover { color:var(--coral); }

/* ── PAGE HERO ──────────────────────────────────────────────────────────────── */
.page-hero {
  min-height:46vh; position:relative; display:flex; align-items:flex-end;
  overflow:hidden; padding-top:60px;
}
.page-hero-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  filter:brightness(.32) saturate(.75);
}
.page-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 0%, rgba(8,8,8,.96) 100%);
}
.page-hero-content { position:relative; z-index:2; padding:0 48px 3rem; }

/* ── SCHEDULE PILLS ─────────────────────────────────────────────────────────── */
.sched-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; }
.sched-row {
  background:var(--panel); padding:20px 28px;
  display:grid; grid-template-columns:60px 1fr auto; align-items:center; gap:18px;
  border-left:3px solid transparent; transition:border-color .15s, background .15s;
}
.sched-row:hover { background:#1e1e1e; border-left-color:var(--coral); }
.sched-row.hot  { background:var(--wall-deep); border-left-color:var(--coral); }
.sched-row.late { background:#150e1a; border-left-color:var(--magenta); }
.sched-day { font-family:var(--cond); font-size:8.5px; font-weight:800; letter-spacing:.26em;
             text-transform:uppercase; color:var(--teal); }
.sched-row.hot .sched-day  { color:var(--coral); }
.sched-row.late .sched-day { color:var(--magenta); }
.sched-name { font-family:var(--cond); font-weight:800; font-size:clamp(.95rem,1.8vw,1.2rem);
              text-transform:uppercase; letter-spacing:.03em; color:var(--cream); margin-bottom:2px; }
.sched-detail { font-size:12px; color:var(--cream-off); letter-spacing:.02em; }
.sched-tag { font-family:var(--cond); font-size:8px; font-weight:800; letter-spacing:.18em;
             text-transform:uppercase; padding:4px 10px; white-space:nowrap;
             border:1px solid rgba(42,138,138,.3); color:var(--teal); }
.sched-tag.hot-tag  { border-color:rgba(232,96,58,.3);  color:var(--coral); }
.sched-tag.late-tag { border-color:rgba(196,36,94,.3); color:var(--magenta); }

/* ── PHOTO GRID ─────────────────────────────────────────────────────────────── */
.photo-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); height:200px; gap:2px; }
.photo-grid-4 .pg-img { overflow:hidden; height:100%; }
.photo-grid-4 .pg-img img { width:100%; height:100%; object-fit:cover;
  filter:brightness(.78) saturate(.9); transition:filter .5s, transform .6s; }
.photo-grid-4 .pg-img:hover img { filter:brightness(.98) saturate(1.05); transform:scale(1.04); }

/* ── SHOW CARDS ─────────────────────────────────────────────────────────────── */
.shows-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.show-card { background:var(--panel); overflow:hidden; transition:background .2s; }
.show-card:hover { background:#1e1e1e; }
.show-card-img { aspect-ratio:16/9; overflow:hidden; }
.show-card-img img { width:100%; height:100%; object-fit:cover;
  filter:brightness(.72) saturate(.85); transition:filter .5s, transform .6s; }
.show-card:hover .show-card-img img { filter:brightness(.9) saturate(.95); transform:scale(1.04); }
.show-card-body { padding:20px 22px; }
.show-card-date { font-family:var(--cond); font-size:9px; font-weight:800; letter-spacing:.26em;
                  text-transform:uppercase; color:var(--teal); margin-bottom:5px; }
.show-card-name { font-family:var(--cond); font-weight:900; font-size:1.2rem; text-transform:uppercase;
                  letter-spacing:.02em; color:var(--cream); line-height:1.15; margin-bottom:5px; }
.show-card-detail { font-size:12px; color:var(--cream-off); line-height:1.5; }
.show-card-link { display:inline-block; margin-top:10px; font-family:var(--cond); font-size:9px;
                  font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--coral); }
.show-card-link:hover { color:var(--coral2); }

/* ── MENU ────────────────────────────────────────────────────────────────────── */
.menu-grid  { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.menu-panel { background:var(--panel); padding:36px 32px; }
.menu-panel.accent { background:var(--wall-deep); border-left:3px solid var(--teal); }
.menu-panel.coral-accent { background:#130e08; border-left:3px solid var(--coral); }
.menu-panel.wide { grid-column:span 2; }
.menu-cat-label {
  font-family:var(--cond); font-size:9px; font-weight:800; letter-spacing:.3em;
  text-transform:uppercase; color:var(--teal); margin-bottom:18px;
  padding-bottom:10px; border-bottom:1px solid rgba(42,138,138,.18);
}
.menu-list { display:flex; flex-direction:column; gap:9px; }
.menu-item { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.menu-item-name  { font-size:14px; color:var(--cream-dim); line-height:1.4; }
.menu-item-price { font-family:var(--cond); font-size:12px; font-weight:700;
                   color:var(--coral); white-space:nowrap; flex-shrink:0; }

/* ── CONTACT ─────────────────────────────────────────────────────────────────── */
.contact-grid  { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.contact-panel { background:var(--panel); padding:48px 44px; }
.contact-panel.wall { background:var(--wall-deep); }
.form-group  { display:flex; flex-direction:column; gap:5px; }
.form-row    { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-label  { font-family:var(--cond); font-size:9px; font-weight:800; letter-spacing:.24em;
               text-transform:uppercase; color:var(--cream-off); }
.form-input, .form-select, .form-textarea {
  background:rgba(255,255,255,.03); border:1px solid rgba(244,237,224,.08);
  color:var(--cream); font-family:var(--body); font-size:14px; padding:11px 13px;
  outline:none; transition:border-color .15s; width:100%; -webkit-appearance:none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color:var(--teal); }
.form-input::placeholder, .form-textarea::placeholder { color:rgba(244,237,224,.18); }
.form-select option { background:var(--dark); }
.form-textarea { resize:vertical; min-height:110px; }
.form-note { font-size:11px; color:var(--cream-off); line-height:1.6; }
.form-success { display:none; background:rgba(42,138,138,.08); border:1px solid rgba(42,138,138,.25);
                padding:14px 16px; font-size:13px; color:var(--teal); line-height:1.6; }
.contact-info-label { font-family:var(--cond); font-size:9px; font-weight:800; letter-spacing:.3em;
                       text-transform:uppercase; color:var(--teal); margin-bottom:7px; display:block; }
.contact-info-value { font-size:15px; color:var(--cream-dim); line-height:1.8; }
.contact-info-value a:hover { color:var(--coral); }
.map-wrap { aspect-ratio:4/3; overflow:hidden; }
.map-wrap iframe { width:100%; height:100%; border:none; filter:grayscale(.6) brightness(.6) saturate(.8); }

/* ── SIGNUP ──────────────────────────────────────────────────────────────────── */
.signup-section { background:var(--wall-deep); padding:88px 0; text-align:center;
                  border-top:2px solid rgba(42,138,138,.3); }
.signup-inner { max-width:460px; margin:0 auto; }
.signup-sub { font-family:var(--serif); font-style:italic; font-size:18px;
              color:var(--cream-dim); margin:8px 0 28px; line-height:1.5; }
.signup-form { display:flex; border:1px solid rgba(42,138,138,.4); max-width:400px; margin:0 auto 10px; }
.signup-form input { flex:1; background:transparent; border:none; padding:.85rem 1rem;
                     color:var(--cream); font-family:var(--body); font-size:14px; outline:none; }
.signup-form input::placeholder { color:var(--cream-off); }
.signup-form button { background:var(--teal); border:none; color:#fff; padding:.85rem 1.2rem;
                      font-family:var(--cond); font-size:10px; font-weight:800; letter-spacing:.2em;
                      text-transform:uppercase; cursor:pointer; transition:background .15s; white-space:nowrap; }
.signup-form button:hover { background:var(--teal-dim); }
.signup-note { font-size:11px; color:var(--cream-off); }
.signup-perks { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
.signup-perks span { font-family:var(--cond); font-size:10px; font-weight:700; letter-spacing:.14em;
                      text-transform:uppercase; color:var(--cream-off); }
.signup-perks span::before { content:"✓ "; color:var(--teal); }
.form-success-inline { display:none; background:rgba(42,138,138,.08); border:1px solid rgba(42,138,138,.25);
                        padding:12px 16px; margin:12px auto 0; font-size:13px; color:var(--teal);
                        max-width:400px; line-height:1.6; }

/* ── FOOTER ──────────────────────────────────────────────────────────────────── */
footer {
  background:var(--wall-deep); border-top:1px solid rgba(42,138,138,.2);
  padding:32px 48px; display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:1rem; position:relative; z-index:10;
}
.footer-logo img { height:42px; width:auto; }
.footer-center { font-size:11px; letter-spacing:.05em; color:var(--cream-off); text-align:center; line-height:1.7; }
.footer-right { text-align:right; font-size:10px; letter-spacing:.06em; color:rgba(244,237,224,.18); }
.footer-right a:hover { color:var(--coral); }

/* ── RESPONSIVE ──────────────────────────────────────────────────────────────── */
@media(max-width:960px){
  .wrap { padding:0 28px; }
  nav { padding:0 24px; }
  footer { padding:28px; }
  .info-strip { grid-template-columns:1fr; }
  .info-block { border-right:none; border-bottom:1px solid rgba(42,138,138,.1); }
  .sched-grid { grid-template-columns:1fr; }
  .shows-grid { grid-template-columns:1fr 1fr; }
  .menu-grid { grid-template-columns:1fr; }
  .menu-panel.wide { grid-column:span 1; }
  .contact-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr; text-align:center; gap:.4rem; }
  .footer-right { text-align:center; }
  .page-hero-content { padding:0 28px 2.5rem; }
  .photo-grid-4 { grid-template-columns:repeat(2,1fr); height:auto; }
  .photo-grid-4 .pg-img { aspect-ratio:4/3; height:auto; }
  /* V3 components */
  .hero-content { padding:0 28px; }
  .split-grid { grid-template-columns:1fr; gap:0; }
  .split-img-block { max-height:320px; }
  .split-text-block { padding:40px 0; }
  .pillars-grid { grid-template-columns:1fr; }
  .perks-grid { grid-template-columns:repeat(2,1fr); }
  .sched-teaser-grid { grid-template-columns:1fr; gap:40px; }
  /* new layout components */
  .stage-id-grid { grid-template-columns:1fr; }
  .stage-id-photo-main img { height:220px; }
  .stage-id-photo-pair img { height:120px; }
  .blacjac-inner { grid-template-columns:1fr; }
  .blacjac-merch { width:200px; }
  .blacjac-bg img { object-position:center; }
  .specials-flow { grid-template-columns:repeat(2,1fr); }
  .special-item:nth-child(2) { border-right:none; }
  .upcoming-show-inner { gap:16px; }
  .dual-hero { grid-template-columns:1fr; height:auto; }
  .dual-hero-left, .dual-hero-right { height:50vh; min-height:320px; }
  .dual-hero::after { display:none; }
  .dual-hero-address { position:static; transform:none; white-space:normal; text-align:center; }
}
@media(max-width:600px){
  .nav-links li:not(.nav-cta){ display:none; }
  .shows-grid { grid-template-columns:1fr; }
  .signup-form { flex-direction:column; border:none; gap:.4rem; }
  .signup-form input { border:1px solid rgba(42,138,138,.4); }
  .form-row { grid-template-columns:1fr; }
  .perks-grid { grid-template-columns:1fr; }
  .hero-content h1 { font-size:clamp(3.2rem,16vw,6rem); }
  .specials-flow { grid-template-columns:1fr; }
  .special-item { border-right:none; border-bottom:1px solid rgba(244,237,224,.06); }
  .dual-hero-left-text, .dual-hero-right-text { padding:28px 24px; }
  .blacjac-section { padding:80px 0; }
  .main-hero-title { font-size:clamp(3.5rem,14vw,8rem); }
}
@media(prefers-reduced-motion:reduce){
  body::before{animation:none}
  .ticker-inner{animation:none}
  .ticker-track{animation:none}
}
