/* Shared university navigation: desktop, utilities and mobile drawer. */
.site-header { position: relative; z-index: 40; color: #fff; background: linear-gradient(90deg, #2b2b2f, #39393d); }
.site-header ul, .site-nav-drawer ul { list-style: none; margin: 0; padding: 0; }
.site-header a, .site-nav-drawer a { text-decoration: none; }
.site-header-main { position: relative; display: flex; align-items: center; gap: 28px; min-height: 94px; }
.site-header-logo { display: inline-flex; flex: 0 0 auto; }
.site-header-logo img { display: block; width: 170px; height: 48px; object-fit: contain; }
.site-header-primary { margin-left: auto; }
.site-header-primary > ul { display: flex; align-items: center; gap: 18px; }
.site-nav-dropdown { position: relative; }
.site-nav-dropdown > summary, .site-nav-drawer-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; list-style: none; cursor: pointer; }
.site-nav-dropdown > summary::-webkit-details-marker, .site-nav-drawer-section > summary::-webkit-details-marker { display: none; }
.site-nav-dropdown > summary { padding: 12px 0; font-size: 14px; font-weight: 600; white-space: nowrap; }
.site-nav-dropdown > summary:hover, .site-nav-dropdown[open] > summary { color: #a9c6ff; }
.site-nav-dropdown.is-active > summary { color: #a9c6ff; }
.site-nav-chevron { flex: 0 0 16px; width: 16px; height: 16px; transition: transform .15s; }
.site-nav-dropdown[open] > summary .site-nav-chevron, .site-nav-drawer-section[open] > summary .site-nav-chevron { transform: rotate(180deg); }
.site-nav-panel { position: absolute; top: calc(100% + 8px); right: 0; z-index: 60; width: max-content; min-width: 220px; max-width: min(360px, calc(100vw - 32px)); max-height: min(65vh, 520px); overflow-y: auto; padding: 10px !important; border: 1px solid #e8eaee; border-radius: 14px; color: #243047; background: #fff; box-shadow: 0 16px 48px #0003; }
.site-header-primary > ul > li:first-child .site-nav-panel { left: 0; right: auto; }
.site-nav-dropdown--wide { position: static; }
.site-nav-panel--wide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 1020px; max-width: calc(100vw - 48px); left: 50%; right: auto; top: 100%; transform: translateX(-50%); padding: 18px !important; }
.site-nav-panel--wide > .site-nav-group { min-width: 0; padding: 16px; border-radius: 10px; background: #f8f9fc; }
.site-nav-panel--wide > .site-nav-group:first-child { background: #f0f5ff; }
.site-nav-group-heading { display: flex; align-items: center; gap: 10px; margin: 0 12px 12px; }
.site-nav-group-icon { display: flex; flex: 0 0 32px; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid #dce6f7; border-radius: 9px; color: #1451c6; background: #fff; }
.site-nav-group-icon svg { width: 19px; height: 19px; }
.site-nav-group-heading .site-nav-group-title { margin: 0; font-size: 13px; line-height: 1.5; color: #253853; }
.site-nav-panel--wide .site-nav-links a { gap: 8px; }
.site-nav-panel--wide .site-nav-links a::after { content: '→'; flex: 0 0 auto; opacity: 0; color: #1451c6; }
.site-nav-panel--wide .site-nav-links a:hover::after, .site-nav-panel--wide .site-nav-links a:focus-visible::after, .site-nav-panel--wide .site-nav-links a[aria-current]::after { opacity: 1; }
.site-nav-group-title { margin: 6px 12px 10px; font-size: 12px; font-weight: 700; color: #69758a; }
.site-nav-links a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; font-size: 14px; line-height: 1.5; color: inherit; overflow-wrap: anywhere; }
.site-nav-links a:hover, .site-nav-links a[aria-current] { background: #edf3ff; color: #0644c8; }
.site-nav-links a > span { color: #8490a4; }
.site-nav-apply { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 10px 24px; border-radius: 14px; background: #0748d7; color: #fff; font-size: 14px; font-weight: 600; white-space: nowrap; }
.site-nav-apply:hover { background: #1c5ae0; }
.site-header-secondary { border-top: 1px solid #ffffff1a; border-bottom: 1px solid #ffffff1a; }
.site-header-secondary-inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 56px; }
.site-header-quick, .site-header-utilities { display: flex; align-items: center; gap: 26px; }
.site-header-quick a { font-size: 13px; font-weight: 500; line-height: 1.5; }
.site-header-quick a:hover, .site-header-quick a[aria-current] { color: #a9c6ff; }
.site-nav-sdg { display: inline-flex; align-items: center; gap: 8px; font-weight: 700 !important; }
.site-nav-sdg-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #64c99a; box-shadow: 0 0 0 4px #64c99a1a; }
.site-header-utilities .site-nav-dropdown > summary { font-size: 13px; }
.site-nav-language-short, .site-nav-toggle { display: none; }
.site-header button:focus-visible, .site-header a:focus-visible, .site-header summary:focus-visible, .site-nav-drawer button:focus-visible, .site-nav-drawer a:focus-visible, .site-nav-drawer summary:focus-visible { outline: 2px solid #78a7ff; outline-offset: 4px; }
.site-nav-drawer { position: fixed; inset: 0 0 0 auto; width: min(100%, 420px); height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0 0 0 auto; padding: 24px; border: 0; color: #fff; background: #303034; overflow-y: auto; }
.site-nav-drawer::backdrop { background: #0a102a99; }
.site-navigation-open { overflow: hidden; }
.site-nav-drawer-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.site-nav-drawer-heading button, .site-nav-toggle { align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #ffffff26; border-radius: 10px; background: transparent; color: #fff; cursor: pointer; }
.site-nav-drawer-heading button { display: flex; }
.site-nav-drawer-heading svg, .site-nav-toggle svg { width: 24px; height: 24px; }
.site-nav-drawer-title { margin: 0 0 12px; font-size: 12px; font-weight: 500; letter-spacing: .04em; color: #b7bcc8; }
.site-nav-drawer-section { border-bottom: 1px solid #ffffff1a; }
.site-nav-drawer-section > summary { min-height: 56px; font-size: 16px; font-weight: 600; }
.site-nav-drawer-section .site-nav-group { padding-bottom: 16px; }
.site-nav-drawer .site-nav-group-heading { margin-top: 18px; }
.site-nav-drawer .site-nav-group-title { color: #abb9d2; margin-top: 0; }
.site-nav-drawer .site-nav-links a:hover, .site-nav-drawer .site-nav-links a[aria-current] { background: #ffffff0d; color: #adcaff; }
.site-nav-drawer-quick { display: flex; flex-direction: column; gap: 18px; padding: 22px 0; border-bottom: 1px solid #ffffff1a; }
.site-nav-drawer-quick a { font-size: 14px; line-height: 1.6; color: #d4e2ff; }
.site-nav-drawer .site-nav-apply { display: flex; margin-top: 26px; }
@media (min-width: 1574px) {
    .site-header-main { gap: 40px; }
    .site-header-primary > ul { gap: 28px; }
    .site-nav-dropdown > summary { font-size: 16px; }
    .site-header-quick a, .site-header-utilities .site-nav-dropdown > summary { font-size: 14px; }
}
@media (max-width: 1279px) {
    .site-header-main { min-height: 78px; gap: 16px; }
    .site-header-primary, .site-header-apply { display: none; }
    .site-nav-toggle { display: flex; margin-left: auto; }
    .site-header-quick, .site-header-utilities { gap: 20px; }
    .site-header-secondary-inner { gap: 16px; }
    .site-nav-responsibility { max-width: 280px; }
}
@media (max-width: 767px) {
    .site-header-logo img { width: 153px; height: 44px; }
    .site-header-main { min-height: 72px; }
    .site-nav-responsibility, .site-nav-language-full { display: none; }
    .site-nav-language-short { display: inline; }
    .site-header-secondary-inner { min-height: 54px; gap: 12px; }
    .site-header-utilities { gap: 14px; }
    .site-header-utilities .site-nav-dropdown > summary { font-size: 12px; gap: 4px; white-space: normal; }
    .site-header-utilities .site-nav-chevron { width: 12px; height: 12px; flex-basis: 12px; }
    .site-nav-panel { max-width: calc(100vw - 40px); min-width: 190px; }
    .site-header-utilities .site-nav-dropdown { position: static; }
    .site-header-utilities .site-nav-panel { top: 100%; left: auto; right: 20px; width: min(320px, calc(100vw - 40px)); }
}
@media (prefers-reduced-motion: reduce) { .site-nav-chevron { transition: none; } }
