.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--header-height);
  display: flex;
  align-items: center;
  background: transparent;
  transition: background-color var(--transition-base), box-shadow var(--transition-base), height var(--transition-base);
  border-bottom: 1px solid transparent;
}

/* Solid state — added by JS once user scrolls past the hero threshold */
.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(8px);
  box-shadow: var(--shadow-header);
  border-bottom-color: var(--color-border);
}

/* Pages/templates with no hero (archives, single posts) start solid immediately */
.site-header.is-solid-default { background: var(--color-bg-white); box-shadow: var(--shadow-header); }

.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.site-logo { display: flex; align-items: center; min-height: 40px; }
.site-logo img { max-height: 40px; width: auto; transition: opacity var(--transition-fast); }
.site-logo .logo-transparent { display: block; }
.site-logo .logo-solid { display: none; }
.site-header.is-scrolled .site-logo .logo-transparent { display: none; }
.site-header.is-scrolled .site-logo .logo-solid { display: block; }
.site-logo .logo-text-fallback { font-size: 22px; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; transition: color var(--transition-base); }
.site-header.is-scrolled .site-logo .logo-text-fallback,
.site-header.is-solid-default .site-logo .logo-text-fallback { color: var(--color-primary); }
.site-logo .logo-text-fallback span { color: var(--color-accent); }

.main-nav ul { display: flex; gap: 36px; align-items: center; }
.main-nav a {
  font-size: var(--fs-small);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fff;
  transition: color var(--transition-base), opacity var(--transition-fast);
}
.main-nav a:hover { opacity: 0.75; }
.site-header.is-scrolled .main-nav a,
.site-header.is-solid-default .main-nav a { color: var(--color-primary); }

.header-actions { display: flex; gap: 12px; align-items: center; }
.header-actions .btn-outline-light,
.header-actions .btn-outline-dark { padding: 10px 22px; }
.site-header.is-scrolled .header-actions .btn-transparent-swap,
.site-header.is-solid-default .header-actions .btn-transparent-swap {
  border-color: var(--color-primary); color: var(--color-primary);
}
.header-actions .btn-transparent-swap { border-color: rgba(255,255,255,0.6); color: #fff; background: transparent; }

.menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  width: 32px; height: 24px;
  position: relative;
  padding: 0;
}
.menu-toggle span {
  position: absolute; left: 0; right: 0; height: 2px;
  background: #fff; transition: all var(--transition-base);
}
.site-header.is-scrolled .menu-toggle span,
.site-header.is-solid-default .menu-toggle span { background: var(--color-primary); }
.menu-toggle span:nth-child(1) { top: 0; }
.menu-toggle span:nth-child(2) { top: 11px; }
.menu-toggle span:nth-child(3) { top: 22px; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(11px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-11px) rotate(-45deg); }

@media (max-width: 900px) {
  .main-nav {
    position: fixed;
    top: var(--header-height-mobile);
    left: 0; right: 0; bottom: 0;
    background: var(--color-bg-white);
    padding: var(--space-md) var(--container-padding);
    transform: translateX(100%);
    transition: transform var(--transition-base);
    overflow-y: auto;
  }
  .main-nav.is-open { transform: translateX(0); }
  .main-nav ul { flex-direction: column; gap: 24px; align-items: flex-start; }
  .main-nav a { color: var(--color-primary) !important; font-size: 18px; }
  .header-actions .btn-transparent-swap.btn-outline-dark-mobile-hide { display: none; }
  .menu-toggle { display: block; }
  .site-header { height: var(--header-height-mobile); }
  .header-actions .header-actions-desktop { display: none; }
}
@media (min-width: 901px) {
  .mobile-only-action { display: none; }
}

body.menu-open { overflow: hidden; }
