.coach-courses-page {
  --coach-gold: #d6b04a;
  --coach-gold-deep: #9a7421;
  color: var(--rfa-text);
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--coach-gold), transparent 88%), transparent 28%),
    radial-gradient(circle at 100% 12%, color-mix(in srgb, var(--rfa-accent), transparent 90%), transparent 24%),
    linear-gradient(180deg, #07101a 0%, #0a1420 100%);
  overflow-x: clip;
}

.coach-courses-page::before {
  background:
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), rgba(255, 255, 255, 0.028) calc(100% - 1px)),
    linear-gradient(180deg, transparent 0, transparent calc(100% - 1px), rgba(255, 255, 255, 0.028) calc(100% - 1px));
  background-size: 64px 64px, 64px 64px;
  opacity: 1;
}

.coach-courses-shell {
  width: min(1320px, calc(100% - 40px));
  margin: 0 auto;
}

.coach-courses-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  background: color-mix(in srgb, #08111c, transparent 10%);
  border-bottom: 1px solid color-mix(in srgb, var(--coach-gold), transparent 78%);
}

.coach-courses-topbar__inner {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.coach-courses-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}

.coach-courses-brand__logo {
  width: auto;
  height: 64px;
  display: block;
  object-fit: contain;
}

.coach-courses-brand__copy {
  display: grid;
  gap: 4px;
}

.coach-courses-brand__copy strong {
  font-family: var(--rfa-font-ui);
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.coach-courses-brand__eyebrow,
.coach-courses-kicker {
  color: color-mix(in srgb, var(--coach-gold), white 24%);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.coach-courses-nav,
.coach-courses-topbar__actions,
.coach-courses-hero__actions,
.coach-courses-closing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.coach-courses-nav a {
  color: var(--rfa-text-soft);
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding-bottom: 6px;
  border-bottom: 1px solid transparent;
}

.coach-courses-nav a:hover,
.coach-courses-nav a:focus-visible {
  color: var(--rfa-text);
  border-color: color-mix(in srgb, var(--coach-gold), transparent 46%);
}

.coach-courses-hero,
.coach-courses-section {
  padding: 42px 0 44px;
}

.coach-courses-hero__grid,
.coach-courses-route-grid {
  display: grid;
  gap: 18px;
}

.coach-courses-hero__grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  align-items: start;
}

.coach-courses-hero__panel {
  display: grid;
  gap: 18px;
}

.coach-courses-hero__copy,
.coach-courses-hero__panel,
.coach-courses-closing,
.coach-course-card,
.coach-courses-route-card {
  border: 1px solid color-mix(in srgb, var(--rfa-line), transparent 18%);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--rfa-surface), white 4%) 0%, color-mix(in srgb, var(--rfa-surface), var(--rfa-primary) 4%) 100%);
  box-shadow: 0 22px 46px rgba(4, 8, 16, 0.24);
}

.coach-courses-hero__copy,
.coach-courses-hero__panel,
.coach-courses-closing {
  padding: 30px;
}

.coach-courses-hero__copy {
  display: grid;
  gap: 18px;
}

.coach-courses-hero__visual-card,
.coach-courses-hero__note {
  display: grid;
  gap: 16px;
}

.coach-courses-hero__visual {
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--coach-gold), transparent 64%);
  background: #0b1118;
}

.coach-courses-hero__visual img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.coach-courses-hero__visual--main img {
  aspect-ratio: 1.34;
}

.coach-courses-hero__visual--secondary img {
  aspect-ratio: 1.1;
}

.coach-courses-hero__visual figcaption {
  position: absolute;
  inset: auto 0 0 0;
  display: grid;
  gap: 4px;
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, transparent 0%, rgba(6, 10, 16, 0.26) 24%, rgba(6, 10, 16, 0.92) 100%);
}

.coach-courses-hero__visual figcaption small,
.coach-courses-hero__mini-card span {
  color: color-mix(in srgb, var(--coach-gold), white 24%);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.coach-courses-hero__visual figcaption strong,
.coach-courses-hero__mini-card strong {
  margin: 0;
  font-family: var(--rfa-font-ui);
  font-size: 1rem;
  line-height: 1.28;
}

.coach-courses-hero__mini-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
  gap: 16px;
}

.coach-courses-hero__mini-card {
  display: grid;
  gap: 8px;
  align-content: end;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--coach-gold), transparent 74%);
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--coach-gold), transparent 88%), transparent 42%),
    linear-gradient(180deg, color-mix(in srgb, var(--rfa-surface), white 5%) 0%, color-mix(in srgb, var(--rfa-surface), var(--rfa-primary) 3%) 100%);
}

.coach-courses-hero__mini-card p {
  margin: 0;
  color: var(--rfa-text-soft);
  font-size: 0.9rem;
  line-height: 1.65;
}

.coach-courses-hero__copy h1,
.coach-courses-section__head h2,
.coach-courses-closing h2 {
  margin: 0;
  font-family: var(--rfa-font-display);
  font-size: clamp(2.3rem, 5vw, 4.4rem);
  line-height: 0.94;
  text-transform: uppercase;
}

