.dates-page { background:var(--ink); color:var(--paper); }
.dates-page section { position:relative; overflow:clip; }
.dates-section-no,.dates-hero-no { position:absolute; z-index:5; font-size:9px; letter-spacing:.25em; opacity:.42; }

.dates-hero { min-height:100svh; padding:132px var(--pad) 44px; display:grid; grid-template-columns:54% 46%; align-items:center; isolation:isolate; border-bottom:1px solid var(--line); }
.dates-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 76% 48%,rgba(184,145,87,.14),transparent 28%),linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.055) 50%,transparent 50.15%); }
.dates-hero-no { right:var(--pad); bottom:36px; }
.dates-hero-ghost { position:absolute; z-index:-1; left:-2vw; top:4vh; font:900 38vw/.8 Impact,sans-serif; color:rgba(238,233,222,.022); letter-spacing:-.055em; }
.dates-hero-copy { position:relative; z-index:3; align-self:end; padding-bottom:12vh; }
.dates-hero-copy h1 { margin:0; font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; text-transform:uppercase; line-height:.79; letter-spacing:.015em; }
.dates-hero-copy h1 span { display:block; font-size:clamp(88px,13vw,220px); color:var(--ink); -webkit-text-stroke:1.7px rgba(238,233,222,.88); paint-order:stroke fill; }
.dates-hero-copy h1 strong { display:block; margin-left:7vw; font-size:clamp(94px,14vw,236px); color:var(--gold); -webkit-text-stroke:1.45px rgba(238,233,222,.8); paint-order:stroke fill; font-weight:900; letter-spacing:.04em; }
.dates-hero-lead { margin:38px 0 0 10vw; font:400 clamp(21px,2.25vw,38px)/1.12 Georgia,serif; }
.dates-hero-lead em { color:var(--gold); }
.dates-hero-image { position:absolute; right:5vw; top:15vh; width:min(37vw,610px); height:min(66vh,740px); transform:rotate(2.6deg); clip-path:polygon(7% 0,100% 8%,94% 91%,0 100%,3% 17%); }
.dates-hero-note { position:absolute; z-index:4; right:var(--pad); bottom:15vh; width:190px; }
.dates-hero-note span { display:block; width:56px; height:1px; background:var(--gold); margin-bottom:14px; }
.dates-hero-note p { margin:0; text-transform:uppercase; font-size:9px; line-height:1.8; letter-spacing:.2em; }

