/* Shared top nav with Product / Solutions / Resources dropdowns. Used by every page, including the homepage. */
.topnav { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: color-mix(in srgb, var(--paper) 82%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent); }
.topnav .bar { max-width: 1180px; margin: 0 auto; height: 66px; display: flex; align-items: center; gap: 28px; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.topnav .logo { font: 400 19px/1 var(--logo); text-decoration: none; display: inline-flex; align-items: baseline; letter-spacing: -.02em; color: var(--fg); }
.topnav .logo .gt { color: var(--lime-text); }
.topnav .menu { display: flex; align-items: center; gap: 4px; }
.topnav .menu > a, .topnav .dd > button { font: 500 15px/1 var(--font); color: var(--fg); text-decoration: none; background: none; border: 0; padding: 9px 12px; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.topnav .menu > a:hover, .topnav .dd > button:hover, .topnav .dd.open > button { background: color-mix(in srgb, var(--fg) 7%, transparent); }
.topnav .menu > a[aria-current="page"] { background: color-mix(in srgb, var(--lime) 45%, transparent); }
.topnav .dd { position: relative; }
.topnav .dd > button svg { width: 12px; height: 12px; transition: transform .15s; }
.topnav .dd.open > button svg { transform: rotate(180deg); }
.topnav .panel { position: absolute; top: calc(100% + 8px); left: -8px; min-width: 520px; background: var(--card); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 24px 60px -24px rgba(0,0,0,.35); overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s, transform .15s, visibility .15s; }
.topnav .dd.open .panel { opacity: 1; visibility: visible; transform: none; }
.topnav .cols { display: grid; grid-template-columns: repeat(var(--cols, 2), 1fr); gap: 4px 18px; padding: 18px; }
.topnav .cols h5 { margin: 0 0 6px 10px; font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--soft); }
.topnav .cols a { display: block; padding: 9px 10px; border-radius: 10px; text-decoration: none; color: var(--fg); }
.topnav .cols a:hover { background: var(--paper-2); }
.topnav .cols a b { display: block; font-size: 14.5px; font-weight: 600; }
.topnav .cols a span { display: block; font-size: 13px; color: var(--muted); margin-top: 2px; }
.topnav .pfoot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 28px; background: var(--paper-2); border-top: 1px solid var(--line); font-size: 13.5px; text-decoration: none; color: var(--fg); }
.topnav .pfoot em { font-style: normal; color: var(--muted); }
.topnav .pfoot:hover b { text-decoration: underline; }
.topnav .right { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.topnav .login { text-decoration: none; font-size: 15px; font-weight: 500; white-space: nowrap; color: var(--fg); }
.topnav .go { display: inline-flex; align-items: center; border-radius: 999px; padding: 10px 18px; background: var(--fg); color: var(--paper); text-decoration: none; font-weight: 600; font-size: 15px; white-space: nowrap; }
.topnav .iconbtn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: var(--card); color: var(--fg); cursor: pointer; display: grid; place-items: center; padding: 0; }
.topnav .iconbtn svg { width: 17px; height: 17px; }
.topnav .burger { display: none; }
@media (max-width: 920px) {
  .topnav .burger { display: grid; }
  .topnav .login { display: none; }
  .topnav .menu { display: none; position: absolute; top: 66px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--paper); border-bottom: 1px solid var(--line); padding: 8px 16px 20px; max-height: calc(100vh - 66px); overflow-y: auto; }
  .topnav.open .menu { display: flex; }
  .topnav .menu > a, .topnav .dd > button { width: 100%; justify-content: space-between; padding: 14px 4px; border-radius: 0; font-size: 17px; border-bottom: 1px solid var(--line); }
  .topnav .menu > a:hover, .topnav .dd > button:hover, .topnav .dd.open > button { background: none; }
  .topnav .panel { position: static; min-width: 0; border: 0; border-radius: 0; box-shadow: none; display: none; opacity: 1; visibility: visible; transform: none; background: none; }
  .topnav .dd.open .panel { display: block; }
  .topnav .cols { grid-template-columns: 1fr; padding: 8px 0; }
  .topnav .pfoot { padding: 12px 10px; border-radius: 10px; border: 0; }
  .topnav .menu .mlogin { display: block; }
}
.topnav .menu .mlogin { display: none; }
@media (max-width: 420px) { .topnav .theme { display: none; } }
/* Blinking lime cursor after the logo (same as the homepage). */
.topnav .logo .cur, .foot .logo .cur { display: inline-block; width: .5em; height: .12em; background: var(--lime); margin-left: .05em; animation: ffblink 1.1s steps(1) infinite; }
@keyframes ffblink { 50% { opacity: 0; } }
