/* Shared navigation: all pages remain available in static HTML. */
.hero.menu-open { overflow:visible; z-index:30; }
.site-header { z-index:10; }
.site-header .header-actions { margin-left:auto; }
.site-header .site-menu-toggle { display:flex; align-items:center; gap:18px; padding:12px 16px; border:1px solid #ffffff70; border-radius:3px; background:#0003; cursor:pointer; }
.site-menu-toggle b { font:400 15px/1.4 "Titillium Web",sans-serif; }
.site-menu-toggle i { display:block; font-style:normal; }
.site-header .site-menu { position:absolute; top:calc(100% + 14px); left:0; right:0; height:auto; width:auto; max-height:calc(100svh - 125px); overflow-y:auto; overscroll-behavior:contain; display:block; padding:32px; white-space:normal; background:#fff; color:#202326; border:1px solid #e5e8ea; border-radius:8px; box-shadow:0 24px 70px #0005; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px); transition:opacity .18s,transform .18s,visibility .18s; backdrop-filter:none; }
.site-header .site-menu.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.site-menu__heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid #e2e5e7; font-size:26px; font-weight:300; }
.site-menu__caption { font-size:13px; color:#687079; }
.site-menu__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.site-menu__grid h2 { margin:0 0 15px; color:#606a73; font-size:13px; font-weight:600; letter-spacing:.045em; text-transform:uppercase; }
.site-header .site-menu a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 10px; margin:0 -10px; color:#24282c; font-size:16px; line-height:1.4; font-weight:400; border:0; border-radius:4px; opacity:1; transform:none; transition:background .15s; }
.site-menu a span { font-size:16px; color:#84909a; }
.site-header .site-menu a:hover,.site-header .site-menu a[aria-current="page"] { color:#1258a7; background:#edf4fb; opacity:1; }
.site-menu-toggle[aria-expanded="true"] i span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.site-menu-toggle[aria-expanded="true"] i span:nth-child(2) { opacity:0; }
.site-menu-toggle[aria-expanded="true"] i span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
@media(max-width:1000px) { .site-menu__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; } }
@media(max-width:820px) {
 .site-header .site-menu-toggle { gap:12px; padding:10px 12px; margin-left:18px; }
 .site-menu-toggle b { font-size:14px; }
 .site-header .site-menu { top:calc(100% + 4px); left:-2vw; right:-2vw; padding:24px 20px; max-height:calc(100svh - 95px); }
 .site-menu__heading { font-size:24px; padding-bottom:18px; margin-bottom:22px; }
 .site-menu__caption { display:none; }
 .site-menu__grid { grid-template-columns:1fr; gap:22px; }
 .site-menu__grid section + section { padding-top:20px; border-top:1px solid #e4e7e9; }
 .site-menu__grid h2 { margin-bottom:8px; }
 .site-header .site-menu a { padding:12px 10px; font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .site-header .site-menu { transition:none; } }
/* Desktop category dropdowns; mobile keeps the compact hamburger. */
.site-header .site-menu-toggle { display:none; }
.header-categories { display:flex; flex:1; align-self:stretch; justify-content:space-between; gap:12px; min-width:0; }
.category-toggle { position:relative; display:flex; align-items:center; justify-content:center; gap:12px; padding:24px 4px; border:0; background:transparent; color:inherit; font:500 clamp(13px,1.15vw,18px)/1.3 "Titillium Web",sans-serif; cursor:pointer; white-space:nowrap; }
.category-toggle > span { display:block; width:9px; height:9px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-3px) rotate(45deg); }
.category-toggle[aria-expanded="true"] { color:#1769cb; }
.category-toggle[aria-expanded="true"]::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:4px; background:#1769cb; }
.category-toggle[aria-expanded="true"] > span { transform:translateY(3px) rotate(225deg); }
.site-menu__grid > section[hidden] { display:none; }
@media(min-width:821px) {
 .site-header.navigation-open { color:#303438; border-color:#c9cdd0; }
 .site-header.navigation-open::before { content:''; position:absolute; z-index:-1; top:0; bottom:0; left:50%; width:100vw; transform:translateX(-50%); background:#fff; }
 .site-header.navigation-open .header-actions { color:#62676b; }
 .site-header .site-menu { top:100%; left:50%; right:auto; width:100vw; transform:translateX(-50%); border:0; border-radius:0; padding:48px max(8.125%,calc((100vw - 1320px)/2)) 64px; max-height:calc(100svh - 100px); box-shadow:0 24px 36px #0002; }
 .site-header .site-menu.is-open { transform:translateX(-50%); }
 .site-menu__heading { display:none; }
 .site-menu__grid { display:block; }
 .site-menu__grid section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:64px; max-width:1050px; }
 .site-menu__grid h2 { grid-column:1/-1; margin:0 0 26px; font-size:30px; font-weight:300; text-transform:none; letter-spacing:0; color:#34393d; }
 .site-header .site-menu a { font-size:20px; padding:14px 10px; }
 .site-menu a span { display:none; }
}
@media(min-width:821px) and (max-width:1100px) {
 .site-header { gap:20px; }
 .header-categories { gap:8px; }
 .category-toggle { gap:7px; font-size:13px; }
}
@media(max-width:820px) {
 .header-categories { display:none; }
 .site-header .site-menu-toggle { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin-left:12px; padding:10px; background:transparent; border:0; border-radius:0; }
 .site-header .site-menu-toggle b { display:none; }
}

/* The roundel for a light menu remains available as a real image in each header. */
.site-header .brand img.brand__logo--light { display:none; }
@media(min-width:821px) {
 .category-toggle { gap:10px; font-size:clamp(13px,1vw,15px); font-weight:300; }
 .site-header .site-menu a { font-size:17px; font-weight:300; }
 .site-header.navigation-open { border-bottom-color:#b7babe; }
 .site-header.navigation-open .brand img.brand__logo--hero { display:none; }
 .site-header.navigation-open .brand img.brand__logo--light { display:block; }
}
@media(max-width:820px) {
 .site-header .site-menu a span { display:none; }
}
