/* ============================================================================
   PATTAYA.GYM — DESIGN SYSTEM 2026 (light + volt)
   ============================================================================
   Replaces the 2025 black/neon/marquee stylesheet.

   WHAT CHANGED AND WHY
   - Light canvas, dark footer panel.
   - ONE accent (volt #f4f1ec) instead of five. Volt is a FILL, never text:
     every volt surface carries near-black ink. `--accent-ink` is the AA-safe
     variant for anything volt-flavoured that has to be readable as text.
   - No glow, no neon text-shadow, no marquee, no scroll-progress bar.
   - Scales: 1.200 type ratio, 0.85rem card radius, one shadow + motion ramp.

   LEGACY VARIABLE NAMES ARE LOAD-BEARING — DO NOT RENAME
   The generated HTML carries ~8,300 inline `style=` attributes that reference
   --s-*, --surface, --line, --r-lg, --r-pill, --muted, --text, --text-2,
   --hint, --cyan, --pink, --mint, --yellow, --font-mono, --font-display,
   --max, --pad, --t-fast and --text-muted. No stylesheet rule can reach an
   inline style, so those names are kept and simply repointed at the new
   palette. Renaming one silently breaks hundreds of pages.

   FONT URLS: keep the `/fonts/<name>.woff2?v=<digits>` shape — build-v2.js
   syncCssFontVersion() rewrites that query string on every build.
   ============================================================================ */

/* ============ FONTS (self-hosted; no third-party requests) ============ */









/* ============ TOKENS ============ */
:root {
  /* ---- Palette: semantic (use these in new code) ---- */
  --brand:         #55514d;  /* fill: chips, table headers, large areas       */
  --brand-ink:     #55514d;  /* AA-safe: link text, primary button background */
  --brand-bright:  #f4f1ec;  /* on dark surfaces only                          */
  --accent:        #f4f1ec;  /* THE volt. A fill. Never a text colour.        */
  --accent-ink:    #55514d;  /* AA-safe volt-flavoured text                   */

  --canvas:        #f4f1ec;
  --sunken:        #f4f1ec;
  --ink:           #0b0b0c;
  --ink-muted:     #55514d;
  --ink-subtle:    #55514d;
  --line-strong:   #bdb8b3;

  /* S2-H1, 2026-07-29 - control boundary.
     --line (#dad5ce) is 1.22:1 against the canvas and --line-strong is 1.55:1.
     Both are fine for a decorative divider and both fail WCAG 2.2 AA 1.4.11,
     which requires 3:1 for the visual information needed to identify a control.
     Inputs, selects and outlined buttons had no other boundary, so on this
     canvas they were effectively borderless. #55514d clears 3:1 against every
     surface the site uses - canvas 3.50, sunken 3.36, white 3.73, surface-3
     3.23 - and is the lightest value that does. Dividers keep --line. */
  --line-control:  #55514d;

  /* Dark panel — footer, dark bands */
  --panel:         #0b0b0c;
  --panel-sunken:  #0b0b0c;
  --panel-line:    #0b0b0c;
  --panel-ink:     #f4f1ec;
  --panel-muted:   #55514d;
  --panel-subtle:  #55514d;

  /* Status roles — not brand colours */
  --ok:      #bdb8b3; --ok-ink:     #55514d;
  --warn:    #bdb8b3; --warn-ink:   #55514d;
  --info:    #bdb8b3; --info-ink:   #55514d;
  --danger:  #55514d; --danger-ink: #55514d;

  /* ---- Legacy names — repointed, NOT renamed (see header note) ---- */
  --bg:          #f4f1ec;
  --surface:     #ffffff;
  --surface-2:   #ffffff;
  --surface-3:   #f4f1ec;
  --card:        #ffffff;
  --line:        #dad5ce;
  --line-soft:   #f4f1ec;
  --border:      #dad5ce;

  --text:        #0b0b0c;
  --text-2:      #55514d;
  --muted:       #55514d;
  --text-muted:  #55514d;  /* was referenced on 15 pages but never declared */
  --hint:        #55514d;
  --pure-white:  #ffffff;

  /* The old five accents now all resolve into the single volt/brand family,
     which is what flattens the multi-colour look inside inline styles too. */
  --cyan:   #55514d;
  --mint:   #55514d;
  --pink:   #55514d;
  --yellow: #55514d;
  --red:    #55514d;
  --orange: #55514d;

  /* Glow tokens neutralised rather than deleted: any stylesheet or inline rule
     still referencing them now gets a flat, tasteful shadow instead of neon. */
  --glow-pink:   0 1px 2px rgba(11, 11, 12, 0.06);
  --glow-cyan:   0 1px 2px rgba(11, 11, 12, 0.06);
  --glow-yellow: 0 1px 2px rgba(11, 11, 12, 0.06);
  --glow-mint:   0 1px 2px rgba(11, 11, 12, 0.06);
  --glow-red:    0 1px 2px rgba(11, 11, 12, 0.06);

  /* ---- Faces ---- */
  --font-display: Geist, Geist, system-ui, -apple-system, sans-serif;
  --font-body:    Geist, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:    Geist, ui-monospace, SFMono-Regular, Consolas, monospace;

  /* ---- Type scale: 1.200 minor third (network token) ---- */
  --text-2xs:  0.694rem;
  --text-xs:   0.833rem;
  --text-sm:   0.9rem;
  --text-base: 1rem;
  --text-lg:   1.2rem;
  --text-xl:   1.44rem;
  --text-2xl:  1.728rem;
  --text-3xl:  2.074rem;
  --text-4xl:  2.488rem;

  /* ---- Space ---- */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px; --s-5: 20px;
  --s-6: 24px; --s-7: 28px; --s-8: 32px; --s-10: 40px; --s-12: 48px; --s-16: 56px; --s-20: 64px;

  /* ---- Radius ---- */
  --r-sm: 6px; --r-md: 10px; --r-lg: 14px; --r-xl: 18px; --r-pill: 999px;

  /* ---- Elevation ---- */
  --shadow-flat:   0 1px 2px rgba(11, 11, 12, 0.05);
  --shadow-soft:   0 1px 2px rgba(11, 11, 12, 0.05), 0 8px 24px rgba(11, 11, 12, 0.06);
  --shadow-raised: 0 2px 4px rgba(11, 11, 12, 0.07), 0 16px 40px rgba(11, 11, 12, 0.10);
  --shadow-card:   var(--shadow-soft);
  --panel-soft:    #0b0b0c;

  /* ---- Layout ---- */
  --max: 1120px;
  --pad: 20px;
  --nav-h: 60px;

  /* ---- Motion ---- */
  --t-fast: 120ms;
  --t-base: 220ms;
  --easing: cubic-bezier(0.16, 1, 0.3, 1);

  color-scheme: light;
  accent-color: var(--brand-ink);
}
@media (min-width: 768px) { :root { --pad: 32px; } }

/* ============ RESET ============ */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: clip; }
html {
  background: var(--canvas);
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: calc(var(--nav-h) + 16px);
  scroll-behavior: smooth;
}
body {
  min-height: 100vh;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--canvas);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "cv11", "ss01";
}
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; padding: 0; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, p { margin: 0; }
::selection { background: var(--accent); color: var(--ink); }
[hidden] { display: none !important; }

/* ============ SKIP LINK ============ */
.skip-link {
  position: absolute; left: var(--s-4); top: -100px; z-index: 200;
  background: var(--ink); color: #fff;
  padding: 0.7rem 1.1rem; border-radius: var(--r-md);
  font-weight: 600; font-size: var(--text-sm);
  transition: top var(--t-fast) var(--easing);
}
.skip-link:focus { top: var(--s-4); }

/* ============ LAYOUT ============ */
.wrap {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: var(--pad);
}
.section { padding-block: var(--s-12); }
@media (min-width: 900px) { .section { padding-block: var(--s-16); } }
.section + .section { padding-top: 0; }

/* ============ TYPOGRAPHY ============ */
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--ink);
  text-wrap: balance;
}

/* Section eyebrow — small caps label, optionally numbered.
   `.num` is the leading counter; it is the one place volt appears as text-like
   colour, and it uses the AA-safe accent-ink, never raw volt. */

/* Heading highlight spans. The old palette gave every heading a different neon
   word; they now all resolve to one calm family. */

/* ============ HEADER ============
   Slim, sticky, one row, hairline bottom. The old header was a 2-row dark bar
   with a starred neon CTA; this is 60px of white with a volt pill. */
.nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--line);
}
.nav-row {
  width: 100%; max-width: var(--max);
  margin-inline: auto;
  padding-left: max(var(--pad), env(safe-area-inset-left));
  padding-right: max(var(--pad), env(safe-area-inset-right));
  height: var(--nav-h);
  display: flex; align-items: center; gap: var(--s-5);
}
.brand {
  display: inline-flex; align-items: center; gap: 0.5rem;
  min-height: 2.75rem;
  font-family: var(--font-display);
  font-size: 1.06rem; font-weight: 700; letter-spacing: -0.03em;
  color: var(--ink); white-space: nowrap; flex-shrink: 0;
}
/* Brand mark: volt tile with a dark ring glyph. Drawn in CSS so no extra
   request, and it survives at any size. */
.brand::before {
  content: "";
  width: 26px; height: 26px; flex-shrink: 0;
  border-radius: 8px;
  background: var(--accent);
  box-shadow: inset 0 0 0 4px var(--ink), inset 0 0 0 6px var(--accent);
}
.brand .dot { color: var(--brand-ink); }

.nav-links {
  display: none;
  align-items: center; gap: var(--s-5);
  margin-left: auto;
  font-size: var(--text-sm); font-weight: 500;
}
@media (min-width: 1040px) { .nav-links { display: flex; } }
.nav-links a {
  color: var(--ink-muted);
  padding-block: 4px;
  border-bottom: 2px solid transparent;
  transition: color var(--t-fast) var(--easing), border-color var(--t-fast) var(--easing);
  white-space: nowrap;
}
.nav-links a:hover { color: var(--ink); border-bottom-color: var(--accent); }
.nav-links a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--brand-ink); }

.nav-cta {
  display: none;
  align-items: center; gap: 0.4rem;
  min-height: 2.75rem;
  background: var(--accent); color: var(--ink);
  font-size: var(--text-sm); font-weight: 700;
  padding: 0.5rem 1rem; border-radius: var(--r-pill);
  border: 1px solid rgba(11, 11, 12, 0.1);
  white-space: nowrap; flex-shrink: 0;
  transition: background-color var(--t-fast) var(--easing), transform var(--t-fast) var(--easing);
}
@media (min-width: 720px) { .nav-cta { display: inline-flex; margin-left: auto; } }
@media (min-width: 1040px) { .nav-cta { margin-left: 0; } }
.nav-cta:hover { background: var(--ink); color: var(--accent); }
.nav-cta:active { transform: translateY(1px); }

.nav-burger {
  display: inline-flex; flex-direction: column; justify-content: center; gap: 4px;
  width: 44px; height: 44px; margin-left: auto;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  align-items: center; flex-shrink: 0;
  transition: border-color var(--t-fast) var(--easing);
}
.nav-burger:hover { border-color: var(--line-strong); }
@media (min-width: 1040px) { .nav-burger { display: none; } }
@media (min-width: 720px) { .nav-burger { margin-left: var(--s-2); } }
.nav-burger-bar {
  display: block; width: 17px; height: 2px;
  background: var(--ink); border-radius: 2px;
  transition: transform var(--t-fast) var(--easing), opacity var(--t-fast) var(--easing);
}
.nav-burger[aria-expanded="true"] .nav-burger-bar:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-burger[aria-expanded="true"] .nav-burger-bar:nth-child(2) { opacity: 0; }
.nav-burger[aria-expanded="true"] .nav-burger-bar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Mobile drawer */
.nav-mobile {
  position: sticky; top: var(--nav-h); z-index: 99;
  display: grid; gap: 2px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
  padding-top: var(--s-3);
  padding-right: max(var(--pad), env(safe-area-inset-right));
  padding-bottom: max(var(--s-4), env(safe-area-inset-bottom));
  padding-left: max(var(--pad), env(safe-area-inset-left));
  max-height: calc(100vh - var(--nav-h));
  max-height: calc(100dvh - var(--nav-h));
  overflow-y: auto;
}
@media (min-width: 1040px) { .nav-mobile { display: none !important; } }
.nav-mobile-link {
  padding: 0.7rem 0.25rem;
  font-size: var(--text-base); font-weight: 500;
  color: var(--ink);
  border-bottom: 1px solid var(--line-soft);
}
.nav-mobile-link[aria-current="page"] {
  padding-inline: var(--s-3);
  border-radius: var(--r-md);
  background: var(--sunken);
  color: var(--brand-ink);
  font-weight: 750;
}
.nav-mobile-link:hover { color: var(--brand-ink); }
.nav-mobile-group {
  margin-top: var(--s-3);
  padding: var(--s-2) 0.25rem 0;
  color: var(--ink-subtle);
  font: 700 var(--text-2xs)/1.2 var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.nav-mobile-group:first-child { margin-top: 0; }
body.nav-open { overflow: hidden; }

body.nav-open .privacy-consent { display: none; }

/* ============ BREADCRUMB ============ */
.site-breadcrumb {
  max-width: var(--max);
  margin-inline: auto;
  padding: var(--s-5) var(--pad) 0;
  font-size: var(--text-xs);
  color: var(--ink-muted);
  display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center;
}
.site-breadcrumb a:hover { color: var(--brand-ink); text-decoration: underline; }

/* ============ HERO ============
   No marquee, no gradient wash, no oversized fluid type. */
.hero {
  padding-block: var(--s-12) var(--s-10);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(120% 90% at 92% -20%, rgba(244, 241, 236, 0.16) 0%, rgba(244, 241, 236, 0) 60%),
    var(--canvas);
}
@media (min-width: 900px) { .hero { padding-block: var(--s-16) var(--s-12); } }
.hero-inner {
  width: 100%; max-width: var(--max);
  margin-inline: auto; padding-inline: var(--pad);
}
.hero-kicker {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: var(--text-2xs); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--ink-muted);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  padding: 0.3rem 0.7rem;
  margin-bottom: var(--s-4);
}
.hero-h1 {
  font-size: clamp(1.95rem, 5.4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  max-width: 22ch;
}
.hero-lede {
  margin-top: var(--s-4);
  font-size: var(--text-lg);
  line-height: 1.55;
  color: var(--ink-muted);
  max-width: 58ch;
  text-wrap: pretty;
}
.hub-hero { padding-block: var(--s-10) var(--s-8); }
.hub-hero .hero-h1 { max-width: 26ch; }

/* Homepage search block, sits directly under the h1 */

/* Inline editorial links must remain identifiable without relying on color. */

/* ============ BUTTONS ============ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
  min-height: 2.875rem;
  padding: 0.68rem 1rem;
  border-radius: var(--r-md);
  font-size: var(--text-sm); font-weight: 600; line-height: 1.1;
  text-align: center; white-space: nowrap;
  border: 1px solid transparent;
  transition: background-color var(--t-fast) var(--easing),
              border-color var(--t-fast) var(--easing),
              color var(--t-fast) var(--easing),
              transform var(--t-fast) var(--easing);
}
.btn:active { transform: translateY(1px); }
.btn:disabled {
  transform: none;
  border-color: var(--line);
  background: var(--sunken);
  color: var(--ink-subtle);
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.72;
}
 .home-more-toggle { font-size: var(--text-xs); }

/* Progressive disclosure of the secondary venue CTAs */

/* ============ CARD BASE ============ */
.card, .cat-venue-card,
.result-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-flat);
}

