.site-header{position:sticky;top:0;z-index:40}.site-header-inner{display:flex;align-items:center;justify-content:space-between}.header-right{display:flex;align-items:center;gap:1rem}.header-age-wrapper{display:flex;align-items:center;gap:0.4rem;padding:0.2rem 0.65rem;border-radius:999px;border:1px solid rgba(248,113,113,0.65);background:rgba(24,24,27,0.9);box-shadow:0 14px 40px rgba(127,29,29,0.7)}.badge-age-label{display:flex;flex-direction:column}.badge-age-title{font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#fee2e2}.badge-age-caption{font-size:0.62rem;color:#fecaca;max-width:17rem}.main-nav{display:flex;align-items:center;gap:1.25rem;font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase}.nav-link{position:relative;padding:0.35rem 0.1rem;color:var(--color-text-secondary);text-decoration:none}.nav-link::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:linear-gradient(90deg,#f97373,#fb7185);transition:width var(--transition-base)}.nav-link:hover{color:var(--color-text-primary)}.nav-link:hover::after{width:100%}.nav-link-active{color:var(--color-text-primary)}.nav-link-active::after{width:56%}.nav-toggle{display:none;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:999px;border:1px solid rgba(51,65,85,0.95);background:rgba(15,23,42,0.98);padding:0.25rem;gap:0.2rem;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.nav-toggle span{display:block;width:100%;height:1.5px;border-radius:999px;background:#e5e7eb;transition:transform var(--transition-fast),opacity var(--transition-fast)}.nav-toggle:focus-visible{box-shadow:var(--shadow-focus)}.nav-toggle[aria-expanded="true"]{background:rgba(127,29,29,0.95);border-color:rgba(248,113,113,0.9);transform:translateY(1px)}.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:none;background:linear-gradient(to bottom,rgba(15,23,42,0.98),rgba(2,6,23,0.98));border-bottom:1px solid rgba(30,41,59,0.95)}.mobile-nav-inner{display:flex;flex-direction:column;gap:0.25rem;padding:0.5rem 1rem 1rem}.mobile-nav-link{display:block;padding:0.65rem 0;border-bottom:1px solid rgba(31,41,55,0.7);font-size:0.8rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-text-secondary);text-decoration:none}.mobile-nav-link:last-child{border-bottom:none}.mobile-nav-link:focus-visible{box-shadow:var(--shadow-focus)}.mobile-nav-open .mobile-nav{display:block}.mobile-nav-open body{overflow:hidden}@media (max-width:960px){.main-nav{display:none}.nav-toggle{display:inline-flex;flex-shrink:0}.header-age-wrapper{display:none}.header-right{gap:0.5rem;flex-shrink:0}.brand-mark{min-width:0;flex:1 1 auto}.brand-text{min-width:0;overflow:hidden}.brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:640px){.site-header-inner{height:64px;gap:0.5rem}.brand-tagline{display:none}.nav-toggle{width:44px;height:44px}}

/* §10 hamburger X — 3 bars */
.nav-toggle {
  flex-direction: column;
  gap: 5px;
  width: 44px;
  height: 44px;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Keep header within viewport; logo left, hamburger right on mobile */
.site-header{max-width:100%;overflow-x:clip}
.site-header-inner{min-width:0;width:100%;max-width:100%;gap:0.75rem}
.header-right{min-width:0}
.nav-toggle{flex-shrink:0}

/* Tighter age badge + tagline (desktop header) */
.header-age-wrapper{
  gap:0.3rem;
  padding:0.12rem 0.45rem 0.12rem 0.28rem;
  max-width:min(100%,13.5rem);
}
.header-age-wrapper .badge-age{
  width:32px;
  height:32px;
  font-size:0.68rem;
  flex-shrink:0;
}
.badge-age-label{
  margin-left:0;
  min-width:0;
}
.badge-age-title{
  font-size:0.62rem;
  letter-spacing:0.1em;
  line-height:1.15;
}
.badge-age-caption{
  font-size:0.55rem;
  line-height:1.25;
  max-width:9.5rem;
}
