/* Shared navigation from the supplied light/dark reference. Native details
   retains keyboard support; mobile keeps full names instead of shrinking text. */
/* Draw decorative arrows as vectors so mobile platforms cannot substitute emoji. */
.public-body{--public-arrow-up-right:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18L18 6M7 6h11v11'/%3E%3C/svg%3E")}
.public-body .icon-arrow-up-right,
.pill-nav .nav-dropdown>ul a:after,
.mobile-nav-group a:after{
  display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;
  background:currentColor;
  -webkit-mask:var(--public-arrow-up-right) center / contain no-repeat;
  mask:var(--public-arrow-up-right) center / contain no-repeat;
}
.mobile-nav-group a:after{margin-top:.25em}
.pill-nav .nav-dropdown>ul{width:310px;padding:7px;border-radius:5px;right:0;top:calc(100% + 11px);background:var(--surface);box-shadow:0 12px 26px #0002}
.pill-nav .nav-dropdown>ul a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 12px;border-radius:3px;color:var(--accent);font-size:13px;line-height:1.5}
.pill-nav .nav-dropdown>ul a:after{content:'';font-size:18px;flex:none}.pill-nav .nav-dropdown>ul a:hover{color:var(--accent);background:var(--bg-1)}
.nav-dropdown summary{display:flex;align-items:center}.nav-dropdown summary,.mobile-nav-group summary{list-style:none}.nav-dropdown summary::-webkit-details-marker,.mobile-nav-group summary::-webkit-details-marker{display:none}.nav-dropdown summary:after{content:none}
.mobile-nav-group a{border-left:1px solid var(--line-mid);margin-left:12px;padding:12px 16px!important;white-space:normal;font-size:14px;line-height:1.5}.mobile-nav-group a:after{content:'';float:right;margin-left:8px}
:root[data-theme=light] .nav-dropdown>ul{background:#fff}.public-body .nav-cta:not(.nav-cta-quiet):after{content:'';margin-left:12px}
@media(min-width:1100px) and (max-width:1279px){.pill-nav>ul{display:flex!important;gap:0}.pill-nav>ul a,.nav-dropdown summary{font-size:12px;padding:8px 7px}.pill-nav{gap:6px}.nav-burger{display:none!important}.mobile-menu{display:none!important}.pill-nav .nav-cta-quiet{display:inline-flex}.pill-nav .nav-cta{font-size:12px;padding:10px}.brand-logo-link img{height:32px}}
/* The sticky header is the full-width containing block. The centred nav wrap
   must not constrain the panel; no viewport-width arithmetic or horizontal
   translation is needed, so scrollbars cannot push its right edge offscreen. */
@media(min-width:1100px){
  .site-header .nav-wrap,.site-header .pill-nav,.site-header .pill-nav>ul,.site-header .pill-nav>ul>li,.site-header .nav-dropdown{position:static;transform:none;filter:none;perspective:none;contain:none}
  .site-header .pill-nav .nav-dropdown>ul.nav-mega-panel{position:absolute;left:0;right:0;top:100%;width:auto;box-sizing:border-box;display:grid;grid-template-columns:minmax(180px,.8fr) repeat(2,minmax(0,1fr));align-items:start;gap:48px;padding:38px max(var(--gutter),calc((100% - var(--container))/2 + var(--gutter))) 44px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line-mid);border-radius:0;background:rgba(16,25,21,.88);background:color-mix(in srgb,var(--bg-0) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 24px #0002;max-height:calc(100dvh - var(--header-h));overflow-y:auto;z-index:3}
  :root[data-theme=light] .site-header .pill-nav .nav-dropdown>ul.nav-mega-panel{background:rgba(240,235,226,.88);background:color-mix(in srgb,var(--bg-0) 88%,transparent)}
  .pill-nav .nav-dropdown:not([open])>ul.nav-mega-panel{display:none}
  .nav-mega-heading>span{display:block;margin-bottom:12px;color:var(--text-soft);font-size:12px;line-height:1.5}
  .nav-mega-heading>strong{display:block;color:var(--text-strong);font-size:23px;line-height:1.2;letter-spacing:-.025em;font-weight:600}
  .pill-nav .nav-mega-panel>li>a{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:4px 0;border-radius:0;color:var(--text-strong);background:none;font-size:26px;line-height:1.2;letter-spacing:-.025em;font-weight:600;white-space:normal}
  .pill-nav .nav-mega-panel>li>a:after{content:none}
  .pill-nav .nav-mega-panel>li>a:hover{background:none;color:var(--accent)}
  .pill-nav .nav-mega-panel small{color:var(--text-soft);font-size:13px;line-height:1.6;letter-spacing:0;font-weight:400;max-width:30ch}
}
.reference-footer{background:var(--bg-0);color:var(--text-soft);padding:18px 0;font-size:11px}.reference-footer .reference-footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.reference-footer img{width:70px;height:auto;filter:var(--logo-filter)}.reference-footer nav{display:flex;gap:30px;flex-wrap:wrap}.reference-footer a{color:var(--text);text-decoration:none}.reference-footer .reference-footer-meta{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font-size:10px;line-height:1.6}.reference-footer-meta span{max-width:70%}.reference-footer-meta a{margin-left:15px}
@media(max-width:620px){.reference-footer .reference-footer-row{align-items:flex-start}.reference-footer nav{gap:12px;font-size:11px}.reference-footer .reference-footer-meta{display:block}.reference-footer-meta span{max-width:none;display:block}.reference-footer-meta a{margin:0 15px 0 0}}
/* Public pages inherit the homepage header sizes and responsive breakpoint. */
/* Native details remains the fallback; enhanced menus animate the same panel. */
@keyframes nav-dropdown-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.nav-dropdown:not(.nav-motion)[open]>ul,.mobile-nav-group[open]>a{animation:nav-dropdown-enter 180ms ease}
@media(prefers-reduced-motion:reduce){.nav-dropdown summary:after{transition:none}.nav-dropdown[open]>ul,.mobile-nav-group[open]>a{animation:none}}
