.site-header{position:sticky;top:0;z-index:40;background:rgba(253,251,247,0.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--color-border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding-top:1.1rem;padding-bottom:1.1rem}.header-brand{flex:1 1 auto;min-width:0}.brand-link{display:inline-flex;align-items:center;gap:0.85rem}.brand-mark{width:2.25rem;height:2.25rem;border-radius:50%;background:radial-gradient(circle at 30% 20%,#fefce8,#c59b27);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif-display);font-size:1.05rem;color:#1c1917;box-shadow:var(--shadow-sm);border:1px solid rgba(197,155,39,0.55)}.brand-text{display:flex;flex-direction:column;gap:0.1rem}.brand-title{font-family:var(--font-serif-display);font-size:1.4rem;letter-spacing:0.08em;text-transform:uppercase}.brand-subtitle{font-size:0.75rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gray-500)}.primary-nav{flex:0 0 auto}.nav-list{display:flex;align-items:center;gap:1.75rem;font-size:0.95rem}.nav-item-cta .nav-link-cta{border-radius:9999px;border:1px solid rgba(197,155,39,0.5);padding:0.55rem 1.4rem;font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;background-color:var(--color-primary-soft);color:var(--color-text)}.nav-item-cta .nav-link-cta:hover{background-color:var(--color-primary);color:#fdfbf7;border-color:var(--color-primary)}.nav-link{position:relative;padding:0.2rem 0;font-weight:500;color:var(--gray-700);transition:color var(--transition-base)}.nav-link::after{content:"";position:absolute;left:0;bottom:-0.2rem;width:0;height:1px;background:linear-gradient(to right,var(--color-primary),var(--color-success));transition:width var(--transition-base)}.nav-link:hover{color:var(--color-primary)}.nav-link:hover::after{width:100%}.nav-toggle{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;border:1px solid var(--gray-200);background-color:rgba(248,246,240,0.85);box-shadow:var(--shadow-xs);padding:0.4rem;gap:0.2rem}.nav-toggle-bar{width:1.25rem;height:2px;border-radius:9999px;background-color:var(--gray-700);transition:transform var(--transition-base),opacity var(--transition-base),width var(--transition-base)}.nav-toggle.is-active .nav-toggle-bar:nth-child(1){transform:translateY(4px) rotate(45deg);width:1.15rem}.nav-toggle.is-active .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle.is-active .nav-toggle-bar:nth-child(3){transform:translateY(-4px) rotate(-45deg);width:1.15rem}@media (max-width:960px){.primary-nav{position:fixed;inset:0 0 auto auto;top:4.4rem;right:0;width:100%;max-width:20rem;background:rgba(253,251,247,0.98);border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);transform:translateX(100%);opacity:0;visibility:hidden;transition:transform var(--transition-base),opacity var(--transition-base),visibility var(--transition-base)}.primary-nav.is-open{transform:translateX(0);opacity:1;visibility:visible}.nav-list{flex-direction:column;align-items:flex-start;padding:1.5rem 1.75rem;gap:1rem}.nav-item-cta{width:100%}.nav-item-cta .nav-link-cta{width:100%;justify-content:center}.nav-toggle{display:flex}.header-inner{padding-top:0.85rem;padding-bottom:0.85rem}}@media (max-width:640px){.brand-subtitle{display:none}.brand-title{font-size:1.2rem}.brand-mark{width:2rem;height:2rem;font-size:0.95rem}}

/* checklist: hamburger X */
.nav-toggle {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2) {
  opacity: 0;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.nav-toggle-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background-color: var(--gray-700);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

@media (max-width: 960px) {
  .primary-nav {
    background: #fdfbf7;
    max-height: calc(100vh - 4.4rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .nav-item {
    width: 100%;
  }
  .nav-list .nav-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    width: 100%;
  }
}

@media (max-width: 420px) {
  .primary-nav {
    max-width: 100%;
  }
}
