/* October 2026: shared CCSAM chrome. Established fonts, brand colors and motion remain authoritative. */
:root{--brand-red:#cc2a2e;--brand-red-deep:#8d1c1c;--brand-navy:#112c56;--paper:#fff;--menu-size:1.125rem}
.site-header{background:var(--paper)}
.site-header .utility{display:block;background:var(--paper);border:0;font-size:.8125rem}
.site-header .utility__inner{justify-content:flex-end;min-height:44px;gap:.75rem}
.site-header .utility nav ul{align-items:center;gap:1.1rem;flex-wrap:wrap}
.site-header .utility a,.translate-menu summary{min-height:32px;display:inline-flex;align-items:center;color:var(--brand-navy);font-weight:650}
.header-social{display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:0 0 0 .8rem;border-left:1px solid var(--line-strong)}
.header-social li+li{margin:0}
.header-social a{justify-content:center;width:32px;height:32px}
.header-social svg{fill:currentColor;width:17px;height:17px}
.header-main{min-height:84px;gap:clamp(1rem,2vw,2rem);flex-wrap:wrap}
.brand{width:168px;flex:0 0 168px;position:relative;height:84px;min-height:84px}
.brand img{width:142px;height:96px;object-fit:contain;max-width:none;transform:translateY(-12px)}
.brand .brand__name,.brand .brand__short,.brand .brand__mark{display:none}
.nav__list{gap:.15rem;flex-wrap:wrap}
.nav__link,.header-ctas .btn{font-size:var(--menu-size);font-family:var(--font-ui);font-weight:650;line-height:1.3}
.nav__link{padding:.6rem .65rem;color:var(--brand-navy)}
.header-ctas{margin-left:.3rem}
.header-ctas .btn{min-height:50px;padding:.65rem 1.2rem;background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.header-ctas .btn:hover{background:var(--brand-red-deep);border-color:var(--brand-red-deep)}
.translate-menu{position:relative}
.translate-menu summary{cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;list-style:none;white-space:nowrap}
.translate-menu summary::-webkit-details-marker{display:none}
.translate-menu summary::marker{content:""}
.translate-menu summary::after{content:none}
.translate-menu summary .nav__chev{display:block;flex-shrink:0}
.translate-menu[open] summary .nav__chev{transform:rotate(180deg)}
.site-header .header-search{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.header-search__icon{display:block;width:16px;height:16px;flex-shrink:0}
.translate-menu ul{position:absolute;right:0;top:100%;min-width:220px;padding:.5rem!important;display:block!important;background:#fff;border:1px solid var(--line-strong);border-radius:6px;box-shadow:var(--shadow-pop);z-index:80}
.translate-menu ul a{padding:.45rem .65rem;width:100%;font-size:.875rem}
.translate-menu ul a:hover{background:var(--mist)}
.nav__mobile-extra .btn-row{gap:.6rem}
.site-footer.ccs-footer{background:var(--navy-deep);border:0;padding:0;margin-top:clamp(4rem,6vw,5rem);color:#fff}
/* Match the same container used by the page sections, including wide monitors. */
.ccs-footer>.container{max-width:var(--container);width:min(100% - 2 * var(--gutter),var(--container));padding-inline:0}
/* A bounded overlap keeps long titles and enlarged text clear of preceding content. */
.footer-apply{position:relative;transform:translateY(-48px);margin-bottom:calc(-1 * clamp(1.25rem,2vw,1.75rem));border-radius:999px;background:var(--brand-red);padding:1.2rem clamp(1.5rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:clamp(1.25rem,4vw,3rem);min-height:104px;min-width:0;max-width:100%}
.footer-apply h2{color:#fff;font-family:var(--font-display);font-size:clamp(1.75rem,2.8vw,2.75rem);line-height:1.15;margin:0;letter-spacing:-.035em}
.footer-apply .btn{background:var(--navy-deep);color:#fff;border-color:var(--navy-deep);border-radius:999px;padding:.75rem 1.8rem;min-height:48px;font-size:clamp(1rem,1.2vw,1.125rem);font-weight:750;flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.footer-apply--campus h2{font-size:clamp(1.6rem,2.5vw,2.25rem)}
.footer-reference{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1.7fr) minmax(0,1.55fr) minmax(0,1.2fr);align-items:center;gap:clamp(1rem,2vw,1.75rem);padding-block:.5rem 1.5rem}
.footer-reference>*{min-width:0;max-width:100%}
.footer-reference__identity{min-width:0}
.footer-logos{display:flex;align-items:center;gap:.75rem;max-width:300px;margin-bottom:1rem}
.footer-network-logo{flex:1 1 65%;min-width:0}
.footer-network-logo img{width:100%;height:auto;clip-path:none}
.footer-management{flex:0 1 35%;min-width:0;text-align:center}
.footer-management p{font-size:.8125rem;margin:0 0 .35rem;text-align:center}
.footer-management a{display:block;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden}
.footer-management img{display:block;width:119%;height:auto;max-width:none;margin:-9.5% 0 0 -9.5%}
.footer-network-copy{font:400 1rem/1.5 var(--font-ui);margin:0 0 .75rem;overflow-wrap:anywhere}
.footer-network-note{font:400 .875rem/1.5 var(--font-ui);margin:0;overflow-wrap:anywhere}
.footer-reference__interest{text-align:center;min-width:0}
.footer-reference__interest h2{font-family:var(--font-display);color:#fff;font-size:clamp(1.65rem,2.2vw,2rem);line-height:1.2;margin:0 0 1rem;overflow-wrap:anywhere}
.footer-reference__interest .btn{border-radius:999px;background:#fff;color:var(--navy-deep);min-width:min(100%,160px);min-height:48px;padding:.75rem 1.4rem;font-size:1rem;font-weight:750;overflow-wrap:anywhere}
.footer-reference__links ul{list-style:none;padding:0;margin:0}
.footer-reference__links li+li{margin-top:.1rem}
.footer-reference__links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:1rem;line-height:1.35;overflow-wrap:anywhere}
.footer-reference__honor{text-align:center;align-self:center}
.footer-honor-star{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-bottom:.4rem}
.footer-honor-star::before,.footer-honor-star::after{content:"";height:1px;width:28px;background:var(--gold)}
.footer-honor-star svg{width:44px;height:44px;flex-shrink:0}
.footer-honor-year{font-size:1rem;margin:0}
.footer-honor-name{font-family:var(--font-display);font-size:1rem;line-height:1.3;margin:0;overflow-wrap:anywhere}
.footer-honor-name span{display:block;font-size:.8em}
.footer-honor-institute{font-family:var(--font-display);color:var(--gold-hi);font-size:1.5rem;margin:.15rem 0}
.footer-honor-description{font-size:.8125rem;line-height:1.4;margin:0 auto;max-width:20ch;overflow-wrap:anywhere}
.footer-reference .social{justify-content:center;flex-wrap:wrap;margin-top:1.25rem;gap:.5rem}
.footer-reference .social a{width:44px;height:44px;background:#fff;border-color:#fff;color:var(--navy-deep)}
.footer-reference .social svg{width:22px;height:22px;fill:var(--navy-deep)}
.ccs-footer .footer-bottom{border-top:2px solid var(--brand-red);padding:1rem 0 1.5rem;font-size:.875rem;gap:.5rem 1rem}
.ccs-footer .footer-bottom p{margin:0;max-width:70ch;min-width:0;overflow-wrap:anywhere}
.ccs-footer .footer-bottom ul{min-width:0;max-width:100%;gap:.5rem 1rem}
.ccs-footer .footer-bottom li+li{border-left:1px solid #fff;padding-left:1rem}
.ccs-footer .footer-bottom a{min-height:44px;display:inline-flex;align-items:center;max-width:100%;overflow-wrap:anywhere}
.ccs-footer :focus-visible,.footer-apply :focus-visible{outline-color:#fff;box-shadow:0 0 0 2px var(--navy-deep)}
.sticky-cta .btn{flex:1;min-height:48px}
.sticky-cta .btn--primary{background:var(--brand-red);border-color:var(--brand-red)}
.footer-apply h2{min-width:0;overflow-wrap:anywhere}
@media(max-width:1199px) and (min-width:1024px){.brand{flex-basis:148px;width:148px}.brand img{width:140px;height:95px}.header-main{gap:.8rem}.nav__link{padding-inline:.45rem}.header-ctas .btn{padding-inline:1rem}}
@media(max-width:1023px){
 .site-header .utility{display:none}
 .header-main{min-height:78px;flex-wrap:wrap;gap:.6rem}
 .brand{flex:0 1 144px;width:144px;max-width:144px;min-width:0;height:auto;min-height:64px}
 .brand img{width:112px;height:76px;transform:none;max-width:100%}
 .menu-toggle{margin-left:auto}
 .header-ctas{display:flex;margin-left:0}
 .header-ctas .btn{font-size:1rem;min-height:46px;padding:.6rem .85rem;white-space:normal}
 .nav__link{font-size:1.125rem}
 .footer-reference{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.75rem 2rem}
 .footer-reference__identity{grid-column:1}
 .footer-reference__interest{grid-column:2;grid-row:1}
 .footer-reference__links{grid-column:1}
 .footer-reference__honor{grid-column:2}
 .footer-reference__links ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}
 .footer-reference__links li+li{margin:0}
 .footer-apply{gap:1.25rem;padding-inline:1.5rem}
 .footer-apply h2{font-size:clamp(1.75rem,3.3vw,2.5rem)}
}
@media(max-width:639px){
 .header-main{min-height:68px}
 .brand{flex-basis:100px;width:100px;max-width:100px;min-height:62px}
 .brand img{width:92px;height:62px}
 .menu-toggle{padding-inline:.65rem}
 .menu-toggle svg{width:16px}
 .menu-toggle span{font-size:.875rem}
 .header-ctas .btn{font-size:.9375rem;min-height:44px;padding:.5rem .7rem}
 .footer-apply{border-radius:28px;display:grid;grid-template-columns:minmax(0,1fr);text-align:center;gap:.875rem;padding:1.25rem;transform:translateY(-32px);margin-bottom:-.75rem}
 .footer-apply h2,.footer-apply--campus h2{font-size:clamp(1.625rem,6.5vw,2rem)}
 .footer-apply .btn{justify-self:center;min-height:48px;font-size:1rem;padding:.7rem 1.5rem}
 .footer-reference{grid-template-columns:minmax(0,1fr);gap:1.75rem;padding-top:.5rem}
 .footer-reference>*{grid-column:auto;grid-row:auto}
 .footer-logos{max-width:280px;margin-inline:auto}
 .footer-reference__links ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
 .footer-reference__honor{max-width:230px;justify-self:center}
 .footer-reference .social{margin-top:1rem}
 .ccs-footer .footer-bottom{padding-bottom:6rem}
 .ccs-footer .footer-bottom ul{gap:.5rem .75rem}
 .ccs-footer .footer-bottom li+li{padding-left:.75rem}
}
@media(max-width:359px){.brand{flex-basis:88px;width:88px;max-width:88px}.header-main{gap:.35rem}.menu-toggle{padding-inline:.45rem}.header-ctas .btn{padding-inline:.55rem}.footer-reference__links ul{grid-template-columns:minmax(0,1fr)}}
