:root {
  --navy: #071426;
  --blue: #0d3f73;
  --light-blue: #4ea3ff;
  --gold: #f3c84b;
  --white: #ffffff;
  --ice: #f4f8fc;
  --muted: #6d7c8e;
  --panel: rgba(255,255,255,.92);
  --shadow: 0 20px 60px rgba(0,0,0,.18);
  --radius: 22px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--navy);
  background:
    linear-gradient(rgba(244,248,252,.94), rgba(244,248,252,.94)),
    url("assets/site-background.png") center center / cover fixed no-repeat;
  line-height: 1.6;
}

a {
  color: inherit;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px clamp(18px, 4vw, 56px);
  background: rgba(7, 20, 38, .94);
  color: var(--white);
  backdrop-filter: blur(12px);
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.brand-mark {
  width: 54px;
  height: 54px;
}

.brand strong {
  display: block;
  font-size: 1rem;
  letter-spacing: .01em;
}

.brand small {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: .82rem;
}

.site-nav {
  display: flex;
  gap: 22px;
  font-weight: 700;
  font-size: .95rem;
}

.site-nav a {
  color: rgba(255,255,255,.82);
  text-decoration: none;
}

.site-nav a:hover {
  color: var(--gold);
}

.nav-toggle {
  display: none;
  background: transparent;
  color: var(--white);
  border: 0;
  font-size: 1.7rem;
}

.hero {
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
  padding: clamp(60px, 8vw, 104px) clamp(18px, 6vw, 84px);
  color: var(--white);
  background:
    linear-gradient(rgba(6,16,31,.82), rgba(6,16,31,.82)),
    radial-gradient(circle at 80% 10%, rgba(78, 163, 255, .18), transparent 26%),
    radial-gradient(circle at 25% 70%, rgba(243, 200, 75, .14), transparent 24%),
    url("assets/site-background.png") center center / cover no-repeat;
  overflow: hidden;
}

.hero h1 {
  font-size: clamp(2.55rem, 7vw, 6rem);
  line-height: .95;
  margin: 0 0 22px;
  letter-spacing: -.06em;
  max-width: 900px;
}

.hero-text {
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  color: rgba(255,255,255,.84);
  max-width: 760px;
}

.eyebrow {
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  font-size: .78rem;
}

.hero-actions,
.steps {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button.primary {
  color: #06101f;
  background: var(--gold);
  box-shadow: 0 14px 34px rgba(243, 200, 75, .27);
}

.button.secondary {
  border: 1px solid rgba(255,255,255,.35);
  color: var(--white);
}

.button.large {
  min-height: 58px;
  padding-inline: 34px;
  font-size: 1.05rem;
}

.hero-note {
  margin-top: 22px;
  color: rgba(255,255,255,.82);
}

.hero-card {
  background: var(--panel);
  color: var(--navy);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 34px;
  border: 1px solid rgba(255,255,255,.55);
}

.hero-logo {
  width: 150px;
  display: block;
  margin: 0 auto 20px;
}

.hero-card h2 {
  margin: 0 0 18px;
  font-size: 1.65rem;
  text-align: center;
}

.hero-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.hero-card li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #dfe9f4;
}

.hero-card li:last-child {
  border-bottom: 0;
}

.hero-card span {
  color: var(--muted);
}

.section {
  padding: clamp(54px, 7vw, 92px) clamp(18px, 6vw, 84px);
}

.intro {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1fr);
  gap: 40px;
  background: var(--white);
}

.section-heading h2,
.split h2,
.register-panel h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.intro > p,
.split p,
.register-panel p {
  font-size: 1.12rem;
  color: #3d4f63;
}

.program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 34px;
}

.program-card {
  min-height: 460px;
  padding: 34px;
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 16px 44px rgba(7,20,38,.08);
  border: 1px solid #dbe8f5;
  position: relative;
  overflow: hidden;
}

.program-card::after {
  content: "";
  position: absolute;
  inset: auto -60px -90px auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(13, 63, 115, .08);
}

.program-card img {
  width: 118px;
  height: 118px;
  object-fit: contain;
}

.program-card h3 {
  font-size: 2rem;
  line-height: 1.05;
  margin: 24px 0 4px;
}

.program-label {
  margin: 0 0 16px;
  color: var(--blue);
  font-weight: 900;
}

.program-card a {
  display: inline-block;
  margin-top: 12px;
  font-weight: 900;
  color: var(--blue);
  text-decoration: none;
}

.split {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(320px, 1.15fr);
  gap: 38px;
  align-items: center;
  background: #eaf3fc;
}

.tryout-box {
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: 0 16px 44px rgba(7,20,38,.08);
  overflow: hidden;
}

.tryout-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 24px;
  border-bottom: 1px solid #dfe9f4;
}

.tryout-row strong,
.tryout-row span,
.tryout-row time {
  display: block;
}

.tryout-row span,
.small-note {
  color: var(--muted);
}

.tryout-row time {
  font-weight: 900;
  color: var(--blue);
  white-space: nowrap;
}

.small-note {
  margin: 16px 24px 24px;
  font-size: .95rem;
}

.register-section {
  background:
    linear-gradient(rgba(7,20,38,.84), rgba(7,20,38,.84)),
    linear-gradient(135deg, #071426, #0d3f73);
}

.register-panel {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
  color: var(--white);
}

.register-panel p {
  color: rgba(255,255,255,.8);
}

.steps {
  justify-content: center;
  margin: 30px 0;
}

.steps div {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  padding: 12px 16px;
  border-radius: 999px;
}

.steps span {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--gold);
  color: #06101f;
  font-weight: 900;
}

.details-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.detail-card {
  background: var(--white);
  border-radius: var(--radius);
  padding: 30px;
  box-shadow: 0 16px 44px rgba(7,20,38,.08);
  border: 1px solid #dbe8f5;
}

.detail-card h3 {
  margin: 0;
}

.detail-card .big {
  margin: 8px 0 4px;
  font-size: 2.8rem;
  font-weight: 950;
  letter-spacing: -.05em;
  color: var(--blue);
}

.faq {
  background: var(--white);
}

.faq details {
  max-width: 920px;
  margin: 14px auto;
  background: var(--ice);
  border: 1px solid #dbe8f5;
  border-radius: 16px;
  padding: 18px 20px;
}

.faq summary {
  cursor: pointer;
  font-weight: 900;
  font-size: 1.05rem;
}

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 34px clamp(18px, 6vw, 84px);
  color: var(--white);
  background: #06101f;
}

.site-footer img {
  width: 62px;
  vertical-align: middle;
  margin-right: 10px;
}

.site-footer strong,
.site-footer span {
  display: block;
}

.site-footer span,
.site-footer p {
  color: rgba(255,255,255,.7);
}

.site-footer a {
  color: var(--gold);
}

@media (max-width: 860px) {
  .site-header {
    align-items: flex-start;
  }

  .nav-toggle {
    display: block;
  }

  .site-nav {
    display: none;
    position: absolute;
    left: 18px;
    right: 18px;
    top: 78px;
    padding: 18px;
    border-radius: 18px;
    background: #071426;
    flex-direction: column;
  }

  .site-nav.open {
    display: flex;
  }

  .hero,
  .intro,
  .split,
  .program-grid,
  .details-grid {
    grid-template-columns: 1fr;
  }

  .hero {
    min-height: auto;
  }

  .tryout-row,
  .site-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .tryout-row time {
    white-space: normal;
  }
}

@media (max-width: 520px) {
  .brand small {
    display: none;
  }

  .hero-card,
  .program-card,
  .detail-card {
    padding: 24px;
  }

  .hero h1 {
    font-size: 2.55rem;
  }
}


.tryout-program-title {
  margin: 0;
  padding: 22px 24px 14px;
  background: #071426;
  color: var(--white);
  font-size: 1.15rem;
  letter-spacing: .02em;
}

.tryout-program-title.north-title {
  background: #0d3f73;
}


.register-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 26px;
}

.payment-note {
  max-width: 680px;
  margin: 0 auto 22px;
  color: rgba(255,255,255,.78);
  font-weight: 700;
}

.register-panel .button.secondary {
  border: 1px solid rgba(255,255,255,.35);
  color: var(--white);
}

.payment-button {
  white-space: nowrap;
}


.section,
.intro,
.faq {
  position: relative;
}

.section:not(.hero):not(.register-section) {
  backdrop-filter: blur(2px);
}

.intro,
.program-card,
.tryout-box,
.detail-card,
.faq details {
  background-color: rgba(255,255,255,.92);
}

.split {
  background: rgba(234,243,252,.84);
}

.site-footer {
  background:
    linear-gradient(rgba(6,16,31,.96), rgba(6,16,31,.96)),
    url("assets/site-background.png") center center / cover no-repeat;
}


/* Clean split logo layout replacing the previous combined header image */
.split-brand {
  gap: 14px;
}

.split-logo-lockup {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border: 1px solid rgba(243, 200, 75, .35);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}

.brand-logo {
  width: 42px;
  height: 42px;
  object-fit: contain;
  display: block;
}

.logo-divider {
  width: 1px;
  height: 34px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
  opacity: .9;
}

.brand-copy {
  display: inline-block;
}

.hero-logo-split {
  width: min(100%, 330px);
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 14px 18px;
  border-radius: 24px;
  background: rgba(7,20,38,.06);
  border: 1px solid rgba(13,63,115,.12);
}

.hero-logo-split img {
  width: 132px;
  height: 132px;
  object-fit: contain;
}

.hero-logo-split span {
  width: 1px;
  height: 112px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.footer-logo-lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.footer-logo-lockup img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  margin: 0;
}

.footer-logo-lockup span {
  width: 1px;
  height: 46px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
}

@media (max-width: 640px) {
  .split-logo-lockup {
    gap: 6px;
    padding: 4px 6px;
  }

  .brand-logo {
    width: 34px;
    height: 34px;
  }

  .logo-divider {
    height: 28px;
  }

  .brand strong {
    font-size: .88rem;
  }

  .hero-logo-split {
    max-width: 280px;
    gap: 12px;
  }

  .hero-logo-split img {
    width: 108px;
    height: 108px;
  }

  .hero-logo-split span {
    height: 94px;
  }
}


/* User-friendly split registration/payment flow */
.register-payment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin: 36px auto 20px;
  max-width: 980px;
}

.action-card {
  text-align: left;
  padding: 30px;
  border-radius: 24px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.action-card h3 {
  margin: 8px 0 10px;
  color: var(--white);
  font-size: 1.7rem;
  line-height: 1.05;
}

.action-card p {
  min-height: 96px;
  margin-bottom: 22px;
  color: rgba(255,255,255,.78);
}

.action-step {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--gold);
  color: #06101f;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: .78rem;
}

.payment-card {
  background: rgba(13,63,115,.32);
}

.registration-help {
  margin-top: 24px;
  color: rgba(255,255,255,.78);
}

.registration-help a {
  color: var(--gold);
  font-weight: 900;
}

@media (max-width: 760px) {
  .register-payment-grid {
    grid-template-columns: 1fr;
  }

  .action-card {
    text-align: center;
  }

  .action-card p {
    min-height: auto;
  }
}


/* Larger top-header logos */
.site-header {
  min-height: 112px;
}

.split-logo-lockup {
  gap: 14px;
  padding: 8px 14px;
}

.brand-logo {
  width: 82px;
  height: 82px;
}

.logo-divider {
  width: 2px;
  height: 72px;
}

