/* sticky-navigation-v1 — preserve the original split palette at every scroll depth. */
:root{--nav-height:88px}
html{scroll-padding-top:var(--nav-height)}
.site-header{position:fixed;height:var(--nav-height);background:linear-gradient(90deg,var(--blue) var(--page-panel-split),var(--pink) 0);z-index:100;border-bottom:1px solid var(--line);transition:box-shadow .24s ease}
.site-header.is-scrolled{box-shadow:0 6px 18px #123b641a}
.desktop-nav a{display:flex;align-items:center;min-height:44px;font-size:14px}
.desktop-nav a:after{bottom:5px;height:2px;transition:transform .24s var(--ease)}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}
.header-cta{min-height:44px;transition:background .2s ease,color .2s ease}
.menu-toggle{position:relative;flex:none;border:1px solid var(--line);border-radius:50%;padding:0}
.menu-toggle span{position:absolute;left:11px;top:16px;width:20px;height:2px;margin:0;transition:transform .24s var(--ease)}
.menu-toggle span+span{top:24px}
.menu-toggle[aria-expanded=true] span{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span+span{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{inset:var(--nav-height) 0 0;z-index:99;background:var(--blue);padding:20px var(--gutter) max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}
.mobile-menu a{position:relative;display:flex;align-items:center;min-height:54px;margin:0;padding:10px 12px;font-size:clamp(22px,5vw,32px);line-height:1.25;letter-spacing:-.035em;border-bottom:1px solid var(--line);transition:background .2s ease}
@media(hover:hover) and (pointer:fine){.mobile-menu a:hover{background:var(--blue-light)}}
.mobile-menu a:last-child{background:var(--pink);border:1px solid var(--ink);border-radius:32px;margin-top:20px;font-size:20px;font-weight:700;padding-inline:20px}
html.menu-open{overflow:hidden}
@media(max-width:1100px){:root{--nav-height:76px}.desktop-nav{display:none}.menu-toggle{display:block}.header-cta{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header *,.mobile-menu a{transition:none!important}}

/* Keep existing pinned content clear of the fixed navigation. */
.results{--results-screen:calc(calc(var(--page-svh,1svh)*100) - var(--nav-height))}
.results.is-pinned .results-sticky{top:var(--nav-height)}
@media(min-width:640px){.archive-enhanced .archive-heading{top:calc(var(--nav-height) + 24px)}}
@media(max-width:900px){#mentorship-program.folder-picker-ready .folder-stage{top:calc(var(--nav-height) + 8px)}}

/* Current page structure: six primary sections and two programme sublinks. */
.site-header .desktop-nav{gap:clamp(12px,1.1vw,20px)}
.site-header .desktop-nav a{font-size:14px;white-space:nowrap}
.mobile-menu .nav-sub{font-size:17px;letter-spacing:-.02em;padding-left:28px;min-height:44px}
.mobile-menu{scrollbar-gutter:stable}
@media(min-width:1280px){.site-header{gap:20px}.site-header .desktop-nav{display:flex}.site-header .menu-toggle{display:none}}
@media(max-width:1279px){.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:block}.site-header .header-cta{margin-left:auto}}
@media(max-height:650px){.mobile-menu{padding-top:12px}.mobile-menu a{min-height:44px;font-size:22px;padding-block:8px}.mobile-menu .nav-sub{font-size:16px}.mobile-menu a:last-child{margin-top:12px}}

/* Text-only header action keeps its width tied to the label. */
.site-header .header-cta{width:max-content;justify-content:center;gap:0}

/* iOS may mark programmatic menu/dialog focus as focus-visible after a tap.
   Keep focus in place; suppress only these control rings for pointer input. */
html[data-focus-input="pointer"] :is(#mobile-menu a,.menu-toggle,#post-dialog .dialog-close):focus{outline:none!important}
