  :root {
    --bg:       #1a1208;
    --bg-card:  #221a0e;
    --bg-warm:  #2d1f0a;
    --amber:    #e8891a;
    --amber-lt: #f5a63c;
    --cream:    #f2e8d0;
    --rust:     #c0440e;
    --border:   #3a2d18;
    --text:     #e8dcc8;
    --text-dim: #9a8870;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { background:var(--bg); color:var(--text); font-family:'DM Sans',sans-serif; overflow-x:hidden; }
  body::before {
    content:''; position:fixed; inset:0;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
    opacity:.35; pointer-events:none; z-index:9999;
  }

  /* ── NAV ── */
  nav {
    position:sticky; top:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 3rem; height:58px;
    background:rgba(26,18,8,0.94); backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border); transition:height .3s;
  }
  nav.scrolled { height:48px; }
  .nav-logo { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; color:var(--amber); text-decoration:none; flex-shrink:0; }
  .nav-links { display:flex; gap:1.5rem; list-style:none; margin:0 1.5rem; }
  .nav-links a { font-family:'Space Mono',monospace; font-size:.62rem; text-transform:uppercase; letter-spacing:.11em; color:var(--text-dim); text-decoration:none; transition:color .2s; }
  .nav-links a:hover { color:var(--amber); }

  /* Language toggle */
  .lang-toggle { display:flex; align-items:center; flex-shrink:0; border:1px solid var(--border); border-radius:3px; overflow:hidden; }
  .lang-btn { font-family:'Space Mono',monospace; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; padding:.32rem .6rem; cursor:pointer; background:transparent; border:none; color:var(--text-dim); transition:background .2s, color .2s; }
  .lang-btn.active { background:var(--amber); color:var(--bg); font-weight:700; }
  .lang-btn:not(.active):hover { color:var(--amber); }
  .lang-sep { width:1px; background:var(--border); align-self:stretch; }

  /* ── HERO – compact ── */
  .hero {
    position:relative; min-height:55vh;
    display:flex; align-items:center; overflow:hidden;
    padding:3rem 6rem;
  }
  .hero-bg {
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse 65% 70% at 72% 50%, rgba(232,137,26,0.11) 0%, transparent 70%),
      radial-gradient(ellipse 35% 45% at 15% 85%, rgba(192,68,14,0.09) 0%, transparent 60%),
      var(--bg);
  }
  .hero-arc { position:absolute; right:-6%; top:50%; transform:translateY(-50%); border-radius:50%; pointer-events:none; }
  .hero-arc:nth-child(1) { width:50vw; height:50vw; border:1px solid rgba(232,137,26,0.07); }
  .hero-arc:nth-child(2) { width:38vw; height:38vw; border:1px solid rgba(232,137,26,0.12); }
  .hero-arc:nth-child(3) { width:24vw; height:24vw; border:1px solid rgba(232,137,26,0.19); }
  .hero-content { position:relative; z-index:2; max-width:600px; }
  .hero-eyebrow { font-family:'Space Mono',monospace; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--amber); margin-bottom:.9rem; display:flex; align-items:center; gap:.65rem; }
  .hero-eyebrow::before { content:''; width:1.6rem; height:1px; background:var(--amber); }
  .hero-title { font-family:'Playfair Display',serif; font-size:clamp(2.4rem,5vw,4.6rem); font-weight:900; line-height:1.0; color:var(--cream); margin-bottom:1.1rem; }
  .hero-title em { font-style:italic; color:var(--amber); }
  .hero-body { font-size:.93rem; line-height:1.75; color:var(--text-dim); max-width:440px; margin-bottom:1.8rem; }
  .btn-group { display:flex; gap:.75rem; flex-wrap:wrap; }
  .btn { display:inline-flex; align-items:center; gap:.4rem; padding:.72rem 1.5rem; border-radius:2px; font-family:'Space Mono',monospace; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; transition:all .2s; cursor:pointer; border:none; }
  .btn-primary { background:var(--amber); color:var(--bg); font-weight:700; }
  .btn-primary:hover { background:var(--amber-lt); transform:translateY(-2px); }
  .btn-outline { background:transparent; color:var(--text); border:1px solid var(--border); }
  .btn-outline:hover { border-color:var(--amber); color:var(--amber); transform:translateY(-2px); }
  .hero-counter { position:absolute; right:3rem; bottom:2.5rem; display:flex; align-items:center; gap:.75rem; z-index:2; }
  .counter-btn { width:34px; height:34px; border-radius:50%; border:1px solid var(--border); background:transparent; color:var(--text-dim); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; font-size:.75rem; }
  .counter-btn:hover { border-color:var(--amber); color:var(--amber); }

  /* ── SHOWS ── */
  .section { padding:3rem 6rem; }
  .section-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:1.8rem; gap:2rem; }
  .section-label { font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--amber); margin-bottom:.4rem; display:flex; align-items:center; gap:.5rem; }
  .section-label::before { content:''; width:1.3rem; height:1px; background:var(--amber); }
  .section-title { font-family:'Playfair Display',serif; font-size:clamp(1.4rem,2.2vw,2rem); font-weight:700; line-height:1.15; color:var(--cream); }
  .carousel-nav { display:flex; gap:.4rem; flex-shrink:0; }

  /* Show cards – taller, more prominent than old version */
  .shows-track { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--border); }
  .show-card, a.show-card {
  background: var(--bg-card);
  overflow: hidden;
  cursor: pointer;
  transition: transform .3s;
  position: relative;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
    }
  .show-card:hover { z-index:2; transform:scale(1.025); }
  .show-img { width:100%; aspect-ratio:2/3; background:var(--bg-warm); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
  .show-img::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(26,18,8,0.97) 100%); }
  .show-card:nth-child(1) .show-img { background:#2a1a08; }
  .show-card:nth-child(1) .show-img::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 40% 40%,#e8891a2e,transparent 60%); }
  .show-card:nth-child(2) .show-img { background:#1a2008; }
  .show-card:nth-child(2) .show-img::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 60% 30%,#4a9a302e,transparent 60%); }
  .show-card:nth-child(3) .show-img { background:#08181a; }
  .show-card:nth-child(3) .show-img::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,#3a8a9a2e,transparent 60%); }
  .show-card:nth-child(4) .show-img { background:#1a0820; }
  .show-card:nth-child(4) .show-img::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 60%,#9a3a8a2e,transparent 60%); }
  .show-img-icon { width:42px; height:42px; opacity:.16; }
  .show-info { padding:1.1rem 1.1rem 1.5rem; }
  .show-name { font-family:'Playfair Display',serif; font-size:1.05rem; font-weight:700; color:var(--cream); margin-bottom:.4rem; }

  /* Prominent date */
  .show-date { font-family:'Space Mono',monospace; font-size:.72rem; color:var(--amber); letter-spacing:.05em; margin-bottom:.2rem; }
  .show-venue { font-size:.8rem; color:var(--text-dim); }
  .ticket-tag { display:inline-block; background:var(--rust); color:#fff; font-family:'Space Mono',monospace; font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; padding:.2rem .5rem; border-radius:2px; position:absolute; top:.75rem; right:.75rem; z-index:3; }

  /* ── PAST SHOWS ── */
  .past-band { margin:0 6rem 4.5rem; background:var(--bg-warm); border:1px solid var(--border); border-radius:3px; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; min-height:280px; }
  .past-content { padding:2.8rem 3.2rem; display:flex; flex-direction:column; justify-content:space-between; }
  .past-title { font-family:'Playfair Display',serif; font-size:clamp(1.4rem,2.2vw,2rem); font-weight:700; line-height:1.15; color:var(--cream); margin:.65rem 0 .85rem; }
  .past-body { font-size:.88rem; line-height:1.75; color:var(--text-dim); margin-bottom:1.8rem; }
  .past-img { background:var(--bg-card); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
  .past-img::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at center,#e8891a18,transparent 70%); }

  /* ── FOOTER ── */
  footer { border-top:1px solid var(--border); padding:1.8rem 6rem; display:flex; align-items:center; justify-content:space-between; }
  .footer-copy { font-family:'Space Mono',monospace; font-size:.6rem; color:var(--text-dim); }
  .footer-socials { display:flex; gap:1rem; align-items:center; }
  .social-icon { width:28px; height:28px; border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s; color:var(--text-dim); }
  .social-icon:hover { border-color:var(--amber); color:var(--amber); }
  .divider { height:1px; background:linear-gradient(90deg,transparent,var(--border),transparent); margin:0 6rem; }

  @keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
  .hero-eyebrow { animation:fadeUp .5s ease both; }
  .hero-title   { animation:fadeUp .55s .07s ease both; }
  .hero-body    { animation:fadeUp .55s .14s ease both; }
  .btn-group    { animation:fadeUp .55s .21s ease both; }

  /* ── CONCERT PAGE ── */
.concert-header { padding:3.5rem 6rem 0; }
.concert-breadcrumb { font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; color:var(--text-dim); margin-bottom:1.4rem; display:flex; align-items:center; gap:.5rem; }
.concert-breadcrumb a { color:var(--amber); text-decoration:none; }
.concert-breadcrumb a:hover { color:var(--amber-lt); }
.concert-date-block { margin-bottom:1.2rem; animation:fadeUp .5s ease both; }
.concert-date-line { font-family:'Space Mono',monospace; font-size:1rem; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); display:flex; align-items:center; gap:.8rem; margin-bottom:.3rem; }
.concert-date-line::before { content:''; width:2rem; height:2px; background:var(--amber); border-radius:1px; }
.concert-time-venue { font-family:'DM Sans',sans-serif; font-size:.95rem; color:var(--text-dim); padding-left:2.8rem; }
.concert-time-venue a { color:var(--text-dim); text-decoration:underline; text-underline-offset:3px; }
.concert-time-venue a:hover { color:var(--amber); }
.concert-title { font-family:'Playfair Display',serif; font-size:clamp(2.8rem,5.5vw,5.2rem); font-weight:900; line-height:1.0; color:var(--cream); margin-bottom:1.1rem; max-width:700px; animation:fadeUp .55s .07s ease both; }
.concert-subtitle { font-size:.98rem; line-height:1.75; color:var(--text-dim); max-width:560px; margin-bottom:2rem; animation:fadeUp .55s .14s ease both; }
.header-actions { display:flex; gap:.8rem; margin-bottom:3rem; flex-wrap:wrap; animation:fadeUp .55s .21s ease both; }

.concert-hero-img { width:calc(100% - 12rem); margin:0 6rem; aspect-ratio:21/8; background:var(--bg-card); border-radius:3px; overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center; }
.concert-hero-img::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 50% 80% at 30% 50%,rgba(232,137,26,0.14),transparent 60%),radial-gradient(ellipse 40% 60% at 75% 40%,rgba(192,68,14,0.11),transparent 60%); }
.concert-hero-img img { width:100%; height:100%; object-fit:cover; }
.concert-hero-img svg { opacity:.1; }

.info-grid { display:grid; grid-template-columns:1fr 300px; gap:4rem; padding:3.5rem 6rem; align-items:start; }
.info-title { font-family:'Playfair Display',serif; font-size:clamp(1.5rem,2.3vw,2.2rem); font-weight:700; line-height:1.15; color:var(--cream); margin-bottom:1.1rem; }
.info-body { font-size:.93rem; line-height:1.8; color:var(--text-dim); margin-bottom:1.4rem; }
.info-bullets { list-style:none; display:flex; flex-direction:column; gap:.45rem; margin-bottom:1.8rem; }
.info-bullets li { display:flex; align-items:center; gap:.65rem; font-size:.88rem; color:var(--text-dim); }
.info-bullets li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--amber); flex-shrink:0; }
.share-row { display:flex; align-items:center; gap:.5rem; }
.share-label { font-family:'Space Mono',monospace; font-size:.62rem; letter-spacing:.1em; color:var(--text-dim); text-transform:uppercase; }

.info-right { position:sticky; top:78px; }
.sidebar-card { background:var(--bg-warm); border:1px solid var(--border); border-radius:3px; overflow:hidden; }
.sidebar-top { padding:1.6rem 1.8rem; border-bottom:1px solid var(--border); }
.sidebar-date { font-family:'Playfair Display',serif; font-size:1.35rem; font-weight:700; color:var(--cream); margin-bottom:.15rem; line-height:1.2; }
.sidebar-time { font-family:'Space Mono',monospace; font-size:.82rem; color:var(--amber); letter-spacing:.06em; margin-bottom:.6rem; }
.sidebar-venue { font-size:.85rem; color:var(--text-dim); text-decoration:none; display:block; }
.sidebar-venue:hover { color:var(--amber-lt); }
.sidebar-pricing { padding:1.6rem 1.8rem; border-bottom:1px solid var(--border); }
.sidebar-price { font-family:'Playfair Display',serif; font-size:2.2rem; font-weight:700; color:var(--cream); line-height:1; margin-bottom:.2rem; }
.sidebar-price-note { font-size:.78rem; color:var(--text-dim); }
.sidebar-actions { padding:1.4rem 1.8rem; display:flex; flex-direction:column; gap:.65rem; }
.sidebar-share { border-top:1px solid var(--border); padding:1.2rem 1.8rem; }

.band-section { padding:0 6rem 4rem; }
.band-block { border-top:1px solid var(--border); padding:3.5rem 0; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.band-block.reverse { direction:rtl; }
.band-block.reverse > * { direction:ltr; }
.band-title { font-family:'Playfair Display',serif; font-size:clamp(1.4rem,2vw,1.9rem); font-weight:700; line-height:1.2; color:var(--cream); margin:.5rem 0 .9rem; }
.band-bio { font-size:.92rem; line-height:1.8; color:var(--text-dim); margin-bottom:1.4rem; }
.band-media { background:var(--bg-card); border-radius:3px; overflow:hidden; aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; position:relative; }
.band-media img { width:100%; height:100%; object-fit:cover; }
.band-media svg { opacity:.1; }

/* ── CONCERTS INDEX ── */
.concerts-list { display:flex; flex-direction:column; gap:2px; background:var(--border); }
.concert-row { display:grid; grid-template-columns:80px 80px 1fr auto; align-items:center; gap:2rem; background:var(--bg-card); padding:1.5rem 2rem; text-decoration:none; transition:background .2s; }
.concert-row:hover { background:var(--bg-warm); }
.concert-row-img { width:80px; height:60px; background:var(--bg-warm); border-radius:2px; overflow:hidden; flex-shrink:0; }
.concert-row-img img { width:100%; height:100%; object-fit:cover; }
.concert-row-img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; opacity:.2; }
.concert-row-date { display:flex; flex-direction:column; align-items:center; flex-shrink:0; }
.concert-row-day { font-family:'Playfair Display',serif; font-size:2rem; font-weight:700; color:var(--cream); line-height:1; }
.concert-row-month { font-family:'Space Mono',monospace; font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:var(--amber); }
.concert-row-year { font-family:'Space Mono',monospace; font-size:.6rem; color:var(--text-dim); }
.concert-row-info { flex:1; }
.concert-row-title { font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:700; color:var(--cream); margin-bottom:.25rem; }
.concert-row-meta { font-family:'Space Mono',monospace; font-size:.65rem; color:var(--amber); letter-spacing:.05em; margin-bottom:.2rem; }
.concert-row-bands { font-size:.82rem; color:var(--text-dim); }
.concert-row-action { display:flex; flex-direction:column; align-items:flex-end; gap:.5rem; flex-shrink:0; }
.concert-row-arrow { font-size:1.2rem; color:var(--text-dim); transition:color .2s; }
.concert-row:hover .concert-row-arrow { color:var(--amber); }
.empty-state { font-family:'Space Mono',monospace; font-size:.75rem; color:var(--text-dim); padding:3rem 0; }

/* ── HISTORY ── */
.history-year-block { margin-bottom:3rem; }
.history-year-label { font-family:'Playfair Display',serif; font-size:3rem; font-weight:900; color:var(--border); margin-bottom:1rem; line-height:1; }

/* ── POSTERS ── */
.posters-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:2px; background:var(--border); }
.poster-card { background:var(--bg-card); text-decoration:none; overflow:hidden; transition:transform .3s; }
.poster-card:hover { transform:scale(1.02); z-index:2; }
.poster-img { width:100%; aspect-ratio:2/3; background:var(--bg-warm); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.poster-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.poster-card:hover .poster-img img { transform:scale(1.05); }
.poster-img-placeholder { opacity:.15; }
.poster-info { padding:1rem 1rem 1.4rem; }
.poster-title { font-family:'Playfair Display',serif; font-size:.95rem; font-weight:700; color:var(--cream); margin-bottom:.3rem; }
.poster-date { font-family:'Space Mono',monospace; font-size:.65rem; color:var(--amber); letter-spacing:.08em; margin-bottom:.2rem; }
.poster-artist { font-size:.78rem; color:var(--text-dim); }

/* ── CONTACT ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; padding-top:1rem; }
.contact-body { font-size:.95rem; line-height:1.8; color:var(--text-dim); margin-bottom:2.5rem; }
.contact-details { display:flex; flex-direction:column; gap:1.2rem; margin-bottom:2.5rem; }
.contact-item { display:flex; flex-direction:column; gap:.2rem; }
.contact-label { font-family:'Space Mono',monospace; font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; color:var(--amber); }
.contact-value { font-size:.95rem; color:var(--text);  text-decoration:none; }
.contact-value:hover { color:var(--amber); }
.contact-socials { margin-top:2rem; }
.contact-social-icons { display:flex; flex-direction:column; gap:.8rem; margin-top:1rem; }
.social-icon-large { display:flex; align-items:center; gap:.8rem; font-size:.9rem; color:var(--text-dim); text-decoration:none; transition:color .2s; }
.social-icon-large:hover { color:var(--amber); }
.contact-form-wrap {}
.contact-form { display:flex; flex-direction:column; gap:1.5rem; margin-top:1rem; }
.form-field { display:flex; flex-direction:column; gap:.4rem; }
.form-field label { font-family:'Space Mono',monospace; font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; color:var(--amber); }
.form-field input,
.form-field textarea { background:var(--bg-warm); border:1px solid var(--border); border-radius:2px; padding:.8rem 1rem; color:var(--text); font-family:'DM Sans',sans-serif; font-size:.95rem; transition:border-color .2s; resize:vertical; }
.form-field input:focus,
.form-field textarea:focus { outline:none; border-color:var(--amber); }

/* ── NEWSLETTER ── */
.newsletter-form { margin-bottom: 1.5rem; }
.newsletter-row { display: flex; gap: .6rem; margin-top: .8rem; }
.newsletter-row input { background: var(--bg-warm); border: 1px solid var(--border); border-radius: 2px; padding: .8rem 1rem; color: var(--text); font-family: 'DM Sans', sans-serif; font-size: .9rem; flex: 1; }
.newsletter-row input:focus { outline: none; border-color: var(--amber); }
.newsletter-msg { font-family: 'Space Mono', monospace; font-size: .65rem; margin-top: .5rem; min-height: 1rem; }
.newsletter-msg.success { color: var(--amber); }
.newsletter-msg.error { color: #e05a5a; }

/* ── ARCHIVE FILTERS ── */
.archive-filters { display:flex; gap:.8rem; margin-bottom:1.5rem; flex-wrap:wrap; align-items:center; }
.filter-search { background:var(--bg-warm); border:1px solid var(--border); border-radius:2px; padding:.7rem 1rem; color:var(--text); font-family:'DM Sans',sans-serif; font-size:.9rem; flex:1; min-width:200px; }
.filter-search:focus { outline:none; border-color:var(--amber); }
.filter-select { background:var(--bg-warm); border:1px solid var(--border); border-radius:2px; padding:.7rem 1rem; color:var(--text); font-family:'Space Mono',monospace; font-size:.65rem; letter-spacing:.05em; cursor:pointer; }
.filter-select:focus { outline:none; border-color:var(--amber); }
.filter-count { font-family:'Space Mono',monospace; font-size:.65rem; color:var(--text-dim); margin-bottom:1rem; }