.split-brand {
  min-width: 0;
}

@media (max-width: 860px) {
  .site-nav {
    top: 118px;
  }
}

@media (max-width: 640px) {
  .site-header {
    min-height: 92px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .split-logo-lockup {
    gap: 8px;
    padding: 5px 8px;
  }

  .brand-logo {
    width: 54px;
    height: 54px;
  }

  .logo-divider {
    height: 48px;
  }

  .brand-copy small {
    display: none;
  }
}


.venmo-backup {
  min-height: auto !important;
  margin-top: -10px;
  margin-bottom: 18px !important;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.88) !important;
  font-size: .95rem;
}

.venmo-backup strong {
  color: var(--gold);
}


.venmo-backup + .venmo-backup {
  margin-top: -8px;
}


/* Larger logos in Programs section */
.program-card img {
  width: 236px;
  height: 236px;
  object-fit: contain;
}

@media (max-width: 640px) {
  .program-card img {
    width: 180px;
    height: 180px;
  }
}


/* Much larger gold headers */
.eyebrow {
  margin: 0 0 18px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  font-size: 3.9rem;
  line-height: 1.02;
}

@media (max-width: 860px) {
  .eyebrow {
    font-size: 2.6rem;
    line-height: 1.05;
  }
}

@media (max-width: 640px) {
  .eyebrow {
    font-size: 1.8rem;
    line-height: 1.08;
  }
}


/* Larger register links in Programs section */
.program-card a {
  display: inline-block;
  margin-top: 12px;
  font-weight: 900;
  color: var(--blue);
  text-decoration: none;
  font-size: 2rem;
  line-height: 1.1;
}

@media (max-width: 640px) {
  .program-card a {
    font-size: 1.5rem;
  }
}


/* Coaching bios section */
.coaches-section {
  background: rgba(255,255,255,.88);
}

.coaches-intro {
  max-width: 980px;
  margin: 20px auto 34px;
  color: #3d4f63;
  font-size: 1.18rem;
  text-align: center;
}

.coaches-grid {
  display: grid;
  grid-template-columns: 1.2fr .9fr .9fr;
  gap: 22px;
  align-items: stretch;
}

.coach-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 28px;
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  border: 1px solid #dbe8f5;
  box-shadow: 0 16px 44px rgba(7,20,38,.08);
}

.featured-coach {
  background:
    linear-gradient(rgba(255,255,255,.94), rgba(255,255,255,.94)),
    url("assets/site-background.png") center center / cover no-repeat;
}

.coach-photo-placeholder {
  display: inline-grid;
  place-items: center;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  color: var(--gold);
  font-weight: 950;
  font-size: 2rem;
  border: 4px solid var(--gold);
  box-shadow: 0 12px 28px rgba(7,20,38,.16);
}

.coach-program {
  margin: 0 0 6px;
  color: var(--blue);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .85rem;
}

.coach-card h3 {
  margin: 0 0 12px;
  font-size: 2rem;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.coach-card p {
  color: #3d4f63;
}

.coach-highlights {
  margin: 18px 0 0;
  padding-left: 20px;
  color: #26384c;
}

.coach-highlights li {
  margin-bottom: 8px;
}

@media (max-width: 980px) {
  .coaches-grid {
    grid-template-columns: 1fr;
  }

  .coach-card {
    flex-direction: row;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .coach-card {
    flex-direction: column;
    text-align: center;
  }

  .coach-photo-placeholder {
    margin: 0 auto;
  }

  .coach-highlights {
    text-align: left;
  }
}


/* Four-coach bios layout */
.full-coaches-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.full-coaches-grid .coach-card {
  min-height: 100%;
}

.full-coaches-grid .featured-coach {
  grid-column: span 1;
}

.full-coaches-grid .coach-card p {
  font-size: 1rem;
}

@media (max-width: 1180px) {
  .full-coaches-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .full-coaches-grid {
    grid-template-columns: 1fr;
  }
}


/* Clean coach bio title styling */
.coach-program {
  font-weight: 950;
  font-style: italic;
  color: var(--blue);
  margin-bottom: 10px;
}

.coach-card {
  gap: 10px;
}


/* Coach titles larger than coach names */
.coach-program {
  font-weight: 950;
  font-style: italic;
  color: var(--blue);
  margin-bottom: 10px;
  font-size: 2.2rem;
  line-height: 1.02;
  letter-spacing: .02em;
}

.coach-card h3 {
  margin: 0 0 12px;
  font-size: 1.55rem;
  line-height: 1.05;
  letter-spacing: -.02em;
}

@media (max-width: 640px) {
  .coach-program {
    font-size: 1.7rem;
  }

  .coach-card h3 {
    font-size: 1.3rem;
  }
}


/* Coach photos */
.coach-image-wrap {
  margin-bottom: 10px;
}

.coach-image {
  width: 100%;
  max-width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center top;
  border-radius: 18px;
  display: block;
  border: 1px solid #dbe8f5;
  box-shadow: 0 12px 30px rgba(7,20,38,.10);
  background: #eef3f8;
}

.placeholder-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: #4b5f75;
  font-weight: 800;
  text-align: center;
}

@media (max-width: 760px) {
  .coach-image {
    height: 300px;
  }
}


/* Multi-page landing page updates */
.subpage-hero {
  padding: clamp(76px, 8vw, 120px) clamp(18px, 6vw, 84px);
  color: var(--white);
  background:
    linear-gradient(rgba(6,16,31,.84), rgba(6,16,31,.84)),
    radial-gradient(circle at 80% 10%, rgba(78, 163, 255, .18), transparent 26%),
    radial-gradient(circle at 25% 70%, rgba(243, 200, 75, .14), transparent 24%),
    url("assets/site-background.png") center center / cover no-repeat;
}
.subpage-hero h1 {
  max-width: 1050px;
  margin: 0 0 20px;
  font-size: clamp(2.8rem, 6vw, 5.6rem);
  line-height: .96;
  letter-spacing: -.06em;
}
.subpage-hero p {
  max-width: 860px;
  font-size: clamp(1.05rem, 1.5vw, 1.28rem);
  color: rgba(255,255,255,.84);
}
.landing-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.landing-card {
  display: block;
  min-height: 210px;
  padding: 26px;
  border-radius: 22px;
  text-decoration: none;
  background: rgba(255,255,255,.94);
  border: 1px solid #dbe8f5;
  box-shadow: 0 16px 44px rgba(7,20,38,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.landing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 54px rgba(7,20,38,.13);
}
.landing-card h3 {
  margin: 0 0 10px;
  font-size: 1.7rem;
  line-height: 1.05;
  color: var(--blue);
}
.landing-card p {
  margin: 0;
  color: #3d4f63;
}
@media (max-width: 1100px) {
  .landing-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .landing-card-grid { grid-template-columns: 1fr; }
  .subpage-hero h1 { font-size: 2.5rem; }
}


/* Total Development landing page */
.td-hero{min-height:680px;display:flex;align-items:center;padding:clamp(76px,8vw,124px) clamp(18px,6vw,84px);color:#fff;background:linear-gradient(rgba(0,0,0,.78),rgba(0,0,0,.78)),radial-gradient(circle at 72% 22%,rgba(243,200,75,.28),transparent 26%),url("assets/site-background.png") center/cover no-repeat}.td-hero-content{max-width:1100px}.td-eyebrow,.td-small-title{margin:0 0 14px;font-weight:950;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.td-eyebrow{font-size:clamp(1.4rem,3vw,3.3rem);line-height:1.04}.td-small-title{font-size:1rem}.td-hero h1{margin:0 0 18px;font-size:clamp(4rem,11vw,9rem);line-height:.85;letter-spacing:-.08em;color:#fff}.td-hero p{max-width:840px;font-size:clamp(1.08rem,1.8vw,1.45rem);color:rgba(255,255,255,.86)}.td-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.td-primary{color:#050505;background:var(--gold);box-shadow:0 16px 36px rgba(243,200,75,.24)}.td-secondary{color:#fff;border:1px solid rgba(243,200,75,.55);background:rgba(255,255,255,.08)}.td-note{margin-top:24px;color:rgba(255,255,255,.82);font-weight:850}.td-intro-section{background:rgba(255,255,255,.92)}.td-intro-text{max-width:1050px;margin:20px auto 0;text-align:center;font-size:1.2rem;color:#3d4f63}.td-snapshot-grid,.td-pricing-grid{display:grid;gap:22px}.td-snapshot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.td-stat-card,.td-price-card,.td-week-card,.td-daily-card,.td-cta-panel{border-radius:24px;background:linear-gradient(rgba(255,255,255,.95),rgba(255,255,255,.95)),url("assets/site-background.png") center/cover no-repeat;border:1px solid rgba(243,200,75,.35);box-shadow:0 18px 44px rgba(7,20,38,.10)}.td-stat-card,.td-price-card{padding:28px}.td-stat-card h3,.td-price-card h3{margin:0 0 8px;color:#050505;font-size:1.35rem}.td-big,.td-price{margin:0;font-weight:950;color:var(--blue);letter-spacing:-.05em;line-height:.95}.td-big{font-size:clamp(2.1rem,3vw,3rem)}.td-price{font-size:clamp(3rem,5vw,5rem)}.td-stat-card span,.td-price-card span{display:block;margin-top:8px;color:#4b5f75;font-weight:750}.centered{text-align:center}.td-weeks-section{background:rgba(7,20,38,.92);color:#fff}.td-weeks-section .section-heading h2{color:#fff}.td-weeks-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px}.td-week-card{padding:22px;background:rgba(255,255,255,.08);border-color:rgba(243,200,75,.45)}.td-week-card strong,.td-week-card span{display:block}.td-week-card strong{color:var(--gold);font-size:1.2rem}.td-week-card span{color:rgba(255,255,255,.86);margin-top:8px;font-weight:800}.td-pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.td-earlybird{max-width:1040px;margin:30px auto 0;padding:28px;border-radius:26px;background:#050505;color:#fff;border:1px solid rgba(243,200,75,.55);display:flex;justify-content:space-between;gap:24px;align-items:center}.td-earlybird h3{margin:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1}.td-early-options{display:flex;flex-wrap:wrap;gap:16px}.td-early-options p{margin:0;min-width:220px;padding:18px;border-radius:18px;background:rgba(255,255,255,.09)}.td-early-options strong,.td-early-options span{display:block}.td-early-options strong{color:var(--gold);font-size:2.2rem;line-height:.95}.td-early-options span{color:rgba(255,255,255,.8);margin-top:8px}.td-daily-section{background:rgba(234,243,252,.88)}.td-daily-card,.td-cta-panel{padding:clamp(28px,4vw,46px)}.td-daily-card h2,.td-cta-panel h2{margin:0 0 20px;font-size:clamp(2.2rem,4vw,4rem);line-height:.98;letter-spacing:-.05em}.td-daily-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.td-daily-grid div{padding:18px;border-radius:18px;background:rgba(7,20,38,.06)}.td-daily-grid strong,.td-daily-grid span{display:block}.td-daily-grid strong{color:var(--blue);font-size:1.25rem}.td-daily-grid span{margin-top:8px;color:#3d4f63}.td-cta-section{background:linear-gradient(rgba(0,0,0,.86),rgba(0,0,0,.86)),url("assets/site-background.png") center/cover no-repeat}.td-cta-panel{max-width:900px;margin:0 auto;text-align:center;color:#fff;background:rgba(255,255,255,.08)}.td-cta-panel p{color:rgba(255,255,255,.82);font-size:1.15rem}.total-development-card{border-color:rgba(243,200,75,.65);background:linear-gradient(rgba(5,5,5,.86),rgba(5,5,5,.86)),url("assets/site-background.png") center/cover no-repeat}.total-development-card h3{color:var(--gold)}.total-development-card p{color:rgba(255,255,255,.84)}@media(max-width:1080px){.td-snapshot-grid,.td-pricing-grid,.td-weeks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.td-daily-grid{grid-template-columns:1fr 1fr}.td-earlybird{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.td-snapshot-grid,.td-pricing-grid,.td-weeks-grid,.td-daily-grid{grid-template-columns:1fr}.td-hero h1{font-size:3.5rem}}


/* Total Development palette override: Honolulu blue, silver, navy, white */
.td-hero {
  background:
    linear-gradient(rgba(8, 28, 56, .82), rgba(8, 28, 56, .82)),
    radial-gradient(circle at 72% 22%, rgba(0, 127, 191, .28), transparent 26%),
    radial-gradient(circle at 18% 78%, rgba(192, 198, 207, .18), transparent 22%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.td-eyebrow,
.td-small-title {
  color: #00A3E0; /* Honolulu blue */
}

.td-primary {
  color: #081c38;
  background: #00A3E0; /* Honolulu blue */
  box-shadow: 0 16px 36px rgba(0,163,224,.24);
}

.td-secondary {
  color: #ffffff;
  border: 1px solid rgba(192,198,207,.75); /* silver */
  background: rgba(255,255,255,.10);
}

.td-stat-card,
.td-price-card,
.td-week-card,
.td-daily-card,
.td-cta-panel {
  border: 1px solid rgba(0,163,224,.26);
  background:
    linear-gradient(rgba(255,255,255,.96), rgba(255,255,255,.96)),
    url("assets/site-background.png") center center / cover no-repeat;
}

.td-big,
.td-price,
.td-daily-grid strong {
  color: #0B2545; /* navy */
}

.td-weeks-section {
  background: rgba(11, 37, 69, .96); /* navy */
  color: #ffffff;
}

.td-week-card {
  background: rgba(255,255,255,.08);
  border-color: rgba(192,198,207,.42); /* silver */
}

.td-week-card strong {
  color: #00A3E0; /* Honolulu blue */
}

.td-price-card h3,
.td-stat-card h3 {
  color: #0B2545; /* navy */
}

.td-earlybird {
  background: #0B2545; /* navy */
  color: #ffffff;
  border: 1px solid rgba(0,163,224,.45);
}

.td-early-options p {
  background: rgba(255,255,255,.10);
}

.td-early-options strong {
  color: #00A3E0; /* Honolulu blue */
}

.td-daily-section {
  background: rgba(232, 238, 245, .92); /* silver/white */
}

.td-cta-section {
  background:
    linear-gradient(rgba(11,37,69,.9), rgba(11,37,69,.9)),
    url("assets/site-background.png") center center / cover no-repeat;
}

.td-cta-panel {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(192,198,207,.35);
}

.total-development-card {
  border-color: rgba(0,163,224,.55);
  background:
    linear-gradient(rgba(11,37,69,.88), rgba(11,37,69,.88)),
    url("assets/site-background.png") center center / cover no-repeat;
}

.total-development-card h3 {
  color: #00A3E0;
}

.total-development-card p {
  color: rgba(255,255,255,.86);
}


/* Total Development flyer section */
.td-flyer-section {
  background: rgba(255,255,255,.94);
}

.td-flyer-wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 8px;
  border-radius: 28px;
  background: rgba(11,37,69,.06);
  border: 1px solid rgba(0,163,224,.18);
  box-shadow: 0 18px 44px rgba(7,20,38,.10);
}

.td-flyer-image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
}


/* Smaller Total Development flyer */
.td-flyer-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 8px;
}

.td-focus-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.td-focus-grid div {
  min-height: 148px;
}

@media (max-width: 1080px) {
  .td-focus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .td-flyer-wrap {
    max-width: 100%;
  }

  .td-focus-grid {
    grid-template-columns: 1fr;
  }
}


/* Overall site zoom-out for cleaner landing page spacing */
.site-scale-wrapper {
  transform: scale(.85);
  transform-origin: top center;
  width: 117.647%;
  margin-left: calc((100% - 117.647%) / 2);
}

body {
  overflow-x: hidden;
}

@supports (zoom: 1) {
  .site-scale-wrapper {
    transform: none;
    width: auto;
    margin-left: 0;
    zoom: .85;
  }
}

/* Keep mobile close to normal size for readability */
@media (max-width: 760px) {
  .site-scale-wrapper {
    transform: none;
    width: auto;
    margin-left: 0;
    zoom: 1;
  }
}


/* Navigation adjustments for additional pages */
.site-nav {
  flex-wrap: wrap;
  justify-content: flex-end;
  row-gap: 8px;
}

/* Coach photo cleanup */
.full-coaches-grid .coach-image {
  height: 300px;
  object-fit: cover;
  object-position: center top;
}

.full-coaches-grid .coach-card {
  display: flex;
  flex-direction: column;
}

.full-coaches-grid .coach-content {
  flex: 1;
}

@media (max-width: 1180px) {
  .full-coaches-grid .coach-image {
    height: 340px;
  }
}

@media (max-width: 760px) {
  .full-coaches-grid .coach-image {
    height: 300px;
  }
}

/* Availability page */
.availability-section {
  background: rgba(255,255,255,.92);
}

.availability-grid {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 22px;
  max-width: 1100px;
  margin: 32px auto 20px;
}

.availability-card {
  padding: 28px;
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  border: 1px solid #dbe8f5;
  box-shadow: 0 16px 44px rgba(7,20,38,.08);
}

.availability-card h3 {
  margin: 0 0 18px;
  color: var(--blue);
  font-size: 1.8rem;
  line-height: 1.05;
}

.availability-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #dfe9f4;
}

.availability-row:last-child {
  border-bottom: 0;
}

.status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-weight: 950;
  font-size: .85rem;
  white-space: nowrap;
}

