/* Shared header and footer navigation; load after other stylesheets. */
.primary-navigation > ul { display:flex; align-items:center; }
.primary-navigation .bodies-menu { position:relative; }
.primary-navigation .bodies-toggle {
 display:flex; align-items:center; gap:.35rem;
 margin:0; padding:.72rem; border:0; border-radius:5px;
 background:transparent; color:rgba(255,255,255,.84);
 font-family:var(--body-font); font-size:.9rem; font-weight:700;
 line-height:1.65; text-align:left; cursor:pointer;
}
.primary-navigation .bodies-toggle:hover,
.primary-navigation .bodies-toggle:focus-visible,
.primary-navigation .bodies-toggle.is-current,
.primary-navigation .bodies-toggle[aria-expanded="true"] {
 background:rgba(255,255,255,.08); color:var(--gold-light);
}
.bodies-toggle:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.primary-navigation ul.bodies-submenu {
 position:absolute; top:100%; right:0; z-index:100;
 display:block; width:min(360px,calc(100vw - 3rem));
 margin:0; padding:.5rem; list-style:none;
 border:1px solid rgba(196,160,82,.5); border-radius:6px;
 background:var(--black-soft); box-shadow:var(--shadow);
}
.primary-navigation ul.bodies-submenu[hidden] { display:none !important; }
.primary-navigation .bodies-submenu > li { display:block; width:100%; margin:0; }
.primary-navigation .bodies-submenu a { display:block; white-space:normal; line-height:1.4; padding:.75rem; }
.footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1.5fr); gap:2rem; }
.footer-grid > div { min-width:0; }
.footer-navigation { display:grid; grid-template-columns:minmax(90px,.55fr) minmax(0,1.45fr); column-gap:1.5rem; align-content:start; }
.footer-navigation > h2,.footer-navigation > p { grid-column:1; }
.footer-navigation .footer-bodies { grid-column:2; grid-row:1 / span 10; }
.footer-bodies p + p { margin-top:.45rem; }
.footer-navigation a { font-size:.9rem; line-height:1.45; }
.site-footer a { overflow-wrap:anywhere; }
.footer-bodies a[aria-current="page"] { color:var(--gold-light); }
@media(min-width:981px) and (max-width:1180px) {
 .header-inner { gap:1rem; }
 .brand-logo { width:130px; }
 .brand-title { font-size:1.3rem; }
 .brand-subtitle { font-size:.68rem; }
 .primary-navigation a,.primary-navigation .bodies-toggle { padding-inline:.5rem; }
}
@media(max-width:1100px) {
 .footer-navigation { display:block; }
 .footer-navigation .footer-bodies { margin-top:1.25rem; }
 .footer-bodies h2 { font-size:1rem; }
}
@media(max-width:980px) {
 .primary-navigation > ul { display:block; }
 .primary-navigation .bodies-toggle { width:100%; padding:.82rem; }
 .primary-navigation ul.bodies-submenu { position:static; width:100%; box-shadow:none; margin-block:.25rem; }
 .primary-navigation { max-height:calc(100dvh - 100px); overflow-y:auto; }
 .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr); gap:1.5rem; }
}
@media(max-width:700px) { .footer-grid { grid-template-columns:1fr; } }
