/* The one public-site header, shared by every unauthenticated public page.
   Markup owner: LandingPageService.public_header_html(). Load after
   public_brand.css so the brand tokens are already defined. */
.nav{height:70px;position:sticky;top:0;z-index:50;background:rgba(3,7,17,.88);border-bottom:1px solid rgba(130,100,255,.18);backdrop-filter:blur(12px)}
.nav-inner{max-width:1280px;height:100%;margin:auto;padding:0 28px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 19px Georgia,serif;white-space:nowrap;color:inherit}
.brand img{width:42px;height:42px;object-fit:contain}
.nav-links{display:flex;justify-content:center;gap:24px;margin:auto}
.nav-links a,.login{text-decoration:none;color:var(--brand-promo-muted);font-size:14px}
.nav-links a:hover,.login:hover{color:var(--brand-text-primary)}
.nav-links a[aria-current="page"],.nav-drop-menu a[aria-current="page"]{color:var(--brand-text-primary)}
/* Consolidated public header: Features | Pricing | Deals | Resources. */
.nav-drop{position:relative}
.nav-drop>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;color:var(--brand-promo-muted);font-size:14px}
.nav-drop>summary::-webkit-details-marker{display:none}
.nav-drop>summary::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .15s ease}
.nav-drop>summary:hover,.nav-drop[open]>summary{color:var(--brand-text-primary)}
.nav-drop[open]>summary::after{transform:rotate(180deg)}
/* Opened menus paint solid: a translucent panel lets the page heading show
   through the menu in Chromium's compositor, which makes the menu unreadable. */
.nav-drop-menu{position:absolute;left:50%;transform:translateX(-50%);top:calc(100% + 14px);min-width:264px;display:flex;flex-direction:column;gap:2px;padding:8px;background:#030711;border:1px solid rgba(130,100,255,.4);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.55);z-index:80}
.nav-drop-menu a{padding:11px 13px;border-radius:8px;font-size:14px;text-decoration:none;color:var(--brand-promo-text);white-space:nowrap}
.nav-drop-menu a:hover,.nav-drop-menu a:focus-visible{background:rgba(103,81,255,.2);color:var(--brand-text-primary)}
.nav-burger{display:none}
.nav-actions{display:flex;align-items:center;gap:16px}
.button{min-height:48px;padding:0 28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;font-weight:700;border:1px solid rgba(150,140,200,.65);background:rgba(5,9,20,.6)}
.button.primary{border:0;background:linear-gradient(100deg,var(--brand-promo-1),var(--brand-promo-3),var(--brand-promo-5));box-shadow:0 8px 30px rgba(120,70,255,.25)}
a:focus-visible{outline:3px solid var(--brand-promo-6);outline-offset:3px}
/* Tablet keeps the primary links; Resources lives in the footer and, below the
   phone breakpoint, inside the opened menu. */
@media(max-width:1100px){.nav-links{gap:14px}}
@media(min-width:768px) and (max-width:1100px){.nav-links .nav-drop{display:none}}
@media(max-width:767px){
  .nav{height:auto;min-height:64px}
  .nav-inner{padding:9px 16px;gap:12px}
  .brand span,.nav-links{display:none}
  .nav-actions{margin-left:auto}
  .login{font-size:13px}
  .nav-actions .button{min-height:42px;padding:0 14px}
  /* A real menu button replaces the hidden desktop link row. It only renders
     when JS can operate it (public_nav.js unhides it), so no-JS mobile keeps
     the footer navigation instead of a dead control. */
  .nav-burger:not([hidden]){display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;border:1px solid rgba(150,140,200,.5);border-radius:8px;background:rgba(5,9,20,.6);color:var(--brand-promo-text);cursor:pointer}
  .nav-burger svg{width:22px;height:22px}
  /* The open menu is a full-height sheet, not a short panel: a panel that ends
     mid-page leaves the first page line half-covered by its bottom edge, which
     reads as a broken overlay. Solid paint, and nothing beneath is visible. */
  .nav-links[data-open="true"]{display:flex;position:absolute;left:0;right:0;top:100%;bottom:auto;height:calc(100vh - 64px);height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;margin:0;padding:10px 16px 24px;background:#030711;border-bottom:1px solid rgba(130,100,255,.3);box-shadow:0 20px 40px rgba(0,0,0,.5);z-index:75}
  .nav-links[data-open="true"]>a,.nav-links[data-open="true"] .nav-drop>summary{padding:12px 6px;font-size:15px;min-height:44px;display:flex;align-items:center;color:var(--brand-promo-text)}
  .nav-links[data-open="true"] .nav-drop-menu{position:static;transform:none;min-width:0;background:transparent;border:0;box-shadow:none;padding:2px 0 4px 14px;margin:0 0 0 12px;border-left:1px solid rgba(130,100,255,.4)}
}
@media(prefers-reduced-motion:reduce){.nav-drop>summary::after{transition:none}}
