.site-header { position: fixed; z-index: 20; inset: 0 0 auto; padding: 12px 0; background: rgba(247,247,244,.9); backdrop-filter: blur(14px); border-bottom: 1px solid transparent; transition: box-shadow .25s ease, border-color .25s ease, background .25s ease; }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 6px 22px rgba(25,46,59,.06); background: rgba(247,247,244,.96); }
.header__inner { display: flex; min-height: 54px; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; font: 800 21px/1 var(--font-display); letter-spacing: -.08em; }
.brand__mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: 13px; letter-spacing: -.1em; transition: background .2s ease, transform .25s ease; }
.brand:hover .brand__mark { background: var(--coral); transform: rotate(-8deg); }
.brand__name { display: flex; gap: 4px; }
.brand__name span:last-child { font-weight: 500; }
.nav { display: flex; align-items: center; gap: clamp(22px, 3vw, 42px); }
.nav__link { position: relative; padding: 10px 0; color: #536168; font-size: 15px; font-weight: 600; transition: color .2s ease; }
.nav__link:hover, .nav__link[aria-current="page"] { color: var(--ink); }
.nav__link::after { position: absolute; right: 0; bottom: 1px; left: 0; height: 2px; background: var(--coral); content: ''; transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.nav__link:hover::after, .nav__link[aria-current="page"]::after { transform: scaleX(1); }
.header__action { padding: 12px 18px; border: 1px solid var(--coral); border-radius: 30px; background: var(--coral); color: var(--white); font-size: 14px; font-weight: 700; transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; box-shadow: 0 5px 14px rgba(79,111,220,.2); }
.header__action:hover { transform: translateY(-2px); background: var(--ink); border-color: var(--ink); box-shadow: 0 8px 20px rgba(25,46,59,.16); }
.nav-backdrop { display: none; }
.nav__cta { display: none; }
.nav-close { display: none; }
.menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; }
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { position: relative; display: block; width: 16px; height: 1.5px; background: currentColor; transition: transform .2s ease; }
.menu-toggle span::before, .menu-toggle span::after { position: absolute; left: 0; content: ''; }
.menu-toggle span::before { top: -5px; }
.menu-toggle span::after { top: 5px; }
.menu-toggle[aria-expanded="true"] span { background: transparent; }
.menu-toggle[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }
body.menu-open { overflow: hidden; }
@media (max-width: 760px) {
  .site-header { padding: 8px 0; }
  .menu-toggle { display: inline-flex; }
  .nav-backdrop { position: fixed; z-index: 19; inset: 0; display: block; width: 100%; height: 100dvh; padding: 0; border: 0; background: rgba(12,25,35,.42); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .26s ease, visibility .26s ease; }
  .nav-backdrop.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
  .nav { position: fixed; z-index: 21; inset: 0 0 0 auto; display: flex; width: min(88vw, 390px); height: 100dvh; align-items: stretch; flex-direction: column; gap: 0; padding: 110px 30px 30px; border-left: 1px solid var(--line); background: var(--paper); box-shadow: -16px 0 48px rgba(12,25,35,.12); transform: translateX(102%); visibility: hidden; transition: transform .32s cubic-bezier(.22,.75,.2,1), visibility .32s ease; }
  .nav.is-open { transform: translateX(0); visibility: visible; }
  .nav-close { position: absolute; top: 20px; right: 24px; display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); font-size: 27px; line-height: 1; cursor: pointer; }
  .nav__link { padding: 18px 2px; border-bottom: 1px solid var(--line); font-size: 20px; }
  .nav__link::after, .nav__link[aria-current="page"]::after { display: none; }
  .nav__link[aria-current="page"] { color: var(--coral); }
  .nav__cta { display: flex; min-height: 52px; align-items: center; justify-content: space-between; margin-top: auto; padding: 0 18px; border-radius: 99px; background: var(--coral); color: white; font-size: 15px; font-weight: 700; }
  .header__action { display: none; }
}
@media (prefers-reduced-motion: reduce) { .nav, .nav-backdrop { transition: none; } }
