.tour {
  --brand-orange: #f28a25;
  --brand-green: #65bd37;
  --brand-blue: #168fd1;
  --brand-yellow: #ffd13b;
  --ink: #08251d;
  position: relative;
  overflow: hidden;
  padding: clamp(2.8rem, 4.5vw, 4.25rem) 0 clamp(4.8rem, 8vw, 8rem);
  color: var(--ink);
  background: radial-gradient(circle at 100% 8%, rgba(22,143,209,.15), transparent 30rem), radial-gradient(circle at 0% 68%, rgba(101,189,55,.14), transparent 27rem), linear-gradient(135deg,#fff9e8,#fffdf8 55%,#eff7e8);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.tour *{box-sizing:border-box}
.tour .section-inner{width:min(74rem,calc(100% - 2.4rem));margin-inline:auto}
.tour__heading{margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.tour__heading h2{margin:0;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(3rem,7vw,6rem);letter-spacing:.015em;line-height:.92;text-transform:uppercase}
.tour__heading>div>p{max-width:38rem;margin:1.2rem 0 0;color:#496057;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.65}
.tour-list{display:grid;gap:2.4rem}
.tour-month{--month-colour:var(--brand-orange)}
.tour-month:nth-child(3n + 2){--month-colour:var(--brand-green)}
.tour-month:nth-child(3n){--month-colour:var(--brand-blue)}
.tour-month header{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-bottom:.55rem}
.tour-month header::after{content:"";grid-column:2;grid-row:1;height:.25rem;border-radius:1rem;background:var(--month-colour)}
.tour-month h3{grid-column:1;grid-row:1;margin:0;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(2rem,4vw,3.1rem);letter-spacing:.02em;line-height:1;text-transform:uppercase}
.tour-month header span{grid-column:3;grid-row:1;color:#7c8581;font-size:.68rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}
.tour-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto auto;gap:1.2rem;align-items:center;min-height:4.85rem;padding:.65rem 1rem;border-bottom:1px solid rgba(8,37,29,.12)}
.tour-row--has-times{grid-template-columns:7.5rem minmax(0,1fr) auto auto auto}
.tour-row:nth-child(odd){background:rgba(8,37,29,.035)}
.tour-row time{display:flex;gap:.8rem;align-items:center}
.tour-row time strong{min-width:2.35rem;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:2rem;line-height:1}
.tour-row time span,.tour-row>div span{color:#6a7570}
.tour-row time span{font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.tour-row>div{display:grid;grid-template-columns:minmax(15rem,1.2fr) minmax(10rem,1fr);gap:1.2rem;align-items:center}
.tour-row>div strong{font-size:1rem}.tour-row>div span{font-size:.93rem}
.tour-row__shows{min-width:5.3rem;color:#7a8580;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-align:right;text-transform:uppercase}
.tour-row__times{max-width:12rem;color:#315347;font-size:.78rem;font-weight:900;line-height:1.35;text-align:right}
.tour-row__shows--multi{padding:.42rem .55rem;border-radius:.25rem;background:#102e24;color:#fff;text-align:center}
.tour-row__book{display:inline-flex;align-items:center;justify-content:center;min-width:7.1rem;min-height:2.75rem;padding:.68rem 1rem;border:2px solid #102e24;border-radius:.45rem;background:var(--brand-orange);box-shadow:.22rem .22rem 0 #102e24;color:#102e24;font-size:.78rem;font-weight:950;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}
.tour-month:nth-child(3n + 2) .tour-row__book{background:var(--brand-green)}
.tour-month:nth-child(3n) .tour-row__book{background:var(--brand-blue);color:#fff}
.tour-row__book:hover,.tour-row__book:focus-visible{background:var(--brand-yellow);color:#102e24;box-shadow:.1rem .1rem 0 #102e24;transform:translate(.12rem,.12rem)}
.tour-row__book--soon,.tour-row__book--soon:hover{background:#d8ddd9;color:#69736e;box-shadow:none;cursor:not-allowed;transform:none}
.tour-row__book--soldout,.tour-row__book--soldout:hover{border-color:#7f1d1d;background:#b42318;box-shadow:.22rem .22rem 0 #7f1d1d;color:#fff;cursor:default;transform:none}
.tour__notice{margin:2.5rem 0 0;padding:1.1rem 1.3rem;border-left:.35rem solid var(--brand-yellow);background:#112e24;color:#fff;font-size:.92rem;font-weight:750;line-height:1.55}
@media(min-width:621px){.tour .tour-row.tour-row--has-times{grid-template-columns:7.5rem minmax(0,1fr) auto auto auto}.tour .tour-row.tour-row--has-times>time{grid-column:1;grid-row:1}.tour .tour-row.tour-row--has-times>div{grid-column:2;grid-row:1}.tour .tour-row.tour-row--has-times>.tour-row__times{grid-column:3;grid-row:1}.tour .tour-row.tour-row--has-times>.tour-row__shows{grid-column:4;grid-row:1}.tour .tour-row.tour-row--has-times>.tour-row__book{grid-column:5;grid-row:1;white-space:nowrap}}
@media(max-width:960px){.tour-row,.tour-row--has-times{grid-template-columns:5.8rem minmax(0,1fr) auto auto auto;gap:.7rem}.tour-row:not(.tour-row--has-times){grid-template-columns:5.8rem minmax(0,1fr) auto auto}.tour-row>div{grid-template-columns:minmax(9rem,1fr) minmax(7rem,.7fr);gap:.7rem}.tour-row__times{max-width:9rem;font-size:.72rem}.tour-row__shows{min-width:4.4rem}.tour-row__book{min-width:6.5rem;padding-inline:.65rem}}
@media(max-width:820px){.tour-row>div{grid-template-columns:1fr;gap:.15rem}}
@media(max-width:620px){.tour{padding:2.75rem 0 4.5rem}.tour .section-inner{width:min(100% - 1.4rem,34rem)}.tour-month header{grid-template-columns:auto 1fr}.tour-month header span{display:none}.tour-row,.tour-row--has-times,.tour-row:not(.tour-row--has-times){grid-template-columns:4.8rem minmax(0,1fr);gap:.65rem;padding-inline:.55rem}.tour-row time{gap:.45rem}.tour-row time strong{min-width:2rem;font-size:1.75rem}.tour-row time span{font-size:.6rem}.tour-row__times,.tour-row__shows,.tour-row__book{grid-column:2;grid-row:auto;justify-self:start;text-align:left}.tour-row__book{min-width:7.5rem;margin-top:.3rem}}
