/* Commit #4 — reference-style top bar and header */
.sp-topbar{background:#064480;color:#fff;font-size:11px;line-height:1.2}.sp-topbar__inner{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sp-topbar__contact,.sp-topbar__links,.sp-audience-nav,.sp-socials{display:flex;align-items:center}.sp-topbar__contact{gap:18px}.sp-topbar__item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#fff}.sp-topbar__icon{font-size:11px;opacity:.95}.sp-topbar__links{align-self:stretch}.sp-audience-nav{height:100%}.sp-audience-nav a{height:100%;padding:0 15px;display:flex;align-items:center;color:#fff}.sp-audience-nav a:hover{background:rgba(255,255,255,.09)}.sp-socials{height:100%}.sp-socials a{width:31px;height:100%;display:grid;place-items:center;border-left:1px solid rgba(255,255,255,.13);font-weight:700;color:#fff}.sp-socials a:last-child{border-right:1px solid rgba(255,255,255,.13)}.sp-socials a:hover{background:#0758a7}
.sp-site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 1px 0 rgba(13,52,91,.08)}.admin-bar .sp-site-header{top:0}.sp-site-header__inner{height:96px;display:flex;align-items:center;gap:28px}.sp-branding{flex:0 0 auto;min-width:265px}.sp-branding__link{display:inline-flex;align-items:center;gap:12px}.sp-branding .custom-logo-link{display:flex;align-items:center}.sp-branding .custom-logo{width:auto;max-width:255px;max-height:64px;object-fit:contain}.sp-branding__mark{width:48px;height:58px;border:2px solid #0a4e91;border-radius:6px;display:grid;place-items:center;color:#0a4e91;font:700 26px/1 Georgia,serif}.sp-branding__copy{display:flex;flex-direction:column}.sp-branding__copy strong{color:#0a3972;font:700 20px/1.15 Poppins,sans-serif;text-transform:uppercase}.sp-branding__copy small{margin-top:4px;color:#5f7185;font-size:11px}.sp-primary-nav{margin-left:auto;height:100%;display:flex;align-items:center}.sp-primary-nav .primary-menu{display:flex;align-items:stretch;height:100%;gap:0;list-style:none;margin:0;padding:0}.sp-primary-nav .menu-item{position:relative;display:flex;align-items:stretch}.sp-primary-nav .menu-link{display:flex;align-items:center;padding:0 13px;color:#172335;font:600 11px/1 Poppins,sans-serif;text-transform:uppercase;white-space:nowrap}.sp-primary-nav .menu-item.is-active>.menu-link,.sp-primary-nav .current-menu-item>.menu-link,.sp-primary-nav .menu-link:hover{color:#0870cb}.sp-primary-nav .menu-item.is-active>.menu-link:after,.sp-primary-nav .current-menu-item>.menu-link:after{content:"";position:absolute;left:13px;right:13px;bottom:23px;height:2px;background:#0870cb}.sp-primary-nav .sub-menu{position:absolute;left:0;top:100%;min-width:210px;margin:0;padding:10px 0;list-style:none;background:#fff;box-shadow:0 14px 35px rgba(10,43,78,.15);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.sp-primary-nav .menu-item:hover>.sub-menu{opacity:1;visibility:visible;transform:none}.sp-primary-nav .sub-menu .menu-link{padding:11px 18px;text-transform:none;font-size:12px}.sp-header-actions{display:flex;align-items:center;gap:8px}.sp-search-toggle{width:39px;height:39px;border:0;border-radius:5px;background:#0b4c8e;color:#fff;display:grid;place-items:center;cursor:pointer}.sp-search-toggle:hover{background:#0866b9}.sp-menu-toggle{display:none;width:42px;height:40px;border:0;background:transparent;padding:8px;cursor:pointer}.sp-menu-toggle span{display:block;height:2px;background:#123d68;margin:5px 0;border-radius:3px}.sp-search-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #e8eef4;box-shadow:0 12px 25px rgba(8,43,78,.12)}.sp-search-panel__inner{padding:16px 0;display:flex;align-items:center;gap:12px}.sp-search-panel form{display:flex;flex:1}.sp-search-panel .search-field{width:100%;height:44px;border:1px solid #ccd8e4;border-radius:4px 0 0 4px;padding:0 15px}.sp-search-panel .search-submit{height:44px;border:0;background:#0759a8;color:#fff;padding:0 20px;border-radius:0 4px 4px 0}.sp-search-close{width:38px;height:38px;border:0;background:transparent;font-size:26px;color:#2b4259;cursor:pointer}
.mobile-menu{position:fixed;inset:0;z-index:1200;pointer-events:none;visibility:hidden}.mobile-menu.is-open{visibility:visible;pointer-events:auto}.mobile-menu__overlay{position:absolute;inset:0;background:rgba(1,25,50,.64);opacity:0;transition:.25s}.mobile-menu.is-open .mobile-menu__overlay{opacity:1}.mobile-menu__panel{position:absolute;right:0;top:0;height:100%;width:min(390px,88vw);background:#fff;transform:translateX(100%);transition:.28s;overflow:auto;padding:22px}.mobile-menu.is-open .mobile-menu__panel{transform:none}.mobile-menu__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid #e7edf3}.mobile-menu__close{border:0;background:none;font-size:32px;color:#173b67;cursor:pointer}.mobile-menu__navigation{padding:18px 0}.mobile-menu__navigation .primary-menu,.mobile-menu__navigation .sub-menu{list-style:none;margin:0;padding:0}.mobile-menu__navigation .menu-link{display:block;padding:11px 0;border-bottom:1px solid #edf2f6;color:#183b62;font-weight:600}.mobile-menu__navigation .sub-menu{padding-left:14px}.mobile-menu__contact{padding:16px 0}.mobile-menu__contact h4{margin:0 0 8px;color:#123d68}
@media(max-width:1100px){.sp-branding{min-width:220px}.sp-primary-nav .menu-link{padding:0 8px;font-size:10px}.sp-topbar__address{display:none}}
@media(max-width:900px){.sp-topbar__inner{min-height:34px}.sp-topbar__address,.sp-topbar__email,.sp-audience-nav{display:none}.sp-site-header__inner{height:76px}.sp-branding{min-width:0}.sp-branding .custom-logo{max-height:54px;max-width:210px}.sp-primary-nav{display:none}.sp-menu-toggle{display:block}.sp-header-actions{margin-left:auto}}
@media(max-width:782px){.admin-bar .sp-site-header{top:0}}
@media(max-width:560px){.sp-topbar__contact{gap:8px}.sp-topbar__links{margin-left:auto}.sp-socials a{width:28px}.sp-site-header__inner{height:70px}.sp-branding .custom-logo{max-width:180px}.sp-branding__copy small{display:none}.sp-branding__copy strong{font-size:16px}}

/* Commit #7 — closer proportions to the supplied reference */
.sp-topbar{background:linear-gradient(90deg,#0a54a0,#063c75)}
.sp-topbar__inner{min-height:28px}

/* Active audience link. */
.sp-audience-nav a{position:relative}
.sp-audience-nav a.is-active{background:rgba(255,255,255,.11)}
.sp-audience-nav a.is-active::after{content:"";position:absolute;right:15px;bottom:3px;left:15px;height:2px;border-radius:2px;background:#fff}
.sp-site-header__inner{height:94px}
.sp-branding .custom-logo{max-height:61px}
.sp-search-toggle{width:37px;height:37px}
@media(min-width:901px){.sp-primary-nav .menu-link{font-size:10px;padding-left:11px;padding-right:11px}.sp-primary-nav .menu-item.is-active>.menu-link:after,.sp-primary-nav .current-menu-item>.menu-link:after{bottom:20px}}

/* Commit #8.3 — official school branding + guaranteed 8-item navigation */
.sp-branding{min-width:300px}.sp-branding__default-logo{display:block;width:285px;height:auto;max-height:72px;object-fit:contain;object-position:left center}.sp-branding__link--default{display:flex;align-items:center}.sp-primary-nav .primary-menu{justify-content:flex-end}.sp-primary-nav .menu-link{font-size:10px;padding-left:10px;padding-right:10px}.sp-site-header__inner{gap:18px}@media(max-width:1180px) and (min-width:901px){.sp-branding{min-width:250px}.sp-branding__default-logo{width:245px}.sp-primary-nav .menu-link{font-size:9px;padding-left:7px;padding-right:7px}.sp-search-toggle{width:34px;height:34px}}@media(max-width:900px){.sp-branding__default-logo{width:235px;max-height:60px}}@media(max-width:560px){.sp-branding__default-logo{width:205px}}

/* v0.9.0-beta1 — enlarge only the social symbols; preserve top-bar geometry. */
.sp-socials a .sp-social-icon{width:16px;height:16px;display:block;fill:currentColor;stroke:currentColor}
.sp-socials a[aria-label="Facebook"] .sp-social-icon{width:15px;height:15px}
.sp-socials a[aria-label="YouTube"] .sp-social-icon{width:17px;height:17px}