.status.open {
  color: #073b1a;
  background: rgba(77, 190, 111, .18);
}

.status.limited {
  color: #5b3c00;
  background: rgba(243,200,75,.25);
}

.availability-note {
  max-width: 900px;
  margin: 20px auto 0;
  text-align: center;
  color: #3d4f63;
  font-weight: 700;
}

/* Sponsors page */
.sponsor-section {
  background: rgba(255,255,255,.92);
}

.sponsor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 34px;
}

.sponsor-card {
  padding: 30px;
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  border: 1px solid #dbe8f5;
  box-shadow: 0 16px 44px rgba(7,20,38,.08);
}

.sponsor-card h3 {
  margin: 0 0 8px;
  color: var(--blue);
  font-size: 1.8rem;
}

.sponsor-price {
  margin: 0 0 18px;
  font-size: 3rem;
  line-height: .95;
  font-weight: 950;
  color: var(--navy);
  letter-spacing: -.05em;
}

.featured-sponsor {
  border-color: rgba(243,200,75,.65);
  transform: translateY(-8px);
}

.sponsor-card ul {
  margin: 0;
  padding-left: 20px;
  color: #3d4f63;
}

.sponsor-card li {
  margin-bottom: 10px;
}

.sponsor-cta {
  max-width: 860px;
  margin: 36px auto 0;
  padding: 34px;
  border-radius: 26px;
  color: #ffffff;
  text-align: center;
  background:
    linear-gradient(rgba(7,20,38,.92), rgba(7,20,38,.92)),
    url("assets/site-background.png") center center / cover no-repeat;
}

.sponsor-cta h3 {
  margin: 0 0 10px;
  font-size: 2.4rem;
}

.sponsor-cta p {
  color: rgba(255,255,255,.82);
}

/* Expanded FAQ */
.expanded-faq details {
  max-width: 980px;
}

@media (max-width: 980px) {
  .availability-grid,
  .sponsor-grid {
    grid-template-columns: 1fr;
  }

  .featured-sponsor {
    transform: none;
  }
}


/* Total Development registration hub */
.td-registration-hero {
  padding: clamp(76px, 8vw, 120px) clamp(18px, 6vw, 84px);
  color: #ffffff;
  background:
    linear-gradient(rgba(11,37,69,.88), rgba(11,37,69,.88)),
    radial-gradient(circle at 72% 22%, rgba(0,163,224,.28), transparent 26%),
    radial-gradient(circle at 18% 78%, rgba(192,198,207,.18), transparent 22%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.td-registration-hero h1 {
  max-width: 1100px;
  margin: 0 0 20px;
  font-size: clamp(3rem, 7vw, 6.2rem);
  line-height: .92;
  letter-spacing: -.07em;
}

.td-registration-hero p {
  max-width: 850px;
  color: rgba(255,255,255,.84);
  font-size: 1.2rem;
}

.td-registration-paths {
  background: rgba(232,238,245,.92);
}

.td-path-grid,
.td-blueprint-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.td-path-card,
.td-form-needed,
.td-blueprint-grid article {
  padding: clamp(26px, 4vw, 44px);
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(0,163,224,.22);
  box-shadow: 0 18px 44px rgba(7,20,38,.10);
}

.td-path-card h2 {
  margin: 0 0 14px;
  color: #0B2545;
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: .95;
  letter-spacing: -.05em;
}

.td-path-card p,
.td-form-needed p,
.td-blueprint-grid p,
.td-blueprint-grid li {
  color: #3d4f63;
}

.td-path-label {
  margin: 0 0 12px;
  color: #00A3E0 !important;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.td-path-card ul {
  margin: 20px 0 26px;
  padding-left: 20px;
  color: #3d4f63;
}

.td-path-card li {
  margin-bottom: 10px;
}

.returning-player-path {
  border-color: rgba(0,163,224,.45);
}

.td-form-needed {
  max-width: 980px;
  margin: 34px auto 0;
  text-align: center;
  background: #0B2545;
}

.td-form-needed h2 {
  color: #ffffff;
  margin: 0 0 12px;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1;
}

.td-form-needed p {
  color: rgba(255,255,255,.82);
}

.td-form-blueprint {
  background: rgba(255,255,255,.94);
}

.td-blueprint-grid {
  margin-top: 30px;
}

.td-blueprint-grid h3 {
  margin: 0 0 10px;
  color: #0B2545;
  font-size: 1.8rem;
}

.td-blueprint-grid ol {
  margin: 18px 0 0;
  padding-left: 22px;
}

.disabled-link {
  cursor: pointer;
}

@media (max-width: 900px) {
  .td-path-grid,
  .td-blueprint-grid {
    grid-template-columns: 1fr;
  }
}


/* Total Development direct registration buttons */
.td-direct-registration-section {
  background: rgba(232, 238, 245, .92);
}

.td-direct-registration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  max-width: 1040px;
  margin: 30px auto 0;
}

.td-direct-card {
  padding: clamp(24px, 4vw, 38px);
  border-radius: 26px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(0,163,224,.22);
  box-shadow: 0 18px 44px rgba(7,20,38,.10);
  text-align: center;
}

.td-direct-card h3 {
  margin: 0 0 12px;
  color: #0B2545;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: .98;
}

.td-direct-card p {
  color: #3d4f63;
  margin: 0 auto 22px;
  max-width: 430px;
}

@media (max-width: 820px) {
  .td-direct-registration-grid {
    grid-template-columns: 1fr;
  }
}


/* Total Development Phase 1 checkout */
.td-checkout-hero {
  padding: clamp(76px, 8vw, 120px) clamp(18px, 6vw, 84px);
  color: #ffffff;
  background:
    linear-gradient(rgba(11,37,69,.90), rgba(11,37,69,.88)),
    radial-gradient(circle at 72% 22%, rgba(0,163,224,.30), transparent 28%),
    radial-gradient(circle at 16% 84%, rgba(192,198,207,.22), transparent 24%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.td-checkout-hero h1 {
  max-width: 1120px;
  margin: 0 0 20px;
  font-size: clamp(3rem, 7vw, 6.3rem);
  line-height: .92;
  letter-spacing: -.07em;
}

.td-checkout-hero p {
  max-width: 860px;
  color: rgba(255,255,255,.84);
  font-size: 1.2rem;
}

.td-checkout-section {
  background: rgba(232,238,245,.94);
}

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr);
  gap: 26px;
  align-items: start;
}

.checkout-card,
.checkout-summary-card {
  border-radius: 30px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(0,163,224,.22);
  box-shadow: 0 18px 44px rgba(7,20,38,.10);
}

.checkout-card {
  padding: clamp(22px, 4vw, 42px);
}

.checkout-summary-card {
  position: sticky;
  top: 24px;
  padding: clamp(22px, 3vw, 34px);
}

.checkout-step {
  padding: 0 0 32px;
  margin: 0 0 32px;
  border-bottom: 1px solid rgba(11,37,69,.12);
}

.checkout-step:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.checkout-step-label {
  margin: 0 0 8px;
  color: #00A3E0;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.checkout-step h2,
.checkout-summary-card h2 {
  margin: 0 0 18px;
  color: #0B2545;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: .95;
  letter-spacing: -.05em;
}

.checkout-summary-card h2 {
  font-size: clamp(3rem, 5vw, 5rem);
  color: #00A3E0;
}

.checkout-field-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.checkout-card label,
.checkout-note-label {
  display: grid;
  gap: 8px;
  color: #0B2545;
  font-weight: 850;
}

.checkout-card input[type="text"],
.checkout-card textarea,
.checkout-note-label textarea {
  width: 100%;
  border: 1px solid rgba(11,37,69,.16);
  border-radius: 16px;
  padding: 14px 15px;
  font: inherit;
  color: #0B2545;
  background: #ffffff;
}

.checkout-card textarea,
.checkout-note-label textarea {
  resize: vertical;
}

.checkout-help {
  margin: -6px 0 18px;
  color: #3d4f63;
}

.checkout-option-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.checkout-option {
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(11,37,69,.14);
  border-radius: 18px;
  background: #ffffff;
  cursor: pointer;
}

.checkout-option input {
  margin-top: 4px;
}

.checkout-option strong {
  display: block;
  color: #0B2545;
}

.checkout-option small {
  display: block;
  margin-top: 4px;
  color: #5a6c80;
  font-weight: 650;
}

.checkout-week-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.checkout-week-grid label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(11,37,69,.12);
}

.checkout-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(11,37,69,.10);
  color: #3d4f63;
}

