/* One header, reading frame, and mobile menu across the entire preview. */
.site-header{position:relative;z-index:5;background:var(--paper)}
.site-header .masthead{display:flex;min-height:112px;padding:0;gap:40px;border-bottom:1px solid var(--line)}
.site-header .brand span{font:500 22px/1.05 var(--serif);letter-spacing:.005em}
.site-header .brand img{width:47px;height:57px;object-fit:contain}
.site-header .desktop-nav{display:flex;gap:30px;margin-left:auto;font:14px/1.5 Arial,Helvetica,sans-serif}
.site-header .desktop-nav a{position:relative;min-height:44px;padding:0;text-decoration:none;white-space:nowrap}
.site-header .desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.site-header .desktop-nav a:hover::after,.site-header .desktop-nav a[aria-current=page]::after{transform:scaleX(1)}
.site-header .nav-contact{font:13px/1.5 Arial,Helvetica,sans-serif;max-width:none;text-align:left;white-space:nowrap}
.menu-toggle,.menu-close{background:transparent;border:0;border-bottom:1px solid var(--gold);border-radius:0;color:var(--navy);font:14px/1.5 Arial,Helvetica,sans-serif;min-height:44px;padding:0 2px;cursor:pointer}
.menu-toggle{display:none;margin-left:auto}
.fallback-nav{display:none}
.mobile-menu{border:0;padding:26px max(24px,env(safe-area-inset-right)) 40px max(24px,env(safe-area-inset-left));background:var(--paper);color:var(--navy);margin:0 0 0 auto;width:min(100%,520px);height:100%;height:100dvh;max-width:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain}
.mobile-menu::backdrop{background:#101f3a80}
.mobile-menu[open]{animation:menu-enter .16s ease-out}
.menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px}
.menu-top .brand span{font:500 21px/1.05 var(--serif)}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu nav a{position:relative;display:block;padding:17px 0;border-top:1px solid var(--line);font:400 38px/1.1 var(--serif);letter-spacing:-.02em;text-decoration:none}
.mobile-menu nav a:last-child{border-bottom:1px solid var(--line)}
.mobile-menu nav a:hover,.mobile-menu nav a[aria-current=page]{color:var(--gold)}
.mobile-menu nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.mobile-menu>.button{margin-top:28px;width:100%;min-height:50px}
body.menu-open{overflow:hidden}
@keyframes menu-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.site-header .masthead{gap:25px}.site-header .desktop-nav{gap:24px}.site-header .brand span{font-size:20px}}
@media(max-width:900px){.site-header .masthead{min-height:90px;gap:24px}.site-header .desktop-nav,.site-header .nav-contact{display:none}.menu-toggle:not([hidden]){display:inline-flex;align-items:center}.site-header .brand span{font-size:20px}.site-header .brand img{width:41px;height:50px}.fallback-nav:not([hidden]){display:flex;flex-wrap:wrap;gap:0 22px;padding:10px 0;border-bottom:1px solid var(--line)}.fallback-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}}
@media(max-width:650px){.site-header .masthead{min-height:86px}.site-header .brand{gap:11px}.site-header .brand span{font-size:19px}.site-header .brand img{width:38px;height:48px}.menu-top{margin-bottom:32px}}
@media(max-width:360px){.site-header .brand span{font-size:17px}.site-header .brand img{width:33px;height:43px}.mobile-menu{padding-inline:18px}.menu-top .brand span{font-size:19px}.mobile-menu nav a{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header .desktop-nav,.site-header .nav-contact,.menu-toggle,.mobile-menu,.fallback-nav{display:none!important}.site-header .masthead{min-height:auto;padding-block:16px}html,body{overflow:visible!important}.skip,.skip-link{display:none}}
main[tabindex="-1"]:focus,[id][tabindex="-1"]:focus{outline:none}

.site-header .masthead nav a[aria-current=page]{text-decoration:none}

/* The same three-line wordmark in the masthead, menu, and footer.
   The crest is the original vector artwork, with no bitmap texture or padding. */
.brand.brand-lockup{--brand-size:23px;--brand-crest-width:77px;display:inline-flex;align-items:center;gap:14px;color:var(--navy);text-decoration:none;flex-shrink:0}
.brand.brand-lockup .brand-crest{display:block;flex:none;width:var(--brand-crest-width);height:auto;aspect-ratio:598/466;object-fit:contain}
.brand.brand-lockup .brand-wordmark{display:block;font:500 var(--brand-size)/1.03 var(--serif);letter-spacing:0;white-space:nowrap;text-align:left}
.brand.brand-lockup .brand-line{display:block;font:inherit;letter-spacing:inherit}
/* A natural left edge lets the full name read as one wordmark. */
.brand.brand-lockup .brand-initial{display:inline;font:inherit;letter-spacing:inherit;color:inherit}
.brand.brand-lockup.footer-brand{--brand-size:22px;--brand-crest-width:72px;gap:14px;justify-self:start}
.footer-main .brand.brand-lockup:hover{text-decoration:none}
@media(max-width:1100px){.site-header .brand.brand-lockup{--brand-size:22px;--brand-crest-width:72px}}
@media(max-width:650px){.site-header .brand.brand-lockup,.menu-top .brand.brand-lockup{--brand-size:20px;--brand-crest-width:64px;gap:11px}}
@media(max-width:360px){.site-header .brand.brand-lockup,.menu-top .brand.brand-lockup{--brand-size:19px;--brand-crest-width:60px;gap:10px}.menu-top{gap:16px}}

/* One footer and reading order on every destination, including home and partners. */
.site-footer{padding-block:29px}
.site-footer .footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px;border-top:1px solid var(--line);padding-top:27px}
.site-footer .footer-main nav{display:grid;grid-template-columns:repeat(3,max-content);gap:0 28px;max-width:none;margin:0;justify-content:end}
.site-footer .footer-main nav a,.site-footer .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font:13px/1.5 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap}
.site-footer .footer-main nav a:hover,.site-footer .footer-bottom a:hover{text-decoration:underline;text-decoration-color:var(--gold)}
.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:16px}
.site-footer .footer-bottom p{font:10px/1.8 Arial,Helvetica,sans-serif;color:var(--muted)}
.site-footer .footer-bottom nav{display:flex;gap:24px}
.site-footer .footer-affiliation{font:12px/1.6 Arial,Helvetica,sans-serif;color:var(--muted);margin-top:15px;max-width:65ch}
@media(max-width:850px){.site-footer .footer-main{gap:24px}.site-footer .footer-main nav{column-gap:20px}}
@media(max-width:650px){
  .site-footer{padding-block:0 20px}
  .site-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:25px}
  .site-footer .footer-main nav{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:start;gap:0 20px}
  .site-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:17px}
}
