/* Shared Campus navigation and footer, including the embedded dossier pages. */
@font-face{font-family:"DM Sans";src:url("/assets/fonts/dm-sans.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/assets/fonts/ibm-plex-sans.woff2") format("woff2");font-weight:400 700;font-display:swap}
/* The dossier theme sets its own body background after this stylesheet. */
body[data-nena-subpage]{background-color:#f6f5f0!important}
.header,.footer{--shell-ink:#182b2c;--shell-teal:#176c68;--shell-line:#d9dfda;font-family:"DM Sans",sans-serif;font-size:16px;line-height:normal}
.header,.header *,.footer,.footer *{box-sizing:border-box}
.header a,.footer a{color:inherit;text-decoration:none}
.header svg,.footer svg{display:block;max-width:100%}
.header{width:min(1280px,calc(100% - 96px));height:92px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;z-index:10;color:var(--shell-ink)}
.header .brand,.footer .brand{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;min-height:44px;line-height:1}
.header .brand-mark,.footer .brand-mark{width:47px;height:47px;flex:none}
.header .brand-text,.footer .brand-text{display:grid;gap:3px;font-family:"IBM Plex Sans",sans-serif;font-size:15px;letter-spacing:-.035em}
.header .brand-text strong,.footer .brand-text strong{font-weight:720}
.header .brand-text>span,.footer .brand-text>span{color:var(--shell-teal);font-size:14px;font-weight:520;letter-spacing:.01em}
.header nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,34px);font-size:15px;font-weight:500}
.header nav>a{color:#455654;transition:color .2s}
.header nav>a:hover,.header nav>a[aria-current="page"]{color:var(--shell-teal)}
.header nav>a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.header .menu-button{display:none;min-height:44px;font-family:inherit}
.header .menu-button:focus{outline:3px solid #23877d;outline-offset:4px}
.header :focus-visible,.footer :focus-visible{outline:3px solid #23877d;outline-offset:4px}
.footer :focus-visible{outline-color:#f8fff9}
.footer{padding:47px 0;color:#f5faf7;background:#142f2e}
.footer .footer-inner{width:min(1280px,calc(100% - 96px));margin-inline:auto;display:flex;justify-content:space-between;align-items:end;gap:35px}
.footer .brand-text>span{color:#b9dcd0}
.footer p{margin:16px 0 0;color:#c4d7ce;font-size:14px;line-height:normal}
.footer .footer-links{display:flex;flex-wrap:wrap;gap:25px;color:#e4eee7;font-size:14px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){
 .header,.footer .footer-inner{width:calc(100% - 40px)}
 .header{height:78px}
 .header .menu-button{display:inline-flex;align-items:center;gap:9px;padding:10px 0 10px 12px;border:0;background:transparent;color:var(--shell-ink);font-size:15px;font-weight:650;cursor:pointer}
 .header .menu-button span{font-size:19px}
 .header nav{display:none;position:absolute;top:70px;left:0;right:0;padding:24px;border:1px solid var(--shell-line);border-radius:15px;background:#fffefa;box-shadow:0 16px 35px rgba(16,46,48,.12);flex-direction:column;align-items:stretch;gap:0}
 .header nav.open{display:flex}
 .header nav>a{padding:13px 0}
 .footer .footer-inner{display:block}
 .footer .footer-links{margin-top:30px}
}
@media(max-width:480px){
 .header .brand-mark,.footer .brand-mark{width:41px;height:41px}
 .header .brand-text,.footer .brand-text{font-size:14px}
 .header .brand-text>span,.footer .brand-text>span{font-size:13px}
}
