.club-page { background: var(--rb-ivory); }

.club-hero-copy { width: min(56%, 560px); text-align: center; }
.club-hero h1 { margin: 0; color: var(--rb-navy); font: 600 clamp(1.1rem, 2vw, 1.75rem)/1.35 var(--sans); letter-spacing: .18em; text-transform: uppercase; text-shadow: 0 1px 12px rgb(var(--rb-ivory-rgb) / .9); }
.club-hero-note { margin-top: 1.25rem; }
.club-hero-quote { margin: 0; color: var(--rb-navy); font: italic 400 clamp(1.8rem, 2.5vw, 2.5rem)/1.08 var(--serif); text-shadow: 0 1px 8px rgb(var(--rb-ivory-rgb) / .95), 0 1px 2px var(--rb-ivory); }
.club-hero-signature { position: relative; width: clamp(195px, 21.25vw, 271px); aspect-ratio: 164 / 42; margin: .5rem auto 0; overflow: hidden; }
.club-hero-signature img { position: absolute; top: 50%; left: 50%; width: 519%; height: auto; max-width: none; transform: translate(-52.1%, -30.5%); filter: drop-shadow(0 1px 3px rgb(var(--rb-ivory-rgb) / .9)); }

.club-intro { padding: clamp(20px, 3vw, 64px) 1.5rem 3rem; text-align: center; }
.club-intro-inner { max-width: 740px; margin: auto; }
.club-intro h2 { margin: .35rem 0 1rem; color: var(--rb-navy); font: 600 clamp(3rem, 5vw, 4.6rem)/1 var(--serif); }
.club-intro-inner > p:last-child { margin: 0 auto; max-width: 680px; font: 400 clamp(1.15rem, 2vw, 1.4rem)/1.35 var(--serif); }

.club-levels { padding: 0 1.5rem 2.5rem; }
.club-level { max-width: 1080px; margin: auto; }
.club-level + .club-level { border-top: 1px solid rgb(var(--rb-gold-rgb) / .6); }
.club-level-inner { display: grid; grid-template-columns: minmax(180px, 290px) minmax(0, 1fr); align-items: center; gap: clamp(3rem, 8vw, 7rem); min-height: 480px; padding: 1.5rem clamp(1rem, 4vw, 3rem); }
.club-level:last-child .club-level-inner { padding-bottom: 0; }
.club-level-art { display: flex; align-items: center; justify-content: center; min-width: 0; }
.club-level-art img { display: block; width: min(100%, 225px); height: auto; }
.club-level-copy { max-width: 620px; }
.club-level h2 { margin: .25rem 0 1.1rem; color: var(--rb-navy); font: 600 clamp(3.2rem, 5vw, 4.6rem)/.95 var(--serif); }
.club-level-copy p:not(.eyebrow) { max-width: 570px; margin: 0 0 .8rem; font: 400 1.05rem/1.7 var(--sans); }
.club-level:last-child .club-level-copy p:last-child { margin-bottom: 0; }
.club-level-copy .club-level-lead { color: var(--rb-navy); font-weight: 600; }

.club-join { padding: 3rem 1.5rem 5.5rem; background: var(--rb-ivory); text-align: center; }
.club-join .flock-card { max-width: 960px; margin: auto; }

@media (max-width: 700px) {
  .club-level-inner { grid-template-columns: 1fr; gap: .5rem; min-height: 0; padding: 2.5rem 0 3rem; }
  .club-level-art img { width: min(44vw, 195px); }
  .club-level-copy { text-align: center; margin: auto; }
  .club-level h2 { font-size: clamp(2.9rem, 9vw, 3.8rem); }
  .club-level-copy p:not(.eyebrow) { font-size: .98rem; line-height: 1.6; }
}

@media (max-width: 480px) {
  .club-intro { padding-top: 3.5rem; }
  .club-levels { padding: 0 1.25rem 1.5rem; }
  .club-level-art img { width: min(48vw, 185px); }
  .club-join { padding: 2rem .75rem 4.5rem; }
}

/* Keep the separately approved mobile Travel Club hero. */
.club-mobile-hero { display: none; }

@media (max-width: 700px) {
  .club-hero { display: none; }
  .club-mobile-hero { display: block; }
  .club-mobile-hero .hero-copy { position: relative; }
  .club-mobile-hero h1 { margin: 0; color: var(--rb-navy); font: 400 clamp(1.25rem, 6vw, 2rem)/1.1 var(--serif); letter-spacing: 0; white-space: nowrap; }
  .club-mobile-note { position: absolute; top: calc(100% + 1.25rem); left: 0; width: 100%; max-width: 350px; }
  .club-mobile-quote { margin: 0; color: var(--rb-navy); font: italic 400 1.65rem/1.08 var(--serif); text-shadow: 0 1px 8px rgb(var(--rb-ivory-rgb) / .95), 0 1px 2px var(--rb-ivory); }
  .club-mobile-signature { position: relative; width: clamp(195px, 21.25vw, 271px); aspect-ratio: 164 / 42; margin: .5rem 0 0; overflow: hidden; }
  .club-mobile-signature img { position: absolute; top: 50%; left: 50%; width: 519%; height: auto; max-width: none; transform: translate(-52.1%, -30.5%); }
}

@media (max-width: 480px) {
  .club-mobile-note { top: calc(100% + 1rem); max-width: 300px; }
  .club-mobile-quote { font-size: 1.45rem; }
  .club-mobile-signature { width: 195px; }
  .club-mobile-hero h1 { white-space: normal; }
}

@media (min-width: 701px) {
  .club-hero-copy { width: 52cqi; text-align: left; }
  .club-hero h1 { color: var(--rb-cardinal); font-size: max(.75rem, 1.18cqi); font-weight: 600; letter-spacing: .26em; line-height: 1.5; }
  .club-hero-note { margin-top: .85cqi; }
  .club-hero-quote { font-size: 4.03cqi; line-height: 1.03; text-shadow: 0 1px 8px rgb(var(--rb-ivory-rgb) / .9); }
  .club-quote-line { display: block; }
  .club-hero-signature { width: 14cqi; margin: 1cqi 0 0; }
}
