/* Shared wayfinding: one click on desktop, nested touch disclosures on smaller screens. */
.site-header #site-nav{gap:clamp(14px,1.8vw,28px)}
.nav-disclosure>summary{display:flex;align-items:center;gap:9px;min-height:48px;padding:12px 0;list-style:none;cursor:pointer;font-size:inherit;white-space:nowrap}
.nav-disclosure summary::-webkit-details-marker{display:none}
.nav-disclosure>summary>span{color:var(--cyan);font-size:1rem;transition:transform .2s}
.nav-disclosure[open]>summary>span{transform:rotate(180deg)}
.nav-disclosure[open]>summary{color:var(--cyan)}
.nav-panel{position:absolute;top:100%;padding:28px;background:var(--navy);color:var(--paper);border:1px solid oklch(40% .03 266);box-shadow:0 22px 45px #0003;max-height:calc(100svh - 112px);overflow:auto;overscroll-behavior:contain}
.programme-menu{left:var(--space);right:var(--space);border-radius:0 0 20px 20px}
.programme-menu-intro,.programme-menu-foot{display:flex;justify-content:space-between;align-items:center;gap:24px}
.programme-menu-intro{padding-bottom:22px;border-bottom:1px solid #ffffff24}
.nav-eyebrow{display:block;color:var(--cyan);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.programme-menu-intro p{font-size:1.4rem;line-height:1.35;letter-spacing:-.03em}
.site-header #site-nav .programme-menu-intro>a,.site-header #site-nav .programme-menu-foot>a{color:var(--cyan);font-size:.8rem;white-space:nowrap}
.programme-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 32px;padding-block:24px}
.nav-group{min-width:0}
.nav-group>summary{display:flex;gap:10px;align-items:baseline;cursor:pointer;list-style:none;font-size:.84rem;font-weight:600;line-height:1.4;min-height:36px}
.nav-group-number{color:var(--cyan);font-size:.62rem;font-weight:400}
.nav-group-plus{margin-left:auto;color:var(--cyan);font-weight:400}
.nav-group[open] .nav-group-plus{font-size:0}
.nav-group[open] .nav-group-plus:after{content:'−';font-size:1rem}
.nav-group-links{padding-left:24px;display:grid}
.site-header #site-nav .nav-group-links>a{padding:7px 0;min-height:34px;font-size:.78rem;line-height:1.5;color:oklch(86% .015 252)}
.site-header #site-nav .nav-panel a::after{display:none}
.site-header #site-nav .nav-panel a:hover,.site-header #site-nav .nav-panel a[aria-current]{color:var(--cyan);text-decoration:underline;text-underline-offset:4px}
.programme-menu-foot{padding-top:16px;border-top:1px solid #ffffff24;font-size:.75rem;color:oklch(84% .015 252)}
.women-menu{width:330px;border-radius:0 0 16px 16px}
.site-header #site-nav .women-menu>a{display:block;padding:12px 0;font-size:.84rem;line-height:1.5;border-bottom:1px solid #ffffff20}
.site-header #site-nav .women-menu>a:last-child{border:0}
@media(min-width:1101px){.nav-women{position:relative}.women-menu{left:50%;transform:translateX(-50%);top:calc(100% + 24px)}.site-header #site-nav>a{white-space:nowrap}}
@media(max-width:1100px){
 .site-header #site-nav{gap:0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
 .nav-disclosure{border-bottom:1px solid oklch(34% .03 266)}
 .nav-disclosure>summary{font-size:1.35rem;min-height:66px;justify-content:space-between;padding:18px 0}
 .nav-panel{position:static;max-height:none;padding:0 0 20px;border:0;border-radius:0;box-shadow:none;overflow:visible;width:auto;transform:none}
 .programme-menu-intro{display:block;padding:8px 0 15px}
 .programme-menu-intro p{font-size:1rem}
 .programme-menu-intro .nav-eyebrow{display:none}
 .site-header #site-nav .programme-menu-intro>a{display:inline-block;padding-top:12px;white-space:normal}
 .programme-menu-grid{grid-template-columns:1fr;gap:0;padding:0}
 .nav-group{border-bottom:1px solid #ffffff1a}
 .nav-group>summary{font-size:.93rem;min-height:52px;align-items:center;padding:12px 0;gap:12px}
 .nav-group-links{padding-left:25px;padding-bottom:10px}
 .site-header #site-nav .nav-group-links>a{font-size:.9rem;min-height:44px;padding:11px 0}
 .programme-menu-foot{display:block;padding-top:18px;border:0;line-height:1.6}
 .site-header #site-nav .programme-menu-foot>a{display:block;white-space:normal;min-height:44px}
 .women-menu .nav-eyebrow{margin:5px 0 10px}
 .site-header #site-nav .women-menu>a{font-size:.95rem;min-height:46px}
 .no-js .nav-disclosure>summary{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){.nav-disclosure>summary>span{transition:none}}
html[data-motion="off"] .nav-disclosure>summary>span{transition:none}
