/* Shared chrome uses the same forest-green palette as the page content. */
:root{--shell-ink:#123c31;--shell-teal:#3e8169;--shell-paper:#fffdf8;--shell-muted:#b9cec2}
.header{height:82px;background:var(--shell-paper);border-bottom:1px solid #e5e1d8;padding-inline:32px}
.header .brand{gap:12px;color:#123c31}
.header .brand img{display:block;width:49px;height:49px;object-fit:contain;flex:none;padding:4px;background:#e6f2ee;border:1px solid #cbe1d9;border-radius:12px;box-shadow:0 3px 10px #173b3920}
.header .brand strong{font:800 22px/1 Manrope,sans-serif;letter-spacing:-.055em}
.header .brand strong span{color:var(--shell-teal);font-weight:800}
.header .brand:hover img,.header .brand:focus-visible img{border-color:#9bc8ba;box-shadow:0 4px 16px #3e816936}
.header .brand:focus-visible{outline:2px solid var(--shell-teal);outline-offset:4px;border-radius:4px}
.desktop a{color:#4d6156}
.desktop a:hover,.desktop a[aria-current="page"],.desktop a[data-section-current="true"]{color:#235e46}
.desktop a[aria-current="page"]::after,.desktop a[data-section-current="true"]::after{background:var(--shell-teal)}
.desktop a:last-child{border-color:#d5e3dd;color:#235e46;background:#f0f7f3}
.desktop a:last-child:hover{background:#e3f2eb}
@media(max-width:1100px){
 .menu-button{color:var(--shell-ink);background:#edf5f0;border-color:#d5e6dc;border-radius:11px;transition:background .18s,border-color .18s}
 .menu-button:hover,.menu-button[aria-expanded="true"]{background:#dceee5;border-color:#9ac9bb}
 .mobile-menu:not([hidden]){top:82px;right:26px;width:min(460px,calc(100vw - 52px));max-height:min(70vh,570px);padding:22px;background:var(--shell-ink);border:1px solid #456a56;border-top:3px solid var(--shell-teal);border-radius:0 0 16px 16px;box-shadow:0 24px 50px #102c2450}
 .mobile-menu-group+.mobile-menu-group{margin-top:17px;padding-top:17px;border-top:1px solid #ffffff1c}
 .mobile-menu-label{margin-bottom:10px;color:#a6d4b9;font-size:10px;letter-spacing:.14em}
 .mobile-menu-group>div{gap:5px 8px}
 .mobile-menu a{min-height:43px;padding:9px 11px;color:#f3f1e9;border-radius:8px;font-size:13px;transition:background .18s,color .18s}
 .mobile-menu a:hover,.mobile-menu a:focus-visible,.mobile-menu a[aria-current="page"],.mobile-menu a[data-section-current="true"]{background:#3e81693d;color:#e5f3e8}
 .mobile-menu a:focus-visible,.menu-button:focus-visible{outline:2px solid #a6d4b9;outline-offset:2px}
}
@media(max-width:700px){
 .header{height:70px;padding-inline:18px}
 .header .brand img{width:44px;height:44px;padding:3px}
 .header .brand strong{font-size:20px}
 .mobile-menu:not([hidden]){top:70px;right:10px;width:calc(100vw - 20px);max-height:min(75vh,590px);padding:19px}
}

.campus-footer{margin-top:0;background:var(--shell-ink);border-top:4px solid var(--shell-teal);color:#e9ece7}
.campus-footer-main{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(155px,.7fr) minmax(155px,.7fr);gap:clamp(30px,6vw,95px);padding-top:52px;padding-bottom:46px}
.campus-footer-brand{display:inline-flex;gap:12px;color:#fffdf8}
.campus-footer-brand img{display:block;width:49px;height:49px;flex:none;object-fit:contain;padding:4px;background:#f8fcf8;border-radius:12px}
.campus-footer-brand strong{font:800 25px/1 Manrope,sans-serif;letter-spacing:-.055em}
.campus-footer-brand strong span{color:#9ccfab;font-weight:800}
.campus-footer-brand:focus-visible{outline:2px solid #a6d4b9;outline-offset:5px;border-radius:5px}
.campus-footer-about p{max-width:355px;margin:18px 0 0;color:#c1d0c5;font-size:13px;line-height:1.75}
.campus-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.campus-footer-links h2{margin:5px 0 9px;color:#a6d4b9;font:800 10px/1.3 Manrope,sans-serif;letter-spacing:.15em}
.campus-footer-links a{color:#e4eee5;font-size:13px;font-weight:600;transition:color .16s,transform .16s}
.campus-footer-links a:hover,.campus-footer-links a:focus-visible{color:#bce4c6;transform:translateX(3px);outline:none}
.campus-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:70px;border-top:1px solid #ffffff20;color:#b6c9bc;font-size:11px}
.campus-footer-bottom a{color:#e6f2eb;font-size:12px;font-weight:700}
.campus-footer-bottom a:hover,.campus-footer-bottom a:focus-visible{color:#bce4c6;text-decoration:underline}
.campus-footer-bottom .footer-policy-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.info-inline-link{color:#21704e;text-decoration:underline;text-underline-offset:3px;font-weight:700}
@media(max-width:700px){
 .campus-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px;padding-top:39px;padding-bottom:35px}
 .campus-footer-about{grid-column:1/-1}
 .campus-footer-about p{margin-top:14px}
 .campus-footer-brand img{width:45px;height:45px}
 .campus-footer-brand strong{font-size:23px}
 .campus-footer-bottom{flex-wrap:wrap;min-height:0;padding-top:21px;padding-bottom:23px;gap:9px 20px}
 .campus-footer-bottom span:nth-child(2){order:3;width:100%}
 .campus-footer-bottom .footer-policy-links{justify-content:flex-start}
}
@media(max-width:350px){.mobile-menu-group>div{grid-template-columns:1fr}.campus-footer-main{grid-template-columns:1fr}.campus-footer-about{grid-column:auto}}
