/* TOUR — poster culture. The only page that opens on red.
   Dates are typographic slabs, not rows in a table. */

.thero{
  background:var(--blood);
  color:#fff;
  position:relative;
  overflow:hidden;
  padding-block:calc(var(--nav-h) + clamp(44px,8vw,96px)) clamp(36px,6vw,72px);
  border-bottom:1px solid #7E1418;
}
.thero::before{
  content:"";
  position:absolute; inset:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.35) .8px,transparent .9px);
  background-size:4px 4px;
  opacity:.55;
  pointer-events:none;
}
.thero__grid{
  position:relative; z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
  gap:clamp(26px,4vw,64px);
  align-items:center;
}
.thero__eyebrow{ color:rgba(255,255,255,.82); }
.thero__eyebrow::before{ background:#2B0406; }
.thero__title{
  font-variation-settings:"wdth" 62,"wght" 880;
  text-transform:uppercase;
  font-size:clamp(3rem,12.5vw,11rem);
  line-height:.78;
  letter-spacing:-.022em;
  margin:.1em 0 0;
  color:#fff;
}
.thero__sub{
  margin:clamp(20px,3vw,32px) 0 0;
  font-family:var(--serif);
  font-size:clamp(1.15rem,2.3vw,1.75rem);
  line-height:1.36;
  max-width:36ch;
  color:rgba(255,255,255,.94);
}
.thero__acts{ display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(22px,3vw,32px); }
.thero .btn{ --btn-bg:#fff; --btn-fg:var(--blood); }
.thero .btn--outline{ --btn-bg:transparent; --btn-fg:#fff; border-color:rgba(255,255,255,.55); }
.thero .btn--outline:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
.thero__poster{ position:relative; }
.thero__poster img{ width:100%; box-shadow:0 30px 70px rgba(0,0,0,.42); }

/* ---------- date slabs ---------- */

.dates-h{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:16px 32px;
}
.slablist{ list-style:none; margin:clamp(26px,4vw,46px) 0 0; padding:0; }
.slab{ position:relative; border-top:1px solid var(--ink-3); overflow:hidden; }
.slablist li:last-child .slab{ border-bottom:1px solid var(--ink-3); }

.slab__bg{
  position:absolute; inset:0;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .7s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}
.slab__bg img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(1) contrast(1.15) brightness(.5);
}
.slab__bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(217,31,38,.62),rgba(11,10,10,.86));
}
.slab:hover .slab__bg,.slab:focus-within .slab__bg{ clip-path:inset(0 0 0 0); }

.slab__row{
  position:relative; z-index:2;
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:16px clamp(18px,3vw,44px);
  align-items:center;
  padding-block:clamp(22px,3vw,34px);
  padding-inline:0;
  transition:padding-inline .45s cubic-bezier(.16,1,.3,1);
}
.slab:hover .slab__row,.slab:focus-within .slab__row{ padding-inline:clamp(10px,2vw,26px); }

.slab__date{
  font-variation-settings:"wdth" 88,"wght" 800;
  text-transform:uppercase;
  font-size:clamp(1rem,1.7vw,1.35rem);
  letter-spacing:.06em;
  line-height:1.1;
  color:var(--blood);
  font-variant-numeric:tabular-nums;
  transition:color .35s ease;
}
.slab:hover .slab__date{ color:#fff; }
.slab__date b{ display:block; font-variation-settings:"wdth" 88,"wght" 800; }
.slab__date small{
  display:block; margin-top:4px;
  font-size:.66rem; letter-spacing:.2em; color:var(--ash);
  font-variation-settings:"wdth" 100,"wght" 600;
}
.slab:hover .slab__date small{ color:rgba(255,255,255,.72); }

.slab__city{
  font-variation-settings:"wdth" 70,"wght" 820;
  text-transform:uppercase;
  font-size:clamp(1.7rem,5vw,3.6rem);
  line-height:.95;
  margin:0;
}
.slab__venue{
  margin:8px 0 0;
  font-size:.76rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ash);
  font-variation-settings:"wdth" 100,"wght" 550;
  transition:color .35s ease;
}
.slab:hover .slab__venue{ color:rgba(255,255,255,.82); }
.slab__acts{ display:flex; flex-wrap:wrap; gap:10px; }
.slab__note{
  display:inline-block; margin-top:10px;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ash-2);
}

/* ---------- VIP ---------- */

.vip{
  background:var(--ink-2);
  border-block:1px solid var(--ink-3);
  position:relative;
}
.vip__grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(28px,4.5vw,72px);
  align-items:start;
}
.vip__img{ position:relative; }
.vip__img img{ width:100%; }
.vip__price{
  position:absolute; top:-16px; right:-16px;
  background:var(--blood); color:#fff;
  width:104px; height:104px; border-radius:50%;
  display:grid; place-content:center; text-align:center;
  font-variation-settings:"wdth" 88,"wght" 820;
  line-height:1;
}
.vip__price b{ display:block; font-size:1.8rem; }
.vip__price span{ display:block; font-size:.6rem; letter-spacing:.18em; margin-top:5px; }

.vip__list{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:14px; }
.vip__list li{
  display:grid; grid-template-columns:20px 1fr; gap:14px; align-items:start;
  font-size:1rem; color:#C9C1BA;
}
.vip__list li::before{
  content:""; width:13px; height:13px; margin-top:.42em;
  background:var(--blood);
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.warn{
  margin-top:26px;
  border-left:3px solid var(--blood);
  padding:16px 0 16px 20px;
  font-size:.92rem;
  color:#C9C1BA;
}
.warn strong{ color:var(--bone); }

/* ---------- archive ---------- */

/* flyers keep their own proportions - they are artefacts, not thumbnails */
.archive{
  columns:4;
  column-gap:clamp(12px,1.8vw,26px);
  margin-top:clamp(26px,4vw,46px);
}
.archive figure{
  margin:0 0 clamp(16px,2.2vw,30px);
  break-inside:avoid;
}
.archive img{
  width:100%;
  filter:grayscale(1) contrast(1.06) brightness(.82);
  transition:filter .45s ease, transform .55s cubic-bezier(.16,1,.3,1);
}
.archive figure:hover img{ filter:none; transform:translateY(-5px); }
.archive figcaption{
  padding-top:10px;
  font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ash);
  line-height:1.5;
}

.pastlist{
  list-style:none; margin:clamp(24px,3.4vw,40px) 0 0; padding:0;
  columns:2; column-gap:clamp(28px,4vw,64px);
}
.pastlist li{
  break-inside:avoid;
  border-top:1px solid var(--ink-3);
  padding-block:13px;
  display:flex; flex-wrap:wrap; gap:4px 14px;
  font-size:.92rem; color:#C9C1BA;
}
.pastlist .yr{
  font-size:.7rem; letter-spacing:.16em; color:var(--blood);
  font-variant-numeric:tabular-nums;
  min-width:6.5em;
  align-self:center;
  font-variation-settings:"wdth" 100,"wght" 700;
}

@media (max-width:1000px){
  .thero__grid{ grid-template-columns:1fr; }
  .thero__poster{ max-width:420px; }
  .vip__grid{ grid-template-columns:1fr; }
  .vip__img{ max-width:420px; }
  .archive{ columns:3; }
  .pastlist{ columns:1; }
}
@media (max-width:760px){
  .slab__row{ grid-template-columns:1fr; gap:12px; }
  .slab__bg{ display:none; }
  .archive{ columns:2; }
}