.dates-upcoming { min-height:100svh; padding:16vh var(--pad) 12vh; background:#c7b38d; color:var(--ink); }
.dates-upcoming .dates-section-no { top:10vh; left:var(--pad); }
.dates-section-head { display:grid; grid-template-columns:1.2fr .9fr; gap:7vw; align-items:end; margin:5vh 0 8vh; }
.dates-section-head .wtl-kicker { grid-column:1/-1; color:#624a2b; }
.dates-section-head h2 { margin:0; font:900 clamp(82px,12vw,196px)/.8 Impact,sans-serif; text-transform:uppercase; letter-spacing:.02em; }
.dates-section-head > p:last-child { max-width:470px; justify-self:end; margin:0 0 1.4vh; font:400 clamp(17px,1.45vw,22px)/1.55 Georgia,serif; }
.dates-list { border-top:1px solid rgba(10,10,9,.35); }
.dates-row { position:relative; display:grid; grid-template-columns:160px minmax(0,1fr) 150px 190px; gap:32px; min-height:170px; padding:26px 0; align-items:center; border-bottom:1px solid rgba(10,10,9,.28); transition:background .25s ease,padding .25s ease; }
.dates-row:hover { background:rgba(255,255,255,.17); padding-left:18px; padding-right:18px; }
.dates-row.is-featured::before { content:""; position:absolute; left:0; top:26px; bottom:26px; width:3px; background:var(--ink); }
.dates-row.is-featured { padding-left:22px; }
.dates-row.is-cancelled { opacity:.55; }
.dates-row-date time { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.dates-row-date b { font:400 clamp(64px,6vw,92px)/.82 Impact,sans-serif; }
.dates-row-date span { margin-top:9px; font-size:clamp(15px,1.05vw,20px); line-height:1; font-weight:700; letter-spacing:.13em; white-space:nowrap; }
.dates-row-date small { margin-top:3px; font-size:clamp(15px,1.05vw,20px); line-height:1; letter-spacing:.12em; opacity:.5; }
.dates-row-city { margin:0 0 7px; text-transform:uppercase; font-size:9px; letter-spacing:.24em; opacity:.58; }
.dates-row-main h3 { margin:0; font:400 clamp(27px,3vw,48px)/1.02 Georgia,serif; letter-spacing:-.035em; }
.dates-row-venue { margin:9px 0 0; font-size:12px; text-transform:uppercase; letter-spacing:.16em; opacity:.62; }
.dates-row-desc { max-width:650px; margin:15px 0 0; font-size:14px; line-height:1.55; opacity:.7; }
.dates-row-meta { display:flex; flex-direction:column; align-items:flex-start; gap:9px; text-transform:uppercase; font-size:9px; letter-spacing:.16em; }
.dates-row-meta > span { font:400 24px/1 Georgia,serif; letter-spacing:0; }
.dates-row-meta strong { padding:6px 8px; border:1px solid var(--ink); font-size:8px; }
.dates-row-meta small { opacity:.55; }
.dates-row-action { justify-self:end; }
.dates-row-action a,.dates-row-action > span { display:inline-flex; gap:12px; padding-bottom:7px; border-bottom:1px solid rgba(10,10,9,.65); color:inherit; text-decoration:none; text-transform:uppercase; font-size:8px; letter-spacing:.16em; }
.dates-row-action a span { color:#765d38; font-size:14px; }
.dates-notice { padding:13px 18px; border-bottom:1px solid rgba(10,10,9,.28); background:rgba(10,10,9,.08); font:italic 400 14px/1.5 Georgia,serif; }
.dates-empty { display:grid; grid-template-columns:180px 1fr; gap:46px; align-items:center; min-height:300px; border-top:1px solid rgba(10,10,9,.35); border-bottom:1px solid rgba(10,10,9,.35); }
.dates-empty-mark { font:400 120px/1 Impact,sans-serif; }
.dates-empty .wtl-kicker { color:#624a2b; }
.dates-empty h3 { margin:0; font:400 clamp(38px,4.5vw,70px)/1 Georgia,serif; }
.dates-empty p:last-child { opacity:.58; }

.dates-archives { min-height:100svh; padding:16vh var(--pad) 13vh; background:#0d0d0c; border-bottom:1px solid var(--line); isolation:isolate; }
.dates-archives .dates-section-no { top:10vh; left:var(--pad); }
.dates-archives-ghost { position:absolute; z-index:-1; top:2vh; right:-2vw; font:900 34vw/.8 Impact,sans-serif; color:rgba(238,233,222,.026); letter-spacing:-.05em; }
.dates-archives-head { position:relative; z-index:2; margin:5vh 0 8vh 8vw; }
.dates-archives-head h2 { margin:0; font:400 clamp(55px,7vw,118px)/.9 Georgia,serif; letter-spacing:-.05em; }
.dates-archives-head h2 em { color:var(--gold); }
.dates-list-archives { position:relative; z-index:2; border-color:var(--line); }
.dates-row-archive { color:var(--paper); border-color:var(--line); }
.dates-row-archive:hover { background:rgba(238,233,222,.045); }
.dates-row-archive .dates-row-city { color:var(--gold); opacity:.85; }
.dates-row-archive .dates-row-venue,.dates-row-archive .dates-row-desc { color:var(--paper-muted); }
.dates-row-archive .dates-row-date small { color:var(--paper); opacity:.45; }
.dates-row-archive .dates-row-meta strong { border-color:rgba(238,233,222,.5); color:var(--gold); }
.dates-row-archive .dates-row-meta > span { color:var(--paper-muted); }
.dates-row-archive .dates-row-action { min-height:1px; }
.dates-archives-empty { max-width:700px; margin:16vh 0 0 10vw; color:var(--paper-muted); font:italic 400 clamp(24px,3vw,42px)/1.25 Georgia,serif; }

.dates-booking { min-height:100svh; padding:16vh var(--pad) 86px; background:var(--gold); color:var(--ink); display:grid; grid-template-columns:62% 38%; align-items:center; isolation:isolate; }
.dates-booking-ghost { position:absolute; z-index:-1; right:-4vw; bottom:-10vh; font:900 42vw/.8 Impact,sans-serif; color:rgba(10,10,9,.045); letter-spacing:-.06em; }
.dates-booking-copy h2 { margin:0; font:900 clamp(68px,8.5vw,148px)/.8 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.02em; }
.dates-booking-copy h2 em { display:block; font:italic 400 .83em/.9 Georgia,serif; text-transform:lowercase; color:rgba(10,10,9,.035); -webkit-text-stroke:1.5px rgba(10,10,9,.84); letter-spacing:-.04em; }
.dates-booking-copy > p:last-child { max-width:600px; margin:34px 0 0 8vw; font:400 clamp(16px,1.35vw,21px)/1.6 Georgia,serif; }
.dates-booking-actions { justify-self:end; width:min(430px,100%); }
.dates-cta { display:flex; justify-content:space-between; gap:24px; padding:24px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); color:var(--ink); text-decoration:none; text-transform:uppercase; letter-spacing:.17em; font-size:10px; }
.dates-back { display:inline-block; margin-top:28px; color:rgba(10,10,9,.62); text-decoration:none; text-transform:uppercase; letter-spacing:.18em; font-size:8px; }
.dates-footer { position:absolute; left:var(--pad); right:var(--pad); bottom:26px; display:flex; justify-content:space-between; border-top:1px solid rgba(10,10,9,.3); padding-top:15px; text-transform:uppercase; font-size:8px; letter-spacing:.2em; }

@media (max-width:900px) {
  .dates-hero { display:block; padding-top:120px; }
  .dates-hero-copy h1 span { font-size:22vw; }
  .dates-hero-copy h1 strong { font-size:22vw; margin-left:5vw; }
  .dates-hero-image { width:61vw; height:49vh; right:-6vw; top:43vh; }
  .dates-hero-note { display:none; }
  .dates-section-head { grid-template-columns:1fr; }
  .dates-section-head > p:last-child { justify-self:start; }
  .dates-row { grid-template-columns:120px minmax(0,1fr) 130px; }
  .dates-row-action { grid-column:2/4; justify-self:start; }
  .dates-archives-head { margin-left:0; }
  .dates-booking { grid-template-columns:1fr; gap:60px; }
  .dates-booking-actions { justify-self:start; }
}

@media (max-width:560px) {
  .dates-hero-copy h1 span,.dates-hero-copy h1 strong { font-size:25vw; }
  .dates-hero-lead { margin-left:2vw; font-size:20px; }
  .dates-hero-image { width:80vw; height:44vh; right:-16vw; top:46vh; }
  .dates-section-head h2 { font-size:22vw; }
  .dates-row { grid-template-columns:80px minmax(0,1fr); gap:18px; padding:22px 0; }
  .dates-row-date b { font-size:56px; }
  .dates-row-meta { grid-column:2; flex-direction:row; flex-wrap:wrap; align-items:center; }
  .dates-row-action { grid-column:2; }
  .dates-empty { grid-template-columns:1fr; gap:10px; }
  .dates-empty-mark { font-size:80px; }
  .dates-archives-head h2 { font-size:14vw; }
  .dates-booking-copy h2 { font-size:18vw; }
  .dates-booking-copy > p:last-child { margin-left:3vw; }
  .dates-footer { flex-wrap:wrap; gap:10px 18px; }
}

@media (max-width:560px) {
  .dates-booking { padding-bottom:160px; }
  .dates-footer { flex-direction:column; align-items:flex-start; gap:7px; line-height:1.45; }
  .dates-footer .wtl-legal-links { gap:6px 14px; }
}

/* --- On the road photographic breathing space --- */
.dates-road-breath { position:relative; overflow:hidden; background:#080808; border-bottom:1px solid var(--line); }
.dates-road-breath-image { width:100%; }
.dates-road-breath-image img { width:100%; }
.dates-road-breath::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.36)); pointer-events:none; }
.dates-road-breath-copy { position:absolute; z-index:2; right:var(--pad); bottom:clamp(24px,5vw,72px); display:flex; flex-direction:column; align-items:flex-end; font:900 clamp(66px,11vw,176px)/.78 Impact,sans-serif; letter-spacing:-.02em; text-transform:uppercase; }
.dates-road-breath-copy span { color:transparent; -webkit-text-stroke:1.4px rgba(238,233,222,.9); }
.dates-road-breath-copy strong { color:var(--paper); }
@media (max-width:560px) {
  .dates-road-breath-copy { right:18px; bottom:20px; font-size:18vw; }
}

/* V16.11.10 — mobile hero and road interlude */
@media (max-width:560px) {
  .dates-hero {
    min-height:auto;
    padding-top:104px;
    padding-bottom:74px;
  }
  .dates-hero-copy { padding-bottom:0; }
  .dates-hero-image.wtl-photo {
    position:relative;
    inset:auto;
    width:88vw;
    height:52vh;
    min-height:410px;
    max-height:560px;
    margin:32px -4vw 0 auto;
    transform:rotate(2deg);
  }
  .dates-hero-no { bottom:24px; }

  /* On small screens the slogan gets its own black band instead of masking the photo. */
  .dates-road-breath { overflow:visible; background:#080808; }
  .dates-road-breath::after { bottom:auto; height:calc(100% - 132px); }
  .dates-road-breath-copy {
    position:relative;
    right:auto;
    bottom:auto;
    min-height:132px;
    padding:22px 18px 26px;
    box-sizing:border-box;
    align-items:flex-end;
    justify-content:center;
    font-size:15vw;
    line-height:.78;
  }
}
