:root{
  --grass:#0B7A3E; --grass-2:#116D3C; --board:#161616; --board-ink:#F2E6CC; --board-hi:#F2E6CC;
  --ball:#C8102E; --willow:#F2E6CC; --paper:#FAF7F0; --card:#FFFFFF; --ink:#161616; --muted:#625D53;
  --line:#A7A9AC; --slot:#F2E6CC; --link:#0B7A3E;
  --head:"Zilla Slab", Rockwell, "Roboto Slab", Georgia, serif;
  --body:"Libre Franklin", "Segoe UI", Helvetica, Arial, sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#161616; --card:#242424; --ink:#E8ECE3; --muted:#A3AD9E; --line:#555555; --slot:#292929;
    --board:#161616; --link:#9FE1BC; --grass:#116D3C; --ball:#FF9EAC;
  }
}
:root[data-theme="dark"]{
  --paper:#161616; --card:#242424; --ink:#E8ECE3; --muted:#A3AD9E; --line:#555555; --slot:#292929;
  --board:#161616; --link:#9FE1BC; --grass:#116D3C; --ball:#FF9EAC;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:64px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
img,svg{max-width:100%}
a{color:var(--link)}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--board-hi);outline-offset:2px}
h1,h2,h3{font-family:var(--head);line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.1rem);font-weight:700}
h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:600}
h3{font-size:1.2rem;font-weight:600}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* header */
.site-head{background:var(--grass);color:#fff}
.site-head .wrap{display:flex;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand svg{width:52px;height:52px;flex:none}
.brand b{font-family:var(--head);font-size:1.5rem;font-weight:700;letter-spacing:.2px}
.nav{display:flex;gap:4px 18px;flex-wrap:wrap;margin-left:auto;align-items:center}
.nav a{color:#fff;text-decoration:none;font-weight:500}
.nav a:hover{text-decoration:underline}
.theme-btn{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff;border-radius:20px;padding:4px 12px;font:inherit;font-size:.85rem;cursor:pointer}

/* scoreboard: the one signature element */
.board{background:var(--board);color:var(--board-ink);border-radius:6px;padding:18px;border:6px solid #2a3a2c;box-shadow:inset 0 0 0 2px #0b160e}
.board-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px dashed rgba(244,244,238,.25)}
.board-row:last-child{border-bottom:0}
.board-row span{font-size:.9rem;opacity:.85}
.board-row strong{font-family:var(--head);font-weight:600;font-size:1.25rem;text-align:right;color:var(--board-hi)}
.board-title{font-family:var(--head);font-size:1.05rem;color:var(--board-ink);margin:0 0 6px;opacity:.9}
.tiles{display:inline-flex;gap:4px}
.tiles i{font-style:normal;font-family:var(--head);font-weight:700;background:#0b160e;color:var(--board-ink);min-width:1.4em;text-align:center;padding:2px 4px;border-radius:2px}

/* hero */
.hero{background:linear-gradient(var(--grass),var(--grass-2));color:#fff;padding:40px 0 48px}
.hero .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.hero p{font-size:1.1rem;opacity:.95}
.picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.picker select{font:inherit;padding:10px 12px;border-radius:4px;border:0;min-width:240px;max-width:100%}
.btn{display:inline-block;font:inherit;font-weight:600;background:var(--board-hi);color:#1d1a0c;border:0;border-radius:4px;padding:10px 18px;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:inherit;border:1.5px solid currentColor}

section.block{padding:44px 0;border-bottom:1px solid var(--line)}
.lede{color:var(--muted);font-size:1.05rem}
.regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 32px;margin-top:20px}
.regions h3{border-bottom:3px solid var(--grass);padding-bottom:4px;font-size:1.05rem}
.regions ul{list-style:none;margin:0;padding:0}
.regions li{padding:5px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px}
.regions li small{color:var(--muted)}

.guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;background:var(--line);border:1px solid var(--line);margin-top:20px}
.guides a{background:var(--card);padding:18px;text-decoration:none;color:var(--ink);display:block}
.guides a:hover h3{text-decoration:underline}
.guides p{color:var(--muted);margin:0;font-size:.95rem}

.fixtures{width:100%;border-collapse:collapse;margin-top:16px;min-width:560px}
.fixtures th,.fixtures td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.fixtures th{font-weight:600;color:var(--muted);font-size:.9rem}
.scroll{overflow-x:auto}
.fmt{display:inline-block;font-size:.8rem;font-weight:600;padding:1px 8px;border-radius:10px;border:1.5px solid var(--grass);color:var(--grass)}
:root[data-theme="dark"] .fmt{color:#9fd3aa;border-color:#9fd3aa}

.sample{display:inline-block;font-size:.75rem;font-weight:600;background:var(--willow);color:#2a2414;padding:1px 7px;border-radius:3px;vertical-align:middle}
.slot{border:2px dashed var(--line);background:var(--slot);border-radius:4px;padding:14px 16px;color:var(--muted);font-size:.95rem}
.slot b{color:var(--ink)}

/* ground hub */
.crumbs{font-size:.9rem;color:var(--muted);padding:14px 0 0}
.crumbs a{color:var(--muted)}
.ground-head{padding:18px 0 30px;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}
.jump{position:sticky;top:0;z-index:5;background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jump .wrap{display:flex;gap:4px 20px;overflow-x:auto;padding-top:10px;padding-bottom:10px;white-space:nowrap}
.jump a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}
.jump a:hover{color:var(--grass);text-decoration:underline}
.two{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.stands{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:18px}
.stand{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--grass);padding:14px 16px}
.stand.sun{border-left-color:var(--board-hi)}
.stand h3{margin-bottom:4px}
.stand p{font-size:.93rem;color:var(--muted);margin:0 0 8px}
.facts{list-style:none;padding:0;margin:0;font-size:.9rem}
.facts li{padding:2px 0}
.steps{list-style:none;counter-reset:s;padding:0;margin:16px 0 0;display:grid;gap:10px}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}
.steps li::before{content:counter(s);font-family:var(--head);font-weight:700;background:var(--board);color:var(--board-hi);border-radius:4px;text-align:center;padding:6px 0}
.rules{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rules div{background:var(--card);border:1px solid var(--line);padding:14px 16px}
.rules h3{font-size:1.05rem}
.yes h3{color:var(--grass)} .no h3{color:var(--ball)}
:root[data-theme="dark"] .yes h3{color:#9fd3aa}
.rules ul{margin:0;padding-left:18px}

.plan svg{width:100%;height:auto;display:block}
.plan figcaption{font-size:.9rem;color:var(--muted);margin-top:8px}

/* 404 */
.oops{text-align:center;padding:60px 0 70px}
.oops svg{width:min(320px,80%);height:auto}
.oops p{margin-left:auto;margin-right:auto}

/* footer */
.site-foot{background:var(--board);color:var(--board-ink);padding:36px 0 30px;margin-top:0}
.site-foot .wrap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.site-foot a{color:var(--board-ink)}
.foot-links{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:.92rem;margin-bottom:10px}
.small{font-size:.85rem;opacity:.85;max-width:none}
.dydq{display:flex;align-items:center;gap:12px;background:#fff;color:#161616;border-radius:8px;padding:10px 14px;max-width:420px}
.dydq svg{width:46px;height:46px;flex:none}
.dydq p{margin:0;font-size:.85rem;line-height:1.4}


@media (max-width:820px){
  .hero .wrap,.ground-head,.two,.rules,.site-foot .wrap{grid-template-columns:1fr}
  .nav{margin-left:0;width:100%}
}
@media (prefers-reduced-motion:no-preference){
  .hero .board{animation:flip .6s ease-out .15s both}
  @keyframes flip{from{transform:perspective(800px) rotateX(-25deg);opacity:0}to{transform:none;opacity:1}}
}

/* Document access and overflow safeguards; original design tokens unchanged. */
.ground-head>*,.two>*,.site-foot .wrap>*{min-width:0}
.board-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.board-row strong{overflow-wrap:anywhere}
p,li,td,.slot{overflow-wrap:anywhere}
.skip-link{position:absolute;left:20px;top:-100px;z-index:20;background:var(--board-hi);color:#1d1a0c;padding:8px 14px}
.skip-link:focus{top:8px}
main:focus{outline:none}
[id]{scroll-margin-top:70px}
caption{text-align:left;color:var(--muted);font-size:.9rem;padding:8px 0}
.scroll:focus-visible{outline:3px solid var(--board-hi);outline-offset:2px}
.plan text{font-family:var(--body);fill:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .yes h3{color:#9fd3aa}:root:not([data-theme="light"]) .fmt{color:#9fd3aa;border-color:#9fd3aa}}

.site-head{background:#161616}.nav a{color:#A9E3C2}.board{border-color:#424242;box-shadow:inset 0 0 0 2px #111}.btn{background:#C8102E;color:#fff}.hero{background:linear-gradient(120deg,#161616,#183527)}.hero-art{background:#F2E6CC;border:1px solid #A7A9AC;border-radius:6px;padding:26px;color:#161616;text-align:center}.hero-art svg{width:220px;display:block;margin:auto}.hero-art p{font-size:.95rem;margin:10px auto 0}.eyebrow{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem!important;color:#F2E6CC}.guides .coming{background:var(--card);padding:18px}.coming p{font-size:.95rem;color:var(--muted)}.draft{border-left:4px solid #C8102E;padding:12px 16px;background:var(--slot);margin:0 0 20px}.board-row strong{color:#F2E6CC}.block h2{border-bottom:3px solid var(--grass);padding-bottom:10px;max-width:35ch}.small{opacity:1}.regions li{flex-wrap:wrap}.picker select{min-width:0;width:100%;color:#161616;background:#fff}.picker{max-width:500px}.picker label{width:100%;font-size:.9rem}.hero .wrap>*{min-width:0}.brand b{font-size:1.45rem}details{border-bottom:1px solid var(--line);padding:16px 0}summary{font-family:var(--head);font-size:1.2rem;font-weight:600;cursor:pointer}details p{margin-top:12px}.slot{margin:16px 0}.plan-slot{min-height:180px;display:grid;place-items:center;text-align:center}.rules .no h3{color:var(--ball)}.crumbs{margin-bottom:12px}button:disabled{opacity:.6}@media(max-width:420px){.wrap{padding-left:18px;padding-right:18px}.nav{gap:10px 18px}.hero{padding-top:30px}.board-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.board-row strong{font-size:1.05rem}.hero-art{padding:18px}.ground-head{gap:20px}.dydq{align-items:flex-start}.dydq p{overflow-wrap:anywhere}}
.venue-photo{margin:0 0 28px}.venue-photo img{display:block;width:100%;height:auto;border-radius:5px}.photo-credit{font-size:.8rem;color:var(--muted);padding-top:8px}.source-note{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:24px;overflow-wrap:anywhere}.session-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.session-cards .stand{min-width:0}.session-cards p{max-width:62ch}.estimator{background:var(--card);border:1px solid var(--line);padding:24px;border-radius:6px}.estimator label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.95rem;min-width:0}.estimator input,.estimator select{font:inherit;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);width:100%;min-width:0;box-sizing:border-box}.estimator select{background:#fff;color:#161616}.estimate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.estimate-result{font-family:var(--head);font-size:1.5rem;border-top:3px solid var(--grass);padding-top:18px;max-width:none!important}.estimate-result small{display:block;font:400 1rem var(--body)}.help-callout{border-left:5px solid var(--ball);padding:8px 20px;background:var(--slot)}.history{padding-left:25px;max-width:76ch}.history li{padding:0 0 20px 8px}.closing-check{border-top:1px solid var(--line);padding-top:24px;padding-bottom:30px;font-size:.9rem}.site-foot a,.stand a{overflow-wrap:anywhere}input:focus-visible,select:focus-visible{outline:3px solid var(--grass);outline-offset:3px}@media(max-width:620px){.session-cards,.estimate-grid{grid-template-columns:1fr}.estimator{padding:18px}.estimator select{font-size:.86rem}.venue-photo{margin-bottom:18px}.source-note{line-height:1.7}.history li{padding-left:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* This component alone changes layout below600px; existing tables are untouched. */
.season-calendar{width:100%;min-width:0;border-collapse:collapse;margin:20px 0;font-size:.95rem;table-layout:fixed}
.season-calendar caption{text-align:left;font-family:var(--head);font-size:1.2rem;padding:0 0 12px;font-weight:600}
.season-calendar th,.season-calendar td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.season-calendar thead{background:var(--slot)}
.season-calendar thead th:first-child{width:20%}
.season-calendar a{display:inline-block;padding:3px 0}
@media(max-width:600px){
 .season-calendar,.season-calendar tbody,.season-calendar tr,.season-calendar td,.season-calendar tbody th{display:block;width:100%}
 .season-calendar thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .season-calendar tr{border:1px solid var(--line);border-radius:6px;margin:0 0 18px;background:var(--card)}
 .season-calendar td,.season-calendar tbody th{padding:10px 14px;border-bottom:0;box-sizing:border-box}
 .season-calendar tbody th{background:var(--slot)}
 .season-calendar [data-label]::before{content:attr(data-label);display:block;font-weight:700;font-size:.8rem;color:var(--muted);margin-bottom:3px}
}
/* ==========================================================================
   Off to the Darts — "walk-on" redesign layer
   Loaded last; overrides the base styles without changing any page content.
   Brief tokens kept: board black, treble red, double green, sisal cream,
   wire silver, paper. Fonts kept: Zilla Slab + Libre Franklin.
   ========================================================================== */

:root{
  --rd-black:#161616;
  --rd-black-2:#1f1f1f;
  --rd-red:#C8102E;
  --rd-red-deep:#8E0A20;
  --rd-green:#0B7A3E;
  --rd-cream:#F2E6CC;
  --rd-wire:#A7A9AC;
  --rd-paper:#FAF7F0;
  --rd-band:#F3ECDD;          /* alternate section band */
  --rd-ink:#161616;
  --rd-muted:#5E584D;
  --rd-card:#FFFFFF;
  --rd-ticket-edge:#E6D9BC;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --rd-paper:#161616; --rd-band:#1C1C1C; --rd-ink:#EDE6D6; --rd-muted:#B3AC9C;
    --rd-card:#242322; --rd-ticket-edge:#3A372F;
  }
}
:root[data-theme="dark"]{
  --rd-paper:#161616; --rd-band:#1C1C1C; --rd-ink:#EDE6D6; --rd-muted:#B3AC9C;
  --rd-card:#242322; --rd-ticket-edge:#3A372F;
}

/* full-bleed bands must never cause sideways scrolling (clip keeps sticky menus working) */
html,body{overflow-x:clip}

/* ---------- type ---------- */
body{background:var(--rd-paper);color:var(--rd-ink);font-size:17.5px;line-height:1.65}
h1,h2,h3{letter-spacing:-.012em;color:inherit}
h1{font-size:clamp(2.35rem,6.2vw,4.4rem);line-height:1.02;font-weight:700}
h2{font-size:clamp(1.65rem,3.4vw,2.45rem);line-height:1.08;font-weight:700}
h3{font-size:1.22rem;font-weight:700}
.lede,.ground-head>div>p:first-of-type{font-size:1.14rem}
a{color:var(--rd-green);text-underline-offset:.18em;text-decoration-thickness:1.5px}
:root[data-theme="dark"] a{color:#9FE1BC}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) a{color:#9FE1BC}}

/* ---------- header + the double-ring stripe ---------- */
.site-head{background:var(--rd-black);position:relative;padding-bottom:9px}
.site-head::after,
.site-foot::before{
  content:"";position:absolute;left:0;right:0;height:9px;
  /* 20-segment double ring: red/green segments divided by silver wire */
  background:
    repeating-linear-gradient(90deg,
      var(--rd-red) 0 46px, var(--rd-wire) 46px 48px,
      var(--rd-green) 48px 94px, var(--rd-wire) 94px 96px);
}
.site-head::after{bottom:0}
.site-head .wrap{padding-top:14px;padding-bottom:14px}
.brand b{font-size:1.6rem;letter-spacing:-.01em;color:var(--rd-cream)}
.brand svg{width:56px;height:56px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.4))}
.nav a{color:var(--rd-cream);font-weight:600;padding:6px 2px;border-bottom:3px solid transparent}
.nav a:hover{text-decoration:none;border-bottom-color:var(--rd-red)}
.theme-btn{border-color:rgba(242,230,204,.55);color:var(--rd-cream)}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--head);font-weight:700;font-size:1.08rem;letter-spacing:.005em;
  background:var(--rd-red);color:#fff;border-radius:6px;padding:12px 22px;
  box-shadow:0 4px 0 var(--rd-red-deep);transform:translateY(0);
  transition:transform .08s ease, box-shadow .08s ease;
}
.btn:hover{background:#D61634}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--rd-red-deep)}
.btn.ghost{background:transparent;color:inherit;border:2px solid currentColor;box-shadow:none}

/* ---------- home hero: the arena at walk-on time ---------- */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(ellipse 60% 90% at 78% 40%, rgba(242,230,204,.13), transparent 62%),
    linear-gradient(180deg,#121212 0%,#1b1b1b 100%);
  color:var(--rd-cream);padding:72px 0 84px;
}
/* the board — drawn to real proportions (radius 100% = outer edge of number ring):
   bull 2.8%, outer bull 7.1%, treble 44–47.6%, double 72–75.6%, number ring to 100% */
.hero::before,.hero::after{
  content:"";position:absolute;z-index:-1;
  width:min(880px,120vw);aspect-ratio:1;right:-230px;top:50%;
  margin-top:calc(min(880px,120vw) / -2);border-radius:50%;
}
/* layer 1: red/green rings (the whole disc; the top layer cuts windows onto it) */
.hero::before{
  background:conic-gradient(from -9deg, var(--rd-red) 0deg 18deg, var(--rd-green) 18deg 36deg, var(--rd-red) 36deg 54deg, var(--rd-green) 54deg 72deg, var(--rd-red) 72deg 90deg, var(--rd-green) 90deg 108deg, var(--rd-red) 108deg 126deg, var(--rd-green) 126deg 144deg, var(--rd-red) 144deg 162deg, var(--rd-green) 162deg 180deg, var(--rd-red) 180deg 198deg, var(--rd-green) 198deg 216deg, var(--rd-red) 216deg 234deg, var(--rd-green) 234deg 252deg, var(--rd-red) 252deg 270deg, var(--rd-green) 270deg 288deg, var(--rd-red) 288deg 306deg, var(--rd-green) 306deg 324deg, var(--rd-red) 324deg 342deg, var(--rd-green) 342deg 360deg);
}
/* layer 2: cream/black segments, wires, bull and number ring, with ring-shaped gaps */
.hero::after{
  background:
    radial-gradient(circle closest-side, var(--rd-red) 0 2.8%, var(--rd-green) 2.8% 7.1%, var(--rd-wire) 7.1% 7.5%, transparent 7.5%),
    radial-gradient(circle closest-side,
      transparent 0 43.5%, var(--rd-wire) 43.5% 44%, transparent 44% 47.6%, var(--rd-wire) 47.6% 48.1%,
      transparent 48.1% 71.5%, var(--rd-wire) 71.5% 72%, transparent 72% 75.6%, var(--rd-wire) 75.6% 76.1%,
      #0f0f0f 76.1% 99%, #2a2a2a 99% 100%),
    conic-gradient(from -9deg, #1a1a1a 0deg 18deg, var(--rd-cream) 18deg 36deg, #1a1a1a 36deg 54deg, var(--rd-cream) 54deg 72deg, #1a1a1a 72deg 90deg, var(--rd-cream) 90deg 108deg, #1a1a1a 108deg 126deg, var(--rd-cream) 126deg 144deg, #1a1a1a 144deg 162deg, var(--rd-cream) 162deg 180deg, #1a1a1a 180deg 198deg, var(--rd-cream) 198deg 216deg, #1a1a1a 216deg 234deg, var(--rd-cream) 234deg 252deg, #1a1a1a 252deg 270deg, var(--rd-cream) 270deg 288deg, #1a1a1a 288deg 306deg, var(--rd-cream) 306deg 324deg, #1a1a1a 324deg 342deg, var(--rd-cream) 342deg 360deg);
  -webkit-mask:radial-gradient(circle closest-side, #000 0 44%, transparent 44% 47.6%, #000 47.6% 72%, transparent 72% 75.6%, #000 75.6% 100%, transparent 100%);
          mask:radial-gradient(circle closest-side, #000 0 44%, transparent 44% 47.6%, #000 47.6% 72%, transparent 72% 75.6%, #000 75.6% 100%, transparent 100%);
}
/* the wire ring and dark surround need to sit over the coloured double band edge */
.hero .wrap{position:relative}
.hero .wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px}
.hero h1{color:var(--rd-cream);font-size:clamp(2.8rem,7.4vw,5.6rem);margin-bottom:.25em;text-shadow:0 3px 0 rgba(0,0,0,.45)}
.hero p{font-size:1.2rem;max-width:34ch;color:#EFE6D2}
.eyebrow{
  text-transform:none!important;letter-spacing:0!important;
  font-family:var(--head);font-weight:600;font-size:1.15rem!important;color:#9FE1BC!important;margin-bottom:.4em
}
.picker{background:rgba(22,22,22,.78);border:1px solid rgba(167,169,172,.35);border-radius:10px;padding:16px;max-width:520px;backdrop-filter:blur(2px)}
.picker label{color:var(--rd-cream);font-weight:600}
.picker select{border-radius:6px;padding:12px 14px;font-size:1rem}
/* the duck card becomes a sticker on the board */
.hero-art{
  background:var(--rd-cream)!important;border:0!important;border-radius:14px!important;
  transform:rotate(-3deg);box-shadow:0 18px 40px rgba(0,0,0,.5);max-width:340px;justify-self:end
}
.hero-art p{color:#161616}

/* one orchestrated moment: the board swings in and lands */
@media (prefers-reduced-motion:no-preference){
  .hero::before,.hero::after{animation:rd-land 1.1s cubic-bezier(.2,.9,.25,1.15) .1s both}
  .hero-art{animation:rd-stick .5s cubic-bezier(.2,.9,.3,1.3) .85s both}
  @keyframes rd-land{from{transform:rotate(-40deg) scale(.86);opacity:0}to{transform:none;opacity:1}}
  @keyframes rd-stick{from{transform:rotate(-12deg) scale(.9);opacity:0}to{transform:rotate(-3deg);opacity:1}}
  .hero .board{animation:none}
}

/* ---------- sections: rhythm via alternating bands ---------- */
section.block{padding:64px 0;border-bottom:0}
main>section.block:nth-of-type(even){background:var(--rd-band)}
.block h2{border-bottom:0!important;max-width:none;padding-bottom:0;margin-bottom:.6em}
.block h2::after{
  content:"";display:block;width:64px;height:6px;margin-top:14px;border-radius:3px;
  background:linear-gradient(90deg,var(--rd-red) 0 50%,var(--rd-green) 50% 100%);
}
.block h2 a{color:inherit;text-decoration:none}
.block h2 a:hover{text-decoration:underline}

/* ---------- page heads on venue/event/guide pages ---------- */
main>.wrap:first-child{padding-top:8px}
.crumbs{padding-top:22px}
.ground-head{padding:22px 0 40px;gap:44px}
.ground-head h1{margin-bottom:.35em}
.draft{border-left:6px solid var(--rd-red)!important;background:var(--rd-band)!important;border-radius:0 8px 8px 0;font-size:.95rem}

/* ---------- the chalkboard ---------- */
.board{
  background:
    radial-gradient(ellipse at 20% 10%, rgba(255,255,255,.05), transparent 45%),
    radial-gradient(ellipse at 85% 90%, rgba(255,255,255,.035), transparent 50%),
    #191919;
  border:0;border-radius:10px;padding:22px 24px;
  box-shadow:0 0 0 3px #2b2b2b, 0 0 0 6px var(--rd-wire), 0 16px 34px rgba(0,0,0,.28);
}
.board-title{font-family:var(--head);font-size:1.2rem;font-weight:700;color:var(--rd-cream);opacity:1;margin-bottom:10px}
.board-row{border-bottom:1px dashed rgba(242,230,204,.22);padding:11px 0}
.board-row span{color:#CFC6B2;opacity:1}
.board-row strong{font-size:1.28rem;font-weight:700;color:var(--rd-cream)!important;text-shadow:0 0 1px rgba(242,230,204,.35)}

/* ---------- on-page menu: scoreboard strip ---------- */
.jump{background:var(--rd-black);border:0;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.jump .wrap{padding-top:0;padding-bottom:0;gap:0 4px;scrollbar-width:thin}
.jump a{color:var(--rd-cream)!important;padding:14px 12px;border-bottom:4px solid transparent;font-weight:600}
.jump a:hover{color:#fff!important;text-decoration:none;border-bottom-color:var(--rd-red)}

/* ---------- tickets: session, seat and event cards ---------- */
.stands{gap:22px}
.stand{
  position:relative;background:var(--rd-card);border:0!important;border-radius:12px;
  padding:22px 22px 20px 40px;
  box-shadow:0 0 0 1px var(--rd-ticket-edge), 0 6px 0 var(--rd-ticket-edge);
  /* punched notches top and bottom of the stub, like a ticket */
  -webkit-mask:
    radial-gradient(circle 10px at 18px 0, transparent 98%, #000) top / 100% 51% no-repeat,
    radial-gradient(circle 10px at 18px 100%, transparent 98%, #000) bottom / 100% 51% no-repeat;
          mask:
    radial-gradient(circle 10px at 18px 0, transparent 98%, #000) top / 100% 51% no-repeat,
    radial-gradient(circle 10px at 18px 100%, transparent 98%, #000) bottom / 100% 51% no-repeat;
}
.stand::before{ /* perforation down the stub */
  content:"";position:absolute;left:17px;top:16px;bottom:16px;
  border-left:2px dashed var(--rd-ticket-edge);
}
.stand h3{margin:0 0 10px;font-size:1.3rem;line-height:1.15}
.stand h3 a{color:inherit;text-decoration:none}
.stand h3 a:hover{text-decoration:underline}
.stand>p{color:var(--rd-muted)}
.stand>a:last-child{font-weight:700}
.fmt{background:var(--rd-green);color:#fff!important;border:0!important;border-radius:4px;padding:2px 9px;margin-bottom:6px}
.stand .fmt+h3{margin-top:4px}
/* session cards keep the same ticket look but with a red stub */
.session-cards .stand{box-shadow:0 0 0 1px var(--rd-ticket-edge), 0 6px 0 var(--rd-red)}

/* ---------- guides grid on the home page ---------- */
.guides{gap:20px;background:transparent;border:0}
.guides>*{border-radius:12px;background:var(--rd-card)!important;padding:22px!important;border-top:6px solid var(--rd-green);box-shadow:0 1px 0 var(--rd-ticket-edge)}
.guides>*:nth-child(3n+2){border-top-color:var(--rd-red)}
.guides>*:nth-child(3n){border-top-color:var(--rd-wire)}
.guides h2{font-size:1.3rem;margin-bottom:.4em}
.guides h2::after{display:none}
.guides h2 a{color:inherit;text-decoration:none}

/* ---------- venues by region ---------- */
.regions{gap:28px 36px}
.regions h3{border-bottom:0;padding-bottom:0;font-size:1.15rem}
.regions h3::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--rd-red);box-shadow:0 0 0 3px var(--rd-green);margin-right:10px;vertical-align:1px}
.regions li{padding:8px 0}
.regions li a{font-weight:600}

/* ---------- rules, help, affiliate boxes ---------- */
.rules div{border:0;border-radius:12px;background:var(--rd-card);box-shadow:0 0 0 1px var(--rd-ticket-edge)}
.rules .yes{border-top:6px solid var(--rd-green)}
.rules .no{border-top:6px solid var(--rd-red)}
.help-callout{border-left:6px solid var(--rd-red);border-radius:0 10px 10px 0;background:var(--rd-card)}
.slot{border:0!important;border-radius:12px;background:var(--rd-card)!important;color:var(--rd-ink)!important;
  box-shadow:inset 0 0 0 2px var(--rd-ticket-edge);padding:18px 20px!important}
.slot h3{margin-bottom:.3em}
.slot a{font-weight:700}

/* ---------- photos ---------- */
.venue-photo img{border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.18)}

/* ---------- FAQs ---------- */
details{border-bottom:1px solid var(--rd-ticket-edge);padding:18px 0}
summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--head);font-weight:700;font-size:1.6rem;line-height:1;color:var(--rd-red);flex:none;transition:transform .2s ease}
details[open] summary::after{transform:rotate(45deg)}

/* ---------- history timeline ---------- */
.history{list-style:none;padding-left:0;border-left:4px solid var(--rd-green);margin-left:8px}
.history li{position:relative;padding:0 0 22px 26px!important}
.history li::before{content:"";position:absolute;left:-12px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--rd-red);box-shadow:0 0 0 4px var(--rd-paper)}

/* ---------- tables ---------- */
.fixtures th,.season-calendar thead th{color:var(--rd-ink)}
.fixtures thead,.season-calendar thead{background:var(--rd-band)}

/* ---------- footer ---------- */
.site-foot{position:relative;padding-top:52px}
.site-foot::before{top:0}

/* ---------- 404 ---------- */
.oops h1{font-size:clamp(3rem,10vw,6rem)}

/* ---------- mobile ---------- */
@media (max-width:820px){
  .hero{padding:48px 0 56px}
  .hero::before,.hero::after{width:150vw;right:-80vw;top:auto;bottom:-55vw;margin-top:0;opacity:.55}
  .hero::before,.hero::after{animation-name:rd-land-m}
  @keyframes rd-land-m{from{transform:rotate(-40deg) scale(.86);opacity:0}to{transform:none;opacity:.55}}
  .hero .wrap{grid-template-columns:1fr;gap:30px}
  .hero-art{justify-self:start;max-width:300px}
  section.block{padding:48px 0}
}
@media (max-width:420px){
  body{font-size:17px}
  .hero h1{font-size:2.9rem}
  .stand{padding:20px 18px 18px 36px}
}

/* ---------- page heads: every venue, event, seating and guide page opens in the arena ---------- */
main>.wrap:has(.ground-head){
  position:relative;color:var(--rd-cream);
  --ink:var(--rd-cream);   /* page text inside the band, incl. inline var(--ink) on buttons */
  --muted:#CFC6B2;
  background:var(--rd-black);
  /* full-bleed band behind a centred wrap */
  box-shadow:0 0 0 100vmax var(--rd-black);
  clip-path:inset(0 -100vmax);
  padding-bottom:30px;margin-bottom:9px;
}
main>.wrap:has(.ground-head)::after{ /* the double-ring stripe closes the band */
  content:"";position:absolute;left:50%;width:100vw;translate:-50% 0;bottom:-9px;height:9px;
  background:repeating-linear-gradient(90deg,
    var(--rd-red) 0 46px, var(--rd-wire) 46px 48px, var(--rd-green) 48px 94px, var(--rd-wire) 94px 96px);
}
main>.wrap:has(.ground-head) .crumbs,
main>.wrap:has(.ground-head) .crumbs a{color:#CFC6B2}
main>.wrap:has(.ground-head) h1{color:var(--rd-cream);text-shadow:0 3px 0 rgba(0,0,0,.45)}
main>.wrap:has(.ground-head) .ground-head p{color:#E6DCC6}
main>.wrap:has(.ground-head) a:not(.btn){color:#9FE1BC}
main>.wrap:has(.ground-head) .btn.ghost{color:var(--rd-cream);border-color:rgba(242,230,204,.7)}
main>.wrap:has(.ground-head) .draft{
  background:rgba(242,230,204,.08)!important;color:#E6DCC6;border-left-color:var(--rd-red)!important
}
main>.wrap:has(.ground-head) .board{
  box-shadow:0 0 0 3px #2b2b2b, 0 0 0 6px var(--rd-wire), 0 22px 44px rgba(0,0,0,.55)
}
.venue-photo{margin-top:34px}
@media (max-width:820px){ main>.wrap:has(.ground-head){padding-bottom:22px} }

/* Phase 1: booking shortcuts and supporting detail on phones. */
.quick-answers{background:var(--rd-card);border:1px solid var(--rd-ticket-edge);border-left:5px solid var(--rd-green);border-radius:8px;padding:18px;margin:20px 0}
.quick-answers h2{font-size:1.35rem;margin:0 0 10px}
.quick-answers dl{margin:0}
.quick-answers dl>div{padding:8px 0;border-top:1px solid var(--rd-ticket-edge)}
.quick-answers dt{font-weight:700;font-size:.9rem;color:var(--rd-muted)}
.quick-answers dd{margin:3px 0 0;overflow-wrap:anywhere}
.quick-answers .btn,.dated-hotel .btn,.book-trip .btn{white-space:normal;min-height:44px;margin-top:6px}
.book-trip{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;background:var(--rd-band);border-radius:6px;margin:12px 0}
.book-trip>a{padding:10px 0}.book-trip>strong{width:100%}
.phone-fold>summary h2{display:inline;margin:0}.phone-fold-content{padding-top:12px}
.source-fold>summary{font-size:1rem;color:var(--rd-muted)}
@media(min-width:820px){.phone-fold{border:0;padding:0}.phone-fold>summary{list-style:none;cursor:default}.phone-fold>summary::-webkit-details-marker{display:none}.source-fold>summary{display:none}.source-fold .phone-fold-content{padding:0}}
@media(max-width:819px){.phone-fold{padding:16px 0}.phone-fold>summary h2{font-size:1.65rem;border:0}.phone-fold-content>:first-child{margin-top:0}.book-trip{gap:8px 14px}}

/* Shared rubber-duck darts logo, anchored at the top left. */
.site-head .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.site-head .brand{flex:none;gap:12px;min-height:64px}
.site-head .brand svg{display:block;width:64px;height:60px;flex:none;filter:drop-shadow(0 2px 0 rgba(0,0,0,.3))}
.site-head .nav{flex:1;min-width:0;justify-content:flex-end;margin-left:0}
.oops .duck-404{display:block;width:min(720px,100%);height:auto;margin:0 auto 22px}
@media(max-width:1000px){.site-head .nav{flex-basis:100%;justify-content:flex-start}.site-head .wrap{gap:8px 16px}}
@media(max-width:420px){.site-head .brand b{font-size:1.4rem}.site-head .brand svg{width:58px;height:54px}.site-head .nav{column-gap:16px;row-gap:5px}.oops{padding-top:32px}}
/* Keyword guides: scalable diagram and wrapping tables for small screens. */
.seat-comparison{margin:24px 0;max-width:560px}.seat-comparison svg{display:block;width:100%;height:auto}.seat-comparison figcaption{font-size:.9rem;margin-top:10px}.venue-subnav{line-height:1.8;overflow-wrap:anywhere;padding-bottom:18px}
@media(max-width:600px){.keyword-table{min-width:0;width:100%;table-layout:fixed}.keyword-table th,.keyword-table td{overflow-wrap:anywhere;padding:10px 6px}.seat-comparison{margin-inline:0}.book-trip>*{min-width:0}.nav a{overflow-wrap:anywhere}}

.menu-toggle{display:none}.mobile-menu-head{display:flex;justify-content:space-between;align-items:center;gap:16px}#mobileNav{background:#161616;color:#FAF7F0;border:0;padding:24px}#mobileNav a{color:#FAF7F0;display:block;padding:14px 8px;min-height:48px}#mobileNav button{min-height:44px}#mobileNav::backdrop{background:rgba(0,0,0,.7)}.search-row{display:flex;gap:10px;flex-wrap:wrap}.search-row input{min-width:0;flex:1;padding:12px;border:1px solid currentColor;border-radius:4px;font:inherit}.search-row button{min-height:44px}#searchResults{list-style:none;padding:0}#searchResults li{padding:18px 0;border-bottom:1px solid var(--line)}#searchResults a{font-weight:700}.fixtures td,.fixtures th{overflow-wrap:anywhere}.scroll{max-width:100%;overflow-x:auto}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #E8862E;outline-offset:3px}@media(max-width:820px){.site-head .wrap{justify-content:space-between}.site-head nav.nav{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:44px}#mobileNav{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}#mobileNav nav{display:grid;gap:6px}#mobileNav h2{font-size:1.3rem}.site-head .brand b{font-size:clamp(1.1rem,5vw,1.4rem)}}@media print{header,footer,.crumbs,.source-fold,#faq{display:none}.print-checklist{display:block;color:#000;background:#fff}a{color:#000}}

@font-face{font-family:"Libre Franklin";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/libre-franklin-400.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/libre-franklin-500.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/libre-franklin-600.woff2) format("woff2")}
@font-face{font-family:"Libre Franklin";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/libre-franklin-700.woff2) format("woff2")}
@font-face{font-family:"Zilla Slab";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/zilla-slab-500.woff2) format("woff2")}
@font-face{font-family:"Zilla Slab";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/zilla-slab-600.woff2) format("woff2")}
@font-face{font-family:"Zilla Slab";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/zilla-slab-700.woff2) format("woff2")}

.site-head .wrap{display:flex;flex-wrap:nowrap;align-items:center;gap:14px}.site-head .brand svg{width:54px;height:54px}.site-head .brand b{font-size:1.25rem;white-space:nowrap}.site-head nav.nav{display:flex;flex:1;gap:15px;align-items:center;justify-content:flex-end;flex-wrap:nowrap;font-size:.92rem}.site-head nav.nav>a,.plan-dropdown>summary{white-space:nowrap}.site-head .theme-btn{min-width:44px;min-height:44px;font-size:0;flex:none}.site-head .theme-btn::before{content:'◐';font-size:1.3rem}.search-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.plan-dropdown{position:relative;border:0;padding:0}.plan-dropdown>summary{font:inherit;cursor:pointer;padding:10px 0;list-style:none;color:inherit}.plan-submenu{position:absolute;right:0;top:100%;z-index:50;display:none;min-width:245px;background:#161616;border:1px solid #777;padding:12px;border-radius:8px;box-shadow:0 10px 25px #0005}.plan-dropdown[open] .plan-submenu{display:grid}.plan-submenu a{padding:10px;color:#FAF7F0!important}.mobile-plan-links{padding-left:20px;border-left:2px solid #777;margin-left:14px}.jump-menu{margin:20px 0;padding:14px 18px;background:var(--rd-card);color:var(--rd-text);border:1px solid var(--rd-ticket-edge);border-radius:8px}.jump-menu ul{columns:2}.next-guides{padding-block:30px}.next-guides ul{display:flex;flex-wrap:wrap;gap:12px 24px}.next-guides li{max-width:30ch}@media(min-width:821px) and (max-width:1100px){.site-head .brand b{font-size:1.1rem}.site-head .brand svg{width:44px;height:44px}.site-head nav.nav{font-size:.84rem;gap:10px}.site-head .wrap{gap:10px}}@media(max-width:820px){.site-head nav.nav,.site-head .theme-btn{display:none}.site-head .wrap{flex-wrap:wrap}.jump-menu ul{columns:1}.site-head .brand b{font-size:1.3rem}}table.stack td{box-sizing:border-box}figure svg{max-width:100%;height:auto}
.staying-over,.night-card,.seat-chooser,.print-plan{padding:1.25rem;margin:1.5rem auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}.night-card{max-width:1100px}.night-card label,.seat-chooser label,.print-plan label{display:block;margin:.7rem 0}.night-card input,.seat-chooser select,.print-plan input{display:block;width:100%;max-width:100%;padding:.65rem;font:inherit}.night-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.category-diagram{display:block;width:100%;height:auto;max-width:720px;margin:1.3rem auto}.category-diagram text{font-family:Arial,sans-serif;font-size:14px}figure{margin:1.5rem 0}figure img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain}figcaption{font-size:.85rem;margin:.6rem 0;line-height:1.5}main,section,.wrap{min-width:0}main a{overflow-wrap:anywhere}button,input,select,textarea{max-width:100%}.night-card button,.seat-chooser button,.print-plan button{padding:.7rem 1rem;border:1px solid currentColor;border-radius:6px;font:inherit;cursor:pointer}details.jump-menu{margin:1rem auto}.source-fold{font-size:.9rem}
@media print{body:has(#print-group-plan) *{visibility:hidden!important}#print-group-plan,#print-group-plan *{visibility:visible!important}#print-group-plan{color:#000;background:#fff}#print-group-plan .wrap{width:100%;max-width:none}#print-group-plan button{display:none}#print-group-plan input{border:0;border-bottom:1px solid #777;background:#fff;color:#000}@page{size:A4;margin:15mm}}
/* A hidden long article must not reserve blank print pages around the group form. */
@media print{body:has(#print-group-plan)>*:not(main){display:none!important}body:has(#print-group-plan) main>*:not(#print-group-plan){display:none!important}body:has(#print-group-plan) main{display:block!important;margin:0!important;padding:0!important}body:has(#print-group-plan) #print-group-plan{position:static!important;width:auto!important;margin:0!important;padding:0!important;break-inside:avoid}body:has(#print-group-plan) .print-plan label{margin:.35rem 0}body:has(#print-group-plan) .print-plan input{padding:.35rem 0}}

/* Do not remove the quick-answers dark-band rules at the end of this file. */
/* ==========================================================================
   Off to the Darts — "walk-on" redesign layer
   Loaded last; overrides the base styles without changing any page content.
   Brief tokens kept: board black, treble red, double green, sisal cream,
   wire silver, paper. Fonts kept: Zilla Slab + Libre Franklin.
   ========================================================================== */

:root{
  --rd-black:#161616;
  --rd-black-2:#1f1f1f;
  --rd-red:#C8102E;
  --rd-red-deep:#8E0A20;
  --rd-green:#0B7A3E;
  --rd-cream:#F2E6CC;
  --rd-wire:#A7A9AC;
  --rd-paper:#FAF7F0;
  --rd-band:#F3ECDD;          /* alternate section band */
  --rd-ink:#161616;
  --rd-muted:#5E584D;
  --rd-card:#FFFFFF;
  --rd-ticket-edge:#E6D9BC;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --rd-paper:#161616; --rd-band:#1C1C1C; --rd-ink:#EDE6D6; --rd-muted:#B3AC9C;
    --rd-card:#242322; --rd-ticket-edge:#3A372F;
  }
}
:root[data-theme="dark"]{
  --rd-paper:#161616; --rd-band:#1C1C1C; --rd-ink:#EDE6D6; --rd-muted:#B3AC9C;
  --rd-card:#242322; --rd-ticket-edge:#3A372F;
}

/* full-bleed bands must never cause sideways scrolling (clip keeps sticky menus working) */
html,body{overflow-x:clip}

/* ---------- type ---------- */
body{background:var(--rd-paper);color:var(--rd-ink);font-size:17.5px;line-height:1.65}
h1,h2,h3{letter-spacing:-.012em;color:inherit}
h1{font-size:clamp(2.35rem,6.2vw,4.4rem);line-height:1.02;font-weight:700}
h2{font-size:clamp(1.65rem,3.4vw,2.45rem);line-height:1.08;font-weight:700}
h3{font-size:1.22rem;font-weight:700}
.lede,.ground-head>div>p:first-of-type{font-size:1.14rem}
a{color:var(--rd-green);text-underline-offset:.18em;text-decoration-thickness:1.5px}
:root[data-theme="dark"] a{color:#9FE1BC}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) a{color:#9FE1BC}}

/* ---------- header + the double-ring stripe ---------- */
.site-head{background:var(--rd-black);position:relative;padding-bottom:9px}
.site-head::after,
.site-foot::before{
  content:"";position:absolute;left:0;right:0;height:9px;
  /* 20-segment double ring: red/green segments divided by silver wire */
  background:
    repeating-linear-gradient(90deg,
      var(--rd-red) 0 46px, var(--rd-wire) 46px 48px,
      var(--rd-green) 48px 94px, var(--rd-wire) 94px 96px);
}
.site-head::after{bottom:0}
.site-head .wrap{padding-top:14px;padding-bottom:14px}
.brand b{font-size:1.6rem;letter-spacing:-.01em;color:var(--rd-cream)}
.brand svg{width:56px;height:56px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.4))}
.nav a{color:var(--rd-cream);font-weight:600;padding:6px 2px;border-bottom:3px solid transparent}
.nav a:hover{text-decoration:none;border-bottom-color:var(--rd-red)}
.theme-btn{border-color:rgba(242,230,204,.55);color:var(--rd-cream)}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--head);font-weight:700;font-size:1.08rem;letter-spacing:.005em;
  background:var(--rd-red);color:#fff;border-radius:6px;padding:12px 22px;
  box-shadow:0 4px 0 var(--rd-red-deep);transform:translateY(0);
  transition:transform .08s ease, box-shadow .08s ease;
}
.btn:hover{background:#D61634}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--rd-red-deep)}
.btn.ghost{background:transparent;color:inherit;border:2px solid currentColor;box-shadow:none}

/* ---------- home hero: the arena at walk-on time ---------- */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(ellipse 60% 90% at 78% 40%, rgba(242,230,204,.13), transparent 62%),
    linear-gradient(180deg,#121212 0%,#1b1b1b 100%);
  color:var(--rd-cream);padding:72px 0 84px;
}
/* the board — drawn to real proportions (radius 100% = outer edge of number ring):
   bull 2.8%, outer bull 7.1%, treble 44–47.6%, double 72–75.6%, number ring to 100% */
.hero::before,.hero::after{
  content:"";position:absolute;z-index:-1;
  width:min(880px,120vw);aspect-ratio:1;right:-230px;top:50%;
  margin-top:calc(min(880px,120vw) / -2);border-radius:50%;
}
/* layer 1: red/green rings (the whole disc; the top layer cuts windows onto it) */
.hero::before{
  background:conic-gradient(from -9deg, var(--rd-red) 0deg 18deg, var(--rd-green) 18deg 36deg, var(--rd-red) 36deg 54deg, var(--rd-green) 54deg 72deg, var(--rd-red) 72deg 90deg, var(--rd-green) 90deg 108deg, var(--rd-red) 108deg 126deg, var(--rd-green) 126deg 144deg, var(--rd-red) 144deg 162deg, var(--rd-green) 162deg 180deg, var(--rd-red) 180deg 198deg, var(--rd-green) 198deg 216deg, var(--rd-red) 216deg 234deg, var(--rd-green) 234deg 252deg, var(--rd-red) 252deg 270deg, var(--rd-green) 270deg 288deg, var(--rd-red) 288deg 306deg, var(--rd-green) 306deg 324deg, var(--rd-red) 324deg 342deg, var(--rd-green) 342deg 360deg);
}
/* layer 2: cream/black segments, wires, bull and number ring, with ring-shaped gaps */
.hero::after{
  background:
    radial-gradient(circle closest-side, var(--rd-red) 0 2.8%, var(--rd-green) 2.8% 7.1%, var(--rd-wire) 7.1% 7.5%, transparent 7.5%),
    radial-gradient(circle closest-side,
      transparent 0 43.5%, var(--rd-wire) 43.5% 44%, transparent 44% 47.6%, var(--rd-wire) 47.6% 48.1%,
      transparent 48.1% 71.5%, var(--rd-wire) 71.5% 72%, transparent 72% 75.6%, var(--rd-wire) 75.6% 76.1%,
      #0f0f0f 76.1% 99%, #2a2a2a 99% 100%),
    conic-gradient(from -9deg, #1a1a1a 0deg 18deg, var(--rd-cream) 18deg 36deg, #1a1a1a 36deg 54deg, var(--rd-cream) 54deg 72deg, #1a1a1a 72deg 90deg, var(--rd-cream) 90deg 108deg, #1a1a1a 108deg 126deg, var(--rd-cream) 126deg 144deg, #1a1a1a 144deg 162deg, var(--rd-cream) 162deg 180deg, #1a1a1a 180deg 198deg, var(--rd-cream) 198deg 216deg, #1a1a1a 216deg 234deg, var(--rd-cream) 234deg 252deg, #1a1a1a 252deg 270deg, var(--rd-cream) 270deg 288deg, #1a1a1a 288deg 306deg, var(--rd-cream) 306deg 324deg, #1a1a1a 324deg 342deg, var(--rd-cream) 342deg 360deg);
  -webkit-mask:radial-gradient(circle closest-side, #000 0 44%, transparent 44% 47.6%, #000 47.6% 72%, transparent 72% 75.6%, #000 75.6% 100%, transparent 100%);
          mask:radial-gradient(circle closest-side, #000 0 44%, transparent 44% 47.6%, #000 47.6% 72%, transparent 72% 75.6%, #000 75.6% 100%, transparent 100%);
}
/* the wire ring and dark surround need to sit over the coloured double band edge */
.hero .wrap{position:relative}
.hero .wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px}
.hero h1{color:var(--rd-cream);font-size:clamp(2.8rem,7.4vw,5.6rem);margin-bottom:.25em;text-shadow:0 3px 0 rgba(0,0,0,.45)}
.hero p{font-size:1.2rem;max-width:34ch;color:#EFE6D2}
.eyebrow{
  text-transform:none!important;letter-spacing:0!important;
  font-family:var(--head);font-weight:600;font-size:1.15rem!important;color:#9FE1BC!important;margin-bottom:.4em
}
.picker{background:rgba(22,22,22,.78);border:1px solid rgba(167,169,172,.35);border-radius:10px;padding:16px;max-width:520px;backdrop-filter:blur(2px)}
.picker label{color:var(--rd-cream);font-weight:600}
.picker select{border-radius:6px;padding:12px 14px;font-size:1rem}
/* the duck card becomes a sticker on the board */
.hero-art{
  background:var(--rd-cream)!important;border:0!important;border-radius:14px!important;
  transform:rotate(-3deg);box-shadow:0 18px 40px rgba(0,0,0,.5);max-width:340px;justify-self:end
}
.hero-art p{color:#161616}

/* one orchestrated moment: the board swings in and lands */
@media (prefers-reduced-motion:no-preference){
  .hero::before,.hero::after{animation:rd-land 1.1s cubic-bezier(.2,.9,.25,1.15) .1s both}
  .hero-art{animation:rd-stick .5s cubic-bezier(.2,.9,.3,1.3) .85s both}
  @keyframes rd-land{from{transform:rotate(-40deg) scale(.86);opacity:0}to{transform:none;opacity:1}}
  @keyframes rd-stick{from{transform:rotate(-12deg) scale(.9);opacity:0}to{transform:rotate(-3deg);opacity:1}}
  .hero .board{animation:none}
}

/* ---------- sections: rhythm via alternating bands ---------- */
section.block{padding:64px 0;border-bottom:0}
main>section.block:nth-of-type(even){background:var(--rd-band)}
.block h2{border-bottom:0!important;max-width:none;padding-bottom:0;margin-bottom:.6em}
.block h2::after{
  content:"";display:block;width:64px;height:6px;margin-top:14px;border-radius:3px;
  background:linear-gradient(90deg,var(--rd-red) 0 50%,var(--rd-green) 50% 100%);
}
.block h2 a{color:inherit;text-decoration:none}
.block h2 a:hover{text-decoration:underline}

/* ---------- page heads on venue/event/guide pages ---------- */
main>.wrap:first-child{padding-top:8px}
.crumbs{padding-top:22px}
.ground-head{padding:22px 0 40px;gap:44px}
.ground-head h1{margin-bottom:.35em}
.draft{border-left:6px solid var(--rd-red)!important;background:var(--rd-band)!important;border-radius:0 8px 8px 0;font-size:.95rem}

/* ---------- the chalkboard ---------- */
.board{
  background:
    radial-gradient(ellipse at 20% 10%, rgba(255,255,255,.05), transparent 45%),
    radial-gradient(ellipse at 85% 90%, rgba(255,255,255,.035), transparent 50%),
    #191919;
  border:0;border-radius:10px;padding:22px 24px;
  box-shadow:0 0 0 3px #2b2b2b, 0 0 0 6px var(--rd-wire), 0 16px 34px rgba(0,0,0,.28);
}
.board-title{font-family:var(--head);font-size:1.2rem;font-weight:700;color:var(--rd-cream);opacity:1;margin-bottom:10px}
.board-row{border-bottom:1px dashed rgba(242,230,204,.22);padding:11px 0}
.board-row span{color:#CFC6B2;opacity:1}
.board-row strong{font-size:1.28rem;font-weight:700;color:var(--rd-cream)!important;text-shadow:0 0 1px rgba(242,230,204,.35)}

/* ---------- on-page menu: scoreboard strip ---------- */
.jump{background:var(--rd-black);border:0;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.jump .wrap{padding-top:0;padding-bottom:0;gap:0 4px;scrollbar-width:thin}
.jump a{color:var(--rd-cream)!important;padding:14px 12px;border-bottom:4px solid transparent;font-weight:600}
.jump a:hover{color:#fff!important;text-decoration:none;border-bottom-color:var(--rd-red)}

/* ---------- tickets: session, seat and event cards ---------- */
.stands{gap:22px}
.stand{
  position:relative;background:var(--rd-card);border:0!important;border-radius:12px;
  padding:22px 22px 20px 40px;
  box-shadow:0 0 0 1px var(--rd-ticket-edge), 0 6px 0 var(--rd-ticket-edge);
  /* punched notches top and bottom of the stub, like a ticket */
  -webkit-mask:
    radial-gradient(circle 10px at 18px 0, transparent 98%, #000) top / 100% 51% no-repeat,
    radial-gradient(circle 10px at 18px 100%, transparent 98%, #000) bottom / 100% 51% no-repeat;
          mask:
    radial-gradient(circle 10px at 18px 0, transparent 98%, #000) top / 100% 51% no-repeat,
    radial-gradient(circle 10px at 18px 100%, transparent 98%, #000) bottom / 100% 51% no-repeat;
}
.stand::before{ /* perforation down the stub */
  content:"";position:absolute;left:17px;top:16px;bottom:16px;
  border-left:2px dashed var(--rd-ticket-edge);
}
.stand h3{margin:0 0 10px;font-size:1.3rem;line-height:1.15}
.stand h3 a{color:inherit;text-decoration:none}
.stand h3 a:hover{text-decoration:underline}
.stand>p{color:var(--rd-muted)}
.stand>a:last-child{font-weight:700}
.fmt{background:var(--rd-green);color:#fff!important;border:0!important;border-radius:4px;padding:2px 9px;margin-bottom:6px}
.stand .fmt+h3{margin-top:4px}
/* session cards keep the same ticket look but with a red stub */
.session-cards .stand{box-shadow:0 0 0 1px var(--rd-ticket-edge), 0 6px 0 var(--rd-red)}

/* ---------- guides grid on the home page ---------- */
.guides{gap:20px;background:transparent;border:0}
.guides>*{border-radius:12px;background:var(--rd-card)!important;padding:22px!important;border-top:6px solid var(--rd-green);box-shadow:0 1px 0 var(--rd-ticket-edge)}
.guides>*:nth-child(3n+2){border-top-color:var(--rd-red)}
.guides>*:nth-child(3n){border-top-color:var(--rd-wire)}
.guides h2{font-size:1.3rem;margin-bottom:.4em}
.guides h2::after{display:none}
.guides h2 a{color:inherit;text-decoration:none}

/* ---------- venues by region ---------- */
.regions{gap:28px 36px}
.regions h3{border-bottom:0;padding-bottom:0;font-size:1.15rem}
.regions h3::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--rd-red);box-shadow:0 0 0 3px var(--rd-green);margin-right:10px;vertical-align:1px}
.regions li{padding:8px 0}
.regions li a{font-weight:600}

/* ---------- rules, help, affiliate boxes ---------- */
.rules div{border:0;border-radius:12px;background:var(--rd-card);box-shadow:0 0 0 1px var(--rd-ticket-edge)}
.rules .yes{border-top:6px solid var(--rd-green)}
.rules .no{border-top:6px solid var(--rd-red)}
.help-callout{border-left:6px solid var(--rd-red);border-radius:0 10px 10px 0;background:var(--rd-card)}
.slot{border:0!important;border-radius:12px;background:var(--rd-card)!important;color:var(--rd-ink)!important;
  box-shadow:inset 0 0 0 2px var(--rd-ticket-edge);padding:18px 20px!important}
.slot h3{margin-bottom:.3em}
.slot a{font-weight:700}

/* ---------- photos ---------- */
.venue-photo img{border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.18)}

/* ---------- FAQs ---------- */
details{border-bottom:1px solid var(--rd-ticket-edge);padding:18px 0}
summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--head);font-weight:700;font-size:1.6rem;line-height:1;color:var(--rd-red);flex:none;transition:transform .2s ease}
details[open] summary::after{transform:rotate(45deg)}

/* ---------- history timeline ---------- */
.history{list-style:none;padding-left:0;border-left:4px solid var(--rd-green);margin-left:8px}
.history li{position:relative;padding:0 0 22px 26px!important}
.history li::before{content:"";position:absolute;left:-12px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--rd-red);box-shadow:0 0 0 4px var(--rd-paper)}

/* ---------- tables ---------- */
.fixtures th,.season-calendar thead th{color:var(--rd-ink)}
.fixtures thead,.season-calendar thead{background:var(--rd-band)}

/* ---------- footer ---------- */
.site-foot{position:relative;padding-top:52px}
.site-foot::before{top:0}

/* ---------- 404 ---------- */
.oops h1{font-size:clamp(3rem,10vw,6rem)}

/* ---------- mobile ---------- */
@media (max-width:820px){
  .hero{padding:48px 0 56px}
  .hero::before,.hero::after{width:150vw;right:-80vw;top:auto;bottom:-55vw;margin-top:0;opacity:.55}
  .hero::before,.hero::after{animation-name:rd-land-m}
  @keyframes rd-land-m{from{transform:rotate(-40deg) scale(.86);opacity:0}to{transform:none;opacity:.55}}
  .hero .wrap{grid-template-columns:1fr;gap:30px}
  .hero-art{justify-self:start;max-width:300px}
  section.block{padding:48px 0}
}
@media (max-width:420px){
  body{font-size:17px}
  .hero h1{font-size:2.9rem}
  .stand{padding:20px 18px 18px 36px}
}

/* ---------- page heads: every venue, event, seating and guide page opens in the arena ---------- */
main>.wrap:has(.ground-head){
  position:relative;color:var(--rd-cream);
  --ink:var(--rd-cream);   /* page text inside the band, incl. inline var(--ink) on buttons */
  --muted:#CFC6B2;
  background:var(--rd-black);
  /* full-bleed band behind a centred wrap */
  box-shadow:0 0 0 100vmax var(--rd-black);
  clip-path:inset(0 -100vmax);
  padding-bottom:30px;margin-bottom:9px;
}
main>.wrap:has(.ground-head)::after{ /* the double-ring stripe closes the band */
  content:"";position:absolute;left:50%;width:100vw;translate:-50% 0;bottom:-9px;height:9px;
  background:repeating-linear-gradient(90deg,
    var(--rd-red) 0 46px, var(--rd-wire) 46px 48px, var(--rd-green) 48px 94px, var(--rd-wire) 94px 96px);
}
main>.wrap:has(.ground-head) .crumbs,
main>.wrap:has(.ground-head) .crumbs a{color:#CFC6B2}
main>.wrap:has(.ground-head) h1{color:var(--rd-cream);text-shadow:0 3px 0 rgba(0,0,0,.45)}
main>.wrap:has(.ground-head) .ground-head p{color:#E6DCC6}
main>.wrap:has(.ground-head) a:not(.btn){color:#9FE1BC}
main>.wrap:has(.ground-head) .btn.ghost{color:var(--rd-cream);border-color:rgba(242,230,204,.7)}
main>.wrap:has(.ground-head) .draft{
  background:rgba(242,230,204,.08)!important;color:#E6DCC6;border-left-color:var(--rd-red)!important
}
main>.wrap:has(.ground-head) .board{
  box-shadow:0 0 0 3px #2b2b2b, 0 0 0 6px var(--rd-wire), 0 22px 44px rgba(0,0,0,.55)
}
.venue-photo{margin-top:34px}
@media (max-width:820px){ main>.wrap:has(.ground-head){padding-bottom:22px} }

/* Phase 1: booking shortcuts and supporting detail on phones. */
.quick-answers{background:var(--rd-card);border:1px solid var(--rd-ticket-edge);border-left:5px solid var(--rd-green);border-radius:8px;padding:18px;margin:20px 0}
.quick-answers h2{font-size:1.35rem;margin:0 0 10px}
.quick-answers dl{margin:0}
.quick-answers dl>div{padding:8px 0;border-top:1px solid var(--rd-ticket-edge)}
.quick-answers dt{font-weight:700;font-size:.9rem;color:var(--rd-muted)}
.quick-answers dd{margin:3px 0 0;overflow-wrap:anywhere}
.quick-answers .btn,.dated-hotel .btn,.book-trip .btn{white-space:normal;min-height:44px;margin-top:6px}
.book-trip{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;background:var(--rd-band);border-radius:6px;margin:12px 0}
.book-trip>a{padding:10px 0}.book-trip>strong{width:100%}
.phone-fold>summary h2{display:inline;margin:0}.phone-fold-content{padding-top:12px}
.source-fold>summary{font-size:1rem;color:var(--rd-muted)}
@media(min-width:820px){.phone-fold{border:0;padding:0}.phone-fold>summary{list-style:none;cursor:default}.phone-fold>summary::-webkit-details-marker{display:none}.source-fold>summary{display:none}.source-fold .phone-fold-content{padding:0}}
@media(max-width:819px){.phone-fold{padding:16px 0}.phone-fold>summary h2{font-size:1.65rem;border:0}.phone-fold-content>:first-child{margin-top:0}.book-trip{gap:8px 14px}}

/* Keyword guides: scalable diagram and wrapping tables for small screens. */
.seat-comparison{margin:24px 0;max-width:560px}.seat-comparison svg{display:block;width:100%;height:auto}.seat-comparison figcaption{font-size:.9rem;margin-top:10px}.venue-subnav{line-height:1.8;overflow-wrap:anywhere;padding-bottom:18px}
@media(max-width:600px){.keyword-table{min-width:0;width:100%;table-layout:fixed}.keyword-table th,.keyword-table td{overflow-wrap:anywhere;padding:10px 6px}.seat-comparison{margin-inline:0}.book-trip>*{min-width:0}.nav a{overflow-wrap:anywhere}}

.site-foot .dydq a,.site-foot .dydq a:visited{color:#161616;text-decoration:underline}
@media (max-width:600px){table.stack thead{display:none}table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}table.stack tr{border:1px solid var(--rd-ticket-edge);border-radius:8px;margin:0 0 12px;padding:10px 12px}table.stack td{border:0;padding:4px 0;word-break:normal;overflow-wrap:break-word}table.stack td::before{content:attr(data-label);display:block;font-weight:700;font-size:.85rem;color:var(--rd-muted)}}
@media (prefers-reduced-motion:reduce){.hero .board{animation:none}}
/* Quick answers inside the dark page-head band */
main>.wrap:has(.ground-head) .quick-answers{background:rgba(242,230,204,.07);border:1px solid rgba(242,230,204,.22);border-left:5px solid var(--rd-green);color:var(--rd-cream)}
main>.wrap:has(.ground-head) .quick-answers h2{color:var(--rd-cream)}
main>.wrap:has(.ground-head) .quick-answers h2::after{display:none}
main>.wrap:has(.ground-head) .quick-answers dl>div{border-top-color:rgba(242,230,204,.18)}
main>.wrap:has(.ground-head) .quick-answers dt{color:#CFC6B2}
main>.wrap:has(.ground-head) .quick-answers dd{color:var(--rd-cream);font-family:var(--head);font-weight:600;font-size:1.08rem}
main>.wrap:has(.ground-head) .quick-answers dd a:not(.btn){color:var(--rd-cream)}
main>.wrap:has(.ground-head) .quick-answers .btn{font-size:1rem}
a.btn:not(.ghost),a.btn:not(.ghost):visited,a.btn:not(.ghost):hover{color:#fff!important}