.checkout-summary-line strong {
  color: #0B2545;
  text-align: right;
}

.checkout-note-label {
  margin: 18px 0;
}

.checkout-copy-button,
.checkout-pay-button {
  width: 100%;
  justify-content: center;
  text-align: center;
  margin-top: 10px;
}

.checkout-small-print {
  color: #5a6c80;
  font-size: .95rem;
  margin: 18px 0 0;
}

.checkout-form-links {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.checkout-form-links a {
  color: #0B2545;
  font-weight: 850;
}

.td-checkout-mini-cta {
  max-width: 920px;
  margin: 30px auto 0;
  padding: clamp(22px, 4vw, 36px);
  border-radius: 26px;
  background: #0B2545;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 18px 44px rgba(7,20,38,.16);
}

.td-checkout-mini-cta h3 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 3rem);
}

.td-checkout-mini-cta p {
  max-width: 680px;
  margin: 0 auto 20px;
  color: rgba(255,255,255,.82);
}

@media (max-width: 980px) {
  .checkout-layout,
  .checkout-field-grid,
  .checkout-option-list,
  .checkout-week-grid {
    grid-template-columns: 1fr;
  }

  .checkout-summary-card {
    position: static;
  }
}


/* Phase 2A checkout order logging */
.checkout-save-button {
  width: 100%;
  justify-content: center;
  text-align: center;
  margin-top: 14px;
}

.checkout-save-button:disabled {
  opacity: .78;
  cursor: not-allowed;
}

.checkout-save-status {
  min-height: 1.4em;
  margin: 10px 0 4px;
  color: #3d4f63;
  font-weight: 800;
  line-height: 1.35;
}

.checkout-save-status.success {
  color: #0B6B3A;
}

.checkout-save-status.error {
  color: #B3261E;
}


/* Venmo verification field */
#summaryVenmoFrom {
  overflow-wrap: anywhere;
}


/* 100% zoom + readability cleanup */
.site-scale-wrapper {
  transform: none !important;
  transform-origin: initial !important;
  width: 100% !important;
  margin-left: 0 !important;
  zoom: 1 !important;
}

body {
  overflow-x: hidden;
  font-size: 16px;
}

.site-header {
  padding: 12px clamp(16px, 3.5vw, 46px);
  gap: 18px;
}

.site-nav {
  gap: 12px;
  font-size: .86rem;
  line-height: 1.15;
}

.site-nav a {
  padding: 7px 0;
}

.brand-logo {
  width: 40px;
  height: 40px;
}

.brand strong {
  font-size: .96rem;
}

.brand small {
  font-size: .78rem;
}

.hero {
  min-height: 640px;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .85fr);
  padding: clamp(48px, 6vw, 82px) clamp(18px, 5vw, 72px);
  gap: clamp(24px, 4vw, 48px);
}

.hero h1 {
  font-size: clamp(2.7rem, 5.8vw, 5.35rem);
  max-width: 860px;
}

.hero-card {
  padding: clamp(24px, 3vw, 32px);
}

.section,
.subpage-hero,
.td-hero {
  padding-left: clamp(18px, 5vw, 72px);
  padding-right: clamp(18px, 5vw, 72px);
}

.section {
  padding-top: clamp(46px, 5vw, 72px);
  padding-bottom: clamp(46px, 5vw, 72px);
}

.subpage-hero {
  padding-top: clamp(60px, 6vw, 90px);
  padding-bottom: clamp(60px, 6vw, 90px);
}

.subpage-hero h1 {
  font-size: clamp(2.65rem, 5vw, 4.8rem);
  max-width: 980px;
}

.subpage-hero p {
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.65;
}

.td-hero {
  min-height: 610px;
  padding-top: clamp(60px, 7vw, 96px);
  padding-bottom: clamp(60px, 7vw, 96px);
}

.td-hero h1 {
  font-size: clamp(3.6rem, 8.2vw, 6.9rem);
}

.td-hero p,
.td-intro-text,
.intro > p,
.split p,
.register-panel p,
.landing-card p,
.detail-card p,
.faq details,
.td-stat-card p,
.td-price-card p,
.td-week-card p,
.td-daily-card p {
  line-height: 1.68;
}

.intro {
  gap: clamp(24px, 4vw, 36px);
}

.section-heading h2,
.split h2,
.register-panel h2 {
  font-size: clamp(1.85rem, 3.3vw, 3rem);
  line-height: 1.08;
}

.program-card,
.detail-card,
.tryout-box,
.faq details,
.td-stat-card,
.td-price-card,
.td-week-card,
.td-daily-card,
.td-cta-panel,
.landing-card {
  box-shadow: 0 12px 32px rgba(7,20,38,.08);
}

.program-card {
  min-height: 410px;
  padding: clamp(26px, 3vw, 32px);
}

.program-card h3 {
  font-size: clamp(1.65rem, 2.3vw, 2rem);
}

.tryout-row {
  padding: 20px 22px;
}

.full-coaches-grid .coach-image {
  height: 360px;
  object-fit: cover;
  object-position: center top;
}

.full-coaches-grid .coach-card {
  min-width: 0;
}

@media (max-width: 1180px) {
  .full-coaches-grid .coach-image {
    height: 340px;
  }
}

@media (max-width: 860px) {
  .site-header {
    padding: 12px 18px;
  }

  .hero {
    min-height: auto;
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .site-nav {
    font-size: 1rem;
    gap: 10px;
  }

  .full-coaches-grid .coach-image {
    height: 320px;
  }
}

/* Branded home Explore cards */
.home-explore-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.branded-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 250px;
  padding: 24px;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.20);
}

.branded-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 10%, rgba(255,255,255,.22), transparent 28%),
    linear-gradient(135deg, rgba(7,20,38,.28), rgba(7,20,38,.74));
  z-index: 0;
}

.branded-card::after {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  right: -44px;
  bottom: -58px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  z-index: 0;
}

.branded-card > * {
  position: relative;
  z-index: 1;
}

.branded-card h3 {
  color: #ffffff;
  font-size: clamp(1.28rem, 1.7vw, 1.65rem);
  text-shadow: 0 2px 10px rgba(0,0,0,.20);
}

.branded-card p {
  color: rgba(255,255,255,.88);
  font-weight: 650;
  font-size: .96rem;
}

.landing-logo-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: auto;
  padding-bottom: 24px;
}

.landing-logo-row img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.22));
}

.landing-logo-row img:only-child {
  width: 74px;
  height: 74px;
}

