.driving-clubs {
  position: relative;
  padding: clamp(64px, 10vw, 128px) var(--pad);
  background: var(--night);
  border-top: 1px solid var(--line);
  scroll-margin-top: calc(var(--header-h) + 24px);
}
/* The booking section now follows the clubs in normal document flow. */
.journey-motion .driving-clubs + .booking { margin-top: 0; }
.clubs-intro { max-width: 760px; margin-bottom: clamp(32px, 5vw, 56px); }
.clubs-intro .chapter-number { font-size: .8125rem; line-height: 1.6; }
.clubs-intro h2 {
  margin: 0 0 20px;
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  letter-spacing: -.045em;
  line-height: 1.06;
  text-wrap: balance;
}
.clubs-intro > p:last-child {
  max-width: 660px;
  color: var(--muted);
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.65;
  margin: 0;
}
.clubs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.club-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(22px, 2.6vw, 36px);
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue-2);
  border-radius: 0 0 20px 20px;
  background: var(--panel);
}
.club-card:nth-child(2) { border-top-color: var(--gold); }
.club-card:nth-child(3) { border-top-color: var(--blue); }
.club-kicker {
  color: var(--muted);
  font-size: .75rem;
  letter-spacing: .09em;
  font-weight: 750;
  line-height: 1.7;
  margin: 0 0 26px;
}
.club-card h3 {
  margin: 0 0 22px;
  font-size: clamp(1.75rem, 2.8vw, 2.65rem);
  font-weight: 850;
  letter-spacing: -.035em;
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.club-card > p:not(.club-kicker) {
  margin: 0 0 32px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}
.club-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.club-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: .9375rem;
  font-weight: 750;
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 5px;
}
.club-links a:hover { color: var(--blue-2); text-decoration-color: currentColor; }
.club-links a:focus-visible { outline: 2px solid var(--blue-2); outline-offset: 5px; border-radius: 3px; }
@media (max-width: 900px) {
  .clubs-grid { grid-template-columns: 1fr; }
  .club-card { padding: 28px; }
  .club-card h3 { font-size: clamp(2rem, 6vw, 2.8rem); }
  .club-card > p:not(.club-kicker) { max-width: 600px; }
}
