/* Gemeinsame Navigation aller vier Seiten; ausschließlich Header-Regeln. */
.site-header {
  --header-bg:#f4f7fa;--header-ink:#0b2f52;--header-line:#dce6ee;
  box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;
  top:0;width:100%;max-width:none;margin:0;min-height:88px;
  padding:12px clamp(22px,5vw,84px);gap:28px;
  border:0;border-bottom:1px solid var(--header-line);border-radius:0;
  background:var(--header-bg);box-shadow:none;backdrop-filter:none;
  font-family:var(--font-body);
}
html[data-theme="dark"] .site-header { --header-bg:#0b1826;--header-ink:#eaf2fb;--header-line:#294159; }
.site-header .brand { flex:none; }
.site-header .brand-logo { width:172px;height:64px;object-fit:contain; }
.site-header .site-nav {
  display:flex;align-items:center;flex-wrap:nowrap;gap:28px!important;
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.site-header .site-nav a:not(.nav-cta) {
  position:relative;padding:12px 0;color:var(--gray);font-size:.88rem;
  font-weight:600;line-height:1.5;letter-spacing:-.01em;
  border-radius:0;background:none!important;box-shadow:none;
}
.site-header .site-nav a:not(.nav-cta)::after {
  content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;
  border-radius:999px;background:var(--blue);transform:scaleX(0);
  transform-origin:left;transition:transform .2s;
}
.site-header .site-nav a.active:not(.nav-cta) { color:var(--header-ink); }
.site-header .site-nav a.active:not(.nav-cta)::after,
.site-header .site-nav a:not(.nav-cta):hover::after { transform:scaleX(1); }
.site-header .site-nav a.nav-cta,
html[data-theme="dark"] .site-header .site-nav a.nav-cta {
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:12px 22px;font-size:.85rem;font-weight:650;line-height:1.5;
  border:0;border-radius:999px;background:var(--header-ink);color:var(--header-bg)!important;
  box-shadow:none;white-space:nowrap;
}
.site-header .header-actions { display:flex;align-items:center;gap:12px;flex:none; }
.site-header .header-phone { display:none; }
.site-header .theme-toggle {
  display:grid;place-items:center;flex:none;width:44px;height:44px;padding:12px;
  border:1px solid var(--header-line);border-radius:50%;background:transparent;
  color:var(--header-ink);box-shadow:none;
}
.site-header .theme-toggle svg { width:18px;height:18px; }
.site-header svg[fill="none"] { stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.site-header .nav-toggle { border-color:var(--header-line);background:transparent;box-shadow:none; }
.site-header .nav-toggle span { background:var(--header-ink); }
.site-header a:focus-visible,.site-header button:focus-visible { outline:3px solid var(--blue-light);outline-offset:4px; }
@media(min-width:861px) {
  .site-header .site-nav { position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto; }
  .site-header .nav-toggle { display:none; }
}
@media(min-width:861px) and (max-width:1100px) {
  .site-header { padding-inline:24px;gap:18px; }
  .site-header .brand-logo { width:138px; }
  .site-header .site-nav { gap:16px!important; }
  .site-header .site-nav a:not(.nav-cta) { font-size:.76rem; }
  .site-header .site-nav a.nav-cta { font-size:.76rem;padding:11px 15px; }
}
@media(max-width:860px) {
  .site-header { padding:8px 22px;min-height:75px;gap:12px; }
  .site-header .brand-logo { width:136px;height:55px; }
  .site-header .site-nav {
    position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;
    align-items:stretch;gap:8px!important;padding:20px;
    max-height:calc(100dvh - 75px);overflow-y:auto;
    border-bottom:1px solid var(--header-line);background:var(--header-bg);
    transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;
  }
  .site-header .site-nav.open { transform:none;opacity:1;visibility:visible;pointer-events:auto; }
  .site-header .site-nav a:not(.nav-cta) { padding:12px 8px;font-size:.95rem; }
  .site-header .site-nav a:not(.nav-cta)::after { left:8px;right:auto;width:24px;bottom:5px; }
  .site-header .site-nav a.nav-cta { font-size:.9rem;margin-top:8px; }
  .site-header .nav-toggle { display:flex; }
}
@media(prefers-reduced-motion:reduce) { .site-header .site-nav,.site-header .site-nav a::after { transition:none; } }
