/* /courses */
.catalogue-hero { position: relative; overflow: hidden; padding: 56px 0 72px; background: radial-gradient(600px 400px at 92% 0%, rgba(199, 161, 74, .16), rgba(255, 255, 255, 0) 70%), #fff; }
.catalogue-hero__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.catalogue-hero h1 { margin-bottom: 16px; }
.catalogue-hero .lead { margin-bottom: 28px; }
.search { display: flex; gap: 10px; max-width: 520px; margin-bottom: 18px; }
.search__input { border-radius: var(--pill); padding-left: 20px; }
.search__btn { min-height: 48px; }
.filter-pills { display: flex; flex-wrap: wrap; gap: 10px; max-width: 540px; }
.pill { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border: 1px solid var(--line-2); border-radius: var(--pill); background: #fff; font-size: 13.5px; font-weight: 600; text-decoration: none; transition: border-color .15s ease, background-color .15s ease; }
.pill:hover { border-color: var(--ink); }
.pill.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.pill--gold { border-color: rgba(199, 161, 74, .6); color: var(--gold-deep); }
.pill--gold.is-on { background: var(--gold); border-color: var(--gold); color: var(--ink); }

.catalogue-hero__media { position: relative; min-height: 440px; }
.catalogue-hero__main { position: absolute; right: 0; top: 0; width: 72%; aspect-ratio: 1.05 / 1; box-shadow: var(--shadow-lg); }
.catalogue-hero__small { position: absolute; left: 0; bottom: 20px; width: 46%; aspect-ratio: 1.3 / 1; border: 5px solid #fff; border-radius: 20px; box-shadow: var(--shadow-lg); transform: rotate(-3deg); }

.catalogue { background: var(--bg); }
.catalogue__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; }
.catalogue__count { margin: 0; font-size: 14.5px; color: var(--muted); }
.catalogue__count strong { color: var(--ink); }
.sort { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--muted); }
.input--sm { min-height: 40px; padding: 8px 38px 8px 14px; font-size: 14px; width: auto; }
.catalogue__empty { margin-bottom: 24px; }
.catalogue__empty h2 { margin-bottom: 10px; }
.catalogue__empty p { margin: 0; }

.catalogue__bottom { display: grid; grid-template-columns: 1fr 1.2fr; gap: 24px; margin-top: 72px; }
.rpl-mini { position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--ink); box-shadow: var(--shadow-lg); }
.rpl-mini .hero-bg::after { background: linear-gradient(90deg, rgba(20, 33, 61, .96) 0%, rgba(20, 33, 61, .82) 60%, rgba(20, 33, 61, .55) 100%); }
.rpl-mini__body { position: relative; z-index: 1; padding: 32px; }
.rpl-mini h2, .advisor-card h2 { margin: 18px 0 10px; }
.rpl-mini__keep { white-space: nowrap; } /* "Fast-track it." never breaks at its hyphen */
.rpl-mini p { color: var(--on-dark); margin-bottom: 22px; }
.advisor-card p { margin-bottom: 22px; }

@media (max-width: 960px) {
  .catalogue-hero__grid, .catalogue__bottom { grid-template-columns: 1fr; }
  .catalogue-hero__media { min-height: 380px; }
}
@media (max-width: 640px) {
  .catalogue-hero { padding: 32px 0 48px; }
  .catalogue-hero__media { min-height: 300px; }
  .catalogue-hero__main { width: 78%; }
  .catalogue__bar { flex-direction: column; align-items: flex-start; }
  .sort .listbox__list { left: 0; right: auto; }
  .search { flex-direction: column; }
  .rpl-mini__body { padding: 26px 22px; }
  .catalogue__bottom { margin-top: 48px; }
}
