
    :root {
      --navy: #071f36;
      --navy-2: #063f70;
      --blue: #0074cd;
      --cyan: #389ce9;
      --teal: #0074cd;
      --yellow: #f1cf25;
      --brand-bg: #fdfdfd;
      --brand-teal: #0074cd;
      --sky: #e6f3fd;
      --ice: #f4f9fe;
      --cream: #f2f7fb;
      --paper: #ffffff;
      --ink: #102a42;
      --muted: #5a7284;
      --line: rgba(16, 42, 66, .14);
      --shadow: 0 24px 60px rgba(7, 31, 54, .16);
      --shell: min(1180px, calc(100% - 48px));
      --radius: 6px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      min-width: 320px;
      overflow-x: hidden;
      color: var(--ink);
      background: var(--paper);
      font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.55;
      text-rendering: optimizeLegibility;
    }

    img { display: block; max-width: 100%; }
    a { color: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { font: inherit; }
    ::selection { background: var(--yellow); color: var(--navy); }
    :focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }

    .shell { width: var(--shell); margin-inline: auto; }
    .section-pad { padding: 96px 0; }
    .sr-only {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0,0,0,0) !important;
      clip-path: inset(50%) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }
    .skip-link {
      position: fixed;
      z-index: 9999;
      top: 12px;
      left: 12px;
      padding: 10px 14px;
      color: var(--navy);
      background: var(--yellow);
      border-radius: 4px;
      font-weight: 800;
      transform: translateY(-160%);
    }
    .skip-link:focus { transform: translateY(0); }

    h1, h2, h3 {
      margin: 0;
      color: var(--navy);
      font-family: "Manrope", system-ui, sans-serif;
      line-height: 1.02;
      letter-spacing: 0;
    }

    h1 { font-size: 5.55rem; font-weight: 800; }
    h2 { font-size: 4.1rem; font-weight: 800; }
    h3 { font-size: 1.32rem; font-weight: 800; }
    p { margin: 0 0 1em; }

    .eyebrow {
      margin: 0 0 12px;
      color: var(--blue);
      font-size: .82rem;
      font-weight: 800;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .eyebrow--light { color: #bfeaf2; }
    .short-rule {
      display: block;
      width: 50px;
      height: 3px;
      margin: 18px 0 24px;
      background: var(--yellow);
    }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 50px;
      padding: 0 22px;
      border: 1.5px solid transparent;
      border-radius: var(--radius);
      text-decoration: none;
      font-weight: 800;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }

    .button:hover { transform: translateY(-2px); }
    .button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .button-primary { color: white; background: var(--navy); }
    .button.button-primary:hover { color: white; background: var(--navy-2); border-color: transparent; }
    .button-outline { color: var(--navy); background: rgba(255,255,255,.64); border-color: rgba(7,31,54,.38); }
    .button.button-outline:hover { color: #005da8; background: #e1f1fd; border-color: var(--blue); }
    .button-yellow { color: var(--navy); background: var(--yellow); }
    .button.button-yellow:hover { color: var(--navy); background: #d9b91f; border-color: #d9b91f; }
    .button-light { color: white; background: transparent; border-color: rgba(255,255,255,.7); }
    .button.button-light:hover { color: var(--navy); background: white; border-color: white; }
    .button-compact { min-height: 44px; padding-inline: 18px; font-size: .94rem; }

    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: var(--blue);
      font-weight: 800;
      text-decoration: none;
    }
    .text-link span { transition: transform .2s ease; }
    .text-link:hover span { transform: translateX(4px); }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 80;
      background: var(--brand-bg);
      border-bottom: 1px solid rgba(35,39,43,.12);
    }
    .site-header :focus-visible { outline-color: var(--brand-teal); }
    body.admin-bar .site-header { top: 32px; }

    .header-inner {
      min-height: 104px;
      display: grid;
      grid-template-columns: 300px 1fr auto;
      align-items: center;
      gap: 28px;
    }

    .brand {
      display: block;
      width: 280px;
      height: 88px;
      overflow: hidden;
    }

    .brand img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: left center;
    }

    .site-nav {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 30px;
    }

    .site-nav a {
      position: relative;
      color: #23272b;
      text-decoration: none;
      font-size: .95rem;
      font-weight: 750;
    }

    .site-nav a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -10px;
      height: 2px;
      background: var(--brand-teal);
      transition: right .2s ease;
    }

    .site-nav a:hover::after,
    .site-nav a.is-active::after { right: 0; }

    .header-cta {
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      gap: 9px;
      padding: 0 17px;
      color: white;
      background: var(--brand-teal);
      border-radius: var(--radius);
      text-decoration: none;
      font-weight: 850;
      transition: color .2s ease, background .2s ease, transform .2s ease;
    }

    .header-cta:hover { color: white; background: #005da8; transform: translateY(-2px); }

    .header-cta svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .menu-toggle { display: none; }

    .hero {
      position: relative;
      min-height: 620px;
      overflow: hidden;
      isolation: isolate;
      background: #e3f2fd;
    }

    .hero-bg {
      position: absolute;
      inset: 0;
      z-index: -3;
      background: url("../images/kapiti-island-placeholder.webp") 62% 68% / cover no-repeat;
    }

    .hero-wash {
      position: absolute;
      inset: 0;
      z-index: -2;
      background:
        linear-gradient(90deg, rgba(235,246,254,.98) 0%, rgba(231,243,253,.92) 43%, rgba(225,239,251,.38) 67%, rgba(225,239,251,.08) 100%),
        linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.02));
    }

    .hero-inner {
      position: relative;
      min-height: 620px;
      display: grid;
      grid-template-columns: 52% 48%;
      align-items: center;
    }

    .hero-copy {
      position: relative;
      z-index: 4;
      max-width: 620px;
      padding: 80px 0 96px;
    }

    .hero h1 {
      font-family: "Archivo Black", "Arial Black", sans-serif;
      font-size: 6.15rem;
      font-weight: 400;
      line-height: 1;
    }
    .hero h1 span { white-space: nowrap; }

    .hero-lede {
      max-width: 604px;
      margin: 24px 0 28px;
      color: #234b64;
      font-size: 1.22rem;
      font-weight: 600;
    }

    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
    .hero-micro {
      display: flex;
      flex-wrap: nowrap;
      gap: 12px;
      margin-top: 30px;
      padding-top: 20px;
      border-top: 1px solid rgba(16,42,66,.16);
      color: #47677b;
      font-size: .78rem;
      font-weight: 750;
    }

    .hero-micro span { white-space: nowrap; }

    .hero-micro span + span::before {
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      margin-right: 10px;
      border-radius: 999px;
      background: var(--cyan);
      vertical-align: middle;
    }

    .action-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 284px;
      border-top: 1px solid rgba(16,42,66,.08);
      border-bottom: 1px solid rgba(16,42,66,.08);
    }

    .ball-flight-zone { position: relative; }

    .ball-trail {
      position: absolute;
      inset: 0;
      z-index: 5;
      width: 100%;
      height: 100%;
      overflow: visible;
      pointer-events: none;
    }

    .ball-trail path {
      fill: none;
      stroke: rgba(56,156,233,.72);
      stroke-width: 2;
      stroke-dasharray: .07 .035;
      stroke-dashoffset: 1;
      opacity: .8;
      vector-effect: non-scaling-stroke;
    }

    .action-panel {
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: center;
      padding: 48px max(5vw, 48px);
    }

    .action-panel-book { background: linear-gradient(135deg, #e7f4fe, #d0e9fc); }
    .action-panel-book { padding-left: max(24px, calc((100vw - 1180px) / 2 - 86px)); }
    .action-panel-join { background: linear-gradient(135deg, #fbf8f0, #f1ece2); }
    .action-content {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 64px 1fr;
      gap: 22px;
      align-items: start;
      max-width: 548px;
    }

    .action-icon {
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      color: var(--navy);
      border: 1.5px solid rgba(7,31,54,.62);
      border-radius: 999px;
    }

    .action-icon svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
    .action-content h2 { font-size: 3.2rem; }
    .action-content p:not(.eyebrow) { max-width: 355px; margin: 14px 0 20px; color: var(--muted); }

    .ball-art {
      position: absolute;
      z-index: 6;
      right: 10%;
      bottom: 34px;
      width: 82px;
      aspect-ratio: 1;
      border-radius: 999px;
      background: radial-gradient(circle at 35% 28%, #4b4e50 0 4%, #25282a 30%, #101214 78%);
      box-shadow: 0 18px 30px rgba(0,0,0,.22);
      will-change: transform;
    }

    .ball-art::before,
    .ball-art::after {
      content: "";
      position: absolute;
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--yellow);
    }
    .ball-art::before { top: 22px; left: 26px; }
    .ball-art::after { top: 25px; left: 38px; }

    .ball-flight-zone .ball-art {
      left: calc(45% - 82px);
      top: 168px;
      right: auto;
      bottom: auto;
    }

    .story-grid {
      display: grid;
      grid-template-columns: .72fr 1.48fr;
      gap: 74px;
      align-items: center;
    }

    .story-copy { position: relative; z-index: 7; }
    .story-copy p { max-width: 448px; color: var(--muted); }
    .script-line {
      margin: 26px 0 20px;
      color: var(--teal) !important;
      font-family: Georgia, serif;
      font-size: 1.55rem;
      font-style: italic;
    }

    .story-collage {
      position: relative;
      min-height: 520px;
      overflow: hidden;
    }

    .photo {
      position: absolute;
      z-index: 7;
      margin: 0;
      overflow: hidden;
      background: white;
      border: 7px solid white;
      box-shadow: var(--shadow);
    }

    .photo img { width: 100%; height: 100%; object-fit: cover; }
    .photo-a { width: 54%; height: 258px; top: 4px; left: 0; transform: rotate(-1deg); }
    .photo-b { width: 39%; height: 238px; right: 2%; top: 12px; transform: rotate(1.4deg); }
    .photo-c { width: 37%; height: 214px; left: 7%; bottom: 12px; transform: rotate(.8deg); }
    .photo-d { width: 53%; height: 226px; right: 3%; bottom: 0; transform: rotate(-1.1deg); }

    .brush-stroke {
      position: absolute;
      z-index: -1;
      right: 0;
      bottom: -20px;
      width: 58%;
      height: 120px;
      transform: skewX(-18deg) rotate(-4deg);
      background: repeating-linear-gradient(165deg, #0f6da1 0 12px, #167aa8 13px 20px, transparent 21px 28px);
      opacity: .82;
    }

    .game-section {
      background: linear-gradient(180deg, #fbfcfd, #f2f8fb);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .game-section .split-heading h2 { font-size: 4.51rem; }

    .split-heading {
      display: grid;
      grid-template-columns: .9fr .66fr;
      gap: 70px;
      align-items: end;
      margin-bottom: 46px;
    }

    .split-heading p:not(.eyebrow) { margin-bottom: 8px; color: var(--muted); }

    .pathways {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 44px;
      align-items: stretch;
    }

    .pathway-list { border-top: 1px solid rgba(16,42,66,.2); }
    .pathway {
      display: grid;
      grid-template-columns: 58px 1fr;
      gap: 18px;
      align-items: center;
      min-height: 116px;
      padding: 18px 0;
      border-bottom: 1px solid rgba(16,42,66,.2);
      transition: background .2s ease, color .2s ease;
    }

    .pathway-number { color: var(--blue); font-weight: 900; }
    .pathway h3 { margin-bottom: 5px; }
    .pathway p { margin: 0; color: var(--muted); font-size: .94rem; }
    .pathway-arrow { justify-self: end; color: var(--cyan); font-size: 1.5rem; font-weight: 800; }

    .pathway-photo {
      min-height: 524px;
      margin: 0;
      overflow: hidden;
      background: var(--navy);
      clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%, 0 11%);
      box-shadow: var(--shadow);
    }

    .pathway-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 35%;
      filter: saturate(.94) contrast(1.02);
    }

    .whats-on { background: white; }
    .whats-placeholder {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(230px, .6fr);
      align-items: end;
      gap: 32px;
      min-height: 230px;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding-block: 38px;
    }
    .whats-placeholder p:last-child {
      max-width: 300px;
      margin: 0 0 5px;
      color: var(--muted);
      font-size: 1.08rem;
    }
    .whats-layout {
      display: grid;
      grid-template-columns: .72fr 2.28fr;
      gap: 56px;
      align-items: start;
    }
    .whats-layout--list-only { grid-template-columns: minmax(0, 600px); }

    .weekly-list {
      position: sticky;
      top: 104px;
      padding-top: 4px;
    }

    .compact-heading { margin-bottom: 18px; }
    .compact-heading h2 { font-size: 2.4rem; }
    .schedule {
      border-top: 2px solid var(--navy);
      margin-bottom: 22px;
    }

    .schedule-item {
      display: grid;
      grid-template-columns: 58px 1fr auto;
      gap: 14px;
      align-items: center;
      padding: 17px 0;
      border-bottom: 1px solid var(--line);
    }

    .schedule-day {
      color: var(--blue);
      font-size: .82rem;
      font-weight: 900;
      letter-spacing: .08em;
    }

    .schedule-item strong,
    .schedule-item span { display: block; }
    .schedule-item strong { font-size: .98rem; }
    .schedule-item div span { color: var(--muted); font-size: .84rem; }
    .schedule-tag {
      justify-self: end;
      padding: 5px 8px;
      color: var(--blue);
      background: #e4f2fd;
      border-radius: 999px;
      font-size: .65rem;
      font-weight: 900;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .poster-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      align-self: center;
    }

    .poster-grid figure {
      margin: 0;
      overflow: hidden;
      aspect-ratio: .7;
      background: #eef4f7;
      box-shadow: 0 14px 30px rgba(7,31,54,.1);
    }

    .poster-grid img { width: 100%; height: 100%; object-fit: cover; }
    .poster-grid figure a { display: block; width: 100%; height: 100%; }
    .poster-grid--few { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 600px; }
    .poster-grid--single { grid-template-columns: minmax(0, 1fr); max-width: 300px; }

    .facilities {
      display: grid;
      grid-template-columns: 1.12fr 1fr;
      background: #e7f3fd;
    }

    .facility-photo { min-height: 462px; overflow: hidden; }
    .facility-photo img { width: 100%; height: 100%; object-fit: cover; }
    .facility-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-width: 0;
      padding: 52px clamp(28px, 4vw, 72px);
    }

    .facility-copy p { max-width: 560px; color: var(--muted); }
    .facility-copy h2 { font-size: 4.51rem; }
    .facility-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px 24px;
      margin: 12px 0 24px;
      font-weight: 760;
    }

    .facility-list span { color: var(--navy); }
    .facility-info-row { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 24px; }
    .facility-info-row .address { margin: 0; }
    .facility-info-row .button { justify-self: start; }
    .address { color: var(--ink) !important; }
    .facility-map { width: 100%; margin: 28px 0 0; overflow: hidden; border: 1px solid var(--line); background: white; }
    .facility-map a { display: block; cursor: zoom-in; }
    .facility-map img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: contain; }

    .ready-band {
      position: relative;
      overflow: hidden;
      color: white;
      background: linear-gradient(110deg, #07558f, #0074cd 58%, #064b7c);
    }

    .ready-band::before {
      content: "";
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(160deg, transparent 0 58px, rgba(255,255,255,.04) 59px 60px);
    }

    .ready-inner {
      position: relative;
      min-height: 168px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
    }

    .ready-inner h2 { color: white; font-size: 3.2rem; }
    .ready-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }

    .site-footer {
      padding: 58px 0 24px;
      color: var(--ink);
      background: var(--brand-bg);
      border-top: 1px solid rgba(35,39,43,.12);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.45fr repeat(3, .7fr);
      gap: 50px;
    }

    .footer-brand img {
      width: 300px;
      height: 100px;
      margin-bottom: 18px;
      object-fit: contain;
      object-position: left center;
    }

    .footer-brand p { max-width: 360px; color: var(--muted); }
    .site-footer h3 {
      margin: 0 0 14px;
      color: var(--ink);
      font-size: .9rem;
      letter-spacing: 0;
    }

    .site-footer a,
    .site-footer p {
      color: var(--muted);
      text-decoration: none;
      font-size: .9rem;
    }

    .site-footer div:not(.footer-brand) > a { display: block; margin: 8px 0; }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      margin-top: 42px;
      padding-top: 20px;
      border-top: 1px solid rgba(35,39,43,.12);
      color: #71828c;
      font-size: .78rem;
    }
    .footer-bottom a { color: var(--blue); font-weight: 700; text-decoration: none; }
    .footer-bottom a:hover { color: #005da8; text-decoration: underline; }

    @media (max-width: 1359px) {
      .action-panel-book { padding-left: max(24px, calc((100vw - 1180px) / 2)); }
      .action-panel-book .action-content { grid-template-columns: 1fr; gap: 14px; }
    }

    @media (max-width: 1060px) {
      h1 { font-size: 4.9rem; }
      h2 { font-size: 3.45rem; }
      .header-inner { grid-template-columns: 248px 1fr auto; }
      .brand { width: 234px; height: 78px; }
      .site-nav { gap: 18px; }
      .hero h1 { font-size: 5.45rem; }
      .game-section .split-heading h2 { font-size: 3.795rem; }
      .hero-inner { grid-template-columns: 58% 42%; }
      .story-grid,
      .pathways,
      .whats-layout { grid-template-columns: 1fr; }
      .whats-placeholder { grid-template-columns: 1fr; align-items: start; }
      .weekly-list { position: static; max-width: 680px; }
      .pathway-photo { min-height: 430px; }
      .facilities { grid-template-columns: 1fr; }
      .facility-copy h2 { font-size: 3.795rem; }
      .facility-photo { min-height: 420px; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .footer-brand { grid-column: 1 / -1; }
    }

    @media (max-width: 820px) {
      body.admin-bar .site-header { top: 46px; }
      :root { --shell: min(100% - 32px, 1180px); }
      h1 { font-size: 4.4rem; }
      h2 { font-size: 3rem; }
      .hero h1 { font-size: 4.9rem; }
      .hero h1 span { white-space: normal; }
      .game-section .split-heading h2 { font-size: 3.3rem; }
      .facility-copy h2 { font-size: 3.3rem; }
      .section-pad { padding: 72px 0; }
      .header-inner {
        min-height: 82px;
        grid-template-columns: 1fr auto auto;
        gap: 12px;
      }
      .brand { width: 185px; height: 62px; }
      .menu-toggle {
        display: inline-flex;
        width: 44px;
        height: 44px;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        padding: 8px;
        border: 0;
        color: #23272b;
        background: transparent;
        cursor: pointer;
      }
      .menu-toggle span:not(.sr-only) { display: block; width: 100%; height: 2px; background: currentColor; }
      .site-nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 82px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 20px 20px;
        background: var(--brand-bg);
        box-shadow: 0 20px 40px rgba(35,39,43,.14);
      }
      .site-nav.is-open { display: flex; }
      .site-nav a { padding: 14px 6px; border-bottom: 1px solid rgba(35,39,43,.1); }
      .site-nav a::after { display: none; }
      .header-cta { min-height: 44px; padding-inline: 12px; font-size: .86rem; }
      .header-cta svg { display: none; }

      .hero { min-height: 700px; }
      .hero-bg { background-position: 62% 72%; background-size: cover; }
      .hero-wash {
        background: linear-gradient(180deg, rgba(235,246,254,.98) 0%, rgba(231,243,253,.94) 45%, rgba(225,239,251,.42) 68%, rgba(225,239,251,.06) 100%);
      }
      .hero-inner { display: block; min-height: 700px; }
      .hero-copy { max-width: 590px; padding-top: 68px; }
      .action-split { grid-template-columns: 1fr; }
      .ball-trail { display: none; }
      .ball-flight-zone .ball-art { top: 166px; right: 26px; bottom: auto; left: auto; }
      .action-panel { min-height: 256px; padding: 40px 28px; }
      .action-panel-book { padding-left: 16px; }
      .split-heading { grid-template-columns: 1fr; gap: 18px; }
      .story-collage { min-height: 484px; }
      .poster-grid { gap: 12px; }
      .ready-inner {
        min-height: auto;
        flex-direction: column;
        align-items: flex-start;
        padding: 40px 0;
      }
      .ready-actions { justify-content: flex-start; }
    }

    @media (max-width: 600px) {
      :root { --shell: calc(100% - 28px); }
      .shell { padding-inline: 12px; }
      h1 { font-size: 3.25rem; }
      h2 { font-size: 2.45rem; }
      .hero h1 { font-size: 4.4rem; }
      .hero .eyebrow { font-size: .75rem; }
      .game-section .split-heading h2 { font-size: 2.695rem; }
      .facility-copy h2 { font-size: 2.695rem; }
      .header-inner { grid-template-columns: 1fr auto; }
      .brand { width: 195px; height: 65px; }
      .header-cta {
        display: none;
      }
      .hero { min-height: 668px; }
      .hero-copy { padding-top: 50px; }
      .hero-lede { max-width: 94%; font-size: 1rem; }
      .hero-actions { flex-direction: column; align-items: stretch; max-width: 248px; }
      .hero-micro { display: none; }
      .hero-micro span + span::before { display: none; }
      .action-content { grid-template-columns: 1fr; }
      .action-panel-book { padding-left: 26px; }
      .action-icon { width: 48px; height: 48px; }
      .action-content h2 { font-size: 2.45rem; }
      .ball-art { right: 26px; bottom: 28px; width: 62px; opacity: .84; }
      .club-story.section-pad { padding-bottom: 44px; }
      .story-grid { gap: 32px; }
      .story-collage { min-height: 612px; }
      .photo-a { width: 82%; height: 210px; }
      .photo-b { width: 58%; height: 175px; top: 190px; }
      .photo-c { width: 54%; height: 170px; left: 1%; bottom: 50px; }
      .photo-d { width: 72%; height: 185px; bottom: 0; }
      .brush-stroke { width: 84%; right: -10%; }
      .game-section.section-pad { padding-top: 48px; padding-bottom: 32px; }
      .game-section .split-heading h2 { font-size: 2.965rem; }
      .pathway {
        grid-template-columns: 42px 1fr;
        min-height: 126px;
        gap: 12px;
      }
      .pathway p { font-size: .88rem; }
      .pathway-photo { min-height: 320px; clip-path: none; }
      .whats-on.section-pad { padding-top: 32px; }
      .schedule-item { grid-template-columns: 52px 1fr; }
      .schedule-tag { grid-column: 2; justify-self: start; }
      .poster-grid { grid-template-columns: 1fr; }
      .poster-grid figure { width: min(100%, 390px); margin-inline: auto; }
      .facility-copy { padding: 54px 24px; }
      .facility-list { grid-template-columns: 1fr; }
      .facility-info-row { grid-template-columns: 1fr; align-items: start; gap: 14px; }
      .ready-inner h2 { font-size: 2.35rem; }
      .footer-grid { grid-template-columns: 1fr; gap: 28px; }
      .footer-brand { grid-column: auto; }
      .footer-brand img { margin-inline: auto; }
      .footer-bottom { flex-direction: column; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition: none !important; animation: none !important; }
      .ball-trail { display: none; }
    }
  