.programs-card,
.coaches-card,
.tryouts-card {
  background: linear-gradient(135deg, #071426, #0d3f73 58%, #142f57);
}

.availability-card {
  background: linear-gradient(135deg, #0d3f73, #1f6fb4 56%, #4ea3ff);
}

.total-development-card,
.td-registration-card,
.td-checkout-card {
  background: linear-gradient(135deg, #06101f, #0077b6 55%, #00A3E0);
}

.register-card {
  background: linear-gradient(135deg, #071426, #163b6f 55%, #f3c84b);
}

.sponsors-card {
  background: linear-gradient(135deg, #4a3510, #b38319 55%, #f3c84b);
}

.faq-card {
  background: linear-gradient(135deg, #13283f, #41627d 55%, #9bb9d3);
}

@media (max-width: 1250px) {
  .home-explore-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .home-explore-grid {
    grid-template-columns: 1fr;
  }

  .branded-card {
    min-height: 210px;
  }

  .landing-logo-row {
    padding-bottom: 18px;
  }
}


/* Total Development one-page sign-up */
.td-signup-hero {
  min-height: 560px;
  display: flex;
  align-items: center;
  padding: clamp(64px, 7vw, 104px) clamp(18px, 5vw, 72px);
  color: #fff;
  background:
    linear-gradient(rgba(6,16,31,.82), rgba(6,16,31,.82)),
    radial-gradient(circle at 78% 16%, rgba(0,163,224,.28), transparent 28%),
    radial-gradient(circle at 22% 76%, rgba(243,200,75,.18), transparent 26%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.td-signup-hero-content {
  max-width: 1080px;
}

.td-signup-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(3.2rem, 7.5vw, 7rem);
  line-height: .88;
  letter-spacing: -.075em;
}

.td-signup-hero p {
  max-width: 820px;
  font-size: clamp(1.08rem, 1.7vw, 1.35rem);
  color: rgba(255,255,255,.86);
}

.centered {
  text-align: center;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.signup-steps-grid,
.registration-path-grid {
  display: grid;
  gap: 22px;
}

.signup-steps-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 32px;
}

.signup-step-card {
  padding: 28px;
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  border: 1px solid #dbe8f5;
  box-shadow: 0 12px 32px rgba(7,20,38,.08);
}

.signup-step-card strong {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--gold);
  color: #06101f;
  font-size: 1.25rem;
  margin-bottom: 18px;
}

.signup-step-card h3 {
  margin: 0 0 10px;
  font-size: 1.45rem;
  line-height: 1.15;
}

.signup-step-card p {
  margin: 0;
  color: #3d4f63;
}

.registration-path-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 34px;
}

.registration-path-card {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  padding: 32px;
  border-radius: 28px;
  text-decoration: none;
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 16px 44px rgba(7,20,38,.12);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.registration-path-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 80% 12%, rgba(255,255,255,.20), transparent 28%),
    linear-gradient(135deg, rgba(7,20,38,.22), rgba(7,20,38,.76));
  z-index: 0;
}

.registration-path-card > * {
  position: relative;
  z-index: 1;
}

.new-player-card {
  background: linear-gradient(135deg, #071426, #0d3f73 55%, #4ea3ff);
}

.returning-player-card {
  background: linear-gradient(135deg, #06101f, #0077b6 55%, #00A3E0);
}

.registration-path-logo img {
  width: 92px;
  height: 92px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.24));
}

.path-label {
  margin-top: 26px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  font-size: .78rem;
}

.registration-path-card h3 {
  margin: 8px 0 10px;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: .98;
  letter-spacing: -.04em;
}

.registration-path-card p {
  max-width: 560px;
  color: rgba(255,255,255,.88);
  font-weight: 650;
  margin-bottom: 28px;
}

.registration-path-card .button {
  margin-top: auto;
}

.td-unified-checkout {
  background: rgba(234,243,252,.82);
}

.registration-complete-options {
  display: grid;
  gap: 12px;
}

.compact-option {
  min-height: auto;
}

.legacy-signup-notice {
  padding-top: 32px;
  padding-bottom: 0;
}

.legacy-signup-box {
  max-width: 980px;
  margin: 0 auto;
  padding: 28px;
  border-radius: 24px;
  background: rgba(255,255,255,.95);
  border: 1px solid #dbe8f5;
  box-shadow: 0 12px 32px rgba(7,20,38,.08);
  text-align: center;
}

.legacy-signup-box h2 {
  margin: 0 0 10px;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

/* Updated home card for unified TD sign-up */
.td-signup-card {
  background: linear-gradient(135deg, #06101f, #0077b6 52%, #00A3E0);
}

@media (max-width: 960px) {
  .signup-steps-grid,
  .registration-path-grid {
    grid-template-columns: 1fr;
  }

  .registration-path-card {
    min-height: 300px;
  }
}


/* Full conversion-focused website polish */
.home-hero {
  min-height: 690px;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  align-items: center;
  gap: clamp(30px, 4vw, 58px);
  padding: clamp(58px, 7vw, 96px) clamp(18px, 5vw, 72px);
  color: #fff;
  background:
    linear-gradient(120deg, rgba(6,16,31,.92), rgba(6,16,31,.74)),
    radial-gradient(circle at 82% 14%, rgba(78,163,255,.26), transparent 28%),
    radial-gradient(circle at 18% 82%, rgba(243,200,75,.18), transparent 30%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.home-hero h1 {
  margin: 0 0 22px;
  max-width: 980px;
  font-size: clamp(3.05rem, 6.4vw, 6.25rem);
  line-height: .9;
  letter-spacing: -.075em;
}

.home-hero .hero-text {
  max-width: 860px;
  font-size: clamp(1.08rem, 1.55vw, 1.32rem);
}

.home-hero-panel {
  padding: clamp(26px, 3vw, 34px);
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  color: var(--navy);
  border: 1px solid rgba(255,255,255,.58);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}

.home-hero-panel h2 {
  margin: 18px 0;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  text-align: center;
}

.home-hero-panel ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.home-hero-panel li {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid #dfe9f4;
}

.home-hero-panel li:last-child {
  border-bottom: 0;
}

.home-hero-panel span {
  color: #5a6c80;
  font-weight: 750;
}

.home-hero-panel strong {
  text-align: right;
}

.large-split img {
  width: 104px;
  height: 104px;
}

.trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.trust-strip span {
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  color: rgba(255,255,255,.88);
  font-size: .9rem;
  font-weight: 850;
}

.choose-path-section {
  background: rgba(255,255,255,.94);
}

.primary-path-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 34px;
}

.primary-path-card {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  padding: clamp(28px, 3.3vw, 40px);
  border-radius: 30px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: 0 18px 48px rgba(7,20,38,.13);
}

.primary-path-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(255,255,255,.23), transparent 28%),
    linear-gradient(135deg, rgba(6,16,31,.14), rgba(6,16,31,.75));
  z-index: 0;
}

.primary-path-card > * {
  position: relative;
  z-index: 1;
}

.aaa-path {
  background: linear-gradient(135deg, #071426, #0d3f73 55%, #4ea3ff);
}

.td-path {
  background: linear-gradient(135deg, #06101f, #0077b6 55%, #00A3E0);
}

.path-logo-pair {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 26px;
}

.path-logo-pair img {
  width: 92px;
  height: 92px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.24));
}

.path-logo-pair.single-logo img {
  width: 112px;
  height: 112px;
}

.primary-path-card h3 {
  margin: 8px 0 14px;
  max-width: 660px;
  font-size: clamp(2.15rem, 3.5vw, 3.5rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.primary-path-card p:not(.path-label) {
  max-width: 650px;
  color: rgba(255,255,255,.89);
  font-size: 1.05rem;
  font-weight: 650;
}

.path-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.path-buttons .secondary,
.final-cta-panel .secondary,
.dark-secondary {
  border-color: rgba(7,20,38,.35);
  color: #071426;
  background: rgba(255,255,255,.88);
}

.primary-path-card .button.secondary {
  border-color: rgba(255,255,255,.55);
  color: #fff;
  background: rgba(255,255,255,.10);
}

.why-section,
.gets-section,
.parent-faq-section {
  background: rgba(244,248,252,.90);
}

.why-grid,
.gets-grid,
.limited-preview-grid,
.quick-faq-grid,
.value-pill-grid {
  display: grid;
  gap: 20px;
}

.why-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 34px;
}

.why-grid article,
.gets-grid article,
.quick-faq-grid details {
  padding: 26px;
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  border: 1px solid #dbe8f5;
  box-shadow: 0 12px 32px rgba(7,20,38,.08);
}

.why-grid span {
  display: inline-flex;
  margin-bottom: 20px;
  color: var(--gold);
  font-weight: 950;
  letter-spacing: .12em;
}

.why-grid h3,
.gets-grid h3,
.quick-faq-grid summary {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 1.28rem;
  line-height: 1.14;
}

.why-grid p,
.gets-grid li,
.quick-faq-grid p {
  color: #3d4f63;
}

.proof-section {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 50px);
  align-items: center;
  background:
    linear-gradient(rgba(7,20,38,.90), rgba(7,20,38,.90)),
    url("assets/site-background.png") center center / cover no-repeat;
  color: #fff;
}

.proof-copy h2 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 4vw, 3.55rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.proof-copy p {
  color: rgba(255,255,255,.84);
  font-size: 1.08rem;
}

.mini-coach-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.mini-coach-grid article {
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
}

.mini-coach-grid img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.mini-coach-grid h3 {
  margin: 14px 14px 2px;
  font-size: 1.05rem;
}

.mini-coach-grid p {
  margin: 0 14px 16px;
  color: rgba(255,255,255,.76);
  font-weight: 800;
}

.limited-section {
  background: rgba(255,255,255,.94);
}

.limited-preview-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 30px;
}

.center-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.gets-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 32px;
}

.gets-grid img {
  width: 92px;
  height: 92px;
  object-fit: contain;
}

.gets-grid h3 {
  font-size: 1.8rem;
  margin-top: 18px;
}

.gets-grid ul {
  padding-left: 20px;
  margin: 0 0 24px;
}

.gets-grid li {
  margin-bottom: 8px;
  font-weight: 650;
}

.quick-faq-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 28px;
}

.quick-faq-grid details {
  padding: 22px 24px;
}

.quick-faq-grid summary {
  cursor: pointer;
  font-weight: 950;
}

.quick-faq-grid p {
  margin-bottom: 0;
}

.final-cta-section,
.page-bottom-cta {
  background:
    linear-gradient(rgba(6,16,31,.88), rgba(6,16,31,.88)),
    radial-gradient(circle at 76% 20%, rgba(78,163,255,.20), transparent 30%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.final-cta-panel {
  max-width: 1060px;
  margin: 0 auto;
  padding: clamp(32px, 4vw, 48px);
  border-radius: 30px;
  text-align: center;
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 18px 56px rgba(0,0,0,.20);
}

.final-cta-panel h2 {
  margin: 0 auto 22px;
  max-width: 860px;
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.final-cta-panel .hero-actions {
  justify-content: center;
}

.page-value-section {
  background: rgba(255,255,255,.94);
}

.value-pill-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 28px;
}

.value-pill-grid div {
  padding: 18px 20px;
  border-radius: 999px;
  text-align: center;
  background: #071426;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 12px 30px rgba(7,20,38,.10);
}

.compact-path-grid .primary-path-card {
  min-height: 350px;
}

.registration-hub-choice {
  background: rgba(255,255,255,.94);
}

.upgraded-footer {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto minmax(220px, .7fr);
  align-items: center;
  gap: 28px;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 18px;
  font-weight: 850;
}

.footer-links a {
  color: rgba(255,255,255,.84);
  text-decoration: none;
}

.footer-links a:hover {
  color: var(--gold);
}

.footer-contact {
  text-align: right;
}

.footer-contact p {
  margin: 4px 0;
}

@media (max-width: 1180px) {
  .home-hero,
  .proof-section {
    grid-template-columns: 1fr;
  }

  .home-hero-panel {
    max-width: 720px;
  }

  .why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mini-coach-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .value-pill-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .upgraded-footer {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-brand,
  .footer-contact {
    text-align: center;
  }
}

@media (max-width: 860px) {
  .primary-path-grid,
  .limited-preview-grid,
  .gets-grid,
  .quick-faq-grid {
    grid-template-columns: 1fr;
  }

  .home-hero {
    min-height: auto;
  }

  .home-hero h1 {
    font-size: clamp(2.55rem, 11vw, 4.2rem);
  }

  .home-hero-panel li {
    flex-direction: column;
    gap: 4px;
  }

  .home-hero-panel strong {
    text-align: left;
  }

  .path-buttons,
  .hero-actions,
  .center-actions {
    align-items: stretch;
  }

  .path-buttons .button,
  .hero-actions .button,
  .center-actions .button {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .why-grid,
  .mini-coach-grid,
  .value-pill-grid {
    grid-template-columns: 1fr;
  }

  .primary-path-card {
    min-height: auto;
  }

  .path-logo-pair img {
    width: 72px;
    height: 72px;
  }

  .path-logo-pair.single-logo img {
    width: 88px;
    height: 88px;
  }
}


/* Logo and readability fixes requested */
.primary-path-card .path-logo-pair {
  min-height: 132px;
  align-items: center;
}

.primary-path-card .path-logo-pair img {
  width: clamp(112px, 9vw, 148px);
  height: clamp(112px, 9vw, 148px);
  object-fit: contain;
}

.primary-path-card .path-logo-pair.single-logo img,
.primary-path-card .td-logo-pair img {
  width: clamp(170px, 15vw, 250px);
  height: auto;
  max-height: 150px;
  object-fit: contain;
}

.path-logo-pair.single-logo {
  justify-content: flex-start;
}

.td-gets-card .td-correct-logo,
.gets-grid article img.td-correct-logo {
  width: clamp(170px, 16vw, 245px);
  height: auto;
  max-height: 150px;
  object-fit: contain;
  margin-bottom: 6px;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.18));
}

.limited-section .availability-card {
  background:
    linear-gradient(rgba(7,20,38,.92), rgba(7,20,38,.92)),
    radial-gradient(circle at 84% 12%, rgba(243,200,75,.18), transparent 30%),
    url("assets/site-background.png") center center / cover no-repeat;
  border: 1px solid rgba(243,200,75,.42);
  color: #ffffff;
}

.limited-section .availability-card h3 {
  color: var(--gold);
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

.limited-section .availability-row {
  border-bottom-color: rgba(243,200,75,.22);
}

.limited-section .availability-row strong {
  color: var(--gold);
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
}

.limited-section .availability-row .status {
  border: 1px solid rgba(255,255,255,.26);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.limited-section .status.open {
  background: rgba(243,200,75,.18);
  color: #ffffff;
}

.limited-section .status.limited {
  background: var(--gold);
  color: #071426;
}

@media (max-width: 760px) {
  .primary-path-card .path-logo-pair {
    min-height: auto;
  }

  .primary-path-card .path-logo-pair img {
    width: 104px;
    height: 104px;
  }

  .primary-path-card .path-logo-pair.single-logo img,
  .primary-path-card .td-logo-pair img,
  .td-gets-card .td-correct-logo,
  .gets-grid article img.td-correct-logo {
    width: 190px;
    height: auto;
    max-height: 130px;
  }
}


/* Dylan coaching bio photo fix */
.full-coaches-grid .featured-coach .dylan-coach-photo {
  height: 430px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: linear-gradient(180deg, #eef3f8, #ffffff);
  padding: 8px;
}

@media (max-width: 760px) {
  .full-coaches-grid .featured-coach .dylan-coach-photo {
    height: 380px !important;
    padding: 6px;
  }
}


/* Availability page Roster Interest readability update */
.availability-section .availability-card {
  background:
    linear-gradient(rgba(7,20,38,.92), rgba(7,20,38,.92)),
    radial-gradient(circle at 84% 12%, rgba(243,200,75,.18), transparent 30%),
    url("assets/site-background.png") center center / cover no-repeat;
  border: 1px solid rgba(243,200,75,.42);
  color: #ffffff;
  box-shadow: 0 16px 42px rgba(7,20,38,.14);
}

.availability-section .availability-card h3 {
  color: var(--gold);
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

.availability-section .availability-row {
  border-bottom-color: rgba(243,200,75,.22);
}

.availability-section .availability-row strong {
  color: var(--gold);
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
}

.availability-section .availability-row .status {
  border: 1px solid rgba(255,255,255,.26);
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.availability-section .status.open {
  background: rgba(243,200,75,.18);
  color: #ffffff;
}

.availability-section .status.limited {
  background: var(--gold);
  color: #071426;
}

.availability-section .availability-note {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 20px 24px;
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  border: 1px solid #dbe8f5;
  box-shadow: 0 12px 32px rgba(7,20,38,.08);
  color: #3d4f63;
  font-weight: 700;
}


/* Big requested updates */
.mission-section {
  background: rgba(255,255,255,.94);
}
.mission-panel {
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px;
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  border: 1px solid #dbe8f5;
  box-shadow: 0 12px 32px rgba(7,20,38,.08);
}
.mission-panel p {
  color: #3d4f63;
  line-height: 1.75;
  font-size: 1.03rem;
  margin: 0 0 16px;
}
.mission-panel p:last-child { margin-bottom: 0; }

.td-correct-logo,
img[src*="total-development-logo.png"] {
  object-fit: contain;
}

.primary-path-card .path-logo-pair.single-logo img,
.primary-path-card .td-logo-pair img,
.td-gets-card .td-correct-logo,
.gets-grid article img.td-correct-logo {
  width: clamp(170px, 16vw, 245px);
  height: auto;
  max-height: 150px;
  object-fit: contain;
  margin-bottom: 6px;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.18));
}

img[src*="total-development-2027-flyer.png"] {
  max-width: 92%;
  margin: 0 auto;
  display: block;
}

.full-coaches-grid .featured-coach .standard-coach-photo,
.full-coaches-grid .coach-card .standard-coach-photo {
  height: 410px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: linear-gradient(180deg, #eef3f8, #ffffff);
  padding: 8px;
}

.full-coaches-grid .featured-coach .dylan-coach-photo {
  height: 430px !important;
}

@media (max-width: 760px) {
  .full-coaches-grid .featured-coach .standard-coach-photo,
  .full-coaches-grid .coach-card .standard-coach-photo {
    height: 360px !important;
    padding: 6px;
  }
  .full-coaches-grid .featured-coach .dylan-coach-photo {
    height: 380px !important;
  }
}


/* Cleaner North Stars and Nova logo update */
.hero-logo-split img,
.footer-logo-lockup img,
.path-logo-pair img,
.landing-logo-row img,
.gets-grid article img,
.primary-path-card .path-logo-pair img,
.brand-logo {
  object-fit: contain;
}

.hero-logo-split img {
  width: clamp(120px, 10vw, 158px);
  height: clamp(120px, 10vw, 158px);
}

.landing-logo-row img {
  width: 66px;
  height: 66px;
}

.path-logo-pair img,
.primary-path-card .path-logo-pair img {
  width: clamp(122px, 10vw, 162px);
  height: clamp(122px, 10vw, 162px);
}

.footer-logo-lockup img {
  width: 66px;
  height: 66px;
}

.gets-grid article img:not(.td-correct-logo) {
  width: 108px;
  height: 108px;
}


/* Register button direct-form helper */
.registration-direct-note {
  margin-top: 10px;
  color: rgba(255,255,255,.84);
  font-weight: 800;
}

.aaa-top-pay-shortcut {
  margin-left: 8px;
}

@media (max-width: 860px) {
  .aaa-top-pay-shortcut {
    margin-left: 0;
    margin-top: 10px;
  }
}


/* Western Wisconsin Rising Stars */
:root {
  --rs-navy: #031128;
  --rs-gold: #F8B309;
  --rs-ice: #76B1DE;
  --rs-white: #FFFFFF;
}

.rs-hero,
.rs-interest-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .75fr);
  align-items: center;
  gap: clamp(28px, 4vw, 58px);
  padding: clamp(58px, 7vw, 96px) clamp(18px, 5vw, 72px);
  color: var(--rs-white);
  background:
    linear-gradient(120deg, rgba(3,17,40,.94), rgba(3,17,40,.82)),
    radial-gradient(circle at 82% 12%, rgba(118,177,222,.30), transparent 30%),
    radial-gradient(circle at 18% 82%, rgba(248,179,9,.20), transparent 30%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.rs-hero {
  min-height: 690px;
}

.rs-interest-hero {
  min-height: 470px;
}

.rs-eyebrow,
.rs-small-title,
.rs-form-label {
  margin: 0 0 12px;
  color: var(--rs-gold);
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-size: .82rem;
}

.rs-hero h1,
.rs-interest-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(3.1rem, 7vw, 7rem);
  line-height: .9;
  letter-spacing: -.07em;
}

.rs-hero-text,
.rs-interest-hero p {
  max-width: 840px;
  color: rgba(255,255,255,.88);
  font-size: clamp(1.06rem, 1.5vw, 1.28rem);
}

.rs-supporting {
  margin: 22px 0 0;
  color: var(--rs-gold);
  font-size: clamp(1.4rem, 2.7vw, 2.5rem);
  font-weight: 950;
  letter-spacing: .02em;
}

.rs-note {
  color: rgba(255,255,255,.84);
  font-weight: 800;
}

.rs-hero-logo-card,
.rs-interest-hero img {
  justify-self: center;
}

.rs-hero-logo-card {
  padding: clamp(20px, 3vw, 34px);
  border-radius: 30px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(248,179,9,.35);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}

.rs-hero-logo-card img,
.rs-interest-hero img {
  width: min(340px, 80vw);
  height: auto;
  display: block;
}

.rs-primary {
  background: var(--rs-gold);
  color: var(--rs-navy);
  box-shadow: 0 14px 34px rgba(248,179,9,.25);
}

.rs-secondary {
  color: var(--rs-white);
  border: 1px solid rgba(248,179,9,.55);
  background: rgba(255,255,255,.08);
}

.rs-snapshot-section,
.rs-details-section,
.rs-form-section {
  background: rgba(255,255,255,.94);
}

.rs-snapshot-grid,
.rs-group-grid,
.rs-detail-list {
  display: grid;
  gap: 20px;
}

.rs-snapshot-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 30px;
}

.rs-snapshot-grid article,
.rs-detail-list div {
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(236,247,255,.94));
  border: 1px solid rgba(118,177,222,.42);
  box-shadow: 0 12px 32px rgba(3,17,40,.08);
}

.rs-snapshot-grid strong,
.rs-detail-list strong {
  display: block;
  color: var(--rs-navy);
  font-size: 1.25rem;
  margin-bottom: 8px;
}

.rs-snapshot-grid span,
.rs-detail-list span {
  color: #3d4f63;
  font-weight: 700;
}

.rs-groups-section {
  background:
    linear-gradient(rgba(3,17,40,.92), rgba(3,17,40,.92)),
    radial-gradient(circle at 82% 12%, rgba(248,179,9,.16), transparent 28%),
    url("assets/site-background.png") center center / cover no-repeat;
  color: #fff;
}

.rs-groups-section .section-heading h2,
.rs-groups-section .td-intro-text {
  color: #fff;
}

.rs-group-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 34px;
}

.rs-group-card {
  min-height: 310px;
  padding: clamp(28px, 3vw, 38px);
  border-radius: 30px;
  border: 1px solid rgba(248,179,9,.35);
  color: #fff;
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}

.new-stars-card {
  background:
    linear-gradient(135deg, rgba(3,17,40,.84), rgba(3,17,40,.94)),
    radial-gradient(circle at 80% 10%, rgba(118,177,222,.34), transparent 34%);
}

.rising-stars-card {
  background:
    linear-gradient(135deg, rgba(3,17,40,.84), rgba(3,17,40,.94)),
    radial-gradient(circle at 80% 10%, rgba(248,179,9,.30), transparent 34%);
}

.rs-group-kicker {
  display: inline-flex;
  color: var(--rs-gold);
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.rs-group-card h3 {
  margin: 0 0 14px;
  font-size: clamp(2.3rem, 4vw, 4rem);
  line-height: .95;
  letter-spacing: -.05em;
}

.rs-group-card p {
  color: rgba(255,255,255,.88);
  font-size: 1.08rem;
}

.rs-detail-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 30px;
}

.rs-cta-section {
  background: linear-gradient(135deg, var(--rs-navy), #07224d);
}

.rs-cta-panel {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(30px, 4vw, 48px);
  border-radius: 30px;
  text-align: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(248,179,9,.30);
  color: #fff;
}

.rs-cta-panel img {
  width: 180px;
  height: auto;
  display: block;
  margin: 0 auto 18px;
}

.rs-cta-panel h2 {
  margin: 0 auto 18px;
  max-width: 780px;
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.rs-path-card {
  background: linear-gradient(135deg, var(--rs-navy), #063169 55%, var(--rs-ice));
}

.rs-home-logo img,
.gets-rising-stars-card img {
  object-fit: contain;
}

.rs-home-logo img {
  width: clamp(150px, 14vw, 230px) !important;
  height: auto !important;
  max-height: 230px;
}

.gets-rising-stars-card img {
  width: 150px !important;
  height: auto !important;
}

.rs-interest-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 26px;
  align-items: start;
}

.rs-interest-form,
.rs-interest-sidebar {
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(118,177,222,.38);
  box-shadow: 0 16px 44px rgba(3,17,40,.09);
}

.rs-interest-form {
  padding: clamp(24px, 3vw, 36px);
}

.rs-form-step {
  padding: 0 0 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid #dbe8f5;
}

.rs-form-step:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.rs-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.rs-interest-form label,
.rs-checkbox-group legend {
  display: block;
  font-weight: 900;
  color: var(--rs-navy);
}

.rs-interest-form input,
.rs-interest-form select,
.rs-interest-form textarea {
  width: 100%;
  margin-top: 7px;
  border: 1px solid #c9d8e8;
  border-radius: 14px;
  padding: 13px 14px;
  font: inherit;
  background: #fff;
  color: var(--rs-navy);
}

.rs-interest-form textarea {
  resize: vertical;
}

.rs-checkbox-group {
  margin: 18px 0 0;
  padding: 18px;
  border: 1px solid #c9d8e8;
  border-radius: 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.rs-checkbox-group label,
.rs-permission {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.rs-checkbox-group input,
.rs-permission input {
  width: auto;
  margin: 0;
}

.rs-form-note {
  color: #3d4f63;
  font-weight: 850;
}

.rs-form-status {
  min-height: 1.4em;
  font-weight: 900;
  color: #3d4f63;
}

.rs-form-status.success {
  color: #0B6B3A;
}

.rs-form-status.error {
  color: #B3261E;
}

.rs-interest-sidebar {
  padding: 30px;
  position: sticky;
  top: 105px;
  background:
    linear-gradient(rgba(3,17,40,.94), rgba(3,17,40,.94)),
    radial-gradient(circle at 80% 10%, rgba(248,179,9,.18), transparent 30%);
  color: #fff;
}

.rs-interest-sidebar img {
  width: 210px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 20px;
}

.rs-interest-sidebar h2 {
  margin: 0 0 8px;
  font-size: 2rem;
  line-height: 1;
}

.rs-interest-sidebar p {
  color: var(--rs-gold);
  font-weight: 950;
}

.rs-interest-sidebar li {
  margin-bottom: 9px;
  color: rgba(255,255,255,.86);
}

@media (max-width: 1100px) {
  .rs-hero,
  .rs-interest-hero,
  .rs-interest-layout {
    grid-template-columns: 1fr;
  }

  .rs-snapshot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rs-interest-sidebar {
    position: static;
  }
}

@media (max-width: 760px) {
  .rs-group-grid,
  .rs-detail-list,
  .rs-snapshot-grid,
  .rs-form-grid,
  .rs-checkbox-group {
    grid-template-columns: 1fr;
  }

  .rs-hero h1,
  .rs-interest-hero h1 {
    font-size: clamp(2.5rem, 12vw, 4rem);
  }
}


/* Rising Stars interest-list visibility updates */
.rs-hero-alert,
.rs-form-alert,
.rs-card-alert {
  border: 1px solid rgba(248,179,9,.55);
  background: rgba(248,179,9,.12);
  color: #ffffff;
  border-radius: 18px;
  padding: 14px 16px;
  font-weight: 850;
}

.rs-hero-alert {
  margin-top: 18px;
  max-width: 760px;
}

.rs-hero-alert strong,
.rs-form-alert strong,
.rs-card-alert strong {
  display: block;
  color: var(--rs-gold);
  font-weight: 950;
}

.rs-hero-alert span,
.rs-form-alert span {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.88);
}

.rs-visible-note {
  font-weight: 850;
  color: #3d4f63;
}

.rs-form-alert {
  max-width: 1160px;
  margin: 0 auto 24px;
  background:
    linear-gradient(135deg, rgba(3,17,40,.96), rgba(3,17,40,.90)),
    radial-gradient(circle at 88% 12%, rgba(248,179,9,.16), transparent 28%);
  box-shadow: 0 14px 36px rgba(3,17,40,.12);
}

.rs-card-alert {
  margin: 18px 0 0;
  background: rgba(3,17,40,.48);
  border-color: rgba(248,179,9,.62);
}

.rs-card-alert strong {
  color: var(--rs-gold);
}


/* AAA Website Registration Checkout */
.aaa-checkout-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .7fr);
  align-items: center;
  gap: clamp(28px, 4vw, 58px);
  min-height: 600px;
  padding: clamp(58px, 7vw, 96px) clamp(18px, 5vw, 72px);
  color: #fff;
  background:
    linear-gradient(120deg, rgba(7,20,38,.95), rgba(7,20,38,.84)),
    radial-gradient(circle at 82% 12%, rgba(243,200,75,.22), transparent 30%),
    radial-gradient(circle at 18% 82%, rgba(0,163,224,.20), transparent 30%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.aaa-checkout-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(3rem, 6.2vw, 6.3rem);
  line-height: .9;
  letter-spacing: -.07em;
}

.aaa-checkout-hero p {
  max-width: 840px;
  color: rgba(255,255,255,.88);
  font-size: clamp(1.06rem, 1.5vw, 1.25rem);
}

.aaa-checkout-alert,
.aaa-sidebar-note {
  margin-top: 18px;
  padding: 15px 18px;
  border-radius: 18px;
  border: 1px solid rgba(243,200,75,.55);
  background: rgba(243,200,75,.12);
  font-weight: 850;
}

.aaa-checkout-alert strong,
.aaa-sidebar-note strong {
  display: block;
  color: var(--gold);
  font-weight: 950;
}

.aaa-checkout-alert span,
.aaa-sidebar-note span {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.86);
}

.aaa-checkout-logo-lockup {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  padding: 24px;
  border-radius: 30px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(243,200,75,.34);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}

.aaa-checkout-logo-lockup img {
  width: min(180px, 35vw);
  height: auto;
  object-fit: contain;
}

.aaa-checkout-section {
  background: rgba(255,255,255,.94);
}

.aaa-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr);
  gap: 28px;
  align-items: start;
}

.aaa-checkout-form,
.aaa-checkout-sidebar {
  border-radius: 28px;
  background: rgba(255,255,255,.97);
  border: 1px solid #dbe8f5;
  box-shadow: 0 16px 44px rgba(7,20,38,.09);
}

.aaa-checkout-form {
  padding: clamp(24px, 3vw, 36px);
}

.aaa-form-step {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #dbe8f5;
}

.aaa-form-step:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.aaa-step-label {
  margin: 0 0 18px;
  color: var(--gold);
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-size: .82rem;
}

.aaa-form-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}

.aaa-form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aaa-form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aaa-form-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.aaa-checkout-form label {
  display: block;
  font-weight: 900;
  color: var(--navy);
}

.aaa-checkout-form input,
.aaa-checkout-form select,
.aaa-checkout-form textarea {
  width: 100%;
  margin-top: 7px;
  border: 1px solid #c9d8e8;
  border-radius: 14px;
  padding: 13px 14px;
  font: inherit;
  background: #fff;
  color: var(--navy);
}

.aaa-checkout-form textarea {
  resize: vertical;
}

.aaa-tryout-summary,
.aaa-payment-note {
  padding: 16px;
  border-radius: 18px;
  background: #edf7ff;
  border: 1px solid #cce4f6;
  color: var(--navy);
  font-weight: 850;
}

.aaa-tryout-summary strong,
.aaa-payment-note strong {
  display: block;
  color: var(--navy);
  margin-bottom: 6px;
}

.aaa-payment-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
  margin-bottom: 18px;
}

.aaa-payment-panel div {
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--navy), #0b2d56);
  color: #fff;
  border: 1px solid rgba(243,200,75,.38);
}

