/* Shared header: logical DOM order matches mobile left-to-right keyboard order. */
.site-header[data-header-layout="centered"] > .site-header__inner {
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  gap: 6px; padding: 0 12px; min-height: 64px; box-sizing: border-box;
}
[data-header-layout="centered"] .mobile-menu { grid-column: 1; grid-row: 1; justify-self: start; }
[data-header-layout="centered"] .site-header__brand { grid-column: 2; grid-row: 1; justify-self: center; padding: 0; min-height: 44px; gap: 6px; }
[data-header-layout="centered"] .brand__mark { width: 32px; height: 32px; flex: 0 0 32px; }
[data-header-layout="centered"] .brand__mark img { width: 100%; height: 100%; object-fit: contain; }
[data-header-layout="centered"] .brand__name { font-size: 18px; white-space: nowrap; }
[data-header-layout="centered"] .desktop-nav { display: none; }
[data-header-layout="centered"] .mobile-menu__summary { width: 44px; height: 44px; border: 0; box-shadow: none; background: transparent; }
[data-header-layout="centered"] .mobile-menu__panel {
  inset-inline-start: 0; inset-inline-end: auto; inset-block-start: calc(100% + 10px);
  width: min(320px,calc(100vw - 24px)); max-height: calc(100dvh - 84px);
  overflow-y: auto; overscroll-behavior: contain;
  animation: header-menu-enter 160ms ease-out;
}
.header-primary-cta {
  grid-column: 3; grid-row: 1; justify-self: end; display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 8px 10px; border: 1px solid var(--color-accent-strong);
  border-radius: 12px; background: var(--color-accent-strong); color: #fff;
  font-size: 12px; font-weight: 800; white-space: nowrap; line-height: 1.4; text-decoration: none;
}
.header-primary-cta:hover { background: var(--color-accent); color: #fff; }
.header-primary-cta:focus-visible, [data-header-layout="centered"] a:focus-visible, [data-header-layout="centered"] summary:focus-visible {
  outline: 3px solid var(--color-primary); outline-offset: 3px;
}
.header-cta-long { display: none; }
@keyframes header-menu-enter { from { opacity: 0; transform: translateX(-12px); } to { opacity: 1; transform: translateX(0); } }
@media (max-width: 359px) {
  .site-header[data-header-layout="centered"] > .site-header__inner { gap: 4px; padding-inline: 8px; }
  [data-header-layout="centered"] .brand__mark { width: 27px; height: 27px; flex-basis: 27px; }
  [data-header-layout="centered"] .brand__name { font-size: 16px; }
  [data-header-layout="centered"] .site-header__brand { gap: 4px; }
  .header-primary-cta { font-size: 11px; padding-inline: 7px; }
}
@media (min-width: 1024px) {
  .site-header[data-header-layout="centered"] > .site-header__inner { grid-template-columns: minmax(210px,1fr) auto minmax(210px,1fr); min-height: 72px; padding-inline: 24px; }
  [data-header-layout="centered"] .mobile-menu { display: none; }
  [data-header-layout="centered"] .site-header__brand { grid-column: 1; justify-self: start; gap: 10px; }
  [data-header-layout="centered"] .brand__mark { width: 40px; height: 40px; flex-basis: 40px; }
  [data-header-layout="centered"] .brand__name { font-size: 20px; }
  [data-header-layout="centered"] .desktop-nav { display: flex; grid-column: 2; grid-row: 1; gap: clamp(16px,2vw,28px); padding: 0; margin: 0; font-size: 14px; white-space: nowrap; }
  .header-primary-cta { font-size: 14px; padding-inline: 16px; }
  .header-cta-short { display: none; }
  .header-cta-long { display: inline; }
}
@media (prefers-reduced-motion: reduce) { [data-header-layout="centered"] .mobile-menu__panel { animation: none; } }
