/* Shared header. Load after site.css. No image or external dependency. */
.ap-site-header { background: var(--ap-paper); border-bottom: 1px solid var(--ap-line); }
.ap-header-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; padding-block: 24px; }
.ap-brand { color: var(--ap-ink); text-decoration: none; max-width: 100%; }
.ap-brand__name { display: block; font-size: 1.75rem; letter-spacing: -.06em; font-weight: 800; line-height: 1.1; }
.ap-brand__role { display: block; max-width: 34ch; margin-top: 6px; font-size: .8125rem; line-height: 1.45; }
.ap-header-language { font-size: .8125rem; min-width: 0; }
.ap-header-language ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.ap-header-language a { display: flex; flex-direction: column; justify-content: center; min-height: 48px; padding: 8px 12px; border: 1px solid var(--ap-control); border-radius: 8px; background: var(--ap-surface); }
.ap-header-language [aria-current] { background: var(--ap-forest); color: var(--ap-surface); font-weight: 700; text-decoration: none; }
.ap-language-fallback { display: block; font-size: .75rem; line-height: 1.4; max-width: 22ch; }
.ap-nav-toggle { display: none; }
.ap-primary-nav { padding-bottom: 16px; }
.ap-nav-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; align-items: start; gap: 4px 12px; }
.ap-nav-list > li { min-width: 0; }
.ap-nav-list > li > a, .ap-nav-group > summary {
  display: block; padding: 12px 14px; color: var(--ap-ink);
  font-size: .9375rem; line-height: 1.5; min-height: 48px; border-radius: 8px;
}
.ap-nav-list > li > a { text-decoration: none; }
.ap-nav-list a:hover, .ap-nav-group > summary:hover { background: var(--ap-mint); text-decoration: underline; }
.ap-nav-list a[aria-current="page"] { background: var(--ap-mint); color: var(--ap-link); font-weight: 700; text-decoration: underline; }
.ap-nav-group { position: relative; }
.ap-nav-group > summary { cursor: pointer; display: list-item; list-style-position: inside; }
.ap-nav-group > summary::marker { color: var(--ap-link); }
.ap-nav-group[data-current-group] > summary { font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.ap-nav-group[open] > summary { background: var(--ap-mint); }
.ap-nav-group > ul {
  position: absolute; inset-block-start: calc(100% + 4px); inset-inline-start: 0; z-index: 30;
  width: 260px; max-width: calc(100vw - 40px); margin: 0; padding: 8px;
  list-style: none; background: var(--ap-surface); border: 1px solid var(--ap-control);
  border-radius: 12px; box-shadow: 0 8px 24px #123c2d12;
}
.ap-nav-group > ul a { display: block; padding: 10px 12px; min-height: 48px; border-radius: 6px; font-size: .9375rem; }
.ap-nav-list > li:last-child .ap-nav-group > ul { inset-inline-start: auto; inset-inline-end: 0; }
@media (max-width: 980px) {
  .ap-header-row { align-items: start; gap: 16px; padding-block: 20px; }
  .ap-brand { flex: 1 1 170px; }
  .ap-header-language { width: 100%; order: 3; }
  .ap-header-language ul { gap: 8px; }
  .ap-header-language a { padding: 9px 10px; }
  .ap-site-header[data-nav-enhanced] .ap-nav-toggle { display: inline-flex; }
  .ap-site-header[data-nav-enhanced] .ap-primary-nav { display: none; }
  .ap-site-header[data-nav-enhanced][data-nav-open] .ap-primary-nav { display: block; }
  .ap-nav-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .ap-nav-group > ul { position: static; width: 100%; max-width: none; margin-top: 4px; box-shadow: none; }
  .ap-nav-list > li > a, .ap-nav-group > summary { padding: 12px; }
  .ap-nav-toggle { flex: 0 0 auto; max-width: 100%; }
}
@media (forced-colors: active) {
  .ap-nav-list a[aria-current], .ap-header-language [aria-current] { border: 2px solid CanvasText; }
}
@media print {
  .ap-nav-toggle, .ap-header-language, .ap-primary-nav { display: none !important; }
  .ap-site-header { border-bottom: 1px solid black; }
  .ap-header-row { padding-block: 12pt; }
}