.coach-courses-section__head h2,
.coach-courses-closing h2 {
  font-size: clamp(2rem, 4vw, 3.1rem);
}

.coach-courses-hero__copy p,
.coach-courses-hero__panel p,
.coach-courses-section__head p,
.coach-course-card p,
.coach-courses-route-card p,
.coach-courses-closing p,
.coach-courses-outline li,
.coach-course-card__meta li {
  margin: 0;
  color: var(--rfa-text-soft);
  font-size: 0.98rem;
  line-height: 1.75;
}

.coach-courses-stats,
.coach-courses-grid {
  display: grid;
  gap: 18px;
}

.coach-courses-stats {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.coach-courses-stats article {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--coach-gold), transparent 78%);
  background: color-mix(in srgb, var(--coach-gold), transparent 94%);
}

.coach-courses-stats strong {
  font-family: var(--rfa-font-ui);
  font-size: 1.8rem;
  line-height: 1;
  color: var(--rfa-text);
}

.coach-courses-outline {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.coach-courses-outline li {
  position: relative;
  padding-left: 22px;
}

.coach-courses-outline li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 10px;
  height: 1px;
  background: color-mix(in srgb, var(--coach-gold), white 18%);
}

.coach-courses-section__head {
  display: grid;
  gap: 10px;
  max-width: 880px;
  margin-bottom: 26px;
}

.coach-courses-toolbar {
  display: grid;
  grid-template-columns: minmax(250px, 1.1fr) minmax(0, 1.6fr) auto;
  gap: 14px;
  align-items: end;
  margin-bottom: 20px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--coach-gold), transparent 78%);
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--coach-gold), transparent 90%), transparent 38%),
    linear-gradient(180deg, color-mix(in srgb, var(--rfa-surface), white 4%) 0%, color-mix(in srgb, var(--rfa-surface), var(--rfa-primary) 4%) 100%);
}

.coach-courses-search {
  display: grid;
  gap: 8px;
}

.coach-courses-search__label,
.coach-courses-results {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.coach-courses-search__label {
  color: color-mix(in srgb, var(--coach-gold), white 24%);
}

.coach-courses-search input {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid color-mix(in srgb, var(--rfa-line), transparent 18%);
  background: color-mix(in srgb, var(--rfa-surface-muted), transparent 8%);
  color: var(--rfa-text);
  font: inherit;
}

.coach-courses-search input::placeholder {
  color: color-mix(in srgb, var(--rfa-text-soft), transparent 10%);
}

.coach-courses-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.coach-courses-filter {
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--rfa-line), transparent 20%);
  background: color-mix(in srgb, var(--rfa-surface-muted), transparent 8%);
  color: var(--rfa-text-soft);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease, transform 160ms ease;
}

.coach-courses-filter:hover,
.coach-courses-filter:focus-visible {
  color: var(--rfa-text);
  border-color: color-mix(in srgb, var(--coach-gold), transparent 42%);
}

.coach-courses-filter.is-active {
  color: #0b1118;
  border-color: color-mix(in srgb, var(--coach-gold), transparent 6%);
  background: color-mix(in srgb, var(--coach-gold), white 8%);
}

.coach-courses-results {
  margin: 0;
  color: color-mix(in srgb, var(--rfa-text-soft), white 8%);
  text-align: right;
}

.coach-courses-lanes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.coach-courses-lane {
  display: grid;
  gap: 6px;
  padding: 16px 16px 18px;
  border: 1px solid color-mix(in srgb, var(--rfa-line), transparent 18%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--rfa-surface), white 4%) 0%, color-mix(in srgb, var(--rfa-surface), var(--rfa-primary) 4%) 100%);
}

.coach-courses-lane span {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.coach-courses-lane strong {
  font-family: var(--rfa-font-ui);
  font-size: 1.12rem;
  line-height: 1.2;
}

.coach-courses-lane p {
  margin: 0;
  color: var(--rfa-text-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.coach-courses-lane--foundation span,
.coach-course-card--foundation .coach-course-card__track {
  color: #9fd7ff;
}

.coach-courses-lane--football span,
.coach-course-card--football .coach-course-card__track {
  color: #91e0ba;
}

.coach-courses-lane--practical span,
.coach-course-card--practical .coach-course-card__track {
  color: #ff9f84;
}

.coach-courses-lane--nutrition span,
.coach-course-card--nutrition .coach-course-card__track {
  color: #f0d37a;
}

.coach-courses-lane--methodology span,
.coach-course-card--methodology .coach-course-card__track {
  color: #f4a977;
}

.coach-courses-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.coach-course-card {
  position: relative;
  display: grid;
  gap: 14px;
  padding: 24px 22px 22px;
}

.coach-course-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: color-mix(in srgb, var(--coach-gold), transparent 28%);
}

.coach-course-card--accent {
  border-color: color-mix(in srgb, var(--coach-gold), transparent 52%);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--coach-gold), transparent 88%), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--rfa-surface), white 5%) 0%, color-mix(in srgb, var(--rfa-surface), var(--rfa-primary) 4%) 100%);
}

