/* Shared, image-led disclosure navigation. Palette and type remain the site's. */
:root { --header-height:112px; }
.masthead { position:sticky; top:0; z-index:20; max-width:none; padding-inline:max(64px, calc((100vw - 1192px)/2)); background:var(--paper); border-bottom:1px solid var(--line); }
.masthead .identity { font-size:28px; letter-spacing:normal; }
.masthead .identity .credentials { font:400 12px/1.5 var(--body); letter-spacing:normal; margin-top:8px; }
.credentials .credential-separator { display:inline; font:inherit; margin:0 8px; letter-spacing:normal; }
.masthead .header-links { align-items:center; gap:16px; flex-shrink:0; }
.header-group { display:flex; align-items:center; }
.header-group>a { display:inline-flex; align-items:center; min-height:48px; }
.category-trigger { display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; background:none; color:var(--navy); cursor:pointer; }
.category-trigger .nav-icon { width:16px; height:16px; transform:rotate(90deg); }
.category-trigger[aria-expanded="true"] .nav-icon { transform:rotate(-90deg); }
.header-links>a { display:inline-flex; align-items:center; min-height:44px; }
.menu-trigger,.menu-close { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; border:0; background:none; color:var(--navy); cursor:pointer; }
.menu-trigger { display:none; padding:0 0 0 8px; font:600 12px/1 var(--body); }
.nav-icon { width:24px; height:24px; fill:currentColor; flex:none; }
.menu-close { width:48px; padding:0; }
.site-menu { position:fixed; z-index:30; inset:var(--header-height) 0 auto; width:100%; max-width:none; max-height:calc(100dvh - var(--header-height)); margin:0; border:0; padding:0; background:var(--surface); color:var(--navy); overflow-y:auto; overscroll-behavior:contain; }
.menu-backdrop { position:fixed; inset:var(--header-height) 0 0; z-index:19; background:rgba(14,34,64,.28); }
.menu-backdrop[hidden] { display:none; }
.site-menu::backdrop { background:rgba(14,34,64,.32); }
.site-menu[open] { animation:menu-reveal 200ms ease-out; }
.site-menu .wrap { padding-top:24px; padding-bottom:48px; }
.menu-heading { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; background:var(--surface); }
.menu-heading h2 { font:600 11px/1.5 var(--body); text-transform:uppercase; letter-spacing:.04em; }
.menu-grid { display:block; }
.menu-categories { display:none; }
.menu-category { min-height:48px; padding:10px 0; border:0; text-align:left; background:none; color:var(--muted); font:400 25px/1.2 var(--display); cursor:pointer; }
.menu-category[aria-expanded="true"] { color:var(--navy); font-weight:700; }
.menu-category[aria-expanded="true"]::after { content:""; display:block; width:28px; height:3px; background:var(--accent); margin-top:8px; }
.menu-panel { display:grid; grid-template-columns:1fr 1fr 1.15fr; align-items:start; gap:56px; }
.menu-panel[hidden] { display:none; }
.menu-panel h3 { font-size:34px; line-height:1; text-transform:uppercase; }
.menu-summary { margin-top:16px; font-size:14px; line-height:1.65; color:var(--muted); max-width:32ch; }
.menu-links { list-style:none; padding:0; margin:0; }
.menu-links a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:12px 0; border-top:1px solid var(--line); font-size:13px; text-decoration:none; }
.menu-links a:hover { text-decoration:underline; }
.menu-links .nav-icon { width:16px; height:16px; }
.menu-photo { margin:0; }
.menu-photo img { display:block; width:100%; height:260px; object-fit:cover; object-position:50% 40%; }
.menu-photo figcaption { padding-top:12px; font-size:var(--caption-size); color:var(--muted); }
#menu-research .menu-photo img { object-position:50% 100%; }
#menu-application .menu-photo img { height:auto; aspect-ratio:4/3; }
.menu-open { overflow:hidden; }
.section-controls { position:fixed; right:24px; bottom:24px; z-index:15; display:flex; align-items:center; background:var(--paper); color:var(--navy); border:1px solid var(--line); box-shadow:0 2px 12px #0e22400a; }
.section-controls a { display:grid; place-items:center; width:48px; height:48px; padding:0; background:none; color:inherit; text-decoration:none; }
.section-controls a:hover:not([aria-disabled="true"]) { background:var(--navy); color:var(--paper); }
.section-controls a[aria-disabled="true"] { opacity:.28; cursor:default; }
.section-position { font-size:10px; font-variant-numeric:tabular-nums; min-width:44px; text-align:center; }
.section-controls .previous .nav-icon { transform:rotate(-90deg); }
.section-controls .next .nav-icon { transform:rotate(90deg); }
[id] { scroll-margin-top:calc(var(--header-height) + 24px); }
body>.footer { padding-bottom:100px; }
@keyframes menu-reveal { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1279px) {
  .header-group { display:none; }
  .menu-trigger { display:inline-flex; }
  .menu-categories { display:flex; gap:32px; border-bottom:1px solid var(--line); margin-bottom:32px; padding-bottom:16px; }
  .menu-panel { grid-template-columns:1fr 1fr; gap:24px 40px; }
  .menu-links { grid-column:1; }
  .menu-photo { grid-column:2; grid-row:1/3; }
}
@media(max-width:991px) {
  .masthead { padding-inline:32px; gap:24px; }
  .header-links .header-document-link { display:none; }
  .menu-panel { gap:24px; grid-template-columns:1fr 1fr; }
  .menu-photo img { height:240px; }
  .site-menu .wrap { padding-inline:32px; }
}
@media(max-width:620px) {
  .masthead { flex-direction:row; align-items:center; min-height:120px; padding:20px 24px; gap:14px; }
  .masthead .identity { font-size:24px; }
  .masthead .identity .credentials { font-size:10px; line-height:1.6; max-width:30ch; }
  .credentials .credential-separator { display:block; visibility:hidden; height:0; margin:0; }
  .masthead .header-links { gap:0; flex-wrap:nowrap; }
  .menu-trigger { flex-direction:column; gap:6px; font-size:10px; padding:0; min-width:44px; }
  .site-menu .wrap { padding:12px 24px 32px; }
  .menu-heading { margin-bottom:12px; }
  .menu-grid { display:block; }
  .menu-categories { flex-direction:row; gap:16px; border-right:0; border-bottom:1px solid var(--line); padding:0 0 12px; margin-bottom:24px; }
  .menu-category { font-size:18px; flex:1; min-width:0; padding:6px 0; }
  .menu-panel { grid-template-columns:1fr; gap:24px; }
  .menu-photo { grid-column:auto; grid-row:auto; }
  .menu-panel h3 { font-size:28px; }
  .menu-summary { font-size:13px; max-width:none; margin-top:12px; }
  .menu-links { margin-top:16px; }
  .menu-photo img { height:168px; object-position:50% 36%; }
  .section-controls { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); }
  .section-controls a { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) { .site-menu[open] { animation:none; } }
@media(max-width:380px) {
  .menu-categories { display:grid; grid-template-columns:1fr 1fr; gap:4px 24px; }
  .menu-category { font-size:20px; min-height:44px; }
}
@media print {
  .masthead { position:static; border:0; max-width:1320px; }
  .site-menu,.menu-backdrop,.section-controls,.menu-trigger { display:none!important; }
  body>.footer { padding-bottom:0; }
}