.aaa-payment-panel strong {
  display: block;
  color: var(--gold);
  font-size: 1.1rem;
}

.aaa-payment-panel span {
  display: block;
  margin-top: 5px;
  color: rgba(255,255,255,.86);
  font-weight: 800;
}

.aaa-acknowledgement {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 18px 0;
  padding: 16px;
  border-radius: 18px;
  background: #fff7df;
  border: 1px solid rgba(243,200,75,.58);
}

.aaa-acknowledgement input {
  width: auto;
  margin-top: 4px;
}

.aaa-form-status {
  min-height: 1.4em;
  font-weight: 900;
  color: #3d4f63;
}

.aaa-form-status.success { color: #0B6B3A; }
.aaa-form-status.error { color: #B3261E; }

.aaa-venmo-button {
  margin-top: 12px;
}

.aaa-venmo-button.ready {
  background: var(--gold);
  color: var(--navy);
}

.aaa-checkout-sidebar {
  position: sticky;
  top: 105px;
  padding: 30px;
  background:
    linear-gradient(rgba(7,20,38,.94), rgba(7,20,38,.94)),
    radial-gradient(circle at 82% 12%, rgba(243,200,75,.18), transparent 30%);
  color: #fff;
}

.aaa-sidebar-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 18px;
}

.aaa-sidebar-logos img {
  width: 120px;
  height: auto;
  object-fit: contain;
}

.aaa-checkout-sidebar h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
}

