/* Stage 7: scoped navigation and collection improvements. */
/* Darker brand hues only where a gradient carries text; decorative artwork stays unchanged. */
:root { --keb-readable-gradient: linear-gradient(120deg, #08766a 0%, #087f8c 45%, #6d28d9 100%); }
.btn--primary, .programs__nav:hover, .footer__cta { background: var(--keb-readable-gradient); }
.text-gradient { background-image: var(--keb-readable-gradient); }
.eyebrow { color: #08766a; }
.mobile-shortcuts { display: none; }
.knowledge-destinations { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0 0 1.5rem; }
.knowledge-destinations a { color: #59318c; border-bottom: 1px solid #bcb0d0; font-weight: 600; padding: .5rem 0; }
.mobile-shortcuts a:focus-visible, .knowledge-destinations a:focus-visible { outline: 3px solid var(--c-purple); outline-offset: 3px; }
[id] { scroll-margin-top: calc(var(--keb-header-height, 80px) + 24px); }
@media (max-width: 1320px) {
 .site-header__inner { height: 76px; }
 .site-header .brand { min-width: 0; }
 .site-header .brand__name { white-space: normal; font-size: clamp(.78rem, 2.8vw, 1rem); line-height: 1.15; }
 .site-header .brand--custom-logo img { max-width: min(230px, calc(100vw - 132px)); height: auto; }
 .site-header .nav-toggle { display: flex; width: auto; min-width: 66px; height: 44px; border: 1px solid #ddd5e9; border-radius: 12px; padding: 0 12px; color: #382248; font: 600 .9rem inherit; }
 .mobile-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 5px 8px 9px; border-top: 1px solid #f0ebf6; }
 .mobile-shortcuts a { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 5px 3px; border-radius: 10px; font-size: clamp(.67rem, 2.45vw, .8rem); font-weight: 600; line-height: 1.15; color: #493065; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
 .mobile-shortcuts a[aria-current="page"], .mobile-shortcuts a.is-active { background: #eee7f7; color: #3f1c68; }
 .main-nav, .admin-bar .main-nav { inset: calc(var(--keb-header-height, 130px) + var(--keb-admin-height, 0px)) 0 0 auto; }
}
@media (max-width: 767px) {
 .site-header__inner { position: relative; justify-content: flex-start; height: 88px; }
 .site-header .brand {
  position: absolute;
  left: 50%;
  max-width: min(210px, 62vw);
  transform: translateX(-50%);
 }
 .site-header .brand--custom-logo img,
 .brand--custom-logo .custom-logo { width: auto; max-width: min(210px, 62vw); height: 64px; max-height: 64px; }
 .site-header .header-actions { order: -1; margin-right: auto; }
 .site-header .nav-toggle {
  display: grid;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: transparent;
 }
 .mobile-shortcuts { display: none; }
 .main-nav, .admin-bar .main-nav {
  inset: calc(var(--keb-header-height, 88px) + var(--keb-admin-height, 0px)) auto 0 0;
  border-radius: 0 24px 24px 0;
  transform: translateX(-100%);
 }
}