.coach-course-card--foundation::before {
  background: linear-gradient(180deg, #9fd7ff, transparent 84%);
}

.coach-course-card--football::before {
  background: linear-gradient(180deg, #91e0ba, transparent 84%);
}

.coach-course-card--practical::before {
  background: linear-gradient(180deg, #ff9f84, transparent 84%);
}

.coach-course-card--nutrition::before {
  background: linear-gradient(180deg, #f0d37a, transparent 84%);
}

.coach-course-card--methodology::before {
  background: linear-gradient(180deg, #f4a977, transparent 84%);
}

.coach-course-card__index,
.coach-course-card__track,
.coach-course-card h3,
.coach-course-card__certificate,
.coach-courses-route-card h3 {
  margin: 0;
  font-family: var(--rfa-font-ui);
}

.coach-course-card__index {
  color: color-mix(in srgb, var(--coach-gold), white 20%);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.coach-course-card__track {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.coach-course-card h3,
.coach-courses-route-card h3 {
  font-size: 1.12rem;
  line-height: 1.28;
}

.coach-course-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.coach-course-card__meta li {
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--rfa-line), transparent 26%);
  background: color-mix(in srgb, var(--rfa-surface-muted), transparent 8%);
  font-size: 0.82rem;
  line-height: 1.4;
}

.coach-course-card__certificate {
  color: color-mix(in srgb, var(--coach-gold), white 20%);
  font-size: 0.86rem;
  line-height: 1.45;
}

.coach-course-card[hidden] {
  display: none !important;
}

.coach-courses-empty {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding: 24px 22px;
  border: 1px dashed color-mix(in srgb, var(--coach-gold), transparent 56%);
  background: color-mix(in srgb, var(--rfa-surface), white 3%);
}

.coach-courses-empty h3,
.coach-courses-empty p {
  margin: 0;
}

.coach-courses-empty h3 {
  font-family: var(--rfa-font-ui);
  font-size: 1.1rem;
}

.coach-courses-empty p {
  color: var(--rfa-text-soft);
  line-height: 1.7;
}

.coach-courses-section--contrast {
  background:
    linear-gradient(180deg, color-mix(in srgb, #08121c, transparent 8%) 0%, color-mix(in srgb, #0a1420, transparent 0%) 100%);
}

.coach-courses-route-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.coach-courses-route-card {
  display: grid;
  gap: 10px;
  padding: 24px 22px;
  position: relative;
  overflow: hidden;
}

.coach-courses-route-card::after {
  content: '';
  position: absolute;
  inset: auto -24px -34px auto;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background: radial-gradient(circle, color-mix(in srgb, var(--coach-gold), transparent 84%), transparent 68%);
}

.coach-courses-closing {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) auto;
  gap: 20px;
  align-items: center;
}

.coach-courses-closing--simple {
  grid-template-columns: 1fr;
  justify-items: center;
}

@media (max-width: 1180px) {
  .coach-courses-topbar__inner,
  .coach-courses-closing,
  .coach-courses-hero__grid,
  .coach-courses-toolbar,
  .coach-courses-grid,
  .coach-courses-route-grid,
  .coach-courses-stats,
  .coach-courses-lanes,
  .coach-courses-hero__mini-grid {
    grid-template-columns: 1fr;
  }

  .coach-courses-topbar__inner {
    display: grid;
    justify-content: stretch;
  }
}

@media (max-width: 820px) {
  .coach-courses-topbar__inner {
    min-height: 0;
    padding: 14px 0;
  }

  .coach-courses-nav {
    display: none;
  }

  .coach-courses-brand__logo {
    height: 54px;
  }

  .coach-courses-hero,
  .coach-courses-section {
    padding: 30px 0 32px;
  }

  .coach-courses-hero__copy,
  .coach-courses-hero__panel,
  .coach-courses-closing,
  .coach-course-card,
  .coach-courses-route-card {
    padding: 22px;
  }

  .coach-courses-hero__visual figcaption {
    padding: 16px;
  }

  .coach-courses-shell {
    width: min(100% - 28px, 1320px);
  }
}

@media (max-width: 560px) {
  .coach-courses-topbar__actions,
  .coach-courses-hero__actions,
  .coach-courses-closing__actions,
  .coach-course-card__meta,
  .coach-courses-filter-group {
    display: grid;
  }

  .coach-courses-filter {
    width: 100%;
  }

  .coach-courses-brand {
    gap: 10px;
  }

  .coach-courses-brand__logo {
    height: 46px;
  }

  .coach-courses-brand__copy strong {
    font-size: 0.86rem;
  }

  .coach-courses-hero__copy h1,
  .coach-courses-section__head h2,
  .coach-courses-closing h2 {
    font-size: clamp(1.9rem, 12vw, 2.9rem);
  }
}