.aaa-checkout-sidebar li {
  margin-bottom: 10px;
  color: rgba(255,255,255,.86);
  font-weight: 800;
}

@media (max-width: 1100px) {
  .aaa-checkout-hero,
  .aaa-checkout-layout {
    grid-template-columns: 1fr;
  }
  .aaa-checkout-sidebar {
    position: static;
  }
}

@media (max-width: 860px) {
  .aaa-form-grid.two,
  .aaa-form-grid.three,
  .aaa-form-grid.four,
  .aaa-payment-panel {
    grid-template-columns: 1fr;
  }
  .aaa-checkout-logo-lockup {
    flex-wrap: wrap;
  }
}


/* Registration Hub polish + logo consistency pass */
.register-hub-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .8fr);
  align-items: center;
  gap: clamp(28px, 4vw, 58px);
  min-height: 560px;
  padding: clamp(58px, 7vw, 94px) clamp(18px, 5vw, 72px);
  color: #fff;
  background:
    linear-gradient(120deg, rgba(7,20,38,.95), rgba(7,20,38,.84)),
    radial-gradient(circle at 82% 12%, rgba(243,200,75,.22), transparent 30%),
    radial-gradient(circle at 18% 82%, rgba(0,163,224,.18), transparent 30%),
    url("assets/site-background.png") center center / cover no-repeat;
}

.register-hub-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(3rem, 6.2vw, 6rem);
  line-height: .92;
  letter-spacing: -.07em;
}

.register-hub-hero p {
  max-width: 840px;
  color: rgba(255,255,255,.88);
  font-size: clamp(1.06rem, 1.5vw, 1.25rem);
}

.register-hub-logo-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(105px, 1fr));
  gap: 16px;
  padding: 24px;
  border-radius: 30px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(243,200,75,.34);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}