/* ============ GRIDS ============ */
 .guide-hub-grid {
  display: grid;
  gap: var(--s-4);
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
   .guide-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 980px) {
   .guide-hub-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ============ VENUE LISTING CARD ============ */
.cat-venue-card {
  display: flex; flex-direction: column;
  padding: var(--s-5);
  transition: transform var(--t-base) var(--easing),
              box-shadow var(--t-base) var(--easing),
              border-color var(--t-base) var(--easing);
}
.cat-venue-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
  border-color: var(--line-strong);
}
.cat-venue-card.is-unresolved,
.result-card.is-unresolved { border-color: color-mix(in srgb, var(--warn-ink) 34%, var(--line)); }
.cat-venue-card > p {
  font-size: var(--text-sm); line-height: 1.55;
  color: var(--ink-muted);
  margin-top: var(--s-2);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============ NUMBERED CARD ============ */

/* ============ INTENT ROUTER ("start here") ============ */

/* ============ CHANNEL CARDS (social / contact) ============ */
/* Platform tint: a 3px left edge, the one place brand colours differ per card */

/* ============ TRUST BAR / PILLS ============ */
.trust-pill {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-family: var(--font-mono);
  font-size: var(--text-2xs); font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.28rem 0.65rem;
  border-radius: var(--r-pill);
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink-muted);
}
.trust-pill.is-open   { color: var(--ok-ink);   border-color: color-mix(in srgb, var(--ok) 45%, #fff); background: color-mix(in srgb, var(--ok) 14%, #fff); }
.trust-pill.is-closed { color: var(--ink-muted); border-color: var(--line); background: var(--sunken); }

/* ============ FAVOURITES ============ */
.favorite-btn {
  display: inline-flex; align-items: center; gap: 0.35rem;
  flex-shrink: 0;
  min-height: 2.75rem;
  padding: 0.58rem 0.8rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line-control);
  background: var(--surface);
  font-size: var(--text-xs); font-weight: 600;
  color: var(--ink-muted);
  transition: border-color var(--t-fast) var(--easing), color var(--t-fast) var(--easing);
}
.favorite-btn:hover { border-color: var(--line-strong); color: var(--ink); }
.favorite-btn.is-saved {
  border-color: color-mix(in srgb, var(--accent) 55%, #fff);
  background: color-mix(in srgb, var(--accent) 22%, #fff);
  color: var(--accent-ink);
}
.fav-heart { line-height: 1; font-size: 0.9em; }
.fav-btn-label { white-space: nowrap; }
.favorite-list-actions { display: flex; flex-wrap: wrap; gap: var(--s-3); margin-top: var(--s-5); }
.pg-fw-inner {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--panel-line);
  border-radius: var(--r-md);
  background: var(--panel);
  color: var(--panel-ink);
  box-shadow: var(--shadow-raised);
  font-size: var(--text-xs);
}
.pg-fw-inner:hover { border-color: var(--brand-bright); color: var(--brand-bright); }
.pg-fw-heart { color: var(--brand-bright); }

/* ============ PROSE / EDITORIAL BODY ============ */
.venue-body {
  font-size: var(--text-base);
  line-height: 1.72;
  color: var(--ink);
  max-width: 68ch;
  text-wrap: pretty;
}
.venue-body > * + * { margin-top: var(--s-4); }
.venue-body h2 {
  font-size: var(--text-xl);
  margin-top: var(--s-10);
  padding-top: var(--s-5);
  border-top: 1px solid var(--line);
  letter-spacing: -0.025em;
}
.venue-body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.venue-body h3 {
  font-size: var(--text-lg); margin-top: var(--s-6);
}
.venue-body p { color: var(--ink); }
.venue-body ul, .venue-body ol {
  padding-left: 1.15rem; display: grid; gap: 0.5rem;
}
.venue-body ul { list-style: none; }
.venue-body ul > li { position: relative; padding-left: 0.85rem; }
.venue-body ul > li::before {
  content: ""; position: absolute; left: 0; top: 0.62em;
  width: 6px; height: 6px; border-radius: 2px; background: var(--accent);
  box-shadow: inset 0 0 0 1px rgba(11, 11, 12, 0.18);
}
.venue-body ol { list-style: decimal; }
.venue-body ol > li::marker {
  font-family: var(--font-mono); font-weight: 700; color: var(--accent-ink);
}
.venue-body a {
  color: var(--brand-ink); font-weight: 500;
  text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  text-decoration-color: color-mix(in srgb, var(--brand-ink) 35%, transparent);
}
.venue-body a:hover { text-decoration-color: var(--brand-ink); }
.venue-body strong { font-weight: 700; color: var(--ink); }
.venue-body code {
  font-family: var(--font-mono); font-size: 0.88em;
  background: var(--sunken); padding: 0.1em 0.35em; border-radius: var(--r-sm);
}
.venue-body table {
  width: 100%; border-collapse: collapse;
  font-size: var(--text-sm);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.venue-body th {
  background: var(--ink); color: #fff;
  text-align: left; font-weight: 600;
  padding: 0.6rem 0.75rem;
  font-size: var(--text-xs);
  text-transform: uppercase; letter-spacing: 0.06em;
}
.venue-body td {
  padding: 0.6rem 0.75rem;
  border-top: 1px solid var(--line);
  vertical-align: top;
}
.venue-body tbody tr:nth-child(even) { background: var(--canvas); }

/* Server-rendered guide navigation and keyboard-scrollable data tables. */
.guide-toc-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.venue-body .guide-toc-list { margin: 0; padding: 0; list-style: none; }
.venue-body .guide-toc-list > li { padding-left: 0; }
.venue-body .guide-toc-list > li::before { content: none; }
.venue-body .guide-toc-list > li::marker { content: ""; }
.guide-toc-list a {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-height: 2.75rem;
  padding: .55rem .7rem;
  border: 1px solid transparent;
  border-radius: var(--r-md);
  color: var(--ink);
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.3;
  text-decoration: none;
}
.guide-toc-list a:hover,
.guide-toc-list a:focus-visible { border-color: var(--line-control); background: var(--surface); }
.guide-toc-list a[aria-current="location"] {
  border-color: color-mix(in srgb, var(--brand-ink) 42%, var(--line));
  background: var(--surface);
  box-shadow: inset 3px 0 0 var(--brand-ink);
}
 .venue-body h2[id] { scroll-margin-top: calc(var(--nav-h) + var(--s-5)); }

/* ============ VENUE PAGE ============ */

/* Jump nav — injected by the inline script on venue pages with 3+ sections */
.jump-nav-pills { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.jump-nav-pills a {
  display: inline-flex; align-items: center; gap: 0.35rem;
  min-height: 2.75rem;
  background: var(--surface); border: 1px solid var(--line-control);
  border-radius: var(--r-md);
  padding: 0.5rem 0.75rem;
  font-size: var(--text-xs); font-weight: 500; color: var(--ink);
  transition: border-color var(--t-fast) var(--easing);
}
.jump-nav-pills a:hover { border-color: var(--brand-ink); color: var(--brand-ink); }
.jump-nav-pills a.is-active {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}
.jump-nav-pills a.is-active .n { color: var(--accent); }
.jump-nav-pills a .n { color: var(--ink-subtle); font-size: var(--text-2xs); }

/* Collapsible venue sections (mobile) */
@media (max-width: 899px) {
  .jump-nav-pills {
    flex-wrap: nowrap;
    margin-inline: calc(var(--s-4) * -1);
    padding: 2px var(--s-4) var(--s-2);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .jump-nav-pills::-webkit-scrollbar { display: none; }
  .jump-nav-pills a { flex: 0 0 auto; }
}

/* Recently viewed */
.recently-viewed {
  margin-top: var(--s-10); padding-top: var(--s-6);
  border-top: 1px solid var(--line);
}
.recently-viewed-h {
  font-family: var(--font-mono); font-size: var(--text-2xs); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--ink-subtle); margin-bottom: var(--s-3);
}
.recently-viewed-list { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.recently-viewed-item {
  font-size: var(--text-xs);
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r-pill); padding: 0.3rem 0.7rem;
  color: var(--ink-muted);
}
.recently-viewed-item:hover { border-color: var(--brand-ink); color: var(--brand-ink); }

/* ============ GUIDES ============ */

/* Guide discovery: compact intent routing first, complete SSR library second. */

.guide-filter-status {
  color: var(--ink-muted);
  font: 700 var(--text-2xs)/1.35 var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.guide-filter-empty { padding: var(--s-4); border-radius: var(--r-md); background: var(--sunken); color: var(--ink-muted); }
.guide-filter-empty a { color: var(--brand-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ============ FAQ ============ */

/* ============ TOOLS: SEARCH ============ */
.result-card {
  padding: var(--s-4) var(--s-5);
  transition: border-color var(--t-fast) var(--easing), box-shadow var(--t-fast) var(--easing);
}
.result-card:hover { border-color: var(--line-strong); box-shadow: var(--shadow-soft); }

/* ============ TOOLS: COMPARE ============ */

/* ============ TOOLS: PLAN ============ */

/* ============ SPORT STATS / HOMEPAGE STRIP ============ */
/* legacy stat cards (sport-stats dashboard) */

/* ============ CHANGELOG ============ */

/* ============ BACK TO TOP ============ */
.back-to-top {
  position: fixed;
  right: max(var(--s-5), env(safe-area-inset-right));
  bottom: max(var(--s-5), env(safe-area-inset-bottom));
  z-index: 90;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  background: var(--surface); color: var(--ink);
  border: 1px solid var(--line-strong); border-radius: 50%;
  box-shadow: var(--shadow-soft);
  opacity: 0; pointer-events: none;
  transform: translateY(6px);
  transition: opacity var(--t-base) var(--easing), transform var(--t-base) var(--easing);
}
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.back-to-top:hover { background: var(--accent); border-color: rgba(11, 11, 12, 0.14); }
/* The scroll-progress bar was pure decoration on a directory. Neutralised. */
.progress-bar { display: none !important; }
/* The marquee tickers are gone; this kills any stragglers the sweep missed. */
.declaration {
  display: none !important;
}

/* ============================================================================
   FOOTER — FOOTER-SPEC-2026-V3
   ============================================================================
   Deliberately simple publication structure:
   brand block + one-line description + publisher credit + social row on the
   left, four link columns on the right, one legal bar, one small-print line.

   The publisher portrait, contact routes and socials stay together. Four
   task-based columns carry useful internal links; legal metadata gets one bar.

   Dark panel on a light site. The volt only ever appears as a fill (the mark)
   or via --brand-bright on dark, never as small text.
   ============================================================================ */
.footer {
  margin-top: var(--s-20);
  background: var(--panel);
  color: var(--panel-muted);
  border-top: 1px solid var(--panel-line);
}
.footer-wrap {
  width: 100%; max-width: var(--max);
  margin-inline: auto;
  padding: var(--s-16) var(--pad) var(--s-12);
}

/* --- Brand block --- */

/* --- Link columns --- */
.footer-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-8);
  font-size: var(--text-sm);
}
@media (min-width: 640px) { .footer-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.footer-col-h {
  margin-bottom: var(--s-3);
  font-family: var(--font-body);
  font-size: var(--text-2xs); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--panel-ink);
}
.footer-col ul { display: grid; gap: 0.72rem; }
.footer-col a {
  color: var(--panel-muted);
  transition: color var(--t-fast) var(--easing);
}
.footer-col a:hover { color: var(--brand-bright); }
@media (max-width: 639px) {
  .footer-col a { display: inline-flex; align-items: center; min-height: 44px; }
}

/* --- Legal bar --- */
.footer-updated-line {
  margin-top: var(--s-4);
  font-size: var(--text-xs);
  color: var(--panel-muted);
}
/* legacy wrappers kept harmless in case a page still carries them */

/* Publication accountability and public data surfaces. */

/* ============ UTILITIES (generated markup depends on every one of these) ============ */
.u-pt-10-pb-8 { padding-top: var(--s-12) !important; padding-bottom: var(--s-10) !important; }
.u-wrap-max { max-width: var(--max); }

/* ============ STATE + A11Y HELPERS ============ */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.is-expanded { }
.active, .is-active { }
/* The old neon star separator. Kept as a quiet dot so any leftover markup
   does not render a bright glyph. */
.dot { color: var(--brand-ink); }
.n { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* ============ LIVE CARD (homepage status) ============ */

/* ============ MOTION + PRINT ============ */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .cat-venue-card:hover { transform: none; }
}

/* Source-bounded location tools — /map/ and /find-my-coach/. */
.location-tool-hero { text-align:left; }
.location-trust-note { max-width:760px; margin:var(--s-4) 0 0; padding:14px 16px; border-left:3px solid var(--cyan); background:rgba(218, 213, 206, .07); color:var(--muted); }
.location-filters { display:grid; gap:12px; align-items:end; margin:0 0 var(--s-4); padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.location-filters-map { grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr)) auto; }
.location-filters-coach { grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)) auto; }
.location-filters label { display:grid; gap:7px; color:var(--muted); font:700 11px/1.2 var(--font-mono); letter-spacing:.07em; text-transform:uppercase; }
.location-filters input,.location-filters select { width:100%; min-height:46px; padding:0 12px; border:1px solid var(--line-control); border-radius:10px; background:var(--bg); color:var(--text); font:500 15px/1.2 var(--font-body); }
.location-noscript { margin:0 0 var(--s-4); padding:var(--s-4); border:1px solid var(--line); border-radius:var(--r-lg); background:var(--sunken); color:var(--ink-muted); }
.location-filter-actions { display:flex; gap:8px; align-items:stretch; }
.location-filter-actions .btn { flex:1 1 auto; }
.location-mobile-note { display:none; margin:0; padding:var(--s-4); border:1px solid var(--line); border-radius:var(--r-lg); background:var(--sunken); color:var(--ink-muted); font-size:var(--text-sm); }
.location-pin { --pin-color:var(--brand-bright); --pin-x:50%; --pin-y:50%; position:absolute; z-index:2; left:var(--pin-x); top:var(--pin-y); display:grid; width:32px; height:32px; margin:-16px 0 0 -16px; place-items:center; color:var(--panel-ink); }
.location-pin.pin-tone-1 { --pin-color:var(--info); }
.location-pin.pin-tone-2 { --pin-color:var(--ok); }
.location-pin.pin-tone-3 { --pin-color:var(--warn); }
.location-pin>span:first-child { display:block; width:16px; height:16px; border:2px solid #0b0b0c; border-radius:50%; background:var(--pin-color); box-shadow:0 0 0 3px color-mix(in srgb,var(--pin-color) 28%,transparent); transition:transform .15s ease; }
.location-pin-label { position:absolute; left:27px; top:50%; display:none; width:max-content; max-width:220px; translate:0 -50%; padding:7px 9px; border:1px solid var(--panel-line); border-radius:8px; background:#0b0b0c; color:var(--panel-ink); font:700 11px/1.25 var(--font-mono); box-shadow:0 8px 24px rgba(11, 11, 12, .45); }
.location-pin.is-right-edge .location-pin-label { right:27px; left:auto; }
.location-pin:hover,.location-pin:focus-visible { z-index:5; }
.location-pin:hover>span:first-child,.location-pin:focus-visible>span:first-child { transform:scale(1.45); }
.location-pin:hover .location-pin-label,.location-pin:focus-visible .location-pin-label { display:block; }
.location-map-caption { margin:var(--s-2) 0 0; color:var(--ink-subtle); font-size:var(--text-xs); }
.location-result-list { display:grid; gap:12px; }
.location-result-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.location-result-card h3 { margin:4px 0 7px; font-size:clamp(18px,2vw,24px); }
.location-result-card h3 a { color:var(--text); }
.location-result-card p { margin:5px 0; color:var(--muted); }
.location-card-actions { display:grid; gap:8px; min-width:190px; color:var(--muted); font:650 12px/1.3 var(--font-mono); }
.location-card-actions a { display:flex; align-items:center; min-height:44px; color:var(--brand-ink); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.location-load-more { display:flex; justify-content:center; margin-top:var(--s-5); }
.location-load-more[hidden] { display:none; }
.location-load-more .btn { min-width:min(100%,260px); }
@media (max-width:880px) { .location-filters { grid-template-columns:1fr 1fr; } .location-filter-actions { grid-column:1 / -1; } .location-result-card { grid-template-columns:1fr; } .location-card-actions { min-width:0; } }
@media (max-width:640px) { .location-filters { grid-template-columns:1fr; } .location-filter-actions { grid-column:auto; } .location-mobile-note { display:block; } .location-load-more .btn { width:100%; } }
@media print {
  .nav, .nav-mobile, .footer, .back-to-top, .favorite-btn { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .hero { border: 0; background: none; padding-block: 0 var(--s-4); }
  .section { padding-block: var(--s-4); }
  a { text-decoration: underline; }
  .venue-body { max-width: none; }
}

/* ============ REMAINING VOCABULARY ============
   Explicit rules for the classes the generated markup carries that would
   otherwise be unstyled. Keeping them here rather than leaving them undefined
   means the next person greps this file and finds the whole vocabulary. */
.home-hero-ctas-wrap { margin-top: var(--s-6); }

/* ============================================================================
   FIXES FROM THE FIRST VISUAL PASS
   ============================================================================
   Everything below was caught by rendering the built pages rather than by
   reading the markup. Kept in one block so it is obvious what was reactive.
   ============================================================================ */

/* .brand is a flex row so the mark can sit beside the wordmark, but the
   wordmark arrives as three text nodes ("pattaya", ".", "gym") which each
   became flex items — so `gap` was spacing out the letters: "pattaya . gym".
   Space the mark with a margin instead and let the wordmark close up. */
.brand { gap: 0; }
.brand::before { margin-right: 0.55rem; }

/* Card sub-elements are emitted as <span> in several templates, so the
   margin-bottom in their rules did nothing and every card ran together on one
   line. Blocking them is what turns them back into stacked cards. */

.footer-col-h {
  display: block;
}

/* `.wrap.u-max-760` used to shrink the wrap itself to 760px. Because .wrap is
   centred, that pushed the column inward and knocked it out of alignment with
   the section headings above it. Keep the wrap full width and constrain its
   children instead, so the text still starts on the page's left margin. */

/* 22ch broke two-word venue names onto an awkward second line. */
.hero-h1 { max-width: 30ch; }
.hub-hero .hero-h1 { max-width: 32ch; }

/* Guide bylines are spans in a flex row; keep them on the baseline. */

/* ---- Second visual pass ---- */

/* Section h2s carry a top rule as a divider, suppressed on the first one.
   `:first-child` missed cases where the article starts with a comment or
   whitespace node, which drew a second rule right under the eyebrow's rule. */
.venue-body > h2:first-of-type {
  margin-top: 0; padding-top: 0; border-top: 0;
}

/* The TL;DR block is an <ol>, so it already has decimal markers — the shared
   li::before was adding a volt dot next to every number. */

/* Brand mark: a volt tile with a dark inner rule — a ring, viewed from above.
   Previously the header and footer marks used different ring colours, so the
   header read as an outlined tile and the footer as a solid one. */
.brand::before {
  background: var(--accent);
  box-shadow: inset 0 0 0 3px var(--ink);
}

/* ============================================================================
   THIRD VISUAL PASS — tool pages, 404, mobile header
   ============================================================================
   Found by rendering /search/, /compare/, /plan-my-trip/, /favorites/, /map/,
   /find-my-coach/, /sports/ and /404.html rather than trusting the sweep.
   ============================================================================ */

/* --- SEARCH: the page's sections are direct children of <main> with no .wrap,
   so they had no horizontal padding at all and ran edge to edge. --- */

/* Bare `.accent` is a heading highlight everywhere except the footer wordmark. */

/* The markup uses `.active`, not `.is-active`. Support both rather than
   rewriting a class name that three scripts toggle. */

/* Native select/checkbox controls were completely unstyled. */

/* The search field's icon was a 🔍 emoji. Same glyph, drawn in CSS: monochrome,
   brand-colourable, and sized against the type scale. */

/* Result cards: `.result-card-tag` is a <div>, so the pill background stretched
   the full width of the card. `.result-card-main` is the <a> wrapper. */

/* --- COMPARE: four pickers in a three-column grid orphaned the fourth. --- */

/* --- UTILITY / 404 PAGES: their body is `.venue-body`, so the prose link rule
   was underlining buttons and whole cards. Component links opt out. --- */
.venue-body a:where(.btn, .cat-venue-card, .trust-pill, .jump-nav-pills a) {
  text-decoration: none;
  font-weight: inherit;
}
.venue-body a.btn { color: inherit; }

/* --- HEADER: the CTA was hidden below 720px, so on a phone every interior page
   had no visible way to search — only the burger. It fits at 360px. --- */
.nav-cta { display: inline-flex; margin-left: auto; }
.nav-burger { margin-left: var(--s-2); }
@media (max-width: 519px) {
  .nav-cta { padding: 0.45rem 0.7rem; font-size: var(--text-xs); }
  .brand { font-size: 0.98rem; }
  .brand::before { width: 22px; height: 22px; margin-right: 0.4rem; }
}
@media (max-width: 380px) {
  .nav-row {
    gap: var(--s-2);
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }
  .nav-cta { padding-inline: 0.6rem; }
  .nav-burger { margin-left: 0; }
}
@media (max-width: 339px) {
  .nav-cta { display: none; }
  .nav-burger { margin-left: auto; }
}
@media (min-width: 1040px) { .nav-cta { margin-left: 0; } }
@media (min-width: 1040px) { .nav-burger { display: none; } }

/* ============================================================================
   FAQ CONTAINER FIX
   ============================================================================
   `.venue-faq` and `.guide-faq` are on the <section> element in the generated
   markup — NOT on the list of questions:

       <section class="section u-pt-0 venue-faq guide-faq"><div class="wrap ...">

   So grouping them with `.faq-list` and giving all three `display:grid` plus
   `max-width:68ch` shrank the entire section to 686px and pinned it flush to the
   left edge with no gutter, while every other section stayed centred. Only
   `.faq-list` is an actual list of items.
   ============================================================================ */
/* The guide shell emits a bare <section class="guide-faq"> with no .wrap, so it
   inherits the gutter from the 880px article it sits inside. Only give it the
   page gutter when it is a top-level section instead. */

/* ============================================================================
   PERMANENTLY CLOSED
   ============================================================================
   Four records in data.js carry `status: closed`. build-v2.js had no rendering
   for that field, so a closed venue page showed a green "Verified by Tim" pill
   and a live "Checking hours…" indicator, with the closure mentioned only in
   body prose — a reader scanning the top of the page would have concluded it was
   open. This is the one pill that must out-shout the rest of the trust bar.
   ============================================================================ */
.trust-pill.is-permanently-closed {
  order: -1;
  background: var(--danger-ink);
  border-color: var(--danger-ink);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.trust-pill.is-permanently-closed::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 2px;
  background: currentColor;
}
/* A closed venue keeps its verified date — we did check that it is shut — but it
   should not read as an endorsement sitting beside the closure notice. */

/* A qualified record - unverified, not in Pattaya, informational, timetable
   unconfirmed - must carry that qualification in the same bar that carries the
   verification date, or the page reads as a plainly operating venue (S1-3).
   Softer than the closure notice: these are open questions, not settled facts. */
.trust-pill.is-status-flag {
  order: -1;
  background: color-mix(in srgb, var(--warn) 14%, #fff);
  border-color: var(--warn-ink);
  color: var(--warn-ink);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ============================================================================
   PRESS KIT
   ============================================================================
   Components used only by /press/. Kept in the main stylesheet rather than a
   separate file because the site ships one CSS request by design, and this is
   ~1 KB. Generated by scripts/build-press-kit.js.
   ============================================================================ */

/* The press tables live inside `.venue-body`, whose prose `th` rule paints every
   header cell dark with white text. That is right for a column header and very
   wrong for a row header — the fast-facts labels rendered as solid dark blocks
   with invisible text. Row headers opt out; column headers keep the treatment. */

/* ============================================================================
   FLAGSHIP 2027 — evidence, consent, stable interaction and accessibility
   ============================================================================ */


.venue-body a:not(.btn) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}
.venue-body a.cat-venue-card {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
}

.evidence-ledger {
  display: grid;
  gap: var(--s-5);
  max-width: 760px;
  margin-top: var(--s-8);
  padding: clamp(20px, 4vw, 32px);
  border: 1px solid var(--line-strong);
  border-left: 5px solid var(--brand-ink);
  border-radius: var(--r-xl);
  background: linear-gradient(135deg, #fff 0%, var(--sunken) 100%);
  box-shadow: var(--shadow-soft);
}
.evidence-ledger h2 { margin: 0; font-size: clamp(1.35rem, 3vw, 1.9rem); line-height: 1.15; }
.evidence-ledger p { margin: var(--s-2) 0 0; color: var(--ink-muted); font-size: var(--text-sm); }
.evidence-ledger-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); margin: 0; }
.evidence-ledger-grid div { padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-md); background: rgba(255, 255, 255, .82); }
.evidence-ledger-grid dt { color: var(--ink-subtle); font: 700 var(--text-2xs)/1.2 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.evidence-ledger-grid dd { margin: var(--s-1) 0 0; color: var(--ink); font-weight: 700; }
.evidence-ledger-link { justify-self: start; color: var(--brand-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.privacy-consent {
  position: fixed;
  z-index: 1000;
  inset: auto max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  width: min(860px, calc(100% - 24px));
  margin-inline: auto;
  padding: var(--s-4);
  color: var(--panel-ink);
  background: rgba(11, 11, 12, .97);
  border: 1px solid var(--panel-line);
  border-radius: var(--r-xl);
  box-shadow: 0 24px 70px rgba(11, 11, 12, .32);
}
.privacy-consent-copy { display: grid; gap: 2px; min-width: 0; }
.privacy-consent-copy strong { font-family: var(--font-display); font-size: var(--text-lg); }
.privacy-consent-copy span { color: var(--panel-muted); font-size: var(--text-sm); }
.privacy-consent-copy a { color: var(--brand-bright); font-size: var(--text-xs); text-decoration: underline; text-underline-offset: 2px; }
.privacy-consent-actions { display: flex; flex-wrap: wrap; flex: 0 0 auto; gap: var(--s-2); }
.privacy-consent .btn-ghost { color: var(--panel-ink); background: transparent; border-color: #55514d; }
.privacy-consent .btn-primary { background: var(--brand-bright); color: var(--ink); }

@media (max-width: 680px) {
  .evidence-ledger-grid { grid-template-columns: 1fr; }
  .privacy-consent {
    inset: auto max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    align-items: stretch;
    flex-direction: column;
    gap: .65rem;
    width: min(860px, calc(100% - 16px));
    padding: .75rem;
    border-radius: 1rem;
  }
  .privacy-consent-copy { gap: 1px; }
  .privacy-consent-copy strong { font-size: 1rem; line-height: 1.15; }
  .privacy-consent-copy span { font-size: .78rem; line-height: 1.35; }
  .privacy-consent-copy a { font-size: .72rem; }
  .privacy-consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .privacy-consent .btn { min-height: 2.75rem; padding: .5rem .65rem; font-size: .83rem; }
  .venue-body .guide-toc-list {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    gap: var(--s-2);
    margin-inline: 0;
    padding: 2px 0 var(--s-2);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
    scroll-padding-inline: 2px;
    scrollbar-width: thin;
  }
  .venue-body .guide-toc-list > li { flex: 0 0 min(82%, 19rem); scroll-snap-align: start; }
  .guide-toc-list a { height: 100%; border-color: var(--line); background: color-mix(in srgb, var(--surface) 88%, transparent); }
  .venue-body > table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
/* ========================================================================== */
/* PRODUCT-REDESIGN-2027-V1 — Pattaya movement, decision-first experience      */
/* ========================================================================== */

body.product-redesign-2027 {
  --canvas: #f4f1ec;
  --sunken: #dad5ce;
  --ink: #0b0b0c;
  --ink-muted: #55514d;
  --ink-subtle: #55514d;
  --line: #bdb8b3;
  --line-soft: #dad5ce;
  --line-strong: #55514d;
  --surface: #ffffff;
  --surface-2: #ffffff;
  --surface-3: #dad5ce;
  --card: #ffffff;
  --brand: #55514d;
  --brand-ink: #55514d;
  --brand-bright: #dad5ce;
  --accent: #dad5ce;
  --accent-ink: #55514d;
  --panel: #0b0b0c;
  --panel-sunken: #0b0b0c;
  --panel-line: #55514d;
  --panel-ink: #ffffff;
  --panel-muted: #bdb8b3;
  --panel-subtle: #bdb8b3;
  --pg-coral: #55514d;
  --pg-sun: #dad5ce;
  --pg-pool: #bdb8b3;
  --pg-leaf: #55514d;
  --pg-night: #0b0b0c;
  --font-body: Geist, system-ui, -apple-system, sans-serif;
  --font-display: Geist, system-ui, -apple-system, sans-serif;
  --font-mono: Geist, system-ui, -apple-system, sans-serif;
  --max: 1240px;
  background: var(--canvas);
  color: var(--ink);
}

body.product-redesign-2027 .wrap { max-width: 1240px; }

body.product-redesign-2027 .section { padding-block: clamp(3.25rem, 7vw, 6rem); }
body.product-redesign-2027 .section + .section { padding-top: 0; }
body.product-redesign-2027 .btn { min-height: 46px; border-radius: 999px; padding-inline: 1.15rem; }

/* Header */
body.product-redesign-2027 .nav {
  position: sticky;
  top: 0;
  z-index: 100;
  height: 68px;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(11, 11, 12, 0.12);
  box-shadow: none;
  backdrop-filter: blur(14px);
}
body.product-redesign-2027 .nav-row {
  max-width: 1240px;
  height: 68px;
  padding-inline: clamp(1rem, 3vw, 2rem);
  gap: clamp(1rem, 2.4vw, 2.2rem);
}
body.product-redesign-2027 .brand {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: -0.055em;
  white-space: nowrap;
}
body.product-redesign-2027 .brand .dot { color: var(--pg-coral); }
body.product-redesign-2027 .nav-links { margin-inline: auto; gap: clamp(0.8rem, 2vw, 1.65rem); }
body.product-redesign-2027 .nav-links a {
  color: #55514d;
  font-size: 0.88rem;
  font-weight: 650;
}
body.product-redesign-2027 .nav-links a:hover { color: var(--brand-ink); }
body.product-redesign-2027 .nav-cta {
  min-height: 42px;
  padding: 0.65rem 1.05rem;
  border: 0;
  border-radius: 999px;
  background: var(--pg-sun);
  color: #0b0b0c;
  font-weight: 750;
  box-shadow: none;
}
body.product-redesign-2027 .nav-burger { width: 46px; height: 46px; border: 1px solid #55514d; border-radius: 50%; }
body.product-redesign-2027 .nav-mobile {
  position: fixed;
  inset: 68px 0 auto 0;
  max-height: calc(100dvh - 68px);
  overflow: auto;
  padding: 1.25rem 1rem max(1.5rem, env(safe-area-inset-bottom));
  background: #ffffff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 24px 50px rgba(11, 11, 12, 0.18);
}
body.product-redesign-2027 .nav-mobile-group { color: var(--brand-ink); }
body.product-redesign-2027 .nav-mobile-link { min-height: 46px; padding-block: 0.68rem; }

/* Home: one emotional visual, then fast decisions */

/* Search and discovery */

/* Directory/listing pages */

/* Venue details: practical first, evidence quieter */
body.page-venue .trust-pill { min-height: 34px; padding: .38rem .62rem; border-radius: 999px; font-size: .68rem; }
body.page-venue .venue-body { max-width: 820px; }
body.page-venue .evidence-ledger { display: block; max-width: 820px; margin-top: 1.4rem; padding: 0; overflow: hidden; border: 1px solid #bdb8b3; border-radius: 16px; background: #ffffff; }
body.page-venue .evidence-ledger > summary { display: flex; cursor: pointer; list-style: none; align-items: center; justify-content: space-between; gap: 1rem; min-height: 58px; padding: .8rem 1rem; color: var(--ink); font-family: var(--font-display); font-weight: 750; }
body.page-venue .evidence-ledger > summary::-webkit-details-marker { display: none; }
body.page-venue .evidence-ledger > summary::after { content: "+"; color: var(--brand-ink); font-size: 1.35rem; }
body.page-venue .evidence-ledger[open] > summary::after { content: "−"; }
body.page-venue .evidence-ledger > summary small { color: var(--ink-muted); font-family: var(--font-body); font-size: .72rem; font-weight: 500; }
body.page-venue .evidence-ledger-panel { padding-inline: 1rem; }
body.page-venue .evidence-ledger-panel { padding-bottom: 1rem; border-top: 1px solid var(--line-soft); }
body.page-venue .evidence-ledger-panel > p { margin: .9rem 0; color: var(--ink-muted); font-size: .82rem; }
body.page-venue .evidence-ledger-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

/* Editorial guides */

/* About */

/* Source-bounded map: choices first, coordinate surface on demand */

/* Compact trust footer */
body.product-redesign-2027 .footer { margin-top: 0; padding: clamp(2.8rem, 6vw, 4.5rem) 0 max(1.2rem, env(safe-area-inset-bottom)); background: #0b0b0c; color: #f4f1ec; }
body.product-redesign-2027 .footer-wrap { max-width: 1240px; padding-inline: clamp(1rem, 4vw, 2rem); }
body.product-redesign-2027 .footer-nav { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem; }
body.product-redesign-2027 .footer-col-h { margin: 0 0 .7rem; color: #dad5ce; font-size: .67rem; letter-spacing: .15em; }
body.product-redesign-2027 .footer-col ul { display: grid; gap: .18rem; }
body.product-redesign-2027 .footer-col a { display: flex; min-height: 38px; align-items: center; color: #dad5ce; font-size: .79rem; }

body.product-redesign-2027 .footer-updated-line { color: #bdb8b3; font-size: .68rem; line-height: 1.55; }
body.product-redesign-2027 .footer-updated-line { margin-top: .6rem; }

@media (min-width: 768px) {
  body.product-redesign-2027 .footer { padding: 1.5rem 0 .75rem; }
  body.product-redesign-2027 .footer-wrap { padding-block: 0; }
  body.product-redesign-2027 .footer-updated-line { margin-top: .35rem; }
}

/* Small, consent-first—not the first product screen */
body.product-redesign-2027 .privacy-consent {
  position: fixed;
  z-index: 300;
  right: 1rem;
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: 1rem;
  display: flex;
  width: min(880px, calc(100% - 2rem));
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-inline: auto;
  padding: .8rem .9rem .8rem 1rem;
  border: 1px solid #55514d;
  border-radius: 16px;
  background: #0b0b0c;
  color: #fff;
  box-shadow: 0 20px 55px rgba(11, 11, 12, .28);
}
body.product-redesign-2027 .privacy-consent-copy { display: flex; min-width: 0; flex: 1 1 auto; align-items: baseline; gap: .55rem; }
body.product-redesign-2027 .privacy-consent-copy strong { flex: 0 0 auto; color: #fff; font-size: .78rem; }
body.product-redesign-2027 .privacy-consent-copy span { color: #dad5ce; font-size: .72rem; line-height: 1.4; }
body.product-redesign-2027 .privacy-consent-copy a { flex: 0 0 auto; color: #dad5ce; font-size: .7rem; text-decoration: underline; }
body.product-redesign-2027 .privacy-consent-actions { display: flex; flex: 0 0 auto; gap: .45rem; }
body.product-redesign-2027 .privacy-consent .btn { min-height: 42px; padding-inline: .85rem; font-size: .72rem; }
body.product-redesign-2027 .privacy-consent .btn-ghost { border-color: #55514d; color: #fff; }
body.product-redesign-2027 .privacy-consent .btn-primary { background: #dad5ce; border-color: #dad5ce; color: #0b0b0c; }

@media (max-width: 1050px) {
  body.product-redesign-2027 .nav-links { display: none; }
  body.product-redesign-2027 .nav-row { justify-content: space-between; }
  body.product-redesign-2027 .nav-cta { margin-left: auto; }
  body.product-redesign-2027 .nav-burger { display: inline-flex; }
}

@media (max-width: 767px) {
  body.product-redesign-2027 .nav { height: 62px; }
  body.product-redesign-2027 .nav-row { height: 62px; padding-inline: .9rem; }
  body.product-redesign-2027 .brand { font-size: 1.12rem; }
  body.product-redesign-2027 .nav-cta { min-height: 40px; padding-inline: .8rem; font-size: .74rem; }
  body.product-redesign-2027 .nav-burger { width: 44px; height: 44px; }
  body.product-redesign-2027 .nav-mobile { inset-block-start: 62px; max-height: calc(100dvh - 62px); }
  body.page-venue .evidence-ledger > summary { align-items: flex-start; }
  body.page-venue .evidence-ledger > summary small { display: none; }
  body.page-venue .evidence-ledger-grid { grid-template-columns: 1fr; }

  body.product-redesign-2027 .footer { padding: .75rem 0 max(.5rem, env(safe-area-inset-bottom)); }
  body.product-redesign-2027 .footer-wrap { padding-block: 0; }
  body.product-redesign-2027 .footer-nav { grid-template-columns: repeat(3, minmax(0,1fr)); gap: .55rem; }
  body.product-redesign-2027 .footer-col-h { margin-bottom: .35rem; font-size: .59rem; }
  body.product-redesign-2027 .footer-col ul { gap: 0; }
  body.product-redesign-2027 .footer-col a { min-height: 28px; font-size: .66rem; line-height: 1.2; }
  body.product-redesign-2027 .footer-col:last-child { grid-column: auto; }
  body.product-redesign-2027 .footer-col:last-child ul { grid-template-columns: 1fr; }
  body.product-redesign-2027 .footer-updated-line { margin-top: .25rem; }

  body.product-redesign-2027 .privacy-consent { display: grid; grid-template-columns: minmax(0,1fr) auto; min-height: 60px; align-items: center; gap: .45rem; padding: .45rem .5rem .45rem .7rem; border-radius: 13px; }
  body.product-redesign-2027 .privacy-consent-copy { display: grid; grid-template-columns: auto auto; justify-content: start; gap: .1rem .45rem; }
  body.product-redesign-2027 .privacy-consent-copy strong { font-size: .72rem; }
  body.product-redesign-2027 .privacy-consent-copy span { display: none; }
  body.product-redesign-2027 .privacy-consent-copy a { margin: 0; align-self: center; }
  body.product-redesign-2027 .privacy-consent-actions { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: .3rem; }
  body.product-redesign-2027 .privacy-consent .btn { min-width: 64px; min-height: 44px; padding-inline: .55rem; }
}

@media (max-width: 380px) {
  body.product-redesign-2027 .nav-cta { display: none; }
  body.product-redesign-2027 .privacy-consent { right: .55rem; bottom: max(.55rem, env(safe-area-inset-bottom)); left: .55rem; width: calc(100% - 1.1rem); }
  body.product-redesign-2027 .privacy-consent-copy span { display: none; }
}
/* REFERENCE-REBUILD:START */
/* Visitor interface. Components own layout, typography and interaction states. */
:root,body.reference-rebuild{--brand:#0b0b0c;--brand-ink:#0b0b0c;--brand-bright:#f4f1ec;--accent:#0b0b0c;--accent-ink:#0b0b0c;--canvas:#f4f1ec;--surface:#fff;--surface-2:#f4f1ec;--surface-3:#f4f1ec;--sunken:#f4f1ec;--ink:#0b0b0c;--ink-muted:#55514d;--ink-subtle:#55514d;--text:#0b0b0c;--text-2:#55514d;--muted:#55514d;--hint:#55514d;--text-muted:#55514d;--line:#dad5ce;--line-strong:#bdb8b3;--line-control:#bdb8b3;--pink:#0b0b0c;--cyan:#0b0b0c;--mint:#0b0b0c;--yellow:#dad5ce;--font-body:Geist,Arial,sans-serif;--font-display:Geist,Arial,sans-serif;--font-mono:Geist,Arial,sans-serif;--max:1240px;--r-lg:16px;--r-pill:10px}
body.reference-rebuild{background:var(--canvas);color:var(--ink);font-family:Geist,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.reference-rebuild *,body.reference-rebuild *:before,body.reference-rebuild *:after{box-sizing:border-box}
body.reference-rebuild h1,body.reference-rebuild h2,body.reference-rebuild h3{font-family:Geist,Arial,sans-serif;color:var(--ink);letter-spacing:-.035em;line-height:1.2}
body.reference-rebuild :focus-visible{outline:3px solid #0b0b0c;outline-offset:4px}
body.reference-rebuild button,body.reference-rebuild input,body.reference-rebuild select,body.reference-rebuild textarea{font:inherit}
body.reference-rebuild button{cursor:pointer}body.reference-rebuild button:disabled{cursor:default;opacity:.55}
body.reference-rebuild .wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:28px}
body.reference-rebuild .section{padding-block:48px}
body.reference-rebuild .nav{background:#fff;border-bottom:1px solid var(--line);height:auto;min-height:76px;box-shadow:none;backdrop-filter:none}
body.reference-rebuild .nav-row{max-width:1240px;padding:0 28px;min-height:76px;gap:28px}
body.reference-rebuild .brand{font-size:24px;letter-spacing:-1px;font-weight:750;gap:10px;color:var(--ink);white-space:nowrap}
body.reference-rebuild .brand:before{display:none}body.reference-rebuild .brand img{width:33px;height:33px;object-fit:contain}body.reference-rebuild .brand .dot{color:inherit}
body.reference-rebuild .nav-links{gap:22px;margin-left:auto}body.reference-rebuild .nav-links a{font-size:14px;font-weight:600;color:#0b0b0c;padding:14px 0}
body.reference-rebuild .nav-links a:hover{color:var(--brand)}body.reference-rebuild .nav-cta{background:#f4f1ec;color:#0b0b0c;border:1px solid #dad5ce;border-radius:10px;min-height:44px;font-size:14px;padding:10px 16px}
body.reference-rebuild .nav-burger{border:1px solid var(--line);background:#fff;border-radius:10px;width:44px;height:44px}body.reference-rebuild .nav-mobile{background:#fff;top:76px}body.reference-rebuild .nav-mobile-link{font-size:18px;min-height:48px}
body.reference-rebuild .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 18px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink);font-size:14px;font-weight:650;line-height:1.45;text-decoration:none;box-shadow:none;white-space:normal}
body.reference-rebuild .site-breadcrumb{max-width:1240px;padding:24px 28px 0;margin-inline:auto;font-size:13px;color:var(--muted)}
/* Home: a useful finder is the visual focus; no generic gym photography. */
/* Shared venue card. Never inherit the old cv illustration and fixed column grid. */
body.reference-rebuild .pg-place-card{display:flex;flex-direction:column;position:relative;min-width:0;height:auto;min-height:0;padding:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:none;overflow:hidden;transform:none;grid-template-columns:none;gap:0}
body.reference-rebuild .pg-place-card:hover{transform:none;box-shadow:0 8px 28px #0b0b0c08;border-color:#bdb8b3}
body.reference-rebuild .favorite-btn{position:static;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;width:auto;min-width:44px;min-height:44px;height:auto;margin:0;padding:10px 14px;line-height:1.4;font-size:14px;font-weight:600;background:#fff;color:#55514d;border:1px solid #dad5ce;border-radius:10px;box-shadow:none;white-space:nowrap}
body.reference-rebuild .favorite-btn .fav-heart{font-family:Arial,sans-serif;line-height:1;font-size:22px}body.reference-rebuild .favorite-btn .fav-btn-label{font:inherit}
body.reference-rebuild .result-card .favorite-btn{width:44px;height:44px;min-width:44px;padding:0;background:#f4f1ec;border:1px solid #dad5ce;border-radius:50%}
body.reference-rebuild .result-card .favorite-btn .fav-btn-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.reference-rebuild .favorite-btn:hover{background:#f4f1ec;color:var(--brand);border-color:#bdb8b3}body.reference-rebuild .favorite-btn.is-saved,body.reference-rebuild .favorite-btn[aria-pressed=true]{background:#f4f1ec;border-color:#bdb8b3;color:#0b0b0c}
/* Directory headers and guide links keep contrast independent of sport colours. */
body.reference-rebuild .hero-h1{font-size:clamp(36px,4vw,52px)!important;line-height:1.12!important;max-width:950px;margin-bottom:22px;font-weight:750}body.reference-rebuild .hero-lede{font-size:17px!important;line-height:1.8!important;max-width:780px}body.reference-rebuild .hero .btn{font-size:14px}
/* Venue pages bring price and practical facts ahead of long editorial copy. */.pg-status-note{color:#55514d;font-size:15px;background:#f4f1ec;border:1px solid #dad5ce;padding:12px 16px;border-radius:10px;margin-top:22px}
body.reference-rebuild .venue-body{max-width:880px;font-size:17px;line-height:1.9;margin:0}body.reference-rebuild .venue-body h2{font-size:30px;line-height:1.25;margin:40px 0 20px;font-weight:700}body.reference-rebuild .venue-body h3{font-size:23px;margin:26px 0 14px}body.reference-rebuild .venue-body p{line-height:1.9}body.reference-rebuild .venue-body a:not(.btn){color:var(--brand);text-underline-offset:3px}body.reference-rebuild .jump-nav-pills a{font-size:14px;padding:10px 14px;border-radius:8px;background:#fff;color:var(--brand);min-height:44px}body.reference-rebuild .venue-body .jump-nav-pills a.is-active{background:#0b0b0c;color:#fff!important;border-color:#0b0b0c}
.pg-price-table{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;margin:18px 0}.pg-price-table-head{display:flex;justify-content:space-between;padding:15px 24px;background:#f4f1ec;font-size:13px;font-weight:650;color:#55514d}.pg-price-row{display:grid;grid-template-columns:1fr 160px;align-items:start;gap:32px;padding:22px 24px;border-top:1px solid var(--line)}body.reference-rebuild .venue-body .pg-price-row h3{font-size:17px;font-weight:650;line-height:1.5;margin:0 0 6px;letter-spacing:-.01em}body.reference-rebuild .venue-body .pg-price-row p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.pg-price-amount{text-align:right;display:grid;gap:4px}.pg-price-amount strong{font-size:23px;line-height:1.3;letter-spacing:-.025em;color:var(--ink)}.pg-price-amount>span{font-size:13px;color:var(--muted)}.pg-link-button{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:14px;font-weight:650}
/* Search results use a full-width title; save never steals a text column. */body.reference-rebuild .result-card{display:flex;flex-direction:column;grid-template-columns:none;gap:0;min-height:0;height:auto;min-width:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:none;overflow:hidden;transform:none}
body.reference-rebuild #pg-compare-tray{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;left:50%;bottom:24px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:8px;background:#0b0b0c;color:#fff;border:1px solid #55514d;border-radius:12px;z-index:76;box-shadow:0 4px 28px #0b0b0c30}body.reference-rebuild #pg-compare-tray a{color:#fff;min-height:44px}#pg-compare-tray button{min-height:44px;color:#fff;border:1px solid #55514d;background:transparent}
.pg-toast{position:fixed;top:88px;left:50%;transform:translateX(-50%);z-index:110;max-width:calc(100% - 32px);width:max-content;padding:14px 18px;border:1px solid #55514d;border-radius:10px;background:#0b0b0c;color:#fff;font-size:14px;line-height:1.5;box-shadow:0 4px 18px #0b0b0c26;pointer-events:none;opacity:0;transition:opacity .16s ease}.pg-toast.show{opacity:1}
@media(max-width:767px){body.reference-rebuild #pg-compare-tray{width:auto;transform:none;bottom:calc(78px + env(safe-area-inset-bottom))!important}.pg-toast{top:80px}}
/* Publishing surfaces and consent. */
body.reference-rebuild .footer{background:#0b0b0c;color:#fff;padding:52px 0 28px;border-radius:0;margin:0;border:0}body.reference-rebuild .footer-wrap{max-width:1240px;padding-inline:28px}body.reference-rebuild .footer-nav a{font-size:14px;line-height:1.8;color:#dad5ce}body.reference-rebuild .footer-col-h{font-size:13px!important;color:#fff;letter-spacing:.04em}.footer-updated-line{font-size:12px;color:#bdb8b3}
body.reference-rebuild #privacy-consent{background:#0b0b0c;border:1px solid #55514d;border-radius:12px;color:#fff;padding:16px;gap:20px}#privacy-consent .privacy-consent-copy strong,#privacy-consent .privacy-consent-copy span{color:#fff;font-size:13px}#privacy-consent a{color:#dad5ce}#privacy-consent button{min-height:44px;font-size:13px}body.reference-rebuild #privacy-consent .btn-primary{background:#f4f1ec;color:#0b0b0c;border-color:#f4f1ec}body.reference-rebuild #privacy-consent .btn-ghost{background:transparent;color:#fff;border-color:#bdb8b3}
.rg-mobile-dock{display:none}body.reference-rebuild table{font-size:15px;line-height:1.7}
@media(max-width:1100px){.nav-row{gap:18px!important}body.reference-rebuild .nav-links{gap:16px}body.reference-rebuild .nav-links a{font-size:13px}body.reference-rebuild .nav-cta{display:none}}
@media(max-width:767px){
 body.reference-rebuild{font-size:16px;padding-bottom:66px}body.reference-rebuild .wrap{padding-inline:20px}body.reference-rebuild .section{padding-block:32px}body.reference-rebuild .nav,body.reference-rebuild .nav-row{min-height:68px}body.reference-rebuild .nav-row{padding-inline:20px}body.reference-rebuild .brand{font-size:22px}body.reference-rebuild .brand img{width:30px;height:30px}body.reference-rebuild .nav-links{display:none}body.reference-rebuild .nav-burger{display:flex;margin-left:auto}body.reference-rebuild .nav-mobile{top:68px;max-height:calc(100dvh - 68px);overflow:auto;padding-bottom:80px}body.reference-rebuild .site-breadcrumb{padding:19px 20px 0;font-size:12px;overflow-wrap:anywhere}
 body.reference-rebuild .pg-place-card{grid-template-columns:none;display:flex}body.reference-rebuild .hero-h1{font-size:35px!important}body.reference-rebuild .hero-lede{font-size:16px!important}body.reference-rebuild .venue-body{font-size:17px;line-height:1.85}body.reference-rebuild .venue-body h2{font-size:28px}.pg-price-table-head{padding:13px 18px}.pg-price-row{padding:18px;grid-template-columns:1fr 95px;gap:18px}.pg-price-amount strong{font-size:22px}.pg-price-amount>span{font-size:12px}body.reference-rebuild .venue-body .pg-price-row h3{font-size:16px}body.reference-rebuild .result-card{display:flex;grid-template-columns:none}
 body.reference-rebuild:has(.search-filter-drawer[data-open=true]){overflow:hidden}
 .rg-mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:65;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #dad5ce;min-height:64px;padding-bottom:env(safe-area-inset-bottom)}.rg-mobile-dock a{display:flex;align-items:center;justify-content:center;min-height:64px;color:#0b0b0c;font-size:13px;font-weight:600;text-decoration:none}.rg-mobile-dock a:hover{color:var(--brand);background:#f4f1ec}body.reference-rebuild #pg-compare-tray{bottom:calc(78px + env(safe-area-inset-bottom))!important;left:12px;right:12px;max-width:calc(100% - 24px);font-size:13px}body.reference-rebuild #privacy-consent{bottom:77px!important;left:12px;right:12px;width:auto;max-width:none;transform:none;max-height:45dvh;overflow:auto}.back-to-top{bottom:80px!important}
 body.reference-rebuild .footer{padding-block:40px 28px}body.reference-rebuild .footer-wrap{padding-inline:20px}.footer-nav{margin-top:32px;gap:20px}
}
@media(prefers-reduced-motion:reduce){body.reference-rebuild *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body.reference-rebuild .favorite-list-actions{padding:16px 22px;border-top:1px solid var(--line);margin:0;gap:8px;flex-wrap:wrap}body.reference-rebuild .favorite-list-card .cv-head{margin:0;padding:0}.favorite-list-card .pg-place-area{margin-top:10px;margin-bottom:20px}.favorite-list-card .pg-place-content .record-status{margin-bottom:16px}

/* Remaining guide cards share the same readable sizing while their evidence markup stays stable. */
body.reference-rebuild .cat-venue-card:not(.pg-place-card){display:flex;flex-direction:column;gap:0;min-width:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:none;grid-template-columns:none}
body.reference-rebuild .cat-venue-card:not(.pg-place-card)>p{display:block;overflow:visible;max-height:none;-webkit-line-clamp:unset;font-size:15px;line-height:1.8;margin:0 0 18px;padding:0;color:#55514d}
@media(min-width:768px) and (max-width:1050px){body.reference-rebuild .nav-links{display:none}body.reference-rebuild .nav-burger{display:flex;margin-left:auto}body.reference-rebuild .nav-cta{display:inline-flex}body.reference-rebuild .nav-mobile{top:76px}}

.pg-status-note .trust-pill{background:transparent;border:0;padding:0;color:inherit;font:inherit;font-weight:650}

/* All retained public templates use the same calm header surface. */
body.reference-rebuild .hero:not(.pg-venue-hero){background:#f4f1ec!important;background-image:none!important;border:1px solid #dad5ce;border-radius:16px;min-height:0;padding:38px!important;color:var(--ink)!important}
body.reference-rebuild .hero:not(.pg-venue-hero):before,body.reference-rebuild .hero:not(.pg-venue-hero):after{display:none!important}
body.reference-rebuild .hero:not(.pg-venue-hero) h1,body.reference-rebuild .hero:not(.pg-venue-hero) .hero-lede{color:var(--ink)!important}
body.reference-rebuild .hero:not(.pg-venue-hero) h1 span{color:var(--brand)!important}
@media(max-width:767px){body.reference-rebuild .hero:not(.pg-venue-hero){padding:26px 24px!important}}

/* Keep the native search clear control unobstructed. */

/* Retained publishing templates: readable text on the shared light hero. */
body.reference-rebuild .venue-body .jump-nav-pills a.is-active .n{color:#fff}

@media(min-width:768px) and (max-width:1050px){body.reference-rebuild .nav-mobile{max-height:calc(100dvh - 76px);overflow-y:auto}}
.pg-price-amount>small{font-size:12px;line-height:1.6;margin-top:5px}.pg-price-amount>small a{color:#0b0b0c;text-decoration:underline;text-underline-offset:3px}
body.reference-rebuild .venue-body .pg-price-row .pg-product-eligibility{color:#55514d;font-weight:650;margin:0 0 7px}
@media(max-width:480px){.pg-price-row{grid-template-columns:minmax(0,1fr);gap:14px}.pg-price-amount{text-align:left;justify-items:start}.pg-price-amount>small{margin-top:0}.pg-price-amount strong{font-size:24px}.pg-price-amount>span{font-size:14px}}

/* A local training publication: an identified place, then distinct training choices. */

/* Search is a working directory: place, price and actions precede background. */
body.reference-rebuild .result-card{border-radius:12px;background:#fff;box-shadow:none;align-self:start}

/* A place introduction and a distinct, compact visit panel. */

/* Comparison component. No dependency on legacy card or table class names. */
body .pg-compare{width:min(1240px,100%);margin:0 auto;padding:20px 24px 64px;color:#0b0b0c;font:400 16px/1.65 Geist,Arial,sans-serif}
body .pg-compare [hidden],body .pg-compare-dialog[hidden],body .pg-compare-dialog [hidden]{display:none!important}
body .pg-compare *,body .pg-compare-dialog *{box-sizing:border-box;min-width:0}
body .pg-compare h1,body .pg-compare h2,body .pg-compare h3,body .pg-compare-dialog h2{margin:0;color:#0b0b0c;font-family:Geist,Arial,sans-serif;font-weight:650;letter-spacing:-.025em;line-height:1.2}
body .pg-compare h1{font-size:34px;line-height:1.2}
body .pg-compare h2{font-size:28px}body .pg-compare h3{font-size:21px}
body .pg-compare p,body .pg-compare-dialog p{margin:0;line-height:1.65}
body .pg-compare a,body .pg-compare-dialog a{color:#0b0b0c;text-decoration:underline;text-underline-offset:3px}
body .pg-compare a:hover,body .pg-compare-dialog a:hover{color:#55514d}
body .pg-compare :focus-visible,body .pg-compare-dialog :focus-visible{outline:3px solid #0b0b0c;outline-offset:3px}
body .pg-compare-intro{padding:0 0 14px}
body .pg-compare .pg-compare-kicker{color:#55514d;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.07em;text-transform:uppercase}
body .pg-compare-intro>p:last-child{max-width:700px;margin-top:8px;font-size:16px;color:#55514d}
body .pg-compare:has(.pg-compare-selected) .pg-compare-intro>p{display:none}
body .pg-compare-selection{padding:8px 0 18px}
body .pg-compare-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:10px}
body .pg-compare .pg-compare-section-head h2{font-size:16px;line-height:1.5}
body .pg-compare-section-head>p{color:#55514d;font-size:13px}
body .pg-compare-selected-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px}
body .pg-compare-selected{display:grid;flex:1 1 250px;grid-template-columns:minmax(0,1fr) auto;align-content:start;align-items:center;gap:4px 12px;padding:14px 16px;border:1px solid #dad5ce;border-radius:10px;background:#fff;min-height:0}
body .pg-compare-selected .pg-compare-kicker,body .pg-compare-selected .pg-compare-area{display:none}
body .pg-compare-selected h3{grid-column:1/-1;font-size:18px;line-height:1.3}
body .pg-compare-selected .pg-compare-record-status{grid-column:1/-1}
body .pg-compare-selected h3 a{color:#0b0b0c;text-decoration:none;overflow-wrap:anywhere}
body .pg-compare-selected h3 a:hover{color:#0b0b0c;text-decoration:underline}
body .pg-compare .pg-compare-area{font-size:13px;color:#55514d;line-height:1.5}
body .pg-compare .pg-compare-selected-price{font-size:14px;line-height:1.6;margin:0;padding:0;color:#0b0b0c}
body .pg-compare-card-actions{display:flex;justify-self:end;gap:14px;margin:0;padding:0}
body .pg-compare-card-actions button{min-height:44px}
body .pg-compare-add{display:flex;flex:0 0 136px;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;padding:12px;background:#f4f1ec;color:#0b0b0c;border:1px dashed #55514d;border-radius:10px;font:inherit;cursor:pointer;text-align:center}
body .pg-compare-add>span:first-child{font-size:28px;line-height:1}body .pg-compare-add>strong{font-size:14px}body .pg-compare-add>span:last-child{display:none;font-size:14px;color:#55514d}
body .pg-compare-selected-grid:not(:has(.pg-compare-selected)) .pg-compare-add{flex:1 1 320px;min-height:110px}
body .pg-compare-selected-grid:not(:has(.pg-compare-selected)) .pg-compare-add>span:last-child{display:block}
body .pg-compare-add:hover{background:#dad5ce;border-color:#0b0b0c}
body .pg-compare-button,body .pg-compare-dialog .pg-compare-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;background:#0b0b0c;color:#fff;border:1px solid #0b0b0c;border-radius:10px;font:600 14px/1.5 Geist,Arial,sans-serif;text-decoration:none;text-align:center;cursor:pointer}
body .pg-compare-button:hover,body .pg-compare-dialog .pg-compare-button:hover{background:#55514d;color:#fff}
body .pg-compare-button-secondary,body .pg-compare-dialog .pg-compare-button-secondary{background:#fff;border-color:#55514d;color:#0b0b0c}
body .pg-compare-button-secondary:hover,body .pg-compare-dialog .pg-compare-button-secondary:hover{background:#f4f1ec;color:#0b0b0c}
body .pg-compare .pg-compare-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 0;border:0;background:transparent;color:#0b0b0c;font:600 14px/1.5 Geist,Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
body .pg-compare button:disabled,body .pg-compare-dialog button:disabled{cursor:default;opacity:.55}
body .pg-compare-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:12px}
body .pg-compare .pg-compare-note{padding:14px 18px;margin-top:16px;background:#f4f1ec;border-left:3px solid #0b0b0c;font-size:14px;color:#55514d}
body .pg-compare .pg-compare-record-status,body .pg-compare-dialog .pg-compare-record-status{font-size:12px;line-height:1.5;color:#55514d}
body .pg-compare-results{padding-top:16px;border-top:1px solid #dad5ce}
body .pg-compare-results>h2{margin-bottom:12px;font-size:22px}
body .pg-compare-price-controls{display:flex;align-items:flex-end;gap:20px;margin:12px 0 16px}
body .pg-compare-price-controls label{display:flex;flex-direction:column;gap:8px;flex:0 1 420px;font-size:13px;font-weight:600}
body .pg-compare-price-controls select{width:100%;min-height:48px;padding:10px 30px 10px 12px;border:1px solid #55514d;border-radius:10px;background:#fff;color:#0b0b0c;font:400 16px/1.5 Geist,Arial,sans-serif}
body .pg-compare-price-controls p{max-width:390px;font-size:13px;color:#55514d}
body .pg-compare-desktop{margin-top:16px;width:100%;border:1px solid #dad5ce;border-radius:8px;overflow:visible}
body .pg-compare-table{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0;font-size:14px;color:#0b0b0c}
body .pg-compare-table th,body .pg-compare-table td{padding:19px 17px;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;line-height:1.65;border:0;border-right:1px solid #dad5ce;border-bottom:1px solid #dad5ce;background:#fff;font-weight:400;text-transform:none;letter-spacing:0}
body .pg-compare-table th:last-child,body .pg-compare-table td:last-child{border-right:0}
body .pg-compare-table tr:last-child>*{border-bottom:0}
body .pg-compare-table thead th{background:#f4f1ec;color:#0b0b0c;font-size:16px;font-weight:600;line-height:1.4;border-bottom:1px solid #dad5ce}
body .pg-compare-table thead th:first-child{width:16%;font-size:13px}
body .pg-compare-table thead th a{color:#0b0b0c;text-decoration:none}
body .pg-compare-table thead th span{display:block;margin-top:8px;font-size:12px;font-weight:400;line-height:1.5;color:#55514d}
body .pg-compare-table tbody th{font-size:13px;font-weight:600;background:#f4f1ec}
body .pg-compare-table p+ p,body .pg-compare-table strong+p,body .pg-compare-field strong+p{margin-top:7px}
body .pg-compare .pg-compare-amount{display:block;color:#0b0b0c;font:650 23px/1.3 Geist,Arial,sans-serif}
body .pg-compare small{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:#55514d}
body .pg-compare-unknown{color:#55514d;font-size:13px}
body .pg-compare-facts{margin:0;padding-left:17px;list-style:disc}
body .pg-compare-facts li{margin:0 0 7px;line-height:1.6}
body .pg-compare-mobile{display:none}
body .pg-compare-empty{max-width:700px;padding:26px;background:#fff;border:1px solid #dad5ce;border-radius:8px}
body .pg-compare-empty h3{margin-bottom:10px}body .pg-compare-empty p{color:#55514d}
body .pg-compare-evidence{margin-top:26px;border-top:1px solid #dad5ce;border-bottom:1px solid #dad5ce}
body .pg-compare-evidence>summary{padding:18px 0;cursor:pointer;min-height:52px;font-weight:600;color:#0b0b0c}
body .pg-compare-extra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:28px;padding:8px 0 24px}
body .pg-compare-extra-grid h3{font-size:17px;margin-bottom:12px}body .pg-compare-extra-grid p,body .pg-compare-extra-grid li{font-size:12px;margin-bottom:10px}
body.pg-compare-dialog-open{overflow:hidden}
body .pg-compare-dialog{position:fixed;inset:0;z-index:3000;display:flex;align-items:flex-start;justify-content:center;padding:6vh 18px;background:#0b0b0cb3;overflow-y:auto;overscroll-behavior:contain;color:#0b0b0c;font:400 16px/1.6 Geist,Arial,sans-serif}
body .pg-compare-dialog-panel{width:min(720px,100%);max-height:88dvh;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overscroll-behavior:contain;padding:24px;background:#fff;border:1px solid #dad5ce;border-radius:10px;box-shadow:0 12px 50px #0b0b0c50}
body .pg-compare-dialog-panel>*{flex:0 0 auto}
body .pg-compare-dialog-head{position:sticky;top:-24px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;margin-top:-12px;background:#fff;box-shadow:0 -15px 0 10px #fff}
body .pg-compare-dialog-head h2{font-size:26px;overflow-wrap:anywhere}
body .pg-compare-dialog-head button{flex:0 0 auto}
body #pg-compare-dialog-hint{font-size:14px;color:#55514d}
body .pg-compare-search-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px}
body .pg-compare-search-fields label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}
body .pg-compare-search-fields input,body .pg-compare-search-fields select{display:block;width:100%;min-height:48px;border:1px solid #55514d;background:#fff;border-radius:10px;padding:10px 12px;color:#0b0b0c;font:400 16px/1.5 Geist,Arial,sans-serif}
body .pg-compare-dialog-status{font-size:14px;color:#55514d}
body .pg-compare-choices{display:grid;gap:0;list-style:none;padding:0;margin:0;border-top:1px solid #dad5ce}
body .pg-compare-choices li{padding:0;margin:0;list-style:none}
body .pg-compare-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:84px;padding:16px 8px;border:0;border-bottom:1px solid #dad5ce;background:#fff;color:#0b0b0c;font:inherit;text-align:left;cursor:pointer}
body .pg-compare-choice strong{font-size:16px;font-weight:600;line-height:1.45;display:block}
body .pg-compare-choice>span>span{display:block;margin-top:5px;font-size:14px;color:#55514d;line-height:1.5}
body .pg-compare-choice-action{flex:0 0 auto;max-width:110px;font-size:14px;font-weight:600;color:#0b0b0c}
body .pg-compare-choice:hover:not(:disabled){background:#f4f1ec}
@media(max-width:540px){body .pg-compare-price-controls{display:block}body .pg-compare-price-controls p{margin-top:12px}}
@media(max-width:900px){body .pg-compare-desktop{display:none}body .pg-compare-mobile{display:grid;gap:22px;margin-top:20px}body .pg-compare-field{border:1px solid #dad5ce;border-radius:8px;overflow:hidden;background:#fff}body .pg-compare-field>h3{padding:16px 18px;font-size:20px;background:#f4f1ec;border-bottom:1px solid #dad5ce}body .pg-compare-field dl{margin:0}body .pg-compare-field dl>div{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:20px;padding:18px;border-bottom:1px solid #dad5ce}body .pg-compare-field dl>div:last-child{border:0}body .pg-compare-field dt{font-size:14px;font-weight:600;color:#0b0b0c;line-height:1.5}body .pg-compare-field dd{font-size:14px;line-height:1.65;margin:0;overflow-wrap:anywhere}}
@media(max-width:540px){
 body .pg-compare{padding:16px 20px 42px}
 body .pg-compare-intro{padding-bottom:14px}
 body .pg-compare h1{font-size:30px}
 body .pg-compare-selection{padding:8px 0 18px}
 body .pg-compare-section-head{display:flex;margin-bottom:10px;gap:14px}
 body .pg-compare-section-head>p{margin-top:0}
 body .pg-compare-selected-grid{display:grid;grid-template-columns:1fr;gap:10px}
 body .pg-compare-selected{padding:12px 14px;gap:4px 10px}
 body .pg-compare-selected h3{font-size:18px}
 body .pg-compare-add{display:grid;grid-template-columns:24px minmax(0,1fr);align-content:center;justify-content:start;gap:3px 10px;min-height:54px;padding:10px 14px;text-align:left}
 body .pg-compare-add>span:first-child{font-size:24px}
 body .pg-compare-add>strong{font-size:14px}
 body .pg-compare-add>span:last-child{grid-column:2}
 body .pg-compare-actions{gap:10px}
 body .pg-compare-actions .pg-compare-button{flex:0 1 auto;padding-inline:12px;font-size:13px}
 body .pg-compare-actions .pg-compare-link-button{padding-inline:8px;font-size:13px}
 body .pg-compare-results>h2{font-size:22px}
 body .pg-compare-field dl>div{grid-template-columns:1fr;gap:10px;padding:18px}
 body .pg-compare-field dt{font-size:14px}
 body .pg-compare-field dd{font-size:15px}
 body .pg-compare-dialog{padding:calc(8px + env(safe-area-inset-top,0px)) 8px calc(8px + env(safe-area-inset-bottom,0px))}
 body .pg-compare-dialog-panel{max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:18px;gap:14px}
 body .pg-compare-dialog-head{top:-18px;gap:12px}
 body .pg-compare-dialog-head h2{font-size:23px}
 body .pg-compare-search-fields{grid-template-columns:1fr}
 body .pg-compare-choice{gap:12px;padding:15px 2px}
 body .pg-compare-choice-action{max-width:76px}
 body .pg-compare-choice strong{font-size:15px}
}

/* Planner: three starting choices, optional preferences and a useful shortlist. */

/* Google-served maps: the iframe is created only after visitor activation. */
.pg-google-map{border:1px solid var(--line);border-radius:14px;background:#fff;min-width:0}
.pg-google-map-intro{padding:26px 26px 20px}
body.reference-rebuild .venue-body .pg-google-map h3{font-size:21px;line-height:1.4;margin:0 0 12px}
body.reference-rebuild .venue-body .pg-google-map p{font-size:15px;line-height:1.7;margin:0 0 14px}
body.reference-rebuild .venue-body .pg-google-map .pg-google-map-note{font-size:13px;color:#55514d}
.pg-google-map-load{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid #55514d;border-radius:8px;background:#55514d;color:#fff;font:inherit;font-size:14px;font-weight:650;cursor:pointer}
.pg-google-map-load:hover{background:#55514d}
.pg-google-map-load:focus-visible,.pg-google-map-links a:focus-visible{outline:3px solid #bdb8b3;outline-offset:4px}
.pg-google-map-load:disabled{cursor:wait;opacity:.75}
.pg-google-map [hidden]{display:none!important}
body.reference-rebuild .venue-body .pg-google-map .pg-google-map-status{margin:12px 0 0;font-size:13px;color:#55514d}
.pg-google-map-status:empty{display:none}
.pg-google-map-frame{width:100%;height:440px;min-height:400px;background:#f4f1ec}
.pg-google-map-frame iframe{display:block;width:100%;height:100%;min-height:400px;border:0}
.pg-google-map-links{display:flex;flex-wrap:wrap;gap:10px 26px;padding:16px 26px;border-top:1px solid var(--line)}
@media(max-width:760px){
 .pg-google-map-intro{padding:22px 20px 18px}
 .pg-google-map-frame{height:360px;min-height:340px}
 .pg-google-map-frame iframe{min-height:340px}
 .pg-google-map-links{padding:14px 20px;gap:6px 20px}
}

/* Pattaya Gym / September 2026. Shared design language and editorial layouts. */
body.flagship-2026{--brand:#0b0b0c;--brand-ink:#0b0b0c;--brand-bright:#f4f1ec;--accent:#0b0b0c;--accent-ink:#0b0b0c;--canvas:#f4f1ec;--surface:#fff;--surface-2:#f4f1ec;--surface-3:#dad5ce;--sunken:#f4f1ec;--ink:#0b0b0c;--ink-muted:#55514d;--ink-subtle:#55514d;--text:#0b0b0c;--text-2:#55514d;--muted:#55514d;--hint:#55514d;--text-muted:#55514d;--line:#dad5ce;--line-strong:#bdb8b3;--line-control:#55514d;--pink:#0b0b0c;--cyan:#0b0b0c;--mint:#0b0b0c;--yellow:#dad5ce;--font-display:Geist,Geist,Arial,sans-serif;--font-mono:Geist,Arial,sans-serif;background:var(--canvas);color:var(--ink);line-height:1.7}
body.flagship-2026 :is(h1,h2,h3){font-family:var(--font-display);font-weight:600;color:var(--ink);letter-spacing:-.045em;text-wrap:balance}
body.flagship-2026 :focus-visible{outline:3px solid #55514d;outline-offset:4px}
body.flagship-2026 ::selection{background:#dad5ce;color:#0b0b0c}
body.flagship-2026 :is(.wrap,.nav-row,.site-breadcrumb,.footer-wrap){max-width:1304px;padding-inline:32px}
body.flagship-2026 .nav{background:#f4f1ecf5;border-bottom:1px solid #dad5ce;backdrop-filter:blur(16px)}
body.flagship-2026 .nav-row{min-height:88px;gap:28px}
body.flagship-2026 .brand{font-family:var(--font-display);font-size:27px;letter-spacing:-1.3px;gap:9px}
body.flagship-2026 .brand img{width:42px;height:42px}
body.flagship-2026 .nav-links{gap:25px}
body.flagship-2026 .nav-links a{font-size:14px;color:#0b0b0c;font-weight:550}
body.flagship-2026 .nav-links a[aria-current=page]{color:#0b0b0c;border-bottom:2px solid #0b0b0c}
body.flagship-2026 .nav-cta{background:#0b0b0c;color:#fff;border:1px solid #0b0b0c;border-radius:100px;padding:12px 20px;min-height:46px;font-size:13px}
body.flagship-2026 .nav-burger{border-radius:50%;background:transparent;border-color:#bdb8b3}
body.flagship-2026 .nav-mobile{top:88px;background:#f4f1ec}
body.flagship-2026 :is(.btn){border-radius:100px;min-height:48px;padding:12px 21px;font-size:14px;font-weight:600;transition:background-color .18s,border-color .18s,box-shadow .18s}
body.flagship-2026 .favorite-btn{color:#0b0b0c;background:#fff;border:1px solid #dad5ce;border-radius:100px;min-height:44px;box-shadow:none}
body.flagship-2026 .favorite-btn:is(.is-saved,[aria-pressed=true]){color:#0b0b0c;background:#dad5ce;border-color:#dad5ce}
body.flagship-2026 .favorite-btn .fav-heart{font-size:23px}
/* Category and editorial families keep their full content and anchors. */
body.flagship-2026 .hero:not(.pg-venue-hero){background:#dad5ce!important;background-image:none!important;border-color:#dad5ce;border-radius:26px;padding:50px!important;margin-block:24px}
body.flagship-2026 .hero:not(.pg-venue-hero) h1{font-family:var(--font-display);font-weight:600;font-size:clamp(38px,4.5vw,62px)!important;line-height:1.08!important;letter-spacing:-.055em}
body.flagship-2026 .hero:not(.pg-venue-hero) h1 span{color:#0b0b0c!important}
body.flagship-2026 .hero-lede{font-size:18px!important;line-height:1.75!important}
body.flagship-2026 .section{padding-block:48px}
body.flagship-2026 :is(.guide-hub-grid){gap:24px}
body.flagship-2026 .pg-place-card,body.flagship-2026 .cat-venue-card:not(.pg-place-card){border-radius:23px;border-color:#dad5ce;box-shadow:none;background:white}
body.flagship-2026 .pg-place-card:hover{border-color:#bdb8b3;box-shadow:0 12px 32px #0b0b0c09}
body.flagship-2026 .jump-nav-pills a{color:#0b0b0c;border-radius:100px}
body.flagship-2026 .venue-body .jump-nav-pills a.is-active{background:#0b0b0c;border-color:#0b0b0c;color:#fff!important}
/* Venue introduction: identifiable place, a distinct visit panel, readable detail. */
body.flagship-2026 :is(.pg-price-table){border-radius:22px;border-color:#dad5ce}
body.flagship-2026 .pg-price-table-head{background:#f4f1ec}
/* Footer is a calm end to the publication, with the same navigation and identity. */
body.flagship-2026 .footer{background:#dad5ce;border-top:1px solid #dad5ce;color:#0b0b0c;padding-block:64px 32px}
body.flagship-2026 .footer-col-h{font-family:Geist,Arial,sans-serif;font-size:13px;font-weight:650;color:#0b0b0c}
body.flagship-2026 .footer-col a{font-size:14px;color:#55514d;padding-block:8px}
body.flagship-2026 :is(.footer-updated-line){color:#55514d;border-color:#dad5ce}
@media(min-width:768px) and (max-width:1100px){body.flagship-2026 .nav-links{display:none}body.flagship-2026 .nav-burger{display:flex;margin-left:auto}body.flagship-2026 .nav-cta{display:inline-flex}}
@media(max-width:767px){
 body.flagship-2026{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 body.flagship-2026 :is(.wrap,.nav-row,.site-breadcrumb,.footer-wrap){padding-inline:20px}
 body.flagship-2026 .nav,body.flagship-2026 .nav-row{min-height:72px}
 body.flagship-2026 .brand{font-size:24px;letter-spacing:-1px;gap:7px}
 body.flagship-2026 .brand img{width:36px;height:36px}
 body.flagship-2026 .nav-links,body.flagship-2026 .nav-cta{display:none}
 body.flagship-2026 .nav-mobile{top:72px;max-height:calc(100dvh - 72px);padding-bottom:100px}
 body.flagship-2026 .nav-mobile-link{font-family:var(--font-display);font-size:22px;color:#0b0b0c}
 body.flagship-2026 .hero:not(.pg-venue-hero){padding:28px 24px!important;border-radius:22px;margin-block:20px}
 body.flagship-2026 .hero:not(.pg-venue-hero) h1{font-size:38px!important;line-height:1.1!important}
 body.flagship-2026 .hero-lede{font-size:16px!important;line-height:1.8!important}
 body.flagship-2026 .section{padding-block:34px}
 body.flagship-2026 .footer{padding-block:42px 28px}
 body.flagship-2026 .footer-nav{gap:24px}
 body.flagship-2026 .footer-col a{font-size:13px}
 body.flagship-2026 .rg-mobile-dock{min-height:72px;background:#f4f1ecf7;border-color:#dad5ce;backdrop-filter:blur(16px);padding-top:4px}
 body.flagship-2026 .rg-mobile-dock a{min-height:68px;flex-direction:column;gap:4px;color:#55514d;font-size:10px;font-weight:600;line-height:1.3;padding-block:8px}
 body.flagship-2026 .rg-mobile-dock svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 body.flagship-2026 .rg-mobile-dock a[aria-current=page]{color:#0b0b0c;background:#dad5ce}
 body.flagship-2026 .rg-mobile-dock a:hover{color:#0b0b0c;background:#dad5ce}
 body.flagship-2026:has(#pg-compare-tray:not([hidden])){padding-bottom:calc(158px + env(safe-area-inset-bottom))}
 body.flagship-2026:has(#pg-compare-tray:not([hidden])) .back-to-top{bottom:calc(154px + env(safe-area-inset-bottom))!important}
 body.flagship-2026:has(#privacy-consent) :is(#pg-compare-tray,.back-to-top){visibility:hidden}
}
@media(prefers-reduced-motion:reduce){body.flagship-2026 *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* September 2026 tool surfaces. Append after the existing component styles.
   Presentation only: runtime visibility, native form controls and URL state remain owned by each tool. */
body.flagship-2026 {
  --ft-forest:#0b0b0c;
  --ft-ink:#0b0b0c;
  --ft-canvas:#f4f1ec;
  --ft-white:#fff;
  --ft-line:#dad5ce;
  --ft-control:#55514d;
  --ft-muted:#55514d;
  --ft-lime:#dad5ce;
  --ft-soft:#f4f1ec;
  --ft-heading:Geist,Geist,Arial,sans-serif;
}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog,.location-tool-hero,.location-filters,.location-result-list,.pg-google-map) {
  color:var(--ft-ink);
  font-family:Geist,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog,.location-filters,.location-result-list,.pg-google-map) [hidden] {display:none!important}
body.flagship-2026 :is(.pg-compare-dialog,#location-coordinate-preview)[hidden] {display:none!important}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog,.location-tool-hero,.location-filters,.location-result-list,.pg-google-map) :is(a,button,input,select,summary,[tabindex]):focus-visible {
  outline:3px solid var(--ft-forest);
  outline-offset:4px;
}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog,.location-filters,.location-result-list,.pg-google-map) :is(button,input,select):disabled {opacity:.55;cursor:default}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog,.location-tool-hero,.location-result-list) :is(h1,h2,h3) {
  font-family:var(--ft-heading);
  color:var(--ft-ink);
  font-weight:700;
  letter-spacing:-.035em;
  text-transform:none;
}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog,.location-result-list,.pg-google-map) a {color:var(--ft-forest);text-underline-offset:4px}

/* Search: one clear search surface above a calm two-column directory. */
/* Flatten this non-semantic wrapper so the unchanged source markup can put
   background, hours and access above the price, with all actions in the footer. */

/* Save/Remove labels stay in the accessibility tree when the control is icon-only. */

/* Compare: selected venues, a clear product selector and an uninterrupted facts table. */
body.flagship-2026 .pg-compare {width:100%;max-width:1240px;padding:36px 32px 72px;color:var(--ft-ink)}
body.flagship-2026 .pg-compare h1 {font-size:48px;line-height:1.08}
body.flagship-2026 .pg-compare-intro {padding-bottom:28px}
body.flagship-2026 .pg-compare .pg-compare-intro>p:last-child {display:block;margin-top:14px;max-width:720px;font-size:17px;color:var(--ft-muted)}
body.flagship-2026 .pg-compare .pg-compare-kicker {color:var(--ft-muted);font-family:Geist,Arial,sans-serif;font-size:13px;letter-spacing:.05em}
body.flagship-2026 .pg-compare-selection {padding:26px 28px;background:var(--ft-white);border:1px solid var(--ft-line);border-radius:24px}
body.flagship-2026 .pg-compare-section-head {gap:20px;margin-bottom:18px;flex-wrap:wrap}
body.flagship-2026 .pg-compare .pg-compare-section-head h2 {font:700 22px/1.3 var(--ft-heading)}
body.flagship-2026 .pg-compare-section-head>p {color:var(--ft-muted);font-size:14px}
body.flagship-2026 .pg-compare-selected-grid {gap:20px}
body.flagship-2026 .pg-compare-selected {padding:20px;gap:8px 14px;flex:1 1 230px;border:1px solid var(--ft-line);border-radius:18px;background:var(--ft-canvas)}
body.flagship-2026 .pg-compare-selected h3 {font:700 23px/1.25 var(--ft-heading)}
body.flagship-2026 .pg-compare-selected h3 a {color:var(--ft-ink)}
body.flagship-2026 .pg-compare .pg-compare-selected-price {font-size:15px;color:var(--ft-ink)}
body.flagship-2026 .pg-compare .pg-compare-area {font-size:14px;color:var(--ft-muted)}
body.flagship-2026 .pg-compare-add {flex-basis:148px;min-height:108px;border:1px dashed var(--ft-control);border-radius:18px;background:var(--ft-soft);color:var(--ft-forest)}
body.flagship-2026 .pg-compare-add>strong {font-size:15px}
body.flagship-2026 .pg-compare-add>span:last-child {color:var(--ft-muted)}
body.flagship-2026 .pg-compare-add:hover {background:var(--ft-lime);border-color:var(--ft-forest)}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog) .pg-compare-button {min-height:48px;padding:12px 20px;border:1px solid var(--ft-forest);border-radius:999px;background:var(--ft-forest);color:var(--ft-white);font:600 15px/1.5 Geist,Arial,sans-serif;box-shadow:none}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog) .pg-compare-button:hover:not(:disabled) {background:var(--ft-ink);color:var(--ft-white)}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog) .pg-compare-button-secondary {background:var(--ft-white);color:var(--ft-forest);border-color:var(--ft-control)}
body.flagship-2026 :is(.pg-compare,.pg-compare-dialog) .pg-compare-button-secondary:hover:not(:disabled) {background:var(--ft-soft);color:var(--ft-forest)}
body.flagship-2026 .pg-compare .pg-compare-link-button {color:var(--ft-forest);font-size:14px}
body.flagship-2026 .pg-compare-actions {gap:14px 20px;margin-top:22px}
body.flagship-2026 .pg-compare .pg-compare-note {margin-top:22px;padding:18px 20px;border:1px solid var(--ft-line);border-radius:16px;background:var(--ft-soft);color:var(--ft-muted);font-size:15px}
body.flagship-2026 .pg-compare-results {margin-top:36px;padding-top:0;border-top:0}
body.flagship-2026 .pg-compare-results>h2 {font-size:30px;line-height:1.2;margin-bottom:18px}
body.flagship-2026 .pg-compare-price-controls {gap:24px;margin:0 0 26px;padding:24px;background:var(--ft-white);border:1px solid var(--ft-line);border-radius:20px}
body.flagship-2026 .pg-compare-price-controls label {gap:9px;font-size:14px;color:var(--ft-ink)}
body.flagship-2026 .pg-compare-price-controls select {min-height:52px;padding:12px 32px 12px 14px;border:1px solid var(--ft-control);border-radius:12px;background:var(--ft-white);color:var(--ft-ink);font-size:16px}
body.flagship-2026 .pg-compare-price-controls p {font-size:14px;color:var(--ft-muted);max-width:450px}
body.flagship-2026 .pg-compare-desktop {border:1px solid var(--ft-line);border-radius:24px;background:var(--ft-white);overflow:hidden}
body.flagship-2026 .pg-compare-table {color:var(--ft-ink);font-size:15px}
body.flagship-2026 .pg-compare-table :is(th,td) {padding:24px 20px;border-color:var(--ft-line);line-height:1.65;color:var(--ft-ink);background:var(--ft-white)}
body.flagship-2026 .pg-compare-table thead th {background:var(--ft-soft);font:700 21px/1.3 var(--ft-heading);color:var(--ft-ink);border-color:var(--ft-line)}
body.flagship-2026 .pg-compare-table thead th a {color:var(--ft-ink)}
body.flagship-2026 .pg-compare-table thead th:first-child {font:600 14px/1.5 Geist,Arial,sans-serif}
body.flagship-2026 .pg-compare-table thead th span {font:400 13px/1.5 Geist,Arial,sans-serif;color:var(--ft-muted)}
body.flagship-2026 .pg-compare-table tbody th {font-size:14px;font-weight:600;background:var(--ft-canvas);color:var(--ft-muted)}
body.flagship-2026 .pg-compare .pg-compare-amount {font:700 28px/1.2 var(--ft-heading);color:var(--ft-forest);letter-spacing:-.025em}
body.flagship-2026 .pg-compare small {font-size:13px;line-height:1.6;color:var(--ft-muted)}
body.flagship-2026 .pg-compare-unknown {color:var(--ft-muted);font-size:14px}
body.flagship-2026 .pg-compare-empty {max-width:none;border:1px solid var(--ft-line);border-radius:24px;background:var(--ft-white);padding:32px}
body.flagship-2026 .pg-compare-empty p {color:var(--ft-muted);font-size:16px;max-width:680px}
body.flagship-2026 .pg-compare-evidence {margin-top:32px;border-color:var(--ft-line)}
body.flagship-2026 .pg-compare-evidence>summary {min-height:52px;font-size:16px;color:var(--ft-ink)}
body.flagship-2026 .pg-compare-extra-grid {gap:32px}
body.flagship-2026 .pg-compare-extra-grid h3 {font-size:21px}
body.flagship-2026 .pg-compare-extra-grid :is(p,li) {color:var(--ft-muted);font-size:15px;line-height:1.7}
body.flagship-2026 .pg-compare-dialog {background:#0b0b0c99;color:var(--ft-ink);backdrop-filter:none}
body.flagship-2026 .pg-compare-dialog-panel {max-height:88dvh;padding:28px;gap:20px;background:var(--ft-white);border:1px solid var(--ft-line);border-radius:24px;box-shadow:0 16px 48px #0b0b0c26}
body.flagship-2026 .pg-compare-dialog-head {top:-28px;background:var(--ft-white);box-shadow:0 -15px 0 10px var(--ft-white)}
body.flagship-2026 .pg-compare-dialog-head h2 {font:700 30px/1.15 var(--ft-heading);color:var(--ft-ink)}
body.flagship-2026 :is(#pg-compare-dialog-hint,.pg-compare-dialog-status) {color:var(--ft-muted);font-size:15px}
body.flagship-2026 .pg-compare-search-fields {gap:20px}
body.flagship-2026 .pg-compare-search-fields label {color:var(--ft-ink);font-size:14px}
body.flagship-2026 .pg-compare-search-fields :is(input,select) {min-height:52px;border:1px solid var(--ft-control);border-radius:12px;background:var(--ft-white);color:var(--ft-ink);font-size:16px}
body.flagship-2026 .pg-compare-choices {border-color:var(--ft-line)}
body.flagship-2026 .pg-compare-choice {min-height:94px;padding:20px 8px;border-color:var(--ft-line);background:var(--ft-white);color:var(--ft-ink)}
body.flagship-2026 .pg-compare-choice strong {font:700 20px/1.35 var(--ft-heading)}
body.flagship-2026 .pg-compare-choice>span>span {font-size:14px;color:var(--ft-muted)}
body.flagship-2026 .pg-compare-choice-action {color:var(--ft-forest);font-size:14px}
body.flagship-2026 .pg-compare-choice:hover:not(:disabled) {background:var(--ft-soft)}

/* Planner: the three starting choices form a single useful object. */

/* Saved places are a useful card collection even when a record is unavailable. */
body.flagship-2026:has(#favorites-section) #main>.hero {max-width:1176px;margin:32px auto;background:var(--ft-soft)!important;border:1px solid var(--ft-line);border-radius:24px;padding:32px!important;box-shadow:none}
body.flagship-2026:has(#favorites-section) #main>.hero .hero-inner {padding:0;max-width:none}
body.flagship-2026:has(#favorites-section) #main>.hero h1 {font:700 48px/1.08 var(--ft-heading);letter-spacing:-.035em;color:var(--ft-ink)!important;margin-bottom:16px}
body.flagship-2026:has(#favorites-section) #main>.hero h1 span {color:var(--ft-forest)!important}
body.flagship-2026:has(#favorites-section) #main>.hero :is(.hero-lede,.hero-kicker) {color:var(--ft-muted)!important}
body.flagship-2026:has(#favorites-section) #main>.hero .hero-lede {max-width:730px;font-size:17px;line-height:1.65}

/* Map filters, property cards and the opt-in Google map use the same control language. */
body.flagship-2026 .pg-google-map {background:var(--ft-white);border:1px solid var(--ft-line);border-radius:24px;overflow:hidden}
body.flagship-2026 .pg-google-map-intro {padding:28px}
body.flagship-2026 .pg-google-map-load {min-height:48px;padding:12px 22px;border:1px solid var(--ft-forest);border-radius:999px;background:var(--ft-forest);color:var(--ft-white);font-size:15px}
body.flagship-2026 .pg-google-map-load:hover:not(:disabled) {background:var(--ft-ink)}
body.flagship-2026 .pg-google-map-frame {background:var(--ft-soft)}
body.flagship-2026 .pg-google-map-links {gap:12px 24px;padding:16px 28px;border-color:var(--ft-line)}
body.flagship-2026 .pg-google-map-links a {min-height:44px;display:inline-flex;align-items:center;font-size:15px}
body.flagship-2026 .venue-body .pg-google-map :is(.pg-google-map-note,.pg-google-map-status) {color:var(--ft-muted);font-size:14px}

/* Route-local button overrides also cover empty, load-more and error states. */
body.flagship-2026 :is(.location-filters,.location-load-more) .btn,body.flagship-2026:has(#favorites-section) #main>.hero .btn {min-height:48px;padding:11px 20px;border-radius:999px;background:var(--ft-white)!important;border-color:var(--ft-control)!important;color:var(--ft-forest)!important;font:600 15px/1.5 Geist,Arial,sans-serif;box-shadow:none}
body.flagship-2026 :is(.location-filters,.location-load-more) .btn:hover:not(:disabled),body.flagship-2026:has(#favorites-section) #main>.hero .btn:hover:not(:disabled) {background:var(--ft-soft)!important;color:var(--ft-forest)!important}
@media(max-width:1000px) {
  body.flagship-2026:has(#favorites-section) #main>.hero {margin-inline:32px}
}
@media(max-width:900px) {
  body.flagship-2026 .pg-compare-mobile {gap:24px}
  body.flagship-2026 .pg-compare-field {border:1px solid var(--ft-line);border-radius:22px;background:var(--ft-white)}
  body.flagship-2026 .pg-compare-field>h3 {padding:20px 22px;border-color:var(--ft-line);background:var(--ft-soft);font:700 24px/1.3 var(--ft-heading);color:var(--ft-ink)}
  body.flagship-2026 .pg-compare-field dl>div {padding:22px;gap:24px;border-color:var(--ft-line)}
  body.flagship-2026 .pg-compare-field dt {font:700 18px/1.4 var(--ft-heading);color:var(--ft-ink)}
  body.flagship-2026 .pg-compare-field dd {font-size:16px;line-height:1.65;color:var(--ft-ink)}
}
@media(max-width:767px) {
  body.flagship-2026 .pg-compare {padding:24px 20px 48px}
  body.flagship-2026 .pg-compare h1 {font-size:36px}
  body.flagship-2026 .pg-compare-intro {padding-bottom:22px}
  body.flagship-2026 .pg-compare .pg-compare-intro>p:last-child {font-size:16px;line-height:1.6}
  body.flagship-2026 .pg-compare-selection {padding:20px;border-radius:22px}
  body.flagship-2026 .pg-compare .pg-compare-section-head h2 {font-size:21px}
  body.flagship-2026 .pg-compare-selected-grid {gap:16px}
  body.flagship-2026 .pg-compare-selected {padding:18px;border-radius:16px}
  body.flagship-2026 .pg-compare-selected h3 {font-size:23px}
  body.flagship-2026 .pg-compare-add {min-height:72px;border-radius:16px}
  body.flagship-2026 .pg-compare-actions {gap:12px;margin-top:20px}
  body.flagship-2026 .pg-compare-actions .pg-compare-button {font-size:14px;padding-inline:18px}
  body.flagship-2026 .pg-compare-price-controls {padding:20px;border-radius:20px}
  body.flagship-2026 .pg-compare-price-controls p {margin-top:14px;font-size:14px}
  body.flagship-2026 .pg-compare-results>h2 {font-size:28px}
  body.flagship-2026 .pg-compare .pg-compare-amount {font-size:27px}
  body.flagship-2026 .pg-compare-field>h3 {font-size:23px;padding:18px 20px}
  body.flagship-2026 .pg-compare-field dl>div {padding:20px;gap:12px}
  body.flagship-2026 .pg-compare-empty {padding:26px 22px}
  body.flagship-2026 .pg-compare-dialog {padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px))}
  body.flagship-2026 .pg-compare-dialog-panel {max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:22px 20px;gap:18px;border-radius:22px}
  body.flagship-2026 .pg-compare-dialog-head {top:-22px;gap:12px}
  body.flagship-2026 .pg-compare-dialog-head h2 {font-size:28px}
  body.flagship-2026 .pg-compare-dialog-head .pg-compare-button {padding-inline:16px;font-size:14px}
  body.flagship-2026 .pg-compare-search-fields {grid-template-columns:1fr;gap:16px}
  body.flagship-2026 .pg-compare-choice {gap:14px;padding:18px 2px}
  body.flagship-2026 .pg-compare-choice strong {font-size:19px}
  body.flagship-2026 .pg-compare-choice-action {font-size:13px}
  body.flagship-2026:has(#favorites-section) #main>.hero {margin:24px 20px;padding:24px!important;border-radius:22px}
  body.flagship-2026:has(#favorites-section) #main>.hero h1 {font-size:36px}
  body.flagship-2026:has(#favorites-section) #main>.hero .hero-lede {font-size:16px}
  body.flagship-2026 .pg-google-map {border-radius:22px}
  body.flagship-2026 .pg-google-map-intro {padding:24px 20px}
  body.flagship-2026 .pg-google-map-links {padding:14px 20px;gap:8px 20px}
}
@media(max-width:540px) {
  body.flagship-2026 .pg-compare-selected-grid {grid-template-columns:1fr}
  body.flagship-2026 .pg-compare-selected {grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:4px 10px}
  body.flagship-2026 .pg-compare-selected h3 {font-size:20px;line-height:1.25;margin:0}
  body.flagship-2026 .pg-compare .pg-compare-selected-price {font-size:14px;line-height:1.5}
  body.flagship-2026 .pg-compare-card-actions {justify-self:end;gap:12px}
  body.flagship-2026 .pg-compare-card-actions .pg-compare-link-button {min-height:44px;padding:6px 0;font-size:13px}
  body.flagship-2026 .pg-compare-selected-grid:has(.pg-compare-selected) .pg-compare-add {display:flex;flex-direction:row;justify-content:flex-start;align-items:center;min-height:52px;padding:10px 14px;gap:10px}
  body.flagship-2026 .pg-compare-selected-grid:has(.pg-compare-selected) .pg-compare-add>span:first-child {font-size:24px;line-height:1}
  body.flagship-2026 .pg-compare-price-controls {display:block}
  body.flagship-2026 .pg-compare-field dl>div {grid-template-columns:1fr}
}
@media(max-width:370px) {
  body.flagship-2026 .pg-compare-dialog-head {align-items:flex-start;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce) {
  body.flagship-2026 :is(.pg-compare,.pg-compare-dialog,.location-result-list) * {transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* Venue layout: useful introduction, genuine media and a concise visit decision. */
body.flagship-2026 .pg-video-stage{position:relative;min-height:320px;flex:1;display:flex;background:#0b0b0c;aspect-ratio:16/9}
body.flagship-2026 .pg-video-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
body.flagship-2026 .pg-video-stage:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0b0b0ce8);pointer-events:none}
body.flagship-2026 .pg-video-stage iframe{width:100%;height:100%;position:absolute;inset:0;border:0;background:#0b0b0c;z-index:3}
body.flagship-2026 .pg-video-play{position:absolute;z-index:2;inset:0;display:flex;align-items:flex-end;gap:14px;padding:26px;color:#fff;background:none;border:0;text-decoration:none;text-align:left;font:600 19px Geist,Arial,sans-serif;cursor:pointer}
body.flagship-2026 .pg-video-play small{display:block;margin-top:7px;font-size:12px;font-weight:450;color:#fff}
@media(max-width:1000px){
 body.flagship-2026 .pg-video-stage{min-height:290px}
}
@media(max-width:760px){
 body.flagship-2026 .pg-video-stage{min-height:205px;aspect-ratio:16/10}
 body.flagship-2026 .pg-video-play{padding:19px;font-size:16px;gap:11px}
 body.flagship-2026 .pg-video-play small{font-size:11px}
}

/* Practical venue information: facts stay in the page; presentation groups the decisions. */
/* Pricing remains one exact product per row. Quantity, conditions and dated sources travel together. */
/* Helpful decisions share a rail, rather than interrupting the factual description. */
/* External resources are labelled as destinations. A map loads only on demand. */
/* Source and background material remain in native, keyboard-accessible disclosures. */

/* Venue continuation and the evidence-preserving fallback for entries without a practical profile. */
body.flagship-2026.page-venue [data-same-sport] .guide-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;align-items:stretch}
body.flagship-2026.page-venue [data-same-sport] .pg-place-card{border:1px solid #dad5ce;border-radius:17px;background:#fff;box-shadow:none;min-height:0}
body.flagship-2026.page-venue [data-same-sport] .pg-place-card:hover{border-color:#55514d;box-shadow:0 8px 20px #0b0b0c08}
body.flagship-2026.page-venue #venue-tools-r84{margin-top:0;padding:0 0 40px!important;border-top:0;background:#f4f1ec}
body.flagship-2026.page-venue #venue-tools-r84>.wrap{max-width:1240px;padding:28px 24px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:7px 28px;align-items:center;border-top:1px solid #dad5ce}

/* Fallback records use the same quiet reading width for practical details and their existing article. */
body.flagship-2026.page-venue:has(.venue-facts) main>section:has(.venue-facts)>.wrap,
body.flagship-2026.page-venue:has(.venue-facts) main>section:has(.venue-body)>.wrap{max-width:1040px;padding-inline:24px}
body.flagship-2026.page-venue:has(.venue-facts) main>section:has(.venue-facts){padding-block:32px 38px}
body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body){font-family:Geist,Arial,sans-serif;font-size:17px;line-height:1.85;max-width:100%;margin:0;padding:0 0 36px;color:#55514d}
body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body)>:is(p,ul,ol){max-width:78ch}
body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body)>h2{font-family:var(--font-display);font-size:30px;line-height:1.25;letter-spacing:-.035em;font-weight:600;color:#0b0b0c;margin:36px 0 16px;padding-top:26px;border-top:1px solid #dad5ce;scroll-margin-top:112px}
body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body)>h3{font-family:var(--font-display);font-size:23px;line-height:1.3;font-weight:600;color:#0b0b0c;margin:26px 0 13px;scroll-margin-top:112px}
body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body)>p{margin:0 0 19px;line-height:1.85}
body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body)>:is(ul,ol){padding-left:22px;margin:0 0 22px}
body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body)>:is(ul,ol)>li{margin-bottom:9px;padding-left:3px;line-height:1.8}
body.flagship-2026.page-venue:has(.venue-facts) .jump-nav-pills{gap:8px}
body.flagship-2026.page-venue:has(.venue-facts) .jump-nav-pills a{border:1px solid #dad5ce;border-radius:8px;padding:9px 12px;background:#fff;color:#0b0b0c;font-size:13px;line-height:1.5;min-height:44px;text-decoration:none}
body.flagship-2026.page-venue:has(.venue-facts) .jump-nav-pills a .n{font-size:11px;color:#55514d}
body.flagship-2026.page-venue:has(.venue-facts) .jump-nav-pills a.is-active{background:#0b0b0c;color:#fff;border-color:#0b0b0c}
body.flagship-2026.page-venue:has(.venue-facts) .jump-nav-pills a.is-active .n{color:#fff}

@media(max-width:1000px){
 body.flagship-2026.page-venue [data-same-sport] .guide-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 body.flagship-2026.page-venue #venue-tools-r84{padding-bottom:30px!important}
 body.flagship-2026.page-venue #venue-tools-r84>.wrap{display:block;padding:24px 20px 0}
 body.flagship-2026.page-venue [data-same-sport] .guide-hub-grid{grid-template-columns:1fr;gap:15px}
 body.flagship-2026.page-venue:has(.venue-facts) main>section:has(.venue-facts)>.wrap,
 body.flagship-2026.page-venue:has(.venue-facts) main>section:has(.venue-body)>.wrap{padding-inline:20px}
 body.flagship-2026.page-venue:has(.venue-facts) main>section:has(.venue-facts){padding-block:24px 28px}
 body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body){font-size:16px;line-height:1.85;padding-bottom:24px}
 body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body)>h2{font-size:28px;line-height:1.22;margin:27px 0 14px;padding-top:22px;scroll-margin-top:96px}
 body.flagship-2026.page-venue:has(.venue-facts) .venue-body:not(.pg-practical-body)>h3{font-size:22px;scroll-margin-top:96px}
 body.flagship-2026.page-venue:has(.venue-facts) .jump-nav-pills a{font-size:12px;padding:8px 10px;min-height:44px}
}

/* Publication design: retain Circuit PG, forest green, lime and local fonts. */
body.publication{--publication-ink:#0b0b0c;--publication-paper:#f4f1ec;--publication-line:#dad5ce;color:var(--publication-ink);background:var(--publication-paper)}
.publication .pg-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:none}.publication a{ text-underline-offset:4px}.publication :focus-visible{outline:3px solid #55514d;outline-offset:4px}.publication :target{scroll-margin-top:110px}.publication-wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.publication h1,.publication h2,.publication h3{font-family:Geist,Geist,sans-serif;letter-spacing:-.045em}.publication p{line-height:1.65}.publication-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 20px;background:#0b0b0c;color:#fff!important;border:1px solid #0b0b0c;border-radius:5px;font-weight:600;font-size:14px;min-height:48px;text-decoration:none}.publication-button:hover{background:#55514d}.publication-secondary{background:transparent;color:#0b0b0c!important;border-color:#bdb8b3}.publication .favorite-btn{border-radius:5px;min-width:48px;min-height:44px;display:inline-flex;gap:8px;align-items:center;justify-content:center}.publication .favorite-btn[aria-pressed=true]{background:#dad5ce;color:#0b0b0c}.publication .favorite-btn[aria-pressed=true] .pg-icon{fill:currentColor}.publication .fav-heart{font-size:0;display:inline-flex}.publication .fav-heart:before{display:none!important}.publication .fav-heart .pg-icon{font-size:16px}
/* One venue template, no photographic placeholders and no duplicate article. */.publication-venue-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:65px;padding-block:40px 70px;align-items:start}.publication-detail{padding:0 0 44px;margin:0 0 40px;border-bottom:1px solid var(--publication-line)}.publication-detail h2{font-size:32px;line-height:1.15;margin:0 0 25px}.publication-product{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:22px;padding:24px 0;border-top:1px solid var(--publication-line)}.publication-product:first-child{border-top:0;padding-top:0}.publication-product h3{font-size:20px;letter-spacing:-.02em;line-height:1.3;margin:0 0 8px}.publication-product p{font-size:14px;margin:0;max-width:430px;color:#55514d}.publication-product small{font-size:12px}.publication-product-price{text-align:right;display:flex;flex-direction:column;gap:6px}.publication-product-price strong{font:500 34px/1.1 Geist,sans-serif;letter-spacing:-.04em}.publication-product-price strong small{font:600 10px Geist,sans-serif;letter-spacing:0}.publication-product-price>span{font-size:12px}.publication-product-price a{font-size:10px;color:#55514d;margin-top:5px}.publication-more{border:1px solid #bdb8b3;border-radius:5px;padding:0 20px;background:#f4f1ec;margin-top:10px}.publication-more summary{cursor:pointer;min-height:60px;padding:18px 0;font-size:14px;font-weight:600}.publication-more summary>span{font-size:11px;font-weight:400;margin-left:10px}.publication-more[open] summary{border-bottom:1px solid var(--publication-line);margin-bottom:22px}.publication-visit{background:#dad5ce;padding:28px;border-radius:6px;position:sticky;top:110px}.publication-visit h2{font-size:26px;line-height:1.2;margin:0 0 20px}.publication-visit .publication-facts{font-size:13px}.publication-facts{margin:0}.publication-facts>div{margin:0 0 20px}.publication-facts dt{font-size:11px;font-weight:600;color:#55514d;margin-bottom:6px}.publication-facts dd{font-size:14px;line-height:1.55;margin:0;overflow-wrap:anywhere}.publication-facts dd a{font-size:inherit}.publication-facts dd .pg-icon{width:15px;height:15px;margin-left:5px}.publication-visit-actions{display:grid;gap:10px;margin:24px 0}.publication-visit .publication-button{font-size:13px;padding-inline:12px;justify-content:space-between}.publication-hours{border-top:1px solid #bdb8b3;padding-top:22px;display:flex;gap:14px}.publication-hours>.pg-icon{margin-top:3px}.publication-contacts{border-top:1px solid #bdb8b3;border-bottom:1px solid #bdb8b3;padding:16px 0}.publication-contacts summary{font-size:14px;font-weight:600;cursor:pointer}.publication-contacts[open] summary{margin-bottom:20px}.publication-training{display:grid;grid-template-columns:1fr 1fr;gap:30px}.publication-training>div{border-top:2px solid #55514d;padding-top:18px}.publication-training h3{font-size:20px;margin:0 0 20px}.publication-training>div:last-child:nth-child(odd){grid-column:1/-1}.publication-training .publication-facts>div{margin-bottom:18px}.publication-questions{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px}.publication-questions strong{font-size:15px}.publication-questions p{font-size:14px;margin:8px 0}.publication-editorial-notes{font-size:14px;line-height:1.65;color:#55514d}.publication-sources{border:1px solid var(--publication-line);border-radius:5px;padding:20px;font-size:13px}.publication-sources summary{font-weight:600;cursor:pointer}.publication-sources li{margin:20px 0;overflow-wrap:anywhere}.publication-sources li span{display:block;font-size:11px;margin-top:6px}.publication-related{margin-top:30px;display:flex;gap:25px;font-size:13px;font-weight:600}.publication-anchor{display:block;scroll-margin-top:110px}
/* Existing live tool controllers remain the single interaction implementation. */
.publication .result-card{border-radius:5px!important;box-shadow:none!important;border-color:#bdb8b3!important;overflow:hidden}.publication .result-card:before{display:none!important}.publication .footer{border-top:1px solid #dad5ce}.publication .back-to-top{font-size:0}.publication .back-to-top .pg-icon{font-size:16px}
@media(min-width:1000px){.publication .result-card{display:flex!important;flex-direction:column!important}}
@media(max-width:1000px){.publication-wrap{width:calc(100% - 48px)}.publication-venue-layout{gap:30px;grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:760px){.publication-wrap{width:calc(100% - 40px)}.publication-venue-layout{display:flex;flex-direction:column;gap:30px;padding-top:26px}.publication-venue-content{display:contents}.publication-detail{width:100%;padding-bottom:28px;margin-bottom:0}.publication-detail#prices-passes{order:0}.publication-visit{position:static;order:1;width:100%;padding:24px}.publication-detail#training-facilities{order:2}.publication-detail#before-you-go{order:3}.publication-detail#photos-reviews{order:4}.publication-sources{order:5;width:100%}.publication-related{order:6;flex-wrap:wrap;margin-top:0}.publication-anchor{order:3}.publication-detail h2{font-size:29px}.publication-product{grid-template-columns:minmax(0,1fr) 115px;gap:14px}.publication-product h3{font-size:18px}.publication-product p{font-size:13px}.publication-product-price strong{font-size:28px}.publication-product-price>span{font-size:11px}.publication-product-price a{font-size:9px}.publication-more{padding-inline:14px}.publication-more summary{font-size:12px}.publication-more summary>span{display:block;margin:7px 0 0}.publication-training{grid-template-columns:1fr;gap:20px}.publication-questions{grid-template-columns:1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){.publication *{scroll-behavior:auto!important;transition:none!important}}.publication-venue .pg-google-map{margin:0 0 30px;max-width:100%;width:100%}.publication-venue .pg-google-map iframe{max-width:100%}@media(max-width:760px){.publication-detail h2{font-size:26px;margin-bottom:22px}.publication-venue .pg-google-map{order:4}}
.publication .pg-compare-selected,.publication .pg-compare-picker-panel,.publication .pg-compare-field,.publication .favorite-card{border-radius:5px!important;box-shadow:none!important}.publication .pg-compare-card-actions{display:flex;flex-wrap:wrap;gap:10px}.publication .pg-compare-link-button{min-height:44px}.publication .pg-compare-tray{bottom:85px}@media(min-width:761px){.publication .pg-compare-tray{bottom:15px}}@media(max-width:760px){.publication .pg-compare-selected{padding:15px!important}.publication .pg-compare-picker-panel{padding:20px!important}}

.publication button,.publication .publication-button{font-family:Geist,sans-serif}

.publication .favorite-list-card,.publication .hub-hero{border-radius:6px!important;box-shadow:none!important}

@media(max-width:760px){.publication-product-price a{font-size:11px;line-height:1.5}.publication-product-price>span{font-size:12px}}
/* Focused refinement: same identity, less introductory overhead. */.publication .favorite-list-card{padding-top:18px}.publication .favorite-list-card p{margin-block:10px}.publication .pg-compare-tray{position:static!important;transform:none!important;width:auto!important;max-width:1240px;margin:20px auto 90px!important}.publication .result-card{padding:18px!important;gap:8px!important}.publication-venue-layout{padding-top:22px}.publication-detail{margin-bottom:24px;padding-bottom:24px}.publication-detail h2{font-size:30px;margin:0 0 16px}.publication-product{padding-block:16px}.publication .pg-compare-selected-grid{gap:10px}.publication .pg-compare-selected{padding:14px!important}.publication .pg-compare-selected h3{font-size:20px!important;margin:0!important}.publication .pg-compare-card-actions{gap:12px}.publication .pg-compare-selected .pg-compare-area{font-size:13px;margin:6px 0}.publication .pg-compare-actions{margin-top:12px;gap:10px}.publication .pg-compare-selection{padding-block:12px}.publication .pg-compare-add{min-height:44px!important;padding:10px!important}.publication .pg-compare-hero{padding-block:16px!important}.publication .pg-compare-hero h1{margin-block:0 8px!important;font-size:40px!important}
@media(max-width:760px){.publication .result-card{padding:15px!important}.publication .pg-compare-selected-grid{grid-template-columns:1fr!important;gap:8px!important}.publication .pg-compare-selected{padding:10px 12px!important;display:grid!important;grid-template-columns:1fr auto;align-items:center;column-gap:8px}.publication .pg-compare-selected h3{font-size:17px!important;line-height:1.3!important}.publication .pg-compare-selected .pg-compare-area{grid-column:1;margin:2px 0}.publication .pg-compare-card-actions{grid-column:1/-1;gap:18px}.publication .pg-compare-card-actions button{padding:6px 0;min-height:44px}.publication .pg-compare-section-head{margin-bottom:8px!important}.publication .pg-compare-actions{gap:8px}.publication .pg-compare-actions>*{font-size:13px!important;min-height:44px;padding:8px 12px!important}.publication .pg-compare-hero h1{font-size:32px!important}.publication-detail h2{font-size:25px}.publication-venue-layout{gap:20px;padding-top:18px}.publication-detail{padding-bottom:16px}.publication-visit{padding:20px}.publication .pg-compare-tray{margin:16px 20px 88px!important}.publication-sources li span{font-size:12px}}
.publication .pg-compare-intro{padding-bottom:10px!important}.publication .pg-compare-intro h1{font-size:40px!important;margin-bottom:8px!important}.publication .pg-compare-intro>p{margin:0!important}.publication .pg-compare-results{margin-top:18px!important}.publication .pg-compare-selection{border-radius:6px!important}.publication .pg-compare-results>h2{margin-bottom:12px!important}.publication-venue-media{margin:18px 0;border-block:1px solid #bdb8b3;padding:14px 0}.publication-venue-media summary{font-size:14px;font-weight:600;cursor:pointer}.publication-venue-media p{font-size:13px}.publication-venue-media iframe{width:100%;aspect-ratio:16/9;border:0}.publication .favorite-list-card{min-height:0!important}.publication .favorite-list-card .cat-venue-desc{display:none}.publication .pg-compare-actions{display:flex!important;flex-wrap:wrap!important}.publication .pg-compare-actions #compare-reset{margin:0!important}
@media(max-width:760px){.publication .pg-compare-intro h1{font-size:32px!important}.publication .pg-compare-selection{padding:12px!important}.publication .pg-compare-selected .pg-compare-card-actions{justify-content:flex-start!important;grid-column:1/-1}.publication .pg-compare-selected h3{grid-column:1/-1}.publication .pg-compare-results>h2{font-size:24px!important}.publication .pg-compare-actions #compare-reset{padding:8px!important}.publication .pg-compare-actions .pg-compare-button{padding:8px!important;font-size:12px!important}}.publication .pg-compare-results>h2{font-size:26px!important}
@media(max-width:760px){.publication .pg-compare-actions{display:grid!important;grid-template-columns:1fr 1.15fr auto;gap:5px!important;margin-top:10px!important}.publication .pg-compare-actions>*{width:auto!important;margin:0!important;white-space:normal;line-height:1.3}.publication .pg-compare-actions .pg-compare-button{padding:6px!important;font-size:12px!important}.publication .pg-compare-selection .pg-compare-card-actions{margin-top:0!important}.publication .pg-compare-results .pg-compare-field{padding:12px!important}.publication .pg-compare-results>h2{font-size:24px!important}.publication .pg-compare-intro{padding-bottom:8px!important}.publication .pg-compare-selected{padding-block:6px!important}}
.publication #before-you-go{position:relative}.publication-anchor{position:absolute;width:0;height:0;top:0;left:0}

/* Shared map layout is self-contained, including outside legacy venue bodies. */
.pg-google-map{border:1px solid #dad5ce;border-radius:6px;background:#fff;overflow:hidden;max-width:100%;color:#0b0b0c}
.pg-google-map .pg-google-map-intro{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:24px}
.pg-google-map .vd-icon-tile{display:flex;width:40px;height:40px;align-items:center;justify-content:center}
.pg-google-map .vd-icon{display:block;width:24px;height:24px;flex:0 0 24px}
.pg-google-map .vd-map-copy{min-width:0}.pg-google-map h3{font-size:24px;line-height:1.2;margin:0 0 12px;color:#0b0b0c}
.pg-google-map p{margin:8px 0;font-size:15px}.pg-google-map .pg-google-map-note{font-size:13px}
.pg-google-map button{min-height:44px;padding:10px 16px;background:#0b0b0c;color:#fff;border:0;border-radius:4px;font:inherit;cursor:pointer}
.pg-google-map .pg-google-map-links{display:flex;flex-wrap:wrap;gap:16px;padding:0 24px 24px}
.pg-google-map .pg-google-map-frame iframe{display:block;width:100%;height:400px;border:0}
.pg-google-map [hidden]{display:none!important}
@media(max-width:760px){.pg-google-map .pg-google-map-intro{padding:20px;gap:10px;grid-template-columns:32px minmax(0,1fr)}.pg-google-map .vd-icon-tile{width:32px;height:32px}.pg-google-map .pg-google-map-frame iframe{height:350px}}

.publication-venue .evidence-ledger{order:5;width:100%;margin:0 0 16px}
@media(max-width:760px){body.publication .hub-hero{padding:24px 20px!important}body.publication .hub-hero .hero-lede{font-size:16px;line-height:1.55;margin-bottom:12px}}
/* Corpus venue rollout: shared shell, compact onward journeys, no photo requirement. */
.publication-variant-status .pg-status-note{padding:16px;background:#dad5ce;border-left:3px solid #0b0b0c;font-size:18px}
.publication-editorial-block{margin:0 0 26px}.publication-editorial-block h3{font-size:22px;margin:0 0 12px}.publication-editorial-block p{margin:0 0 16px}.publication-editorial-block ul{padding-left:22px}.publication-editorial-block li{margin:8px 0}
.publication-price-context{font-size:15px;margin-top:20px}
.publication-venue .pg-price-table{border:0;background:transparent}.publication-venue .pg-price-row{padding:18px 0;border-bottom:1px solid #dad5ce;gap:24px}.publication-venue .pg-price-row h3{font-size:20px;margin:0 0 8px}.publication-venue .pg-price-row p{font-size:14px;margin:6px 0}.publication-venue .pg-price-table-head{display:none}.publication-venue .pg-price-amount{min-width:135px}.publication-venue .publication-more{margin:14px 0}.publication-venue .publication-contacts h3{font-size:18px}.publication-venue .publication-contacts p{font-size:14px}.publication-source-facts{margin-top:24px}.publication-source-facts summary{font-size:15px}
.publication-onward{margin:40px 0 24px;border-top:1px solid #dad5ce;padding-top:24px}.publication-onward h2{font-size:30px}.publication-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.publication-onward-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:16px 0}.publication-onward-links a{font-size:14px;min-height:44px;display:flex;align-items:center;gap:8px}
body.publication .publication-compact-card{min-height:0!important;border-radius:5px!important;display:flex!important;flex-direction:column!important;background:#fff!important;padding:0!important}
.publication-editorial-block table{border-collapse:collapse;width:100%;font-size:14px}.publication-editorial-block th,.publication-editorial-block td{border-bottom:1px solid #dad5ce;padding:10px;text-align:left;overflow-wrap:anywhere}
@media(max-width:760px){.publication-compact-grid{grid-template-columns:minmax(0,1fr)}.publication-onward-links{grid-template-columns:minmax(0,1fr)}.publication-venue .pg-price-row{grid-template-columns:minmax(0,1fr);gap:8px}.publication-venue .pg-price-amount{text-align:left}.publication-editorial-block h3{font-size:21px}.publication-editorial-block table{font-size:12px}.publication-editorial-block th,.publication-editorial-block td{padding:6px}.publication-variant-status .publication-venue-layout{padding-top:18px}}.publication-contact-social{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;font-size:13px}.publication-visit>.publication-facts{display:block;background:transparent;border:0;padding:0;box-shadow:none}
/* Compact discovery rows: the same facts, fewer stacked decorative bands. */
@media(max-width:760px){.publication-variant-status .publication-visit,.publication-variant-public-space .publication-visit{order:4}.publication-variant-status #training-facilities,.publication-variant-public-space #training-facilities{order:0}}


/* Shared map layout is self-contained, including outside legacy venue bodies. */
.pg-google-map{border:1px solid #dad5ce;border-radius:6px;background:#fff;overflow:hidden;max-width:100%;color:#0b0b0c}
.pg-google-map .pg-google-map-intro{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:24px}
.pg-google-map .vd-icon-tile{display:flex;width:40px;height:40px;align-items:center;justify-content:center}
.pg-google-map .vd-icon{display:block;width:24px;height:24px;flex:0 0 24px}
.pg-google-map .vd-map-copy{min-width:0}.pg-google-map h3{font-size:24px;line-height:1.2;margin:0 0 12px;color:#0b0b0c}
.pg-google-map p{margin:8px 0;font-size:15px}.pg-google-map .pg-google-map-note{font-size:13px}
.pg-google-map button{min-height:44px;padding:10px 16px;background:#0b0b0c;color:#fff;border:0;border-radius:4px;font:inherit;cursor:pointer}
.pg-google-map .pg-google-map-links{display:flex;flex-wrap:wrap;gap:16px;padding:0 24px 24px}
.pg-google-map .pg-google-map-frame iframe{display:block;width:100%;height:400px;border:0}
.pg-google-map [hidden]{display:none!important}
@media(max-width:760px){.pg-google-map .pg-google-map-intro{padding:20px;gap:10px;grid-template-columns:32px minmax(0,1fr)}.pg-google-map .vd-icon-tile{width:32px;height:32px}.pg-google-map .pg-google-map-frame iframe{height:350px}}

/* Canonical sports layout primitives. */
body.sports-layout{--vc-ink:#0b0b0c;--vc-muted:#55514d;--vc-line:#dad5ce;--vc-accent:#55514d;--vc-paper:#fff;--ink:#0b0b0c;--paper:#fff;--brand:#0b0b0c;--accent:#55514d;background:#fff!important;color:var(--vc-ink)!important;font-family:Geist,Arial,sans-serif!important;font-size:16px;line-height:1.6}
.sports-layout *{box-sizing:border-box}.sports-layout h1,.sports-layout h2,.sports-layout h3{font-family:Geist,Arial,sans-serif!important;color:var(--vc-ink)!important;font-style:normal!important;letter-spacing:-.045em;line-height:1.12}
.sports-layout p{color:inherit}.sports-layout a{color:inherit}.sports-layout a:hover{color:var(--vc-accent)}.sports-layout :focus-visible{outline:3px solid #55514d!important;outline-offset:5px!important}.sports-layout svg{flex:none}.sports-layout .pg-icon{width:22px!important;height:22px!important;vertical-align:middle}.sports-layout [id]{scroll-margin-top:100px}.sports-layout [hidden]{display:none!important}
.sports-layout .nav{background:rgba(255, 255, 255, .98)!important;border-bottom:1px solid var(--vc-line)!important;box-shadow:none!important;backdrop-filter:none!important}.sports-layout .nav-row{max-width:1320px!important;height:82px!important;padding:0 36px!important;gap:30px}.sports-layout .brand{gap:10px!important}.sports-layout .brand img{filter:grayscale(1) brightness(.35)}.sports-layout .brand .dot{color:#55514d!important}.sports-layout .nav-links{gap:24px!important}.sports-layout .nav-links a{font-family:Geist,Arial,sans-serif!important;font-size:13px!important;font-weight:600!important;color:#0b0b0c!important}.sports-layout .nav-cta{border-radius:3px!important;background:#0b0b0c!important;color:white!important;font-family:Geist,Arial,sans-serif!important;font-size:13px!important;padding:12px 20px!important}.sports-layout .nav-burger{border-radius:3px!important;color:#0b0b0c!important}.sports-layout .nav-mobile{background:#fff!important}.sports-layout .nav-mobile-link,.sports-layout .nav-mobile-group{color:#0b0b0c!important}.sports-layout .rg-mobile-dock{background:#fff!important;border-top:1px solid #dad5ce!important}.sports-layout .rg-mobile-dock a{color:#0b0b0c!important}.sports-layout .back-to-top{background:white!important;color:#0b0b0c!important;border:1px solid #dad5ce!important;box-shadow:none!important}
.sports-layout .site-breadcrumb{max-width:1248px!important;margin:22px auto!important;padding:0!important;font-size:12px!important;color:#55514d!important}.sports-layout .hero-kicker{font:600 11px/1.5 Geist,Arial,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase;color:#55514d!important;margin:0 0 18px!important}.sports-layout .publication-button{display:inline-flex!important;align-items:center;justify-content:space-between;gap:22px;min-height:48px;border-radius:3px!important;border:1px solid #0b0b0c!important;background:#0b0b0c!important;color:white!important;padding:12px 20px!important;font:600 14px/1.4 Geist,Arial,sans-serif!important;text-decoration:none!important;box-shadow:none!important}.sports-layout .publication-button:hover{background:#55514d!important}.sports-layout .publication-secondary{background:white!important;color:#0b0b0c!important}.sports-layout .favorite-btn{color:#0b0b0c!important;border:1px solid #bdb8b3!important;background:white!important;border-radius:3px!important;min-width:44px;min-height:44px}.sports-layout .favorite-btn[aria-pressed=true]{background:#0b0b0c!important;color:white!important}
/* Home: one photograph, one clear search, small practical rows. */
/* Venue: identity and practical facts first; no fake photo block. */.sports-layout .publication-venue-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:70px!important;align-items:start!important;margin:0!important}.sports-layout .publication-venue-content{min-width:0}.sports-layout .publication-detail{background:none!important;border:0!important;padding:0 0 36px!important;margin:0 0 30px!important;border-bottom:1px solid var(--vc-line)!important}.sports-layout .publication-detail h2{font-size:30px!important;margin:0 0 22px!important}.sports-layout .publication-detail h3{font-size:20px!important;margin:26px 0 12px!important}.sports-layout .publication-detail p,.sports-layout .publication-detail li{font-size:15px!important;line-height:1.75!important;color:#55514d!important}.sports-layout .publication-detail table{width:100%;border-collapse:collapse;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}.sports-layout .publication-detail th{font-size:11px!important;text-transform:uppercase;letter-spacing:.05em;background:#f4f1ec!important;color:#55514d!important;padding:12px 16px!important;text-align:left!important}.sports-layout .publication-detail td{padding:14px 16px!important;border-bottom:1px solid #dad5ce!important;font-size:15px!important;background:white!important;color:#0b0b0c!important}.sports-layout .publication-detail th:last-child,.sports-layout .publication-detail td:last-child{text-align:right!important;font-variant-numeric:tabular-nums;font-weight:600}.sports-layout .publication-visit{position:sticky!important;top:110px!important;margin:0!important;padding:0 0 0 24px!important;border:0!important;border-left:1px solid #dad5ce!important;border-radius:0!important;background:white!important;box-shadow:none!important}.sports-layout .publication-visit h2{font-size:25px!important;margin:0 0 24px!important}.sports-layout .publication-facts{margin:0}.sports-layout .publication-facts>div{border:0!important;padding:0 0 20px!important;background:none!important}.sports-layout .publication-facts dt{color:#55514d!important;font-size:11px!important;font-weight:500!important;margin-bottom:5px}.sports-layout .publication-facts dd{color:#0b0b0c!important;font-size:14px!important;line-height:1.6!important;margin:0}.sports-layout .publication-visit-actions{display:grid;gap:10px;margin:8px 0 24px}.sports-layout .publication-visit .publication-button{width:100%}.sports-layout details{border-radius:0!important;box-shadow:none!important}.sports-layout summary{min-height:48px;cursor:pointer;padding:14px 0!important;font-size:14px!important;line-height:1.55!important;color:#0b0b0c!important}.sports-layout .publication-more,.sports-layout .publication-sources,.sports-layout .publication-contacts{border:0!important;border-top:1px solid #dad5ce!important;border-bottom:1px solid #dad5ce!important;background:none!important;padding:0!important;margin:18px 0!important}.sports-layout .publication-sources li{padding:16px 0!important;font-size:12px;overflow-wrap:anywhere}.sports-layout .publication-sources li span{display:block;color:#55514d}.sports-layout .evidence-ledger{border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;background:none!important}.sports-layout .publication-training{display:block!important}.sports-layout .publication-training>div{padding:0 0 14px!important}.sports-layout .publication-questions{display:block!important;padding-left:18px!important}.sports-layout .publication-questions li{margin-bottom:18px}.sports-layout .pg-google-map{border:1px solid #dad5ce!important;border-radius:0!important;background:#f4f1ec!important;padding:24px!important}.sports-layout .pg-google-map svg{width:24px!important;height:24px!important}.sports-layout .publication-onward{border-top:1px solid #0b0b0c;margin:40px 0;padding-top:28px}.sports-layout .publication-onward h2{font-size:25px!important}.sports-layout .publication-compact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.sports-layout .publication-compact-card{padding:20px 0!important;background:none!important;border:0!important;border-top:1px solid #dad5ce!important;border-radius:0!important;box-shadow:none!important}.sports-layout .publication-compact-card h3{font-size:20px!important}.sports-layout #recently-viewed-mount{margin:28px 0}
/* Article: readable text, an answer at the top, contents in the margin. */.sports-layout .hero-lede{font-size:17px!important;line-height:1.6!important;max-width:760px!important;margin:16px 0!important;color:#55514d!important}.sports-layout .venue-body{width:100%!important;max-width:700px!important;margin:0!important;padding:0!important;font-size:16px!important;line-height:1.85!important;background:none!important;color:#0b0b0c!important}.sports-layout .venue-body h2{font-size:29px!important;line-height:1.2!important;margin:44px 0 18px!important;max-width:650px}.sports-layout .venue-body>h2:first-of-type{margin-top:6px!important}.sports-layout .venue-body p{font-size:16px!important;line-height:1.85!important;margin:0 0 20px!important}.sports-layout .venue-body ul{padding-left:22px;margin:18px 0 26px}.sports-layout .venue-body li{padding-left:4px;margin:12px 0;line-height:1.75}.sports-layout .venue-body a{text-decoration:underline;text-decoration-color:#55514d;text-underline-offset:3px}
/* Shared finish: no repeated pale boxes or ornamental colour bands. */
.sports-layout .footer{background:#f4f1ec!important;border-top:1px solid #dad5ce!important;color:#0b0b0c!important;margin-top:30px!important;padding:40px 0!important}.sports-layout .footer-wrap{max-width:1248px!important;padding:0!important}.sports-layout .footer a,.sports-layout .footer h2,.sports-layout .footer p,.sports-layout .footer span{color:#55514d!important}.sports-layout .footer-nav h2{font-size:12px!important;text-transform:uppercase;letter-spacing:.08em}.sports-layout .publication-hours{background:none!important}.sports-layout .publication-hours>.pg-icon{display:none}.sports-layout .publication-product{border-radius:0!important;background:none!important}.sports-layout .progress-bar{background:#55514d!important}
@media(max-width:1100px){.sports-layout .nav-links{gap:14px!important}.sports-layout .nav-row{gap:16px!important}.sports-layout .publication-venue-layout{gap:35px!important;grid-template-columns:minmax(0,1fr) 270px!important}}
@media(max-width:760px){.sports-layout{padding-bottom:76px!important}.sports-layout .nav-row{height:64px!important;padding:0 20px!important}.sports-layout .brand img{width:29px!important;height:29px!important}.sports-layout .site-breadcrumb{padding:0 20px!important;margin:16px 0!important;font-size:10px!important}.sports-layout .publication-venue-layout{display:flex!important;flex-direction:column!important;gap:20px!important}.sports-layout .publication-venue-content{width:100%;order:0}.sports-layout .publication-visit{width:100%;position:static!important;order:1;border-left:0!important;border-top:2px solid #0b0b0c!important;padding:25px 0!important}.sports-layout .publication-detail{padding-bottom:24px!important;margin-bottom:26px!important}.sports-layout .publication-detail h2{font-size:26px!important;margin-bottom:18px!important}.sports-layout .publication-detail h3{font-size:20px!important}.sports-layout .publication-detail td{padding:12px 9px!important;font-size:14px!important}.sports-layout .publication-detail th{padding:10px 9px!important}.sports-layout .publication-detail p{font-size:15px!important;line-height:1.7!important}.sports-layout .publication-compact-grid{display:block}.sports-layout .publication-compact-card{margin-bottom:20px!important}.sports-layout .publication-onward{margin:20px 0!important}.sports-layout .hero-lede{font-size:16px!important}.sports-layout .venue-body h2{font-size:25px!important;line-height:1.22!important;margin-top:34px!important}.sports-layout .venue-body p{font-size:16px!important;line-height:1.8!important}.sports-layout .footer{padding:30px 20px!important;margin-top:12px!important}.sports-layout .footer-wrap{width:100%!important}.sports-layout .footer-nav{gap:20px!important}.sports-layout .footer h2{font-size:13px!important}.sports-layout .footer a{font-size:12px}.sports-layout .rg-mobile-dock{height:62px!important}.sports-layout .back-to-top{bottom:78px!important}.sports-layout .publication-sources{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.sports-layout *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Refinements after inspecting the actual rendered pages. */
html:has(body.sports-layout){background:#fff!important}
.sports-layout .brand svg{filter:grayscale(1) brightness(.35)}
.sports-layout .publication-training>div{border:0!important}
/* Visible control boundaries on white exceed 3:1. */
.sports-layout .favorite-btn,.sports-layout .nav-burger{border-color:#55514d!important}
/* Focused refinement: directory first, regional feature second. */
body.sports-layout.reference-rebuild.product-redesign-2027 .venue-body{max-width:760px;margin:0 auto!important;padding:0 0 48px!important}
body.sports-layout.reference-rebuild.product-redesign-2027 .venue-body h2{font-size:28px;line-height:1.2;margin:34px 0 14px;letter-spacing:-.025em}
body.sports-layout.reference-rebuild.product-redesign-2027 .venue-body p,body.sports-layout.reference-rebuild.product-redesign-2027 .venue-body li{font-size:16px;line-height:1.75}
@media(max-width:760px){
body.sports-layout.reference-rebuild.product-redesign-2027 .venue-body h2{font-size:25px;margin-top:28px}
}
/* Scope beats the legacy search bundle, which carries high-specificity overrides. */
@media(max-width:760px){body.sports-layout .venue-body{width:100%!important}}


body.sports-design.publication.reference-rebuild{--sp-dark:#0b0b0c;--sp-ink:#0b0b0c;--sp-paper:#f4f1ec;--sp-acid:#bdb8b3;--sp-line:#dad5ce;--brand:#0b0b0c;--ink:#0b0b0c;--muted:#55514d;--bg:#f4f1ec;--surface:#f4f1ec;--lime:#bdb8b3;--vc-line:#dad5ce;background:#f4f1ec!important;color:#0b0b0c!important;font-family:Geist,Arial,sans-serif!important}
body.sports-design.publication.reference-rebuild h1,body.sports-design.publication.reference-rebuild h2,body.sports-design.publication.reference-rebuild h3{font-family:BarlowSport,Impact,sans-serif!important;font-weight:700!important;letter-spacing:.005em!important}
body.sports-design.publication.reference-rebuild h2{font-size:36px!important;line-height:1.08!important}body.sports-design.publication.reference-rebuild h3{font-size:28px!important;line-height:1.12!important}
body.sports-design.publication.reference-rebuild a{color:inherit}body.sports-design.publication.reference-rebuild :focus-visible{outline:3px solid #55514d!important;outline-offset:4px!important}body.sports-design.publication.reference-rebuild svg.pg-icon{width:20px;height:20px}
body.sports-design.publication.reference-rebuild header.nav{background:#0b0b0c!important;color:#f4f1ec!important;border-bottom:1px solid #55514d!important;backdrop-filter:none!important}
body.sports-design.publication.reference-rebuild .nav-row{max-width:1280px;min-height:80px!important}body.sports-design.publication.reference-rebuild .brand img{filter:brightness(0) invert(1)!important}body.sports-design.publication.reference-rebuild .brand .dot{color:#bdb8b3!important}
body.sports-design.publication.reference-rebuild .nav-links a{color:#f4f1ec!important;font-size:13px!important}body.sports-design.publication.reference-rebuild .nav-cta{background:#bdb8b3!important;color:#0b0b0c!important;border:0!important;border-radius:4px!important;font-size:13px!important}body.sports-design.publication.reference-rebuild .nav-burger{color:#fff!important;border:1px solid #55514d!important;border-radius:4px!important;background:none!important}body.sports-design.publication.reference-rebuild .nav-burger-bar{background:#f4f1ec!important}
body.sports-design.publication.reference-rebuild #nav-mobile{background:#0b0b0c!important;color:#fff!important}body.sports-design.publication.reference-rebuild #nav-mobile a{color:#fff!important}
body.sports-design.publication.reference-rebuild .footer{background:#0b0b0c!important;color:#dad5ce!important;border:0!important;margin-top:0!important}body.sports-design.publication.reference-rebuild .footer p,body.sports-design.publication.reference-rebuild .footer a,body.sports-design.publication.reference-rebuild .footer h2,body.sports-design.publication.reference-rebuild .footer small{color:#dad5ce!important}body.sports-design.publication.reference-rebuild .footer h2{font:600 12px/1.5 Geist,sans-serif!important}body.sports-design.publication.reference-rebuild .footer .brand img{filter:brightness(0) invert(1)!important}
body.sports-design.publication.reference-rebuild .pg-compare-tray{background:#bdb8b3!important;color:#0b0b0c!important}body.sports-design.publication.reference-rebuild .pg-compare-tray a,body.sports-design.publication.reference-rebuild .pg-compare-tray button{color:#0b0b0c!important}
/* Venue identity is a single composition, followed by a warm reading surface. */
body.sports-design.publication.reference-rebuild .publication-button{background:#bdb8b3!important;color:#0b0b0c!important;border:1px solid #bdb8b3!important;border-radius:4px!important;font-size:13px!important}
body.sports-design.publication.reference-rebuild .publication-venue-layout{gap:45px!important;grid-template-columns:minmax(0,1fr) 300px!important;padding:0 12px!important}
body.sports-design.publication.reference-rebuild .publication-detail{border-color:#dad5ce!important;padding-bottom:26px!important;margin-bottom:26px!important}body.sports-design.publication.reference-rebuild .publication-detail h2{font-size:36px!important;margin-bottom:18px!important}body.sports-design.publication.reference-rebuild .publication-detail h3{font-size:26px!important}body.sports-design.publication.reference-rebuild .publication-detail p,body.sports-design.publication.reference-rebuild .publication-detail li{color:#55514d!important;font-size:15px!important}
body.sports-design.publication.reference-rebuild .publication-detail th{background:#0b0b0c!important;color:#f4f1ec!important}body.sports-design.publication.reference-rebuild .publication-detail td{background:#ffffff!important;color:#0b0b0c!important;border-color:#dad5ce!important}body.sports-design.publication.reference-rebuild .publication-detail tr:nth-child(even) td{background:#dad5ce!important}
body.sports-design.publication.reference-rebuild .publication-visit{background:#dad5ce!important;border:0!important;border-radius:6px!important;padding:22px!important;top:100px!important}body.sports-design.publication.reference-rebuild .publication-visit h2{font-size:29px!important}body.sports-design.publication.reference-rebuild .publication-facts dd{color:#0b0b0c!important}body.sports-design.publication.reference-rebuild .publication-facts dt{color:#55514d!important}
body.sports-design.publication.reference-rebuild .publication-visit-actions a{border-radius:4px!important}body.sports-design.publication.reference-rebuild .publication-visit-actions a:nth-child(n+2){background:transparent!important;border:1px solid #55514d!important;color:#0b0b0c!important}
body.sports-design.publication.reference-rebuild .publication-onward{border:0!important;margin:24px 0!important;padding:20px 12px!important}body.sports-design.publication.reference-rebuild .publication-compact-card{background:#dad5ce!important;padding:18px!important;border:0!important;border-radius:6px!important}body.sports-design.publication.reference-rebuild .publication-compact-card h3{font-size:26px!important}
body.sports-design.publication.reference-rebuild .pg-google-map{background:#dad5ce!important;border-color:#bdb8b3!important}body.sports-design.publication.reference-rebuild .pg-google-map svg{width:24px!important;height:24px!important}body.sports-design.publication.reference-rebuild .publication-sources,body.sports-design.publication.reference-rebuild .publication-more{border-color:#bdb8b3!important}
/* Reading: contextual cover, options together, one continuous article. */body.sports-design.publication.reference-rebuild .venue-body{max-width:940px!important;padding-bottom:0!important}body.sports-design.publication.reference-rebuild .venue-body>p,body.sports-design.publication.reference-rebuild .venue-body>h2,body.sports-design.publication.reference-rebuild .venue-body>ol{max-width:720px;margin-left:auto!important;margin-right:auto!important}body.sports-design.publication.reference-rebuild .venue-body>h2{font-size:32px!important;margin-top:32px!important}
body.sports-design.publication.reference-rebuild .venue-body>ol{background:#dad5ce;padding:24px 28px 20px 45px;border-radius:6px}
/* Compact discovery and shared shortlist states. */
body.sports-design.publication.reference-rebuild .pg-compare-intro h1{font:700 58px/1 BarlowSport,sans-serif!important;color:#0b0b0c!important}
body.sports-design.publication.reference-rebuild .pg-compare-selection,body.sports-design.publication.reference-rebuild .pg-compare-results{background:#f4f1ec!important;border-color:#bdb8b3!important}body.sports-design.publication.reference-rebuild .pg-compare-selected-card,body.sports-design.publication.reference-rebuild .fav-card{background:#ffffff!important;border:1px solid #bdb8b3!important;border-radius:6px!important}body.sports-design.publication.reference-rebuild .pg-compare-add{background:#dad5ce!important;border-color:#55514d!important}body.sports-design.publication.reference-rebuild .pg-compare-product-select,body.sports-design.publication.reference-rebuild .pg-compare-product-picker select{background:#ffffff!important}body.sports-design.publication.reference-rebuild .pg-compare-selection button{border-radius:4px!important}
@media(max-width:1000px){body.sports-design.publication.reference-rebuild .publication-venue-layout{gap:25px!important;grid-template-columns:minmax(0,1fr) 270px!important}}
@media(max-width:760px){
body.sports-design.publication.reference-rebuild .nav-row{min-height:68px!important}body.sports-design.publication.reference-rebuild .brand img{width:30px!important;height:30px!important}
body.sports-design.publication.reference-rebuild .publication-venue-layout{display:flex!important;flex-direction:column!important;padding:0 2px!important;gap:20px!important}body.sports-design.publication.reference-rebuild .publication-venue-content{display:contents!important}body.sports-design.publication.reference-rebuild .publication-visit{position:static!important;width:100%!important;margin:0 0 24px!important;padding:20px!important;order:1}body.sports-design.publication.reference-rebuild #prices-passes{order:0}body.sports-design.publication.reference-rebuild .publication-detail{width:100%;order:3}body.sports-design.publication.reference-rebuild .publication-sources{order:4;width:100%}body.sports-design.publication.reference-rebuild .publication-detail h2{font-size:32px!important}body.sports-design.publication.reference-rebuild .publication-detail h3{font-size:25px!important}body.sports-design.publication.reference-rebuild .publication-detail td{padding:12px 10px!important;font-size:14px!important}body.sports-design.publication.reference-rebuild .publication-detail p{font-size:14px!important;line-height:1.75!important}body.sports-design.publication.reference-rebuild .publication-onward{padding:10px 0!important}body.sports-design.publication.reference-rebuild .publication-compact-grid{grid-template-columns:1fr!important;gap:12px!important}body.sports-design.publication.reference-rebuild .publication-compact-card{padding:18px!important}body.sports-design.publication.reference-rebuild .venue-body>h2{font-size:30px!important}body.sports-design.publication.reference-rebuild .venue-body>p,body.sports-design.publication.reference-rebuild .venue-body li{font-size:15px!important;line-height:1.75!important}body.sports-design.publication.reference-rebuild .venue-body>ol{padding:20px 20px 16px 36px}
body.sports-design.publication.reference-rebuild .pg-compare-intro h1{font-size:42px!important}
}
@media(prefers-reduced-motion:reduce){body.sports-design.publication.reference-rebuild *,body.sports-design.publication.reference-rebuild *::before,body.sports-design.publication.reference-rebuild *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

body.sports-design.publication.reference-rebuild .pg-compare-selection h2{font:600 18px/1.3 Geist,sans-serif!important}
body.sports-design.publication.reference-rebuild .pg-compare-selected{background:#ffffff!important;border:1px solid #bdb8b3!important;border-radius:5px!important;padding:12px!important}
body.sports-design.publication.reference-rebuild .pg-compare-selected h3{font:700 24px/1.15 BarlowSport,sans-serif!important}
body.sports-design.publication.reference-rebuild .pg-compare-link-button{color:#0b0b0c!important;min-height:38px!important}
body.sports-design.publication.reference-rebuild .pg-compare-button{background:#bdb8b3!important;color:#0b0b0c!important;border:1px solid #bdb8b3!important;border-radius:4px!important}
body.sports-design.publication.reference-rebuild .pg-compare-field{background:#ffffff!important;border:1px solid #bdb8b3!important;border-radius:5px!important;padding:18px!important}
body.sports-design.publication.reference-rebuild .pg-compare-field h3{font:700 27px/1.15 BarlowSport,sans-serif!important}
body.sports-design.publication.reference-rebuild #pg-compare-price-basis{background:#ffffff!important;color:#0b0b0c!important;border:1px solid #55514d!important;border-radius:4px!important}
body.sports-design.publication.reference-rebuild .favorite-list-card{background:#ffffff!important;border:1px solid #bdb8b3!important;border-radius:6px!important;overflow:hidden}
body.sports-design.publication.reference-rebuild .favorite-list-card .result-card-photo figcaption{background:#dad5ce!important;color:#55514d!important;font-size:11px!important}
body.sports-design.publication.reference-rebuild .favorite-list-card .pg-place-name{font:700 30px/1.1 BarlowSport,sans-serif!important}
body.sports-design.publication.reference-rebuild .favorite-list-card .btn-primary{background:#bdb8b3!important;color:#0b0b0c!important;border-color:#bdb8b3!important}
body.sports-design.publication.reference-rebuild .favorite-list-card .btn{border-radius:4px!important}
@media(max-width:760px){body.sports-design.publication.reference-rebuild .favorite-list-card .result-card-photo img{max-height:170px!important;object-fit:cover!important}body.sports-design.publication.reference-rebuild .pg-compare-selection{padding:12px!important}}
body.sports-design.publication.reference-rebuild .pg-compare-tray a{background:#0b0b0c!important;color:#f4f1ec!important;border-radius:4px!important}
body.sports-design.publication.reference-rebuild .pg-compare-tray button{background:transparent!important;color:#0b0b0c!important;border-color:#55514d!important;border-radius:4px!important}
body.sports-design.publication.reference-rebuild .nav :focus-visible,body.sports-design.publication.reference-rebuild .footer :focus-visible{outline-color:#bdb8b3!important}
body.sports-design.publication.reference-rebuild #nav-mobile a[aria-current=page]{background:#bdb8b3!important;color:#0b0b0c!important;border-radius:4px!important}
body.sports-design.publication.reference-rebuild #nav-mobile .nav-mobile-group{color:#bdb8b3!important;font:600 11px/1.5 Geist,sans-serif!important;letter-spacing:.1em!important}
body.sports-design.publication.reference-rebuild #nav-mobile .nav-mobile-link{font-size:17px!important;min-height:44px!important;padding:11px 12px!important;border-color:#55514d!important}
body.sports-design.publication.reference-rebuild .favorite-list-card .pg-place-description{font-size:14px!important;line-height:1.65!important}
body.sports-design.publication.reference-rebuild #recently-viewed-mount h2,body.sports-design.publication.reference-rebuild #recently-viewed-mount h3{font:600 12px/1.5 Geist,sans-serif!important;letter-spacing:.06em!important}
body.sports-design.publication.reference-rebuild .pg-compare-button.pg-compare-button-secondary{background:transparent!important;color:#0b0b0c!important;border-color:#55514d!important}
body.sports-design.publication.reference-rebuild .pg-compare-desktop th{background:#0b0b0c!important;color:#f4f1ec!important}body.sports-design.publication.reference-rebuild .pg-compare-desktop th a{color:#bdb8b3!important}body.sports-design.publication.reference-rebuild .pg-compare-desktop td{background:#ffffff!important}

/* Family-specific composition. Shared behavior and factual data remain separate. */
body.sports-design.publication.reference-rebuild{--paper:#f4f1ec;--lime:#bdb8b3;scroll-padding-bottom:120px}
body.sports-design.publication.reference-rebuild [id]{scroll-margin-top:110px;scroll-margin-bottom:150px}
body.sports-design.publication.reference-rebuild .hero{padding:28px 0!important;background:#dad5ce!important;color:#0b0b0c!important;text-align:left!important}
body.sports-design.publication.reference-rebuild .hero h1{font-size:clamp(38px,5vw,64px)!important;line-height:1.04!important;color:#0b0b0c!important;max-width:950px!important}
body.sports-design.publication.reference-rebuild .hero .hero-lede{font:400 17px/1.65 Geist,sans-serif!important;max-width:760px!important;margin:14px 0!important;color:#55514d!important}
body.sports-design.publication.reference-rebuild .hero-kicker{font:600 11px/1.5 Geist,sans-serif!important;letter-spacing:.1em!important}
body.sports-design.publication.reference-rebuild .trust-pill{color:#0b0b0c!important;background:#dad5ce!important;border:1px solid #55514d!important}
body.sports-design.publication.reference-rebuild .publication-compact-card,body.sports-design.publication.reference-rebuild .cat-venue-card{background:#ffffff!important;border:1px solid #bdb8b3!important;border-left:3px solid #bdb8b3!important;border-radius:5px!important;box-shadow:none!important;padding:22px!important}
body.sports-design.publication.reference-rebuild .btn,body.sports-design.publication.reference-rebuild button,body.sports-design.publication.reference-rebuild select,body.sports-design.publication.reference-rebuild input,body.sports-design.publication.reference-rebuild textarea{border-radius:4px!important}
body.sports-design.publication.reference-rebuild select,body.sports-design.publication.reference-rebuild input,body.sports-design.publication.reference-rebuild textarea{background:#ffffff;color:#0b0b0c;min-height:44px;font-size:16px}
body.sports-design.publication.reference-rebuild .footer{margin-top:40px!important}
body.sports-design.publication.reference-rebuild .nav{position:sticky!important;top:0}
body.sports-design.publication.reference-rebuild .rg-mobile-dock{padding-bottom:env(safe-area-inset-bottom);height:auto!important;min-height:62px}
body.sports-design.publication.reference-rebuild .pg-compare-tray{bottom:calc(74px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 24px)!important}
body.sports-design.publication.reference-rebuild .pg-toast{top:auto!important;bottom:calc(145px + env(safe-area-inset-bottom))!important;height:auto;max-width:calc(100vw - 24px)!important;white-space:normal!important;background:#0b0b0c;border-radius:4px}
body.sports-design.publication.reference-rebuild .back-to-top{bottom:calc(150px + env(safe-area-inset-bottom))!important}
body.sports-design.publication.reference-rebuild .nav-mobile{max-height:calc(100dvh - 80px)!important;overflow:auto!important;padding-bottom:120px!important}
body.sports-design.publication.reference-rebuild :focus-visible{scroll-margin-top:120px;scroll-margin-bottom:180px}
@media(max-width:760px){body.sports-design.publication.reference-rebuild{padding-bottom:100px!important}body.sports-design.publication.reference-rebuild .nav{position:relative!important}body.sports-design.publication.reference-rebuild .site-breadcrumb{margin:14px 18px!important;width:auto!important}body.sports-design.publication.reference-rebuild .hero{padding:20px 0!important}body.sports-design.publication.reference-rebuild .hero h1{font-size:38px!important}body.sports-design.publication.reference-rebuild .hero-lede{font-size:15px!important}body.sports-design.publication.reference-rebuild .cat-venue-card{padding:18px!important}body.sports-design.publication.reference-rebuild .publication-compact-grid{grid-template-columns:1fr!important}body.sports-design.publication.reference-rebuild .rg-mobile-dock a{min-height:48px!important;font-size:12px!important}body.sports-design.publication.reference-rebuild .footer{margin-top:24px!important}}
@media(max-width:360px){body.sports-design.publication.reference-rebuild .rg-mobile-dock{position:static!important;display:grid!important}body.sports-design.publication.reference-rebuild .pg-compare-tray{position:static!important;margin:12px!important}body.sports-design.publication.reference-rebuild .back-to-top{display:none!important}}
@media(max-height:500px){body.sports-design.publication.reference-rebuild .rg-mobile-dock,body.sports-design.publication.reference-rebuild .pg-compare-tray{position:static!important}body.sports-design.publication.reference-rebuild .nav{position:relative!important}}
body.sports-design.publication.reference-rebuild .rg-mobile-dock{background:#0b0b0c!important;color:#f4f1ec!important;border-color:#55514d!important}body.sports-design.publication.reference-rebuild .rg-mobile-dock a,body.sports-design.publication.reference-rebuild .rg-mobile-dock svg{color:#f4f1ec!important}body.sports-design.publication.reference-rebuild .rg-mobile-dock a[aria-current=page],body.sports-design.publication.reference-rebuild .rg-mobile-dock a[aria-current=page] svg{background:#bdb8b3!important;color:#0b0b0c!important}
body.sports-design.publication.reference-rebuild .location-panel{background:#dad5ce!important;border-radius:5px!important;border-color:#bdb8b3!important;box-shadow:none!important}
body.sports-design.publication.reference-rebuild .location-submit,body.sports-design.publication.reference-rebuild .pg-google-map-load{background:#bdb8b3!important;color:#0b0b0c!important;border:1px solid #55514d!important}
body.sports-design.publication.reference-rebuild .pg-google-map{background:#ffffff!important;border-radius:5px!important}body.sports-design.publication.reference-rebuild .pg-google-map-intro{padding:20px!important}
html{--pg-dock-height:74px;scroll-padding-top:110px;scroll-padding-bottom:180px}
body.sports-design:has(main :focus-visible) .rg-mobile-dock,body.sports-design:has(main :focus-visible) .pg-compare-tray{position:static!important;margin-top:16px!important}
body.sports-design:has(main :focus-visible) .back-to-top{display:none!important}
@media(max-width:760px){body.sports-design.publication.reference-rebuild .back-to-top{position:static!important;inset:auto!important;margin:16px auto!important;display:flex!important;transform:none!important}}
body.sports-design.publication.reference-rebuild .nav-row{height:auto!important;min-height:80px;flex-wrap:wrap;row-gap:12px;padding-top:12px!important;padding-bottom:12px!important}
body.sports-design.publication.reference-rebuild .nav-links{flex-wrap:wrap;min-width:0}
body.sports-design.publication.reference-rebuild .brand{min-width:0!important}
body.sports-design.publication.reference-rebuild .pg-compare-tray{bottom:calc(var(--pg-dock-height,74px) + 12px)!important}
@media(max-width:760px){body.sports-design.publication.reference-rebuild .nav-row{flex-wrap:nowrap!important;padding:12px 20px!important}body.sports-design.publication.reference-rebuild .brand{flex:1 1 auto!important}body.sports-design.publication.reference-rebuild .nav-burger{flex:0 0 44px!important;margin-left:auto!important}body.sports-design.publication.reference-rebuild .rg-mobile-dock a{padding:8px 4px!important;min-width:0!important}body.sports-design.publication.reference-rebuild .rg-mobile-dock span{white-space:normal!important;overflow-wrap:anywhere;max-width:100%;line-height:1.3!important}body.sports-design.publication.reference-rebuild{padding-bottom:calc(var(--pg-dock-height,90px) + 80px)!important}html{scroll-padding-bottom:calc(var(--pg-dock-height,90px) + 100px)}}
@media(max-width:760px){body.sports-design.publication.reference-rebuild .rg-mobile-dock{display:flex!important;flex-wrap:wrap!important}body.sports-design.publication.reference-rebuild .rg-mobile-dock a{flex:1 1 auto!important;min-width:max-content!important}body.sports-design.publication.reference-rebuild .rg-mobile-dock span{white-space:nowrap!important;overflow-wrap:normal}}

/* Shared supporting components: neutral surfaces, primary citron, status colours retained. */
body.sports-design.publication.reference-rebuild :is(.pg-compare-button,.location-card-actions a){border:1px solid #55514d!important;border-radius:4px!important;box-shadow:none!important;background:#ffffff!important;color:#0b0b0c!important;min-height:44px;padding:10px 14px!important;font:600 13px/1.5 Geist,sans-serif!important;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important}
body.sports-design.publication.reference-rebuild .pg-compare-button:not(.pg-compare-button-secondary),body.sports-design.publication.reference-rebuild .location-card-actions a:first-child{background:#bdb8b3!important;border-color:#55514d!important}
body.sports-design.publication.reference-rebuild :is(.location-result-card,.pg-compare-selected,.pg-compare-dialog-panel,.pg-compare-choice){background:#ffffff!important;color:#0b0b0c!important;border:1px solid #bdb8b3!important;border-radius:5px!important;box-shadow:none!important}
body.sports-design.publication.reference-rebuild :is(.pg-compare-selection,.pg-compare-price-controls){background:#dad5ce!important;border:0!important;border-radius:5px!important;box-shadow:none!important}
body.sports-design.publication.reference-rebuild :is(.pg-compare-note,.pg-compare-field,.pg-compare-empty,.pg-compare-unknown,.location-help){background:#dad5ce!important;color:#55514d!important;border-radius:4px!important;border-color:#bdb8b3!important;box-shadow:none!important}
body.sports-design.publication.reference-rebuild .pg-compare-table th{background:#0b0b0c!important;color:#f4f1ec!important}body.sports-design.publication.reference-rebuild .pg-compare-table td{background:#ffffff!important;color:#0b0b0c!important}
body.sports-design.publication.reference-rebuild .location-result-card{padding:18px!important}body.sports-design.publication.reference-rebuild .location-card-actions{gap:8px!important}body.sports-design.publication.reference-rebuild .location-result-card h3{font:700 28px/1.1 BarlowSport,sans-serif!important}
/* The guide hub starts with the task, not three introductions. */
/* One padding layer in discovery cards; retain all records and access qualifications. */
body.sports-design.publication.reference-rebuild .pg-place-card{padding:16px!important;min-height:0!important;gap:10px!important}body.sports-design.publication.reference-rebuild .pg-place-card :is(p,h3){margin:0!important}/* Keep the full name and save control in separate, in-flow columns. */
@media(max-width:760px){body.sports-design.publication.reference-rebuild .pg-place-card{padding:14px!important}body.sports-design.publication.reference-rebuild .pg-compare-selection{padding:14px!important}body.sports-design.publication.reference-rebuild .pg-compare-selected{padding:12px!important}}
body.sports-design.publication.reference-rebuild .pg-compare-field h3{background:#0b0b0c!important;color:#f4f1ec!important;border-radius:3px!important}body.sports-design.publication.reference-rebuild .pg-compare-selected button{min-height:44px!important}body.sports-design.publication.reference-rebuild .pg-compare-field{background:#ffffff!important}
body.sports-design.publication.reference-rebuild .pg-compare-table th :is(small,p,span){color:#dad5ce!important}

/* Canonical product presentation: shared typography, finder and place components. */
#main.pd-page{--ink:#0b0b0c;--paper:#f4f1ec;--muted:#55514d;--line:#bdb8b3;--acid:#bdb8b3;box-sizing:border-box;max-width:none!important;width:100%!important;margin:0!important;padding:0 0 56px!important;background:var(--paper);color:var(--ink);font-family:Geist,Arial,sans-serif;font-size:1rem;line-height:1.6}
#main.pd-page *{box-sizing:border-box}
#main.pd-page [hidden]{display:none!important}
#main.pd-page :is(h1,h2,h3,p,figure,dl,ul,ol){margin:0}
#main.pd-page :is(h1,h2,h3){color:inherit!important;letter-spacing:-.025em!important;text-wrap:balance}
#main.pd-page h1{font-family:BarlowSport,Impact,sans-serif!important;font-weight:700!important;font-size:clamp(3.25rem,6.4vw,5.5rem)!important;line-height:.98!important;margin:0!important;text-transform:uppercase}
#main.pd-page h2{font-family:BarlowSport,Impact,sans-serif!important;font-weight:700!important;font-size:2.25rem!important;line-height:1.12!important;margin:0!important}
#main.pd-page h3{font-family:Geist,Arial,sans-serif!important;font-weight:700!important;font-size:1.25rem!important;line-height:1.3!important;margin:0!important}
#main.pd-page a{color:inherit;text-underline-offset:3px}
#main.pd-page :is(button,select,input){font:inherit}
#main.pd-page button{cursor:pointer}
#main.pd-page :is(a,button,input,select,summary):focus-visible{outline:3px solid #55514d!important;outline-offset:4px!important;scroll-margin-bottom:110px}
#main.pd-page :is(h2,h3,section,details,[id]){scroll-margin-top:104px}
#main.pd-page svg{flex:none;max-width:24px;max-height:24px;vertical-align:middle}
#main.pd-page .pd-eyebrow{font-size:0.6875rem!important;line-height:1.5!important;letter-spacing:.1em!important;text-transform:uppercase;font-weight:700;margin:0 0 12px!important}
#main.pd-page :is(.pd-venue-cover,.pd-venue-body,.pd-page-nav,.pd-breadcrumbs){width:calc(100% - 96px);max-width:1248px;margin-left:auto!important;margin-right:auto!important}
#main.pd-page .pd-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:0.75rem;line-height:1.5}
#main.pd-page .pd-breadcrumbs{padding:22px 0}
#main.pd-page .pd-breadcrumbs a{text-decoration:none}
#main.pd-page :is(.pd-button,.pd-place-link){display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:11px 17px;border:1px solid var(--ink);border-radius:3px;font-size:0.875rem;font-weight:650;line-height:1.4;text-decoration:none;background:transparent;color:var(--ink)}
#main.pd-page .pd-button.pd-button-primary{background:var(--acid);border-color:var(--acid);color:var(--ink)}
#main.pd-page .pd-button:hover,#main.pd-page .pd-place-link:hover{filter:brightness(.94)}
#main.pd-page .pd-button.pd-button-secondary{border-color:#55514d;color:inherit;background:transparent}
/* The finder begins with a decision, not an undifferentiated inventory. */
#main.pd-page .favorite-btn[aria-pressed="true"]{background:var(--acid)!important;color:var(--ink)!important}
#main.pd-page .pd-status{display:inline-block;background:#dad5ce;padding:3px 7px;font-weight:700;font-size:0.75rem;line-height:1.5;margin-top:8px}
#main.pd-page .pd-product{font-size:0.6875rem;line-height:1.5;color:var(--muted);font-weight:600}
#main.pd-page a.pd-place-link{padding:8px 12px;min-height:44px;font-size:0.8125rem;background:var(--ink);color:var(--paper);border-color:var(--ink);white-space:nowrap}
/* A place, its admission and the journey sit together. */
#main.pd-page .pd-venue-cover{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr);gap:0 28px;align-items:start}
#main.pd-page .pd-place-title{grid-column:1/-1;grid-row:1;padding:8px 0 25px}
#main.pd-page .pd-place-title h1{font-size:clamp(3rem,4.7vw,4.25rem)!important;max-width:none}
#main.pd-page .pd-place-title>p:last-child{max-width:62ch;font-size:0.9375rem;line-height:1.6;margin-top:15px}
#main.pd-page .pd-visit-card{grid-column:2;grid-row:2;background:var(--ink);color:var(--paper);padding:28px;border-radius:4px;align-self:stretch}
#main.pd-page .pd-visit-card .pd-eyebrow{color:var(--acid);margin-bottom:8px!important}
#main.pd-page .pd-visit-facts{padding:18px 0 3px;margin-top:20px;border-top:1px solid #55514d}
#main.pd-page .pd-visit-facts div+div{margin-top:16px}
#main.pd-page .pd-visit-facts dt{font-weight:600;font-size:0.75rem;color:#dad5ce;margin-bottom:4px}
#main.pd-page .pd-visit-facts dd{margin:0;font-size:0.875rem;line-height:1.6}
#main.pd-page .pd-visit-card>.pd-button{display:flex;margin-top:16px;margin-bottom:9px;width:100%}
#main.pd-page .pd-source-date{font-size:0.6875rem;line-height:1.6;color:#bdb8b3;margin-top:18px}
#main.pd-page .pd-page-nav{display:flex;gap:32px;margin-top:30px!important;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#main.pd-page .pd-page-nav a{font-size:0.8125rem;min-height:32px;display:flex;align-items:center;text-decoration:none;font-weight:600}
#main.pd-page .pd-section{padding:48px 0;border-bottom:1px solid var(--line)}
#main.pd-page .pd-table-wrap{overflow-x:auto}
#main.pd-page .pd-price-table{width:100%;border-collapse:collapse;background:transparent;font-size:0.875rem;margin:0}
#main.pd-page .pd-price-table caption{text-align:left;font-size:0.75rem;margin-bottom:10px;color:var(--muted)}
#main.pd-page .pd-price-table :is(th,td){text-align:left;border:0;border-bottom:1px solid var(--line);padding:15px 18px 15px 0;vertical-align:top;line-height:1.6;background:transparent}
#main.pd-page .pd-price-table thead th{font-size:0.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:2px solid var(--ink)}
#main.pd-page .pd-price-table td:nth-child(2){font-size:1.25rem;letter-spacing:-.025em;font-weight:700;white-space:nowrap;width:15%}
#main.pd-page .pd-price-table th[scope="row"]{width:30%;font-weight:600}
#main.pd-page .pd-rental-strip{display:grid;grid-template-columns:1fr 1fr;gap:32px;background:#dad5ce;margin-top:20px;padding:22px 26px;align-items:center}
#main.pd-page .pd-rental-strip>div>span{display:block;font-size:0.6875rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em}
#main.pd-page .pd-rental-strip>div>strong{display:block;font-size:1.375rem;margin-top:5px;letter-spacing:-.03em}
#main.pd-page .pd-rental-strip p{font-size:0.8125rem;line-height:1.6}
#main.pd-page .pd-note{padding:16px 20px;background:#dad5ce;border:0;border-left:3px solid #55514d;color:#0b0b0c;font-size:0.875rem;line-height:1.7;margin-top:22px}
#main.pd-page .pd-note h3{font-size:1rem!important;margin-bottom:6px!important}
#main.pd-page .pd-arrival-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px}
#main.pd-page .pd-arrival-grid p+p{margin-top:13px;font-size:0.875rem}
#main.pd-page .pd-arrival-grid .pd-button{margin-top:22px}
#main.pd-page .pd-contact-actions>.pd-button{display:flex}
#main.pd-page .pd-contact-actions p{margin-top:14px}
#main.pd-page .pd-sources{padding:20px 0;border-bottom:1px solid var(--line);font-size:0.8125rem}
#main.pd-page .pd-sources summary{font-weight:650;cursor:pointer;min-height:44px;display:list-item;align-content:center}
#main.pd-page .pd-sources>div{max-width:85ch;line-height:1.8;padding-bottom:16px}
#main.pd-page .pd-sources ul{padding:14px 0 14px 20px}
#main.pd-page .pd-small-link{font-size:0.75rem;margin-top:16px}
#main.pd-page #recently-viewed-mount{max-width:1248px;width:calc(100% - 96px);margin:30px auto 0;font-size:0.8125rem}

@media(max-width:1000px){#main.pd-page :is(.pd-venue-cover,.pd-venue-body,.pd-page-nav,.pd-breadcrumbs){width:calc(100% - 48px)}#main.pd-page .pd-venue-cover{grid-template-columns:minmax(0,1fr) 320px;gap:20px}#main.pd-page .pd-visit-card{padding:22px}}
@media(max-width:760px){
 #main.pd-page{padding-bottom:104px!important;font-size:1rem}
 #main.pd-page :is(.pd-venue-cover,.pd-venue-body,.pd-page-nav,.pd-breadcrumbs){width:calc(100% - 36px)}
 #main.pd-page :is(h2,h3,section,details,[id]){scroll-margin-top:88px}
 #main.pd-page h2{font-size:1.875rem!important}
 #main.pd-page .pd-breadcrumbs{font-size:0.6875rem;padding:18px 0 12px;gap:8px}
 #main.pd-page .pd-venue-cover{display:flex;flex-direction:column;gap:0}
 #main.pd-page .pd-place-title{padding:8px 0 19px}
 #main.pd-page .pd-place-title h1{font-size:2.75rem!important;max-width:13ch}
 #main.pd-page .pd-place-title>p:last-child{font-size:0.8125rem;line-height:1.65;margin-top:13px}
 #main.pd-page .pd-place-title .pd-eyebrow{font-size:0.625rem!important;margin-bottom:10px!important}
 #main.pd-page .pd-visit-card{padding:22px;width:100%}
 #main.pd-page .pd-visit-facts{margin-top:16px;padding:15px 0 0}
 #main.pd-page .pd-visit-facts div+div{margin-top:12px}
 #main.pd-page .pd-visit-facts dd{font-size:0.8125rem}
 #main.pd-page .pd-source-date{margin-top:10px}
 #main.pd-page .pd-page-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;margin-top:22px!important;padding:10px 0}
 #main.pd-page .pd-page-nav a{font-size:0.75rem;min-height:44px}
 #main.pd-page .pd-section{padding:32px 0}
 #main.pd-page .pd-price-table{font-size:0.8125rem}
 #main.pd-page .pd-price-table :is(th,td){padding:12px 10px 12px 0;line-height:1.7}
 #main.pd-page .pd-price-table td:nth-child(2){font-size:1.0625rem;white-space:nowrap}
 #main.pd-page .pd-price-table th[scope="row"]{width:29%}
 #main.pd-page .pd-rental-strip{grid-template-columns:1fr;gap:12px;padding:18px}
 #main.pd-page .pd-rental-strip>div>strong{font-size:1.25rem}
 #main.pd-page .pd-note{padding:14px 16px;font-size:0.8125rem}
 #main.pd-page .pd-arrival-grid{grid-template-columns:1fr;gap:25px}
 #main.pd-page #recently-viewed-mount{width:calc(100% - 36px)}
}
@media(max-width:350px){#main.pd-page .pd-price-table td:nth-child(2){font-size:0.9375rem}#main.pd-page .pd-visit-card{padding:19px}}
@media(prefers-reduced-motion:reduce){#main.pd-page *{scroll-behavior:auto!important;transition:none!important}}

/* One canonical card across discovery, directories, related venues and saved places. */
body.sports-design.publication.reference-rebuild #main .pd-result{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:24px 0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important;min-width:0;overflow:visible!important}
body.sports-design.publication.reference-rebuild #main .pd-result>*{min-width:0}
body.sports-design.publication.reference-rebuild #main .pd-result-title{display:block;margin:0;padding:0}
body.sports-design.publication.reference-rebuild #main .pd-result h3{font-size:1.5rem!important;line-height:1.25!important;text-wrap:initial!important;overflow-wrap:anywhere}
body.sports-design.publication.reference-rebuild #main .pd-result h3 a{text-decoration:none}
body.sports-design.publication.reference-rebuild #main .pd-result h3 a:hover{text-decoration:underline}
body.sports-design.publication.reference-rebuild #main .pd-result-location{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:6px}
body.sports-design.publication.reference-rebuild #main .pd-result-body{display:flex;flex-wrap:wrap;align-items:start;gap:14px 30px}
body.sports-design.publication.reference-rebuild #main .pd-status{width:fit-content;background:#dad5ce;color:#0b0b0c;padding:4px 8px;font-weight:700;font-size:.8125rem;line-height:1.5;margin-bottom:8px}
body.sports-design.publication.reference-rebuild #main .pd-result-price{display:flex;flex:0 1 16rem;flex-direction:column;gap:3px;min-width:0}
body.sports-design.publication.reference-rebuild #main .pd-product{font-size:.8125rem;line-height:1.5;font-weight:600;color:var(--muted)}
body.sports-design.publication.reference-rebuild #main .pd-result-price>strong{font-size:1.75rem;line-height:1.3;font-weight:750;letter-spacing:-.025em}
body.sports-design.publication.reference-rebuild #main .pd-result-price>strong small{font-size:.875rem;font-weight:450;letter-spacing:0}
body.sports-design.publication.reference-rebuild #main .pd-result-price>small{font-size:.75rem;color:var(--muted);line-height:1.5}
body.sports-design.publication.reference-rebuild #main .pd-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:0;font-size:.875rem}
body.sports-design.publication.reference-rebuild #main a.pd-place-link{padding:11px 16px;min-height:44px;font-size:.875rem;background:var(--ink);color:var(--paper);border-color:var(--ink);white-space:normal}
@media(min-width:761px){
 body.sports-design.publication.reference-rebuild #main .pd-result.no-photo .pd-result-body{align-items:center}
}
@media(max-width:760px){
 body.sports-design.publication.reference-rebuild #main .pd-result{gap:12px!important;padding:20px 0!important}
 body.sports-design.publication.reference-rebuild #main .pd-result h3{font-size:1.375rem!important}
 body.sports-design.publication.reference-rebuild #main .pd-result-body{display:block}
 body.sports-design.publication.reference-rebuild #main .pd-result-price{margin-top:12px}
 body.sports-design.publication.reference-rebuild #main .pd-result-actions{gap:6px 14px}
}

body.sports-design.publication.reference-rebuild #main .pd-result{--ink:#0b0b0c;--paper:#f4f1ec;--muted:#55514d;--line:#bdb8b3;--acid:#bdb8b3;font-family:Geist,Arial,sans-serif;container-type:inline-size}
body.sports-design.publication.reference-rebuild #main .pd-result :is(p,h3,figure){margin:0!important}
body.sports-design.publication.reference-rebuild #main .pd-result h3{font-family:Geist,Arial,sans-serif!important;font-weight:700!important;text-transform:none!important;letter-spacing:-.025em!important}
body.sports-design.publication.reference-rebuild #main .pd-result svg{width:20px;height:20px;flex:none}
body.sports-design.publication.reference-rebuild #main .pd-result.is-unresolved{border-left:3px solid #55514d!important;padding-left:18px!important}
body.sports-design.publication.reference-rebuild #main :is(.publication-compact-grid){display:grid!important;grid-template-columns:1fr!important;gap:0!important}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-actions{justify-content:flex-start!important}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-place-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--ink);border-radius:3px;text-decoration:none;font-weight:650;line-height:1.4}
body.sports-design.publication.reference-rebuild #main .pd-result [aria-pressed=true]{font-weight:650}
@media(min-width:761px){body.sports-design.publication.reference-rebuild #main .publication-compact-grid .pd-result.no-photo .pd-result-price{flex-basis:16rem}}
@media(max-width:760px){body.sports-design.publication.reference-rebuild #main .pd-result.no-photo{padding:18px 0!important}body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-price{padding:0!important}}

/* Canonical venue variants extend the accepted photographic product composition. */
#main.pd-venue.publication-venue{--ink:#0b0b0c;--paper:#f4f1ec;--muted:#55514d;--line:#bdb8b3;--acid:#bdb8b3;max-width:none!important}
#main.pd-venue .pd-place-title h1{overflow-wrap:anywhere}
#main.pd-venue .pd-place-title .pg-status-note{margin:1rem 0 0;max-width:75ch;font-size:.875rem;line-height:1.6}
#main.pd-venue .pd-place-title .trust-pill{display:inline-block;white-space:normal}
#main.pd-venue .pd-no-photo{grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);gap:2.5rem;align-items:start}
#main.pd-venue .pd-no-photo .pd-place-title{grid-column:1;grid-row:1;padding:1rem 0}
#main.pd-venue .pd-no-photo .pd-place-title h1{font-size:clamp(2.5rem,4.2vw,4.25rem)!important;line-height:1.04!important}
#main.pd-venue .pd-no-photo .pd-place-title>p:last-child{max-width:45ch}
#main.pd-venue .pd-no-photo .pd-visit-card{grid-column:2;grid-row:1;align-self:start}
#main.pd-venue .pd-visit-card .pd-source-date a{color:inherit}
#main.pd-venue .pd-visit-facts p{margin:0}
#main.pd-venue .pd-page-nav{flex-wrap:wrap;gap:.2rem 2rem}
#main.pd-venue .pd-page-nav a{min-height:44px;line-height:1.4}
#main.pd-venue .publication-venue-layout{display:block!important;grid-template-columns:none!important;margin-top:0!important;gap:0!important}
#main.pd-venue .publication-venue-content{min-width:0;width:100%}
#main.pd-venue .publication-detail{padding:2.5rem 0;margin:0;border:0;border-bottom:1px solid var(--line);background:transparent;box-shadow:none;border-radius:0}
#main.pd-venue .publication-detail>h2{font-size:2.1rem!important;line-height:1.15!important;margin:0 0 1.25rem!important}
#main.pd-venue .publication-detail :is(p,li){font-size:1rem;line-height:1.75}
#main.pd-venue .publication-detail p+p{margin-top:.9rem}
#main.pd-venue .publication-editorial-block{max-width:82ch;margin:0 0 1.5rem}
#main.pd-venue .publication-editorial-block:last-child{margin-bottom:0}
#main.pd-venue .publication-editorial-block h3{margin:0 0 .65rem!important;font-size:1.125rem!important}
#main.pd-venue .publication-editorial-block ul,#main.pd-venue .publication-editorial-block ol{padding-left:1.35rem;margin:.8rem 0}
#main.pd-venue .publication-editorial-block li{margin:.35rem 0}
#main.pd-venue .publication-detail>p,#main.pd-venue .publication-price-context{max-width:82ch}
#main.pd-venue .publication-price-context{margin:1rem 0}
#main.pd-venue .publication-product,#main.pd-venue .pg-price-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(155px,230px)!important;gap:1rem 2rem!important;padding:1.1rem 0!important;margin:0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;align-items:start}
#main.pd-venue .publication-product h3,#main.pd-venue .pg-price-row h3{font-size:1.1rem!important;line-height:1.35!important;margin:0 0 .4rem!important}
#main.pd-venue .publication-product p,#main.pd-venue .pg-price-row p{font-size:.9375rem;line-height:1.65;max-width:75ch}
#main.pd-venue .publication-product-price,#main.pd-venue .pg-price-amount{min-width:0;text-align:left!important}
#main.pd-venue .publication-product-price strong,#main.pd-venue .pg-price-amount strong{font-size:1.6rem;line-height:1.2;color:var(--ink)}
#main.pd-venue .publication-product-price a,#main.pd-venue .pg-price-amount small{font-size:.75rem;line-height:1.5;overflow-wrap:anywhere}
#main.pd-venue .pg-price-table{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
#main.pd-venue .pg-price-table-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,230px);gap:2rem;padding:.65rem 0;background:transparent;color:var(--muted);font-size:.75rem;border-bottom:2px solid var(--ink)}
#main.pd-venue .publication-more,#main.pd-venue .publication-contacts,#main.pd-venue .publication-venue-media{margin:1rem 0 0;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
#main.pd-venue :is(.publication-more,.publication-contacts,.publication-venue-media)>summary{display:list-item;min-height:44px;align-content:center;padding:.75rem 0;font-size:.9375rem;font-weight:650;line-height:1.5;cursor:pointer}
#main.pd-venue .publication-training{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
#main.pd-venue .publication-training h3{font-size:1.1rem!important;line-height:1.4!important;margin:0 0 .8rem!important}
#main.pd-venue .publication-facts{margin:0;padding:0}
#main.pd-venue .publication-facts>div{padding:.65rem 0;border:0}
#main.pd-venue .publication-facts dt{font-size:.8125rem;font-weight:650;line-height:1.5;margin:0 0 .2rem}
#main.pd-venue .publication-facts dd{font-size:.9375rem;line-height:1.65;margin:0;overflow-wrap:anywhere}
#main.pd-venue .publication-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 2rem;list-style:none;padding:0;margin:0 0 1.25rem}
#main.pd-venue .publication-questions p{margin:.35rem 0 0;font-size:.9375rem}
#main.pd-venue .publication-editorial-notes{max-width:82ch}
#main.pd-venue .pd-arrival.publication-visit{position:static!important;top:auto!important;display:block!important;max-width:none!important;padding:2.5rem 0!important;margin:0!important;background:transparent!important;color:var(--ink)!important;border:0!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;border-radius:0!important}
#main.pd-venue .pd-arrival>h2{font-size:2.1rem!important;margin:0 0 1.1rem!important;max-width:none!important}
#main.pd-venue .pd-arrival>.publication-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem}
#main.pd-venue .publication-visit-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}
#main.pd-venue .publication-visit-actions>a{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.7rem 1rem;margin:0;border-radius:3px;font-size:.875rem;line-height:1.4;width:auto;background:var(--ink);color:var(--paper)}
#main.pd-venue .publication-visit-actions>.publication-secondary{background:transparent;border:1px solid var(--ink);color:var(--ink)}
#main.pd-venue .publication-hours{display:flex;gap:1rem;align-items:start;border:0;padding:1rem 0;margin:0}
#main.pd-venue .publication-hours>.pg-icon{margin-top:.7rem}
#main.pd-venue .publication-contact-social{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.875rem;margin:1rem 0}
#main.pd-venue .publication-contact-social a{min-height:44px;align-content:center}
#main.pd-venue .publication-sources{padding:1.2rem 0;margin:0;background:transparent;border:0;border-bottom:1px solid var(--line);box-shadow:none;border-radius:0;overflow-wrap:anywhere}
#main.pd-venue .publication-sources summary{min-height:44px;line-height:1.5;align-content:center;font-size:.9375rem}
#main.pd-venue .publication-sources ul{max-width:90ch;margin:.8rem 0;padding-left:1.2rem}
#main.pd-venue .publication-sources li{margin:.7rem 0;font-size:.8125rem;line-height:1.65}
#main.pd-venue .publication-sources li>span{display:block;color:var(--muted);font-size:.75rem}
#main.pd-venue .publication-sources p{max-width:90ch;font-size:.875rem;line-height:1.65;margin:.6rem 0}
#main.pd-venue .publication-onward{padding:2rem 0;margin:0;border:0}
#main.pd-venue .publication-onward>h2{font-size:2rem!important;margin:0 0 1rem!important}
#main.pd-venue .publication-onward .publication-compact-grid{margin:0}
#main.pd-venue .publication-onward-links,#main.pd-venue .pd-venue-resources{display:flex;flex-wrap:wrap;gap:.2rem 1.25rem;margin:.75rem 0}
#main.pd-venue .publication-onward-links>a,#main.pd-venue .pd-venue-resources>a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:.875rem}
#main.pd-venue #recently-viewed-mount{width:100%!important;max-width:none!important;margin:1rem 0!important}
/* Shared user-requested map never depends on a retired parent layout. */
#main.pd-venue .pg-google-map{width:100%;margin:1.5rem 0 0;padding:1.25rem;border:1px solid var(--line);border-radius:3px;background:#dad5ce}
#main.pd-venue .pg-google-map-intro{display:grid;grid-template-columns:44px minmax(0,1fr);gap:.8rem;align-items:start}
#main.pd-venue .pg-google-map .vd-icon-tile{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px}
#main.pd-venue .pg-google-map .vd-icon{display:block;width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;flex:none}
#main.pd-venue .pg-google-map h3{font-size:1.1rem!important;line-height:1.4!important;margin:0 0 .5rem!important}
#main.pd-venue .pg-google-map p{font-size:.875rem;line-height:1.6}
#main.pd-venue .pg-google-map button{min-height:44px;max-width:100%;padding:.7rem 1rem;border-radius:3px;white-space:normal;line-height:1.4}
#main.pd-venue .pg-google-map-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.8rem}
#main.pd-venue .pg-google-map-links>a{min-height:44px;align-content:center;font-size:.875rem}
@media(max-width:1000px){
 #main.pd-venue .pd-no-photo{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:1.5rem}
 #main.pd-venue .publication-training{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 #main.pd-venue .pd-no-photo{display:block}
 #main.pd-venue .pd-no-photo .pd-place-title{padding:0 0 1.2rem}
 #main.pd-venue .pd-no-photo .pd-place-title h1{font-size:2.7rem!important}
 #main.pd-venue .pd-visit-card{margin-top:0}
 #main.pd-venue .pd-place-title .pg-status-note{font-size:.8125rem;margin-top:.7rem}
 #main.pd-venue .pd-page-nav{gap:.15rem 1rem;margin-top:1.4rem!important;padding:.65rem 0}
 #main.pd-venue .pd-page-nav a{font-size:.8125rem}
 #main.pd-venue .publication-detail{padding:1.8rem 0}
 #main.pd-venue .publication-detail>h2{font-size:1.85rem!important;margin-bottom:1rem!important}
 #main.pd-venue .publication-editorial-block{margin-bottom:1.1rem}
 #main.pd-venue .publication-detail :is(p,li){font-size:1rem;line-height:1.7}
 #main.pd-venue .publication-product,#main.pd-venue .pg-price-row{grid-template-columns:minmax(0,1fr)!important;gap:.6rem!important;padding:1rem 0!important}
 #main.pd-venue .pg-price-table-head{display:none}
 #main.pd-venue .publication-product-price,#main.pd-venue .pg-price-amount{display:flex;gap:.2rem .7rem;flex-wrap:wrap;align-items:baseline}
 #main.pd-venue .publication-product-price>strong,#main.pd-venue .pg-price-amount>strong{font-size:1.45rem}
 #main.pd-venue .publication-product-price>a,#main.pd-venue .pg-price-amount>small{flex-basis:100%}
 #main.pd-venue .publication-training{grid-template-columns:1fr;gap:1.2rem}
 #main.pd-venue .publication-questions{grid-template-columns:1fr;gap:1rem}
 #main.pd-venue .pd-arrival.publication-visit{padding:1.8rem 0!important}
 #main.pd-venue .pd-arrival>h2{font-size:1.85rem!important}
 #main.pd-venue .pd-arrival>.publication-facts{grid-template-columns:1fr;gap:.2rem}
 #main.pd-venue .publication-visit-actions{gap:.5rem}
 #main.pd-venue .publication-visit-actions>a{flex:1 1 100%}
 #main.pd-venue .publication-onward{padding-top:1.7rem}
 #main.pd-venue .publication-onward>h2{font-size:1.85rem!important}
 #main.pd-venue .pg-google-map{padding:1rem}
}
#main.pd-venue .pd-venue-cover figcaption{font-size:.75rem!important;line-height:1.5!important}
/* Keep admission tables independent of the legacy generic price-table skin. */
body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table{min-width:0!important;width:100%!important;table-layout:fixed;background:transparent!important}
body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table :is(th,td){text-align:left!important;background:transparent!important;color:var(--ink)!important;border:0!important;border-bottom:1px solid var(--line)!important;padding:15px 18px 15px 0!important;line-height:1.6!important;text-transform:none!important;letter-spacing:normal!important;font-size:.875rem!important;font-weight:400!important;overflow-wrap:anywhere}
body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table thead th{font-size:.6875rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--muted)!important;border-bottom:2px solid var(--ink)!important}
body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table th:first-child{width:30%;font-weight:600!important}
body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table :is(th,td):nth-child(2){width:15%}
body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table td:nth-child(2){font-size:1.25rem!important;font-weight:700!important;white-space:nowrap}
@media(max-width:760px){body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table :is(th,td){padding:12px 8px 12px 0!important;font-size:.8125rem!important}body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table :is(th,td):nth-child(2){width:23%}body.sports-design.publication.reference-rebuild #main.pd-venue .pd-price-table td:nth-child(2){font-size:1rem!important}}

/* Long taxonomy lists reuse the accepted discovery card without compressing copy. */
/* Card layout rules later in the bundle use !important (including the desktop
   photo grid). Keep the runtime's native hidden state above both variants. */
body.sports-design #main .pd-directory-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-block:1px solid var(--directory-line);margin:14px 0;font-size:.875rem}
body.sports-design #main .pd-directory-pager span{text-align:center}
body.sports-design #main .pd-directory-empty{padding:24px 0}
body.sports-design #main .pd-directory-empty h3{font-size:1.5rem}
@media(max-width:350px){body.sports-design #main .pd-directory-pager{gap:8px;flex-wrap:wrap}body.sports-design #main .pd-directory-pager span{order:-1;flex-basis:100%;text-align:left}}
body.sports-design.publication.reference-rebuild #main section:has(>.wrap>.pd-directory-sports){padding-bottom:12px!important}

/* Canonical guides: one reader system, with a decision table where appropriate. */

/* Day-pass guide: compact decisions first, comfortable supporting reading. */

/* Native guide controls remain usable in the same document without JS. */
/* Isolate the accepted comparison from legacy prose-table minimum widths. */

/* Ordinary comparison guides retain table relationships while placing each
   complete entry, including its conditions, in one mobile reading sequence. */

/* Pattaya Gym publication system: neutral surfaces, readable type, and no app dock. */
html{scroll-padding-bottom:0!important}
body.sports-design.publication.reference-rebuild{
  --sp-dark:#0b0b0c;--sp-ink:#0b0b0c;--sp-paper:#f4f1ec;--sp-acid:#55514d;
  --sp-accent-on-light:#55514d;--sp-accent-on-dark:#bdb8b3;
  --brand:#0b0b0c;--brand-ink:#0b0b0c;--ink:#0b0b0c;--text:#0b0b0c;
  --accent:#55514d;--accent-ink:#55514d;--canvas:#f4f1ec;--bg:#f4f1ec;
  --surface:#ffffff;--paper:#f4f1ec;--lime:#55514d;--vc-line:#dad5ce;
  --yellow:#55514d;background:#f4f1ec!important;color:#0b0b0c!important;
  padding-bottom:0!important;scroll-padding-bottom:0!important
}
body.sports-design.publication.reference-rebuild :is(h1,h2,h3){
  font-family:Geist,Arial,sans-serif!important;font-weight:750!important;
  letter-spacing:-.035em!important;text-transform:none!important
}
body.sports-design.publication.reference-rebuild #main :is(h1,h2,h3),
body.sports-design.publication.reference-rebuild #main :is(.pd-opening-price) strong{
  font-family:Geist,Arial,sans-serif!important;font-weight:750!important;
  letter-spacing:-.035em!important;text-transform:none!important
}
body.sports-design.publication.reference-rebuild :is(button,input,select,textarea,summary){
  font-family:Geist,Arial,sans-serif!important
}
body.sports-design.publication.reference-rebuild :is(a,button,input,select,summary):focus-visible{
  outline:3px solid #55514d!important;outline-offset:3px!important
}
body.sports-design.publication.reference-rebuild :is(.nav,.footer) :is(a,button,input,select,summary):focus-visible{
  outline-color:var(--sp-accent-on-dark)!important
}
body.sports-design.publication.reference-rebuild .skip-link{color:#ffffff!important}
body.sports-design.publication.reference-rebuild .skip-link:focus-visible{
  outline-color:var(--sp-accent-on-dark)!important
}
body.sports-design.publication.reference-rebuild .rg-mobile-dock{display:none!important}
body.sports-design.publication.reference-rebuild .pg-compare-tray{position:static!important;margin:16px auto!important}
body.sports-design.publication.reference-rebuild header.nav,
body.sports-design.publication.reference-rebuild #nav-mobile,
body.sports-design.publication.reference-rebuild .footer{background:#0b0b0c!important}
body.sports-design.publication.reference-rebuild .nav-row{min-height:76px!important}
body.sports-design.publication.reference-rebuild .nav-links a{
  color:#f4f1ec!important;font:650 13px/1.35 Geist,Arial,sans-serif!important
}
body.sports-design.publication.reference-rebuild .nav-links a:hover,
body.sports-design.publication.reference-rebuild #nav-mobile a:hover{color:#bdb8b3!important}

/* Home: venue content follows the short search and sport choices. */

@media(max-width:760px){
  body.sports-design.publication.reference-rebuild .nav-row{min-height:72px!important;padding:10px 18px!important}
}

/* Search, indexes and supporting pages use the same quiet publication surfaces. */
#main.pd-page{
  --ink:#0b0b0c;--paper:#f4f1ec;--muted:#55514d;--line:#dad5ce;--acid:#55514d;
  background:#f4f1ec!important
}
body.sports-design.publication.reference-rebuild #main .publication-product-price strong,
body.sports-design.publication.reference-rebuild #main .publication-product-price strong small{
  font-family:Geist,Arial,sans-serif!important;font-weight:750!important;
  letter-spacing:-.035em!important
}
body.sports-design.publication.reference-rebuild #main .pd-visit-card :is(a,button,summary):focus-visible{
  outline-color:var(--sp-accent-on-dark)!important
}

/* Homepage composition only. Search and sport routes follow the introduction on narrow screens. */

/* Shared result cards: one venue distinction, a dated product only when published. */
body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-body{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,14rem);gap:.4rem 1.4rem;align-items:start
}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-body:not(:has(.pd-result-price)){
  grid-template-columns:minmax(0,1fr)
}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-status{
  grid-column:1/-1;margin:0 0 .2rem!important
}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-distinction{
  color:var(--ink);font-size:.9375rem;line-height:1.55;max-width:68ch;overflow-wrap:anywhere
}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-price{
  width:100%;margin:0;gap:.2rem;padding-left:1rem;border-left:1px solid var(--line)
}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-price>strong{
  font-size:1.35rem;line-height:1.3
}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-actions{
  margin-top:.1rem
}
body.sports-design.publication.reference-rebuild #main .pd-result .pd-place-link{
  min-height:44px;padding:.45rem 0;background:transparent;color:var(--ink);border:0;
  border-bottom:1px solid currentColor;border-radius:0;font-weight:700
}
body.sports-design.publication.reference-rebuild #main .pd-result.favorite-list-card .pd-save{
  min-height:44px;white-space:normal
}

/* Practical facts and source context stay in the venue opening without tool clutter. */
#main.pd-venue .pd-visit-card>h2{
  margin:0 0 .8rem!important;color:inherit!important;font-size:1.1rem!important;line-height:1.3!important
}
#main.pd-venue .pd-opening-facts{
  margin:0;padding:.8rem 0 0;border-top:1px solid currentColor
}
#main.pd-venue .pd-opening-facts>div+div{margin-top:.8rem}
#main.pd-venue .pd-opening-facts dd{overflow-wrap:anywhere}
#main.pd-venue .pd-opening-facts dd small{
  display:block;margin-top:.25rem;font-size:.75rem;line-height:1.45;color:inherit;opacity:.88
}
#main.pd-venue .pd-opening-price strong{
  display:inline;font-size:1.45rem;line-height:1.25;letter-spacing:-.025em
}
#main.pd-venue .pd-opening-price dd>span{font-size:.8125rem}
#main.pd-venue .pd-visit-card .pd-source-date{margin-top:.9rem}
@media(max-width:760px){
  body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-body{
    display:block
  }
  body.sports-design.publication.reference-rebuild #main .pd-result .pd-result-price{
    margin-top:.75rem;padding-left:0;padding-top:.55rem;border-left:0;border-top:1px solid var(--line)
  }
  #main.pd-venue .pd-visit-card{padding:1.1rem}
}

/* Training Index: one publication surface across the generated site. */





:root{--ti-paper:#f4f1ec;--ti-ink:#0b0b0c;--ti-muted:#55514d;--ti-accent:#55514d;--ti-link:#55514d;--ti-line:#dad5ce;--ti-warm:#dad5ce;--ti-deep:#0b0b0c;--ti-width:1220px;--ti-prose:68ch}
html{scroll-behavior:smooth}
body.ti-publication{margin:0;background:var(--ti-paper)!important;color:var(--ti-ink)!important;font-family:Geist,Arial,sans-serif!important;font-size:16px;line-height:1.6;overflow-x:clip}
body.ti-publication *,body.ti-publication *::before,body.ti-publication *::after{box-sizing:border-box}
body.ti-publication :is(h1,h2,h3){font-family:Geist,Geist,Geist,sans-serif;letter-spacing:-.045em;text-wrap:balance;color:var(--ti-ink)}
body.ti-publication.sports-design.publication.reference-rebuild{--sp-dark:var(--ti-deep);--sp-ink:var(--ti-ink);--sp-paper:var(--ti-paper);--sp-acid:var(--ti-accent);--sp-line:var(--ti-line);--brand:var(--ti-ink);--ink:var(--ti-ink);--muted:var(--ti-muted);--bg:var(--ti-paper);--surface:var(--ti-paper);--lime:var(--ti-accent);--vc-line:var(--ti-line);background:var(--ti-paper)!important;color:var(--ti-ink)!important;padding-bottom:0!important}
body.ti-publication.sports-design.publication.reference-rebuild #main :is(h1,h2,h3),body.ti-publication.sports-design.publication.reference-rebuild :is(h1,h2,h3){font-family:Geist,Geist,Geist,sans-serif!important;font-weight:700!important;letter-spacing:-.045em!important;color:var(--ti-ink)!important}
body.ti-publication :is(p,li,dt,dd,figcaption,summary,input,select,button){font-family:Geist,Arial,sans-serif}
body.ti-publication a{color:var(--ti-link);text-underline-offset:.19em}
body.ti-publication a:hover{text-decoration-thickness:2px}
body.ti-publication :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ti-accent)!important;outline-offset:3px!important}
body.ti-publication :is(button,input,select){font-size:inherit}
body.ti-publication :is(button,a){-webkit-tap-highlight-color:transparent}
body.ti-publication :is(.hero-kicker,.pd-eyebrow){color:var(--ti-link)!important}
body.ti-publication .back-to-top{background:var(--ti-deep)!important;color:var(--ti-paper)!important;border:1px solid var(--ti-paper)!important}
body.ti-publication [hidden]{display:none!important}

/* Shared masthead and footer. Their generated markup is identical on all routes. */
body.ti-publication header.nav{position:relative!important;z-index:40!important;background:var(--ti-paper)!important;color:var(--ti-ink)!important;border:0!important;border-bottom:1px solid var(--ti-ink)!important;box-shadow:none!important}
body.ti-publication .nav-row{width:min(calc(100% - 64px),var(--ti-width))!important;min-height:90px!important;margin:auto!important;padding:14px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:2rem!important}
body.ti-publication .brand{display:flex!important;align-items:center!important;min-width:0!important;margin:0!important;color:var(--ti-ink)!important;text-decoration:none!important}
body.ti-publication .nav-links{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:clamp(.6rem,1.55vw,1.55rem)!important;margin:0!important}
body.ti-publication .nav-links a{display:inline-flex!important;align-items:center!important;min-height:44px!important;padding:4px 0!important;color:var(--ti-ink)!important;font:700 .83rem/1.25 Geist,Arial,sans-serif!important;text-decoration:none!important;border:0!important;background:transparent!important}
body.ti-publication .nav-links a:hover,body.ti-publication .nav-links a[aria-current=page]{color:var(--ti-link)!important;text-decoration:underline!important;text-underline-offset:6px!important}
body.ti-publication .nav-burger{display:none!important;width:44px!important;height:44px!important;border:1px solid var(--ti-ink)!important;border-radius:0!important;background:transparent!important;color:var(--ti-ink)!important;box-shadow:none!important}
body.ti-publication .nav-burger-bar{background:var(--ti-ink)!important}
body.ti-publication .nav-mobile:not([hidden]){display:none}
body.ti-publication .footer{background:var(--ti-deep)!important;color:#f4f1ec!important;border:0!important;padding:0!important;margin:0!important}
body.ti-publication .footer-wrap{width:min(calc(100% - 64px),var(--ti-width))!important;max-width:none!important;margin:auto!important;padding:clamp(3rem,6vw,5rem) 0 1.2rem!important}
body.ti-publication .footer :is(a,h2,p,span,time){color:inherit}
body.ti-publication .footer a{text-decoration:none!important}
body.ti-publication .footer a:hover{text-decoration:underline!important;text-underline-offset:4px!important}
body.ti-publication .footer-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.5rem!important}
body.ti-publication .footer-col-h{margin:0 0 1rem!important;font:700 .72rem/1.4 Geist,Arial,sans-serif!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:#bdb8b3!important}
body.ti-publication .footer-col ul{margin:0!important;padding:0!important;list-style:none!important}
body.ti-publication .footer-col li{margin:0!important;padding:.23rem 0!important;line-height:1.35!important}
body.ti-publication .footer-col a{font-size:.88rem!important;color:#dad5ce!important}
/* The former chrome layer used a four-class dark-header selector. The shared
   light masthead intentionally wins that exact cascade on every route. */
body.ti-publication.sports-design.publication.reference-rebuild header.nav{background:var(--ti-paper)!important;color:var(--ti-ink)!important;border-bottom:1px solid var(--ti-ink)!important;position:relative!important}
body.ti-publication.sports-design.publication.reference-rebuild .nav-links a{color:var(--ti-ink)!important;font:700 .83rem/1.25 Geist,Arial,sans-serif!important}
body.ti-publication.sports-design.publication.reference-rebuild .nav-links a:hover{color:var(--ti-link)!important}
body.ti-publication.sports-design.publication.reference-rebuild #nav-mobile{background:var(--ti-paper)!important;color:var(--ti-ink)!important}
body.ti-publication.sports-design.publication.reference-rebuild #nav-mobile :is(a,span){color:var(--ti-ink)!important}
body.ti-publication.sports-design.publication.reference-rebuild .nav-burger{color:var(--ti-ink)!important;border-color:var(--ti-ink)!important;border-radius:0!important;background:transparent!important}
body.ti-publication.sports-design.publication.reference-rebuild .nav-burger-bar{background:var(--ti-ink)!important}
body.ti-publication.sports-design.publication.reference-rebuild .footer{background:var(--ti-deep)!important;color:var(--ti-paper)!important}
body.ti-publication.sports-design.publication.reference-rebuild .footer .footer-col-h{color:#bdb8b3!important}
body.ti-publication.sports-design.publication.reference-rebuild :is(.nav,#nav-mobile) :is(a,button):focus-visible{outline-color:var(--ti-accent)!important}
@media(max-width:760px){body.ti-publication.sports-design.publication.reference-rebuild .back-to-top{position:fixed!important;inset:auto 16px 16px auto!important;margin:0!important;transform:translateY(6px)!important}body.ti-publication.sports-design.publication.reference-rebuild .back-to-top.is-visible{transform:none!important}}

/* Homepage: find, browse and see real places before promotional copy. */
body.ti-publication .ti-publication h2{margin:0!important;font:700 clamp(2.1rem,3.75vw,3.7rem)/1.08 Geist,Geist,sans-serif!important;letter-spacing:-.055em!important}
body.ti-publication .ti-publication{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3rem!important;padding:clamp(3rem,5vw,5rem) 0!important}
body.ti-publication .ti-publication p:not(.ti-kicker){max-width:50ch!important;margin:0 0 1.2rem!important;color:var(--ti-muted)!important;font-size:1.04rem!important;line-height:1.62!important}
body.ti-publication .ti-publication>div:last-child>div{display:flex!important;flex-wrap:wrap!important;gap:.5rem 1.25rem!important;font-weight:700!important}

/* Search and reusable result cards. */

/* Category and area pages keep their route facts and functional directory. */

/* Map and coach discovery are utilities but remain part of the publication. */

@media(max-width:950px){
 body.ti-publication .nav-links{display:none!important}
 body.ti-publication .nav-burger{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important}
 body.ti-publication .nav-mobile:not([hidden]){display:block!important;background:var(--ti-paper)!important;color:var(--ti-ink)!important;border-bottom:1px solid var(--ti-ink)!important;padding:1rem 32px 1.5rem!important}
 body.ti-publication .nav-mobile-group{display:block!important;margin:1rem 0 .35rem!important;color:var(--ti-link)!important;font:700 .7rem/1.3 Geist,sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase!important}
 body.ti-publication .nav-mobile-link{display:block!important;padding:.62rem 0!important;border-bottom:1px solid var(--ti-line)!important;color:var(--ti-ink)!important;font-weight:700!important;text-decoration:none!important}
}
@media(max-width:700px){
 body.ti-publication .nav-row{width:calc(100% - 36px)!important;min-height:76px!important}
 body.ti-publication .footer-wrap{width:calc(100% - 36px)!important}
 body.ti-publication .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.8rem!important}
 body.ti-publication .ti-publication h2{font-size:2.35rem!important}
 body.ti-publication .ti-publication{grid-template-columns:1fr!important;gap:1.3rem!important;padding:2.5rem 0!important}
}

/* One place card: the complete decision text stays together, with a photograph
   as supporting evidence. Unpictured places never reserve a media column. */
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result{display:flex!important;flex-direction:column!important;align-items:stretch!important;align-self:start!important;gap:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;border:1px solid var(--ti-line)!important;border-top:2px solid var(--ti-ink)!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;container-type:normal!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result.no-photo{border:0!important;border-top:2px solid var(--ti-ink)!important;background:transparent!important;overflow:visible!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result.is-unresolved{border-left:3px solid var(--ti-accent)!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result-copy{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;padding:1rem!important;gap:0!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result.no-photo .pd-result-copy{padding:1rem .15rem!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result-title{display:block!important;margin:0!important;padding:0!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result h3{margin:0!important;font:700 clamp(1.24rem,1.8vw,1.6rem)/1.13 Geist,Geist,sans-serif!important;letter-spacing:-.035em!important;overflow-wrap:anywhere!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result-location{margin:.23rem 0 0!important;color:var(--ti-muted)!important;font-size:.79rem!important;line-height:1.35!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result-body{display:block!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;flex:none!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result-distinction{display:block!important;margin:.62rem 0 0!important;padding:0!important;color:var(--ti-ink)!important;font-size:.9rem!important;line-height:1.45!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-status{display:inline-block!important;width:auto!important;margin:.65rem 0 0!important;padding:.25rem .45rem!important;background:#dad5ce!important;color:#55514d!important;font-size:.72rem!important;line-height:1.3!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result-price{display:block!important;width:100%!important;min-width:0!important;flex:none!important;margin:.7rem 0 0!important;padding:.62rem 0 0!important;border-top:1px solid var(--ti-line)!important;background:none!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-price-primary{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:.15rem .55rem!important;margin:0!important;padding:0!important;color:var(--ti-ink)!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-price-primary strong{display:inline!important;margin:0!important;color:var(--ti-ink)!important;font:700 1.2rem/1.25 Geist,Geist,sans-serif!important;letter-spacing:-.025em!important;white-space:nowrap!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-price-primary strong small{font:600 .79rem/1.25 Geist,sans-serif!important;letter-spacing:0!important;white-space:nowrap!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-product{display:inline!important;color:var(--ti-ink)!important;font:600 .77rem/1.35 Geist,sans-serif!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result-price>small{display:block!important;margin-top:.25rem!important;color:var(--ti-muted)!important;font-size:.71rem!important;line-height:1.38!important}
body.ti-publication.sports-design.publication.reference-rebuild #main .pd-result-actions{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;min-height:0!important;margin:.68rem 0 0!important;padding:0!important;gap:.5rem!important;flex:none!important}
body.ti-publication.sports-design.publication.reference-rebuild #main a.pd-place-link{display:inline-flex!important;min-height:36px!important;align-items:center!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid var(--ti-ink)!important;border-radius:0!important;background:transparent!important;color:var(--ti-ink)!important;font:700 .79rem/1.25 Geist,sans-serif!important;text-decoration:none!important;box-shadow:none!important}
body.ti-publication.sports-design.publication.reference-rebuild #main a.pd-place-link:hover{color:var(--ti-link)!important;border-color:var(--ti-link)!important}

/* Search opens directly on usable results. Its complete native directory and
   filter controls stay available when the browser enhancement cannot load. */

/* Place-first taxonomy pages. Keep the introduction, one filter group and
   actual results in a single reading sequence across category and area routes. */

/* Training Index venue profile. Load after the earlier venue layers. */
#main.pd-venue.ti-venue{
  --ink:#0b0b0c;--paper:#f4f1ec;--muted:#55514d;--line:#dad5ce;--acid:#55514d;
  width:100%!important;max-width:none!important;margin:0!important;padding:0 0 4rem!important;
  background:var(--paper)!important;color:var(--ink)!important;font-family:Geist,Arial,sans-serif!important;
}
#main.pd-venue.ti-venue :is(h1,h2,h3){font-family:Geist,Geist,Geist,Arial,sans-serif!important;letter-spacing:-.045em!important;text-wrap:balance;color:var(--ink)!important}
#main.pd-venue.ti-venue :is(p,li,dt,dd,summary,a,button,small,span){font-family:Geist,Arial,sans-serif}
#main.pd-venue.ti-venue a{color:var(--ink);text-decoration-color:currentColor;text-underline-offset:.2em}
#main.pd-venue.ti-venue a:hover{text-decoration-thickness:2px}
#main.pd-venue.ti-venue :is(a,button,summary):focus-visible{outline:3px solid var(--acid)!important;outline-offset:4px!important}
#main.pd-venue.ti-venue :is(.pd-breadcrumbs,.pd-venue-cover,.pd-page-nav,.pd-venue-body){width:min(calc(100% - 64px),1220px)!important;margin-left:auto!important;margin-right:auto!important}
#main.pd-venue.ti-venue .pd-breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;padding:1.35rem 0!important;color:var(--muted);font-size:.78rem!important;line-height:1.4!important}
#main.pd-venue.ti-venue .pd-breadcrumbs a{min-height:38px;display:inline-flex;align-items:center;font-weight:650;text-decoration:none}
#main.pd-venue.ti-venue .pd-breadcrumbs a:hover{text-decoration:underline}
#main.pd-venue.ti-venue .ti-venue-cover{display:grid!important;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr)!important;grid-template-rows:auto auto;gap:1.25rem 3.5rem!important;align-items:start;align-content:start;padding:1.8rem 0 2.4rem!important;border-top:3px solid var(--ink);border-bottom:1px solid var(--line);background:transparent!important}
#main.pd-venue.ti-venue .ti-venue-title{grid-column:1!important;grid-row:1!important;padding:0!important;min-width:0}
#main.pd-venue.ti-venue .ti-venue-title .pd-eyebrow{font:700 .74rem/1.5 Geist,Arial,sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--ti-link)!important;margin:0 0 1.25rem!important}
#main.pd-venue.ti-venue .ti-venue-title .pd-eyebrow span{padding:0 .25rem;color:var(--muted)}
#main.pd-venue.ti-venue .ti-venue-title h1{max-width:13ch!important;margin:0 0 1.15rem!important;font-size:clamp(3.15rem,5.3vw,5.3rem)!important;font-weight:700!important;line-height:.99!important;letter-spacing:-.065em!important;overflow-wrap:normal!important;hyphens:auto}
#main.pd-venue.ti-venue .ti-venue-title .ti-venue-summary{max-width:52ch!important;margin:0!important;font-size:clamp(1.06rem,1.35vw,1.25rem)!important;line-height:1.58!important;color:var(--muted)!important}
#main.pd-venue.ti-venue .ti-venue-title .pg-status-note{max-width:58ch;margin:0 0 1rem!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:.94rem!important;line-height:1.55!important;color:var(--ink)!important}
#main.pd-venue.ti-venue .ti-venue-title .trust-pill{display:inline-block;width:max-content;max-width:100%;margin-right:.45rem;padding:.25rem .5rem!important;border:1px solid var(--acid)!important;border-radius:0!important;background:transparent!important;color:#55514d!important;font-size:.75rem!important;font-weight:750!important;line-height:1.3!important;text-transform:uppercase;letter-spacing:.035em}
#main.pd-venue.ti-venue .ti-venue-facts{grid-column:1!important;grid-row:2!important;align-self:start!important;min-width:0;width:100%!important;margin:0!important;padding:1rem 0 0!important;background:transparent!important;color:var(--ink)!important;border:0!important;border-top:2px solid var(--ink)!important;border-radius:0!important;box-shadow:none!important}
#main.pd-venue.ti-venue .ti-venue-facts h2{margin:0 0 .8rem!important;font-size:1.25rem!important;line-height:1.2!important}
#main.pd-venue.ti-venue .pd-opening-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin:0!important}
#main.pd-venue.ti-venue .pd-opening-facts>div{min-width:0;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
#main.pd-venue.ti-venue .pd-opening-facts dt{margin:0 0 .2rem!important;color:var(--muted)!important;font-size:.74rem!important;line-height:1.4!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em}
#main.pd-venue.ti-venue .pd-opening-facts dd{margin:0!important;color:var(--ink)!important;font-size:.95rem!important;line-height:1.5!important;overflow-wrap:anywhere}
#main.pd-venue.ti-venue .pd-opening-price{grid-column:1/-1;display:block;padding:0!important;border:0!important}
#main.pd-venue.ti-venue .pd-opening-price dt{margin:0 0 .45rem!important;color:var(--ink)!important;font-size:1rem!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important}
#main.pd-venue.ti-venue .pd-opening-price dd{margin:0!important}
#main.pd-venue.ti-venue .pd-opening-money{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem}
#main.pd-venue.ti-venue .pd-opening-price strong{font:700 clamp(1.65rem,2.4vw,2.4rem)/1.05 Geist,Geist,sans-serif!important;letter-spacing:-.055em;color:var(--ink)!important}
#main.pd-venue.ti-venue .pd-opening-money>span{font-size:.88rem;color:var(--muted)}
#main.pd-venue.ti-venue .pd-opening-price small{display:block;max-width:60ch;margin-top:.4rem;color:var(--muted)!important;font-size:.8rem!important;line-height:1.5!important}
#main.pd-venue.ti-venue .pd-source-date{margin:.9rem 0 0!important;color:var(--muted)!important;font-size:.76rem!important;line-height:1.55!important}
#main.pd-venue.ti-venue .pd-source-date a{color:var(--ink)!important;text-decoration:underline}
#main.pd-venue.ti-venue .pd-no-photo{grid-template-rows:auto!important;gap:2rem!important}
#main.pd-venue.ti-venue .pd-no-photo .ti-venue-title{grid-row:1!important}
#main.pd-venue.ti-venue .pd-no-photo .ti-venue-facts{grid-column:2!important;grid-row:1!important;align-self:start!important;padding-top:1.2rem!important}
#main.pd-venue.ti-venue .pd-no-photo.pd-without-facts{grid-template-columns:minmax(0,1fr)!important}
#main.pd-venue.ti-venue .pd-without-facts:not(.pd-no-photo){grid-template-rows:auto!important}
#main.pd-venue.ti-venue .ti-venue-nav{display:flex!important;flex-wrap:wrap;gap:.15rem 1.6rem;margin-top:0!important;margin-bottom:0!important;padding:.75rem 0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--ink)!important;overflow:visible!important}
#main.pd-venue.ti-venue .ti-venue-nav a{display:inline-flex!important;align-items:center;min-height:44px!important;padding:.4rem 0!important;background:transparent!important;color:var(--ink)!important;border:0!important;font-size:.81rem!important;font-weight:700!important;line-height:1.35!important;text-decoration:none!important;white-space:normal!important}
#main.pd-venue.ti-venue .ti-venue-nav a:hover{text-decoration:underline!important;text-decoration-color:var(--acid)!important;text-decoration-thickness:2px!important}
#main.pd-venue.ti-venue .pd-venue-body{display:block!important;grid-template-columns:none!important;padding:0!important;background:transparent!important}
#main.pd-venue.ti-venue .publication-venue-content{width:100%;min-width:0}
#main.pd-venue.ti-venue .publication-detail{max-width:none!important;padding:3.2rem 0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;scroll-margin-top:5rem}
#main.pd-venue.ti-venue .publication-detail>h2,#main.pd-venue.ti-venue .pd-arrival>h2{max-width:22ch;margin:0 0 1.4rem!important;font-size:clamp(2rem,3vw,3rem)!important;font-weight:700!important;line-height:1.08!important}
#main.pd-venue.ti-venue .publication-detail :is(p,li){max-width:68ch;font-size:1rem!important;line-height:1.72!important;color:var(--ink)!important}
#main.pd-venue.ti-venue .publication-detail p{margin:.8rem 0!important}
#main.pd-venue.ti-venue .publication-detail p:first-of-type{margin-top:0!important}
#main.pd-venue.ti-venue .publication-editorial-block{max-width:none;margin:0 0 1.55rem}
#main.pd-venue.ti-venue .publication-editorial-block:last-child{margin-bottom:0}
#main.pd-venue.ti-venue .publication-editorial-block h3,#main.pd-venue.ti-venue .publication-detail h3{margin:1.7rem 0 .6rem!important;font-size:1.3rem!important;line-height:1.25!important}
#main.pd-venue.ti-venue .publication-detail :is(ul,ol){max-width:70ch;margin:1rem 0!important;padding-left:1.35rem!important}
#main.pd-venue.ti-venue .publication-detail li{margin:.4rem 0!important}
#main.pd-venue.ti-venue .publication-product,#main.pd-venue.ti-venue .pg-price-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(155px,220px)!important;gap:1rem 2rem!important;align-items:start;margin:0!important;padding:1.2rem 0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#main.pd-venue.ti-venue .publication-product h3,#main.pd-venue.ti-venue .pg-price-row h3{margin:0 0 .35rem!important;font-size:1.16rem!important}
#main.pd-venue.ti-venue .publication-product p,#main.pd-venue.ti-venue .pg-price-row p{margin:.2rem 0!important;color:var(--muted)!important;font-size:.9rem!important;line-height:1.55!important}
#main.pd-venue.ti-venue .publication-product-price,#main.pd-venue.ti-venue .pg-price-amount{text-align:right!important}
#main.pd-venue.ti-venue .publication-product-price strong,#main.pd-venue.ti-venue .pg-price-amount strong{font:700 1.7rem/1.15 Geist,Geist,sans-serif!important;letter-spacing:-.05em;color:var(--ink)!important}
#main.pd-venue.ti-venue .publication-product-price small,#main.pd-venue.ti-venue .pg-price-amount small{font:600 .73rem/1.4 Geist,Arial,sans-serif!important;letter-spacing:0;color:var(--muted)!important}
#main.pd-venue.ti-venue :is(.publication-more,.publication-contacts,.publication-sources,.publication-source-facts){margin:1.2rem 0!important;padding:0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#main.pd-venue.ti-venue :is(.publication-more,.publication-contacts,.publication-sources,.publication-source-facts)>summary{min-height:48px!important;padding:.8rem 0!important;color:var(--ink)!important;font-size:.92rem!important;font-weight:700!important;line-height:1.45!important;cursor:pointer}
#main.pd-venue.ti-venue :is(.publication-more,.publication-contacts,.publication-sources,.publication-source-facts)>summary:hover{text-decoration:underline;text-decoration-color:var(--acid)}
#main.pd-venue.ti-venue .publication-training{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.5rem 2rem}
#main.pd-venue.ti-venue .publication-training>div{min-width:0;border:0!important;border-top:2px solid var(--ink)!important;padding:1rem 0 0!important}
#main.pd-venue.ti-venue .publication-questions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.2rem 2rem;list-style:none;padding:0!important}
#main.pd-venue.ti-venue .pd-arrival.publication-visit{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.5rem 2.5rem!important;position:static!important;max-width:none!important;margin:0!important;padding:3.2rem 0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important;border-radius:0!important;scroll-margin-top:5rem}
#main.pd-venue.ti-venue .pd-arrival.publication-visit:has(.pd-contact-list,.publication-contact-social){grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)!important}
#main.pd-venue.ti-venue .pd-arrival>h2{grid-column:1/-1}
#main.pd-venue.ti-venue .pd-arrival>.pd-location-area{grid-column:1/-1;margin:-.8rem 0 1rem!important;color:var(--muted)!important;font-size:.9rem!important;line-height:1.5!important}
#main.pd-venue.ti-venue .pd-arrival>.publication-facts{grid-column:1;grid-row:3;display:grid!important;grid-template-columns:1fr!important;gap:.7rem}
#main.pd-venue.ti-venue .pd-arrival>.publication-visit-actions{grid-column:1;grid-row:4;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:start;gap:.6rem;margin:.5rem 0 0!important}
#main.pd-venue.ti-venue .pd-arrival>.publication-visit-actions a{display:inline-flex!important;flex:0 1 auto!important;align-items:center;min-height:44px;min-width:150px;width:auto!important;padding:.65rem .9rem;border-radius:0!important;background:var(--ink)!important;color:var(--paper)!important;text-align:center;justify-content:center}
#main.pd-venue.ti-venue .pd-arrival>.publication-visit-actions .publication-secondary{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important}
#main.pd-venue.ti-venue .pd-arrival>.publication-hours{grid-column:1;grid-row:5;margin:.8rem 0 0!important;padding:.9rem 0 0!important;border-top:1px solid var(--line)}
#main.pd-venue.ti-venue .pd-arrival>.publication-hours>svg{display:none}
#main.pd-venue.ti-venue .pd-arrival>.pd-contact-list{grid-column:2;grid-row:3/6;align-self:start;margin:0!important;padding:0!important;border:0!important;border-top:2px solid var(--ink)!important}
#main.pd-venue.ti-venue .pd-arrival>.pd-contact-list h3{margin:.8rem 0 .3rem!important;font-size:1.1rem!important}
#main.pd-venue.ti-venue .pd-arrival>.publication-contact-social{grid-column:2;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin:.7rem 0!important}
#main.pd-venue.ti-venue .pd-arrival> :is(.publication-contacts:not(.pd-contact-list),.publication-venue-media,.pg-google-map){grid-column:1/-1}
#main.pd-venue.ti-venue .pd-arrival .publication-facts>div{margin:0!important;padding:.4rem 0!important;border:0!important;background:transparent!important}
#main.pd-venue.ti-venue .pd-arrival .publication-facts dt{color:var(--muted)!important;font-size:.75rem!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em}
#main.pd-venue.ti-venue .pd-arrival .publication-facts dd{color:var(--ink)!important;font-size:.98rem!important;line-height:1.6!important}
#main.pd-venue.ti-venue .pd-arrival .publication-facts dd a{text-decoration:underline;text-decoration-color:var(--acid)}
#main.pd-venue.ti-venue .pd-arrival-grid{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.55fr);gap:1.5rem 2.5rem;align-items:start}
#main.pd-venue.ti-venue .pd-contact-actions{display:flex;flex-wrap:wrap;gap:.6rem}
#main.pd-venue.ti-venue .pd-contact-actions .pd-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .9rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:.85rem;font-weight:700;text-decoration:none}
#main.pd-venue.ti-venue .pd-contact-actions .pd-button-secondary{background:transparent;color:var(--ink)}
#main.pd-venue.ti-venue .publication-sources{max-width:none!important;padding:0 0 2rem!important;border-bottom:1px solid var(--line)!important;scroll-margin-top:5rem}
#main.pd-venue.ti-venue .publication-sources :is(p,li,dd){font-size:.85rem!important;line-height:1.65!important;color:var(--ink)!important}
#main.pd-venue.ti-venue .publication-sources ul{max-width:80ch;padding-left:1.2rem!important}
#main.pd-venue.ti-venue .publication-sources li{margin:.65rem 0!important;overflow-wrap:anywhere}
#main.pd-venue.ti-venue .publication-sources li span{display:block;color:var(--muted)!important;font-size:.76rem!important}
#main.pd-venue.ti-venue .publication-onward{margin:2.8rem 0 0!important;padding:2.3rem 0!important;border:0!important;border-top:3px solid var(--ink)!important}
#main.pd-venue.ti-venue .publication-same-sport>h2{margin:0 0 1.5rem!important;font-size:clamp(1.9rem,2.5vw,2.6rem)!important}
#main.pd-venue.ti-venue .publication-compact-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important}
#main.pd-venue.ti-venue .publication-compact-card{min-width:0;margin:0!important;padding:1.1rem 0!important;border:0!important;border-top:1px solid var(--line)!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}
#main.pd-venue.ti-venue .publication-onward-links{display:flex!important;flex-wrap:wrap;gap:.3rem 1.3rem}
#main.pd-venue.ti-venue .publication-onward-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.84rem;font-weight:650}
#main.pd-venue.ti-venue .pd-small-link{margin:1.4rem 0 0!important;color:var(--muted)!important;font-size:.82rem!important}
#main.pd-venue.ti-venue .pg-google-map{max-width:100%;margin:1.3rem 0!important;padding:1rem!important;border:1px solid var(--line)!important;border-radius:0!important;background:#dad5ce!important}
#main.pd-venue.ti-venue .pg-google-map button{border-radius:0!important;background:var(--ink)!important;color:var(--paper)!important}
@media(max-width:900px){
  #main.pd-venue.ti-venue .ti-venue-cover{grid-template-columns:minmax(0,1fr) minmax(290px,.85fr)!important;gap:1.5rem 2rem!important}
  #main.pd-venue.ti-venue .pd-opening-facts{grid-template-columns:1fr}
  #main.pd-venue.ti-venue .pd-opening-price{display:block}
  #main.pd-venue.ti-venue .pd-opening-price dd{margin-top:.3rem!important}
}
@media(max-width:760px){
  #main.pd-venue.ti-venue :is(.pd-breadcrumbs,.pd-venue-cover,.pd-page-nav,.pd-venue-body){width:calc(100% - 36px)!important}
  #main.pd-venue.ti-venue .pd-breadcrumbs{padding:.6rem 0!important;font-size:.72rem!important}
  #main.pd-venue.ti-venue .ti-venue-cover,#main.pd-venue.ti-venue .pd-no-photo{display:flex!important;flex-direction:column!important;gap:1.25rem!important;padding:1.45rem 0 1.8rem!important}
  #main.pd-venue.ti-venue .ti-venue-title{order:0;width:100%;padding:0!important}
  #main.pd-venue.ti-venue .ti-venue-title .pd-eyebrow{font-size:.7rem!important;margin-bottom:.85rem!important}
  #main.pd-venue.ti-venue .ti-venue-title h1,#main.pd-venue.ti-venue .pd-no-photo .ti-venue-title h1{max-width:14ch!important;margin:0 0 .85rem!important;font-size:clamp(2.45rem,10.5vw,3.5rem)!important;line-height:1.01!important}
  #main.pd-venue.ti-venue .ti-venue-title .ti-venue-summary{font-size:1.02rem!important;line-height:1.58!important}
  #main.pd-venue.ti-venue .ti-venue-facts,#main.pd-venue.ti-venue .pd-no-photo .ti-venue-facts{order:2;width:100%!important;margin:0!important;padding:1.1rem 0 0!important}
  #main.pd-venue.ti-venue .pd-opening-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  #main.pd-venue.ti-venue .pd-opening-price{display:block;grid-column:1/-1}
  #main.pd-venue.ti-venue .pd-opening-price strong{font-size:1.85rem!important}
  #main.pd-venue.ti-venue .ti-venue-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .85rem!important;padding:.5rem 0!important}
  #main.pd-venue.ti-venue .ti-venue-nav a{font-size:.77rem!important;line-height:1.3!important;min-height:46px!important}
  #main.pd-venue.ti-venue .publication-detail{padding:2.1rem 0!important}
  #main.pd-venue.ti-venue .publication-detail>h2,#main.pd-venue.ti-venue .pd-arrival>h2{font-size:2rem!important;margin-bottom:1rem!important}
  #main.pd-venue.ti-venue .publication-detail :is(p,li){font-size:.98rem!important;line-height:1.7!important}
  #main.pd-venue.ti-venue .publication-product,#main.pd-venue.ti-venue .pg-price-row{grid-template-columns:minmax(0,1fr)!important;gap:.35rem!important;padding:1rem 0!important}
  #main.pd-venue.ti-venue .publication-product-price,#main.pd-venue.ti-venue .pg-price-amount{text-align:left!important}
  #main.pd-venue.ti-venue .publication-training,#main.pd-venue.ti-venue .publication-questions{grid-template-columns:1fr!important;gap:1rem}
  #main.pd-venue.ti-venue .pd-arrival.publication-visit,#main.pd-venue.ti-venue .pd-arrival.publication-visit:has(.pd-contact-list,.publication-contact-social){display:grid!important;grid-template-columns:minmax(0,1fr)!important;padding:2.1rem 0!important}
  #main.pd-venue.ti-venue .pd-arrival> :is(.publication-facts,.publication-visit-actions,.publication-hours,.pd-contact-list,.publication-contact-social){grid-column:1!important;grid-row:auto!important}
  #main.pd-venue.ti-venue .pd-arrival>.publication-visit-actions{display:flex!important;gap:.5rem;margin:.7rem 0!important}
  #main.pd-venue.ti-venue .pd-arrival>.pd-contact-list{margin-top:.8rem!important}
  #main.pd-venue.ti-venue .pd-arrival-grid{grid-template-columns:1fr;gap:1rem}
  #main.pd-venue.ti-venue .publication-compact-grid{grid-template-columns:1fr!important;gap:.4rem!important}
  #main.pd-venue.ti-venue .publication-onward{margin-top:2rem!important}
  #main.pd-venue.ti-venue .publication-same-sport>h2{font-size:1.95rem!important}
}
@media(max-width:390px){
  #main.pd-venue.ti-venue .pd-opening-facts{grid-template-columns:1fr}
}
/* The retired global heading rule carries !important and three body classes. */
body.sports-design.publication.reference-rebuild #main.pd-venue.ti-venue :is(h1,h2,h3){font-family:Geist,Geist,Geist,Arial,sans-serif!important;font-weight:700!important}
body.sports-design.publication.reference-rebuild #main.pd-venue.ti-venue :is(.pd-opening-price,.publication-product-price,.pg-price-amount) strong{font-family:Geist,Geist,Geist,Arial,sans-serif!important;font-weight:700!important}

/* Training Index · guide system. Appended after the retired guide layers. */

/* Retired ranked-guide selectors have extra specificity and once made these
   two essential lines nearly white against the new chalk cover. */

/* The earlier dark-cover shortcut colour is too pale on this paper cover. */

/* Guide index: a searchable catalogue, not another article cover. */

/* Training Index / publication and utility pages. This file is appended to
   the shared stylesheet by the final build; all rules are scoped to support
   routes so ordinary directory and article pages keep their own templates. */

/* The people and their genuine portrait are the opening, not a second panel
   after an abstract masthead. */

/* A usable contact route without a six-card social dashboard. */

/* The human index stays dense and useful. Legacy tools get one quiet line. */

/* Downloads and evidence remain open and readable, without tile-heavy chrome. */

/* Press writer owns figures and assets; this supplies the publication rhythm. */

/* The data index has its own generator and inline CSS. More specific rules
   align that independent rendering path without changing its byte contract. */

/* Historical changelog keeps its entries, with current publication chrome. */

/* REFERENCE-REBUILD:END */
