/* Compact desktop branding and an always-visible touch navigation. */
.cpse-site-footer .cpse-footer-official-logo { width: 420px; max-width: 100%; max-height: none; height: auto; }
.cpse-site-header .cpse-primary-nav {
    position: static;
    inset: auto;
    border-top: 0;
    border-left: 0;
    margin-inline: auto;
}
.cpse-site-header .cpse-primary-nav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 3rem);
    max-width: 1752px;
    height: 1px;
    background: var(--cpse-line);
    pointer-events: none;
}
.cpse-site-header .cpse-header-inner { position: relative; }
@media (max-width: 1600px) {
    .cpse-site-header .cpse-primary-nav { position: relative; }
    .cpse-site-header .cpse-primary-nav::before { width: 100%; max-width: none; }
}
@media (min-width: 1601px) {
    .cpse-header-inner { flex-direction: row; align-items: center; gap: 1.5rem; padding: .65rem 1.5rem; max-width: 1800px; }
    .cpse-brand { flex: 0 0 340px; width: 340px; padding: .4rem 0; justify-content: flex-start; }
    .cpse-brand-logo--college, .cpse-brand .custom-logo { max-width: 340px; max-height: 72px; }
    .cpse-primary-nav { flex: 1; min-width: 0; border-top: 0; border-left: 1px solid var(--cpse-line); padding: 0 0 0 1rem; }
    .cpse-menu--primary { justify-content: flex-start; gap: .1rem .2rem; }
    .cpse-menu--primary > li > a { font-size: .84rem; padding: .6rem .5rem; }
}
/* Give the menu its own full row before the larger logo crowds it. */
@media (min-width: 1121px) and (max-width: 1600px) {
    .cpse-header-inner { flex-direction: column; gap: 0; padding: 0 1.5rem; }
    .cpse-brand { flex: none; width: 100%; justify-content: center; padding: .9rem 0; }
    .cpse-brand-logo--college, .cpse-brand .custom-logo { width: 340px; max-width: 100%; max-height: 72px; }
    .cpse-primary-nav { width: 100%; border-left: 0; border-top: 1px solid var(--cpse-line); padding: .35rem 0; }
    .cpse-menu--primary { justify-content: center; gap: .1rem .35rem; }
    .cpse-menu--primary > li > a { font-size: .84rem; padding: .6rem .5rem; }
}
@media (max-width: 1120px) {
    .cpse-brand-logo--college, .cpse-brand .custom-logo { width: min(340px, 88vw); max-width: 100%; max-height: 64px; }
    .cpse-header-inner { padding: 0 1rem .8rem; }
    .cpse-primary-nav { padding-top: .75rem; }
    .cpse-menu--primary { gap: .5rem; align-items: stretch; }
    .cpse-menu--primary > li { background: #f5f7fa; border-color: #e2e7ee; border-radius: 9px; }
    .cpse-menu--primary > li > a { min-height: 56px; font-weight: 600; color: var(--cpse-navy); padding: .75rem; }
    .cpse-menu--primary > .menu-item-has-children > a { padding-right: 3.3rem; }
    .cpse-submenu-toggle { background: #fff; border: 1px solid #dbe2ec; border-radius: 7px; top: .35rem; right: .3rem; width: 44px; height: 44px; }
    .cpse-submenu-toggle:hover, .cpse-submenu-toggle:focus-visible { background: #edf3fc; color: var(--cpse-blue); }
    .cpse-submenu-toggle[aria-expanded="true"] { background: var(--cpse-navy); color: #fff; border-color: var(--cpse-navy); }
    .cpse-menu--primary > .cpse-submenu-open { grid-column: 1 / -1; background: #edf3fc; border-color: #bccbe2; }
    .cpse-menu--primary .sub-menu { background: #fff; border: 0; border-radius: 7px; margin: 0 .5rem .5rem; padding: .25rem; }
    .cpse-menu--primary .sub-menu a { background: #fff; min-height: 44px; font-size: .86rem; line-height: 1.45; padding: .7rem; }
    .cpse-menu--primary .sub-menu .menu-item-has-children > a { padding-right: 3.4rem; }
    .cpse-menu--primary .sub-menu li + li { border-top: 1px solid #e2e7ee; }
    .cpse-menu--primary .sub-menu a::after { display: none; }
    .cpse-menu--primary > .current-menu-item > a, .cpse-menu--primary > .current_page_item > a { color: var(--cpse-blue); background: #e8eef9; box-shadow: inset 3px 0 var(--cpse-blue); }
}
@media (max-width: 640px) {
    .cpse-menu--primary > .cpse-menu-item-wide { grid-column: 1 / -1; }
    .cpse-header-inner { padding: 0 .75rem .75rem; }
    .cpse-brand { padding: 1rem 0; }
    .cpse-menu--primary { gap: .35rem; }
    .cpse-menu--primary > li > a { font-size: .78rem; min-height: 48px; padding: .55rem .65rem; }
    .cpse-menu--primary .sub-menu a { font-size: .8rem; }
    .cpse-menu--primary > .menu-item-has-children > a { padding-right: 3.15rem; }
    .cpse-submenu-toggle { top: .1rem; right: .2rem; }
}