.register-hub-logo-stack img {
  width: 100%;
  max-width: 160px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  justify-self: center;
  align-self: center;
}

.register-hub-section {
  background: rgba(255,255,255,.94);
}

.registration-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 34px;
}

.registration-hub-card {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-height: 100%;
  padding: clamp(24px, 3vw, 34px);
  border-radius: 30px;
  color: #fff;
  box-shadow: 0 18px 48px rgba(7,20,38,.14);
  border: 1px solid rgba(243,200,75,.35);
}

.aaa-hub-card {
  background: linear-gradient(135deg, var(--navy), #103969 60%, #0a1d36);
}

.td-hub-card {
  background: linear-gradient(135deg, #071426, #005D85 62%, #00A3E0);
}

.rs-hub-card {
  background: linear-gradient(135deg, var(--rs-navy, #031128), #063169 62%, var(--rs-ice, #76B1DE));
}

.hub-logo-pair,
.hub-single-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 148px;
  gap: 12px;
  margin-bottom: 6px;
}

.hub-logo-pair img {
  width: min(122px, 42%);
  height: 122px;
  object-fit: contain;
}

.hub-single-logo img {
  width: 150px;
  max-height: 150px;
  object-fit: contain;
}

.hub-single-logo.rising img {
  width: 168px;
  max-height: 168px;
}

.hub-kicker {
  margin: 0;
  color: var(--gold);
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
}

.registration-hub-card h3 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: .98;
  letter-spacing: -.04em;
}

.registration-hub-card p {
  color: rgba(255,255,255,.88);
  font-weight: 750;
}

.hub-payment-note,
.aaa-payment-clarity-note,
.td-payment-clarity-note,
.rs-no-payment-note {
  padding: 15px 16px;
  border-radius: 18px;
  border: 1px solid rgba(243,200,75,.55);
  background: rgba(7,20,38,.40);
  color: #fff;
  font-weight: 850;
}

.hub-payment-note strong,
.aaa-payment-clarity-note strong,
.td-payment-clarity-note strong,
.rs-no-payment-note strong {
  display: block;
  color: var(--gold);
  font-weight: 950;
}

.hub-payment-note span,
.td-payment-clarity-note span,
.rs-no-payment-note span {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.88);
}

.registration-hub-card .button {
  margin-top: auto;
  justify-content: center;
}

.register-help-section {
  background: linear-gradient(135deg, var(--navy), #0b2d56);
}

.register-help-panel {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  padding: clamp(28px, 4vw, 44px);
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(243,200,75,.3);
}

.register-help-panel h2 {
  margin: 0 0 10px;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: -.05em;
}

.register-help-panel p,
.register-help-panel a {
  color: rgba(255,255,255,.90);
  font-weight: 850;
}

.td-payment-clarity-note,
.rs-no-payment-note {
  max-width: 1160px;
  margin: 0 auto 24px;
  background: linear-gradient(135deg, rgba(7,20,38,.96), rgba(7,20,38,.90));
  box-shadow: 0 14px 36px rgba(7,20,38,.12);
}

/* Global logo safeguards */
img[src*="north-stars-badge"],
img[src*="nova-badge"],
img[src*="combined-badge"],
img[src*="total-development-logo"],
img[src*="rising-stars-crest"] {
  object-fit: contain;
}

.site-footer img,
.footer-logo-lockup img,
.brand-logo,
.hero-logo-split img,
.path-logo-pair img,
.landing-logo-row img,
.gets-grid article img,
.aaa-sidebar-logos img,
.aaa-checkout-logo-lockup img,
.rs-hero-logo-card img,
.rs-interest-sidebar img {
  object-fit: contain !important;
}

.footer-logo-lockup img {
  width: 68px;
  height: 68px;
}

@media (max-width: 1100px) {
  .register-hub-hero,
  .registration-hub-grid {
    grid-template-columns: 1fr;
  }

  .register-hub-logo-stack {
    max-width: 440px;
    margin: 0 auto;
  }
}

@media (max-width: 760px) {
  .register-hub-hero h1 {
    font-size: clamp(2.45rem, 12vw, 4rem);
  }

  .register-hub-logo-stack {
    grid-template-columns: repeat(2, minmax(90px, 1fr));
    padding: 18px;
  }

  .register-hub-logo-stack img {
    max-width: 132px;
  }
}


/* Total Development on-website signup link cleanup */
.td-onsite-signup-note {
  max-width: 820px;
  margin: 18px auto 0;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(0,163,224,.38);
  background: rgba(0,163,224,.10);
  color: var(--navy);
  font-weight: 850;
}

.td-onsite-signup-note strong {
  color: var(--honolulu-blue, #00A3E0);
  font-weight: 950;
}


/* Program-specific landing page hero/background updates */

/* Total Development landing page: match the Total Development logo look */
.total-development-hero,
.td-hero,
.hero-total-development,
body:has(.total-development-page) .hero,
body:has(.td-page) .hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(118deg, rgba(0, 55, 103, .96), rgba(0, 163, 224, .82)),
    radial-gradient(circle at 16% 20%, rgba(255,255,255,.18), transparent 26%),
    radial-gradient(circle at 86% 18%, rgba(168, 172, 176, .28), transparent 28%),
    radial-gradient(circle at 76% 82%, rgba(0, 163, 224, .34), transparent 34%),
    url("assets/total-development-logo.png") right 7% center / min(440px, 42vw) auto no-repeat !important;
}

.total-development-hero::before,
.td-hero::before,
.hero-total-development::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 30, 64, .86), rgba(0, 30, 64, .40) 58%, rgba(0, 30, 64, .78)),
    url("assets/total-development-logo.png") right 8% center / min(460px, 44vw) auto no-repeat;
  opacity: .95;
  pointer-events: none;
}

.total-development-hero > *,
.td-hero > *,
.hero-total-development > * {
  position: relative;
  z-index: 1;
}

.td-hero-brand-mark {
  position: absolute !important;
  right: clamp(18px, 5vw, 72px);
  bottom: clamp(18px, 5vw, 54px);
  width: min(360px, 34vw);
  min-height: 190px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 2vw, 28px);
  border-radius: 34px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: 0 22px 65px rgba(0,0,0,.22);
  backdrop-filter: blur(4px);
  z-index: 0 !important;
  opacity: .92;
}

.td-hero-brand-mark img {
  width: 100%;
  height: auto;
  max-height: 245px;
  object-fit: contain;
}

/* Rising Stars landing page: match the Rising Stars crest and navy/gold/ice-blue brand */
.rs-hero,
.rs-interest-hero,
.rising-stars-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(118deg, rgba(3,17,40,.98), rgba(3,17,40,.91)),
    radial-gradient(circle at 14% 18%, rgba(118,177,222,.30), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(248,179,9,.23), transparent 28%),
    radial-gradient(circle at 74% 84%, rgba(118,177,222,.22), transparent 34%),
    url("assets/rising-stars-crest.png") right 7% center / min(430px, 42vw) auto no-repeat !important;
}

.rs-hero::before,
.rs-interest-hero::before,
.rising-stars-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,17,40,.92), rgba(3,17,40,.56) 58%, rgba(3,17,40,.86)),
    url("assets/rising-stars-crest.png") right 8% center / min(430px, 42vw) auto no-repeat;
  opacity: .96;
  pointer-events: none;
}

.rs-hero > *,
.rs-interest-hero > *,
.rising-stars-hero > * {
  position: relative;
  z-index: 1;
}

.rs-hero-brand-mark {
  position: absolute !important;
  right: clamp(18px, 5vw, 72px);
  bottom: clamp(18px, 5vw, 54px);
  width: min(330px, 33vw);
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 2vw, 28px);
  border-radius: 34px;
  background: rgba(3,17,40,.34);
  border: 1px solid rgba(248,179,9,.34);
  box-shadow: 0 22px 65px rgba(0,0,0,.24);
  backdrop-filter: blur(4px);
  z-index: 0 !important;
  opacity: .92;
}

.rs-hero-brand-mark img {
  width: 100%;
  height: auto;
  max-height: 260px;
  object-fit: contain;
}

/* Keep existing main program-logo cards above watermark layer */
.rs-hero-logo-card,
.td-flyer-card,
.td-logo-card,
.program-logo-card {
  position: relative;
  z-index: 2;
}

/* Mobile: keep logo background subtle and prevent cropping/overlap */
@media (max-width: 900px) {
  .total-development-hero,
  .td-hero,
  .hero-total-development,
  .rs-hero,
  .rs-interest-hero,
  .rising-stars-hero {
    background-position: center bottom !important;
    background-size: min(320px, 72vw) auto !important;
    padding-bottom: 260px !important;
  }

  .total-development-hero::before,
  .td-hero::before,
  .hero-total-development::before,
  .rs-hero::before,
  .rs-interest-hero::before,
  .rising-stars-hero::before {
    background-position: center bottom 24px;
    background-size: min(300px, 70vw) auto;
    opacity: .45;
  }

  .td-hero-brand-mark,
  .rs-hero-brand-mark {
    right: 50%;
    transform: translateX(50%);
    bottom: 28px;
    width: min(300px, 74vw);
    min-height: 150px;
    opacity: .82;
  }
}


/* All-program header logo lockup */
.site-header .all-program-brand {
  gap: 14px;
  min-width: 0;
}

.all-program-logo-lockup {
  display: grid;
  grid-template-columns: repeat(4, 42px);
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(243,200,75,.32);
  box-shadow: 0 8px 24px rgba(7,20,38,.10);
}

.all-program-logo-lockup .brand-logo {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.all-program-logo-lockup .total-development-header-logo {
  width: 46px;
  height: 46px;
}

.all-program-logo-lockup .rising-stars-header-logo {
  width: 44px;
  height: 44px;
}

.site-header .all-program-brand .brand-copy strong {
  white-space: nowrap;
}

.site-header .all-program-brand .brand-copy small {
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .all-program-logo-lockup {
    grid-template-columns: repeat(4, 36px);
    gap: 6px;
    padding: 6px 8px;
  }

  .all-program-logo-lockup .brand-logo {
    width: 36px;
    height: 36px;
  }

  .all-program-logo-lockup .total-development-header-logo {
    width: 40px;
    height: 40px;
  }

  .all-program-logo-lockup .rising-stars-header-logo {
    width: 38px;
    height: 38px;
  }

  .site-header .all-program-brand .brand-copy small {
    font-size: .68rem;
  }
}

@media (max-width: 960px) {
  .site-header .all-program-brand .brand-copy small {
    display: none;
  }

  .site-header .all-program-brand .brand-copy strong {
    font-size: .98rem;
  }
}

@media (max-width: 640px) {
  .site-header .all-program-brand {
    gap: 9px;
  }

  .all-program-logo-lockup {
    grid-template-columns: repeat(4, 28px);
    gap: 4px;
    padding: 5px 6px;
    border-radius: 14px;
  }

  .all-program-logo-lockup .brand-logo {
    width: 28px;
    height: 28px;
  }

  .all-program-logo-lockup .total-development-header-logo {
    width: 31px;
    height: 31px;
  }

  .all-program-logo-lockup .rising-stars-header-logo {
    width: 30px;
    height: 30px;
  }

  .site-header .all-program-brand .brand-copy strong {
    font-size: .82rem;
    letter-spacing: -.02em;
  }
}

@media (max-width: 430px) {
  .site-header .all-program-brand .brand-copy {
    display: none;
  }
}
