/* Floating LP navigation. Desktop keeps the main links visible; smaller widths
   use the reference pill header and an anchored menu panel. */
.site-header {
  position: fixed;
  top: calc(24px + env(safe-area-inset-top, 0px));
  left: 50%;
  width: min(1210px, calc(100% - 40px));
  transform: translateX(-50%);
  z-index: 100;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 6px 24px rgba(29,27,29,.08);
  transition: background .2s ease, box-shadow .2s ease;
}
.site-header.is-scrolled, .site-header.is-open {
  background: #fff;
  box-shadow: 0 8px 28px rgba(29,27,29,.14);
}
.site-header.is-open { border-radius: 32px 32px 0 0; }
.site-header .header-inner {
  max-width: none;
  min-height: 70px;
  padding: 8px 22px;
  gap: 20px;
}
.site-header .header-logo { display: block; width: 110px; flex: none; }
.site-header .header-logo img { width: 100%; height: auto; }
.header-nav { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 2vw, 30px); margin-left: auto; }
.header-nav a, .site-menu a { font-weight: 900; text-decoration: none; }
.header-nav a { font-size: 14px; white-space: nowrap; }
.header-nav a:hover, .header-nav a:focus-visible,
.site-menu a:hover, .site-menu a:focus-visible { color: var(--pink); text-decoration: underline; text-underline-offset: 5px; }
.site-header .header-cta { flex: none; }
.site-menu-toggle { display: none; flex: none; align-items: center; justify-content: center; flex-direction: column; gap: 5px; width: 38px; height: 40px; padding: 4px; border: 0; background: transparent; color: var(--pink); }
.site-menu-toggle span { display: block; width: 27px; height: 4px; border-radius: 99px; background: currentColor; transition: transform .18s ease, opacity .18s ease; }
.site-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(9px) rotate(45deg); }
.site-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-9px) rotate(-45deg); }
.site-menu-toggle:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; border-radius: 9px; }
.site-menu[hidden] { display: none !important; }
.site-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-height: calc(100dvh - 120px - env(safe-area-inset-top, 0px));
  overflow-y: auto;
  padding: 10px 26px 26px;
  border-radius: 0 0 32px 32px;
  background: #fff;
  box-shadow: 0 18px 28px rgba(29,27,29,.15);
}
.site-menu a { display: block; padding: 16px 12px; border-bottom: 1px solid #e7e7e7; font-size: 19px; }
.site-menu a:last-child { border-bottom: 0; }
.site-menu .site-menu-register { margin-top: 14px; border: 0; border-radius: 999px; background: var(--pink); color: #fff; text-align: center; }
.site-menu .site-menu-register:hover, .site-menu .site-menu-register:focus-visible { color: #fff; background: #d80871; }
.pricing-page main { padding-top: 110px; }
@media (max-width: 1090px) {
  .header-nav { display: none; }
  .site-menu-toggle { display: flex; }
  .site-header .header-cta { margin-left: auto; }
}
@media (max-width: 700px) {
  .site-header { top: calc(12px + env(safe-area-inset-top, 0px)); width: calc(100% - 16px); }
  .site-header .header-inner { min-height: 58px; padding: 5px 13px; gap: 8px; }
  .site-header .header-logo { width: 76px; }
  .site-header .header-cta { font-size: 13px; padding: 8px 12px; }
  .site-menu-toggle { width: 34px; height: 38px; gap: 4px; }
  .site-menu-toggle span { width: 25px; height: 3px; }
  .site-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .site-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .site-menu { padding: 5px 15px 19px; max-height: calc(100dvh - 88px - env(safe-area-inset-top, 0px)); }
  .site-menu a { font-size: 17px; padding: 13px 10px; }
  .pricing-page main { padding-top: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header, .site-menu-toggle span { transition: none; }
}
