.site-header{position:sticky;top:0;z-index:40;background:linear-gradient(to bottom,rgba(253,251,247,0.98),rgba(248,246,240,0.96));backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border-subtle)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:0.9rem;padding-bottom:0.9rem;gap:1.5rem}.header-brand{display:flex;align-items:center}.brand-link{display:inline-flex;align-items:center;gap:0.7rem}.brand-mark{width:2.35rem;height:2.35rem;border-radius:1.25rem;background:radial-gradient(circle at 30% 20%,#fed7aa,#ea580c);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif-display);font-size:1.1rem;color:#ffffff;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,0.65)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-title{font-family:var(--font-serif-display);font-size:1.35rem;color:var(--color-text)}.brand-tagline{font-family:var(--font-sans-alt);font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-text-muted)}.primary-nav{display:flex;align-items:center;gap:1.25rem}.nav-menu{display:flex;align-items:center}.nav-list{display:flex;align-items:center;gap:1.4rem;list-style:none}.nav-item{position:relative}.nav-link{font-family:var(--font-sans-alt);font-size:0.85rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-neutral-700);padding:0.35rem 0;border-radius:999px}.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--color-primary),var(--color-success));transform:scaleX(0);transform-origin:center;transition:transform var(--transition-base)}.nav-link:focus-visible,.nav-link:hover{color:var(--color-primary)}.nav-link:hover::after,.nav-link:focus-visible::after{transform:scaleX(1)}.nav-cta-wrap{margin-left:0.6rem}.btn-small{padding:0.55rem 1.2rem;font-size:0.78rem;letter-spacing:0.14em}.nav-toggle{display:none;align-items:center;justify-content:center;gap:0.25rem;padding:0.4rem 0.7rem;border-radius:999px;border:1px solid var(--color-border-subtle);background-color:rgba(255,255,255,0.95)}.nav-toggle-line{width:16px;height:1.6px;border-radius:4px;background-color:var(--color-text)}.nav-toggle:focus-visible{box-shadow:var(--shadow-focus)}.nav-menu.is-open{display:flex}.nav-menu-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.35);backdrop-filter:blur(4px);z-index:35}@media (max-width:900px){.nav-list{gap:1.1rem}.brand-title{font-size:1.2rem}.brand-mark{width:2.1rem;height:2.1rem}}@media (max-width:768px){.header-inner{padding-top:0.7rem;padding-bottom:0.7rem}.nav-toggle{display:inline-flex}.nav-menu{position:fixed;inset:auto 0 0 0;top:3.5rem;max-height:0;overflow:hidden;background:linear-gradient(to bottom,#fdfbf7,#f8f6f0);border-top:1px solid var(--color-border-subtle);box-shadow:0 18px 40px rgba(15,23,42,0.22);transition:max-height var(--transition-slow);flex-direction:column;padding-inline:1.25rem;z-index:38}.nav-menu.is-open{max-height:420px}.nav-list{flex-direction:column;align-items:flex-start;padding:1rem 0 1.15rem}.nav-link{padding:0.45rem 0}.nav-cta-wrap{margin-left:0}.nav-cta{width:100%;justify-content:center}}@media (max-width:520px){.brand-tagline{display:none}.brand-title{font-size:1.1rem}.brand-mark{width:2rem;height:2rem}}

/* --- visual fix pass 2026-08-06 --- */
@media (max-width: 768px) {
  header.site-header .nav-menu:not(.is-open) {
    visibility: hidden;
    pointer-events: none;
    max-height: 0;
    overflow: hidden;
  }
  header.site-header .primary-nav .nav-menu.is-open {
    display: flex;
    flex-direction: column;
    visibility: visible;
    pointer-events: auto;
    max-height: min(70vh, 480px);
    min-height: 220px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fdfbf7;
    background-color: #fdfbf7;
    background-image: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    opacity: 1;
  }
  header.site-header .nav-list {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0;
  }
  header.site-header .nav-link {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
  .nav-toggle {
    min-width: 44px;
    min-height: 44px;
  }
  .brand-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}
.nav-cta {
  color: #1c1917;
  background: #c2410c;
}

/* contrast fix */
.btn,
.btn-small,
.nav-cta,
.cookie-accept {
  background-color: #9a3412;
  color: #fff7ed;
  border-color: #9a3412;
}


/* --- mobile menu no-scroll fix 2026-08-06 --- */
@media (max-width: 768px) {
  header.site-header .primary-nav .nav-menu.is-open,
  .nav-menu.is-open {
    max-height: none;
    height: auto;
    overflow: visible;
    overflow-y: visible;
    padding-bottom: 1.35rem;
  }
  header.site-header .nav-list {
    gap: 0.15rem;
    padding: 0.75rem 0 0.25rem;
  }
  header.site-header .nav-link {
    min-height: 44px;
    padding-block: 0.55rem;
  }
  .nav-cta-wrap {
    width: 100%;
    margin-top: 0.35rem;
    padding-bottom: 0.25rem;
  }
  .nav-cta {
    width: 100%;
    justify-content: center;
    min-height: 44px;
  }
}
