/* v2 global header: generated from v2-home.html by v2-assets/apply-nav.mjs. Do not edit; rerun. */
/* ---------- §1 announcement bar ---------- */
.v2-announce {
  /* Gong-style: announce content left-aligned to the nav band's logo line
     (band is centered at 1240px, logo 48px inside it) at every viewport width.
     Sticky with the navband so both ride along during scroll. */
  position: sticky; top: 0; z-index: 60;
  height: 44px; display: flex; align-items: center; justify-content: flex-start; gap: 14px;
  padding: 0 32px 0 max(20px, calc(50% - 572px));
  background:
    radial-gradient(60% 100% at 50% 0%, rgba(107,92,255,0.35), transparent 70%),
    linear-gradient(135deg, #09031D 0%, #120A2E 60%, #09031D 100%);
}
.v2-announce .chip {
  height: 22px; display: inline-flex; align-items: center; padding: 0 12px;
  border: 1px solid rgba(46,211,198,0.7); border-radius: 999px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: 0.14em; color: #2ED3C6;
}
.v2-announce .txt { font-size: 13.5px; font-weight: 600; color: #FFFFFF; }
.v2-announce .go { font-size: 13.5px; font-weight: 700; color: #2ED3C6; white-space: nowrap; }
.v2-announce .go u { text-underline-offset: 3px; }
.v2-announce .go { position: relative; z-index: 2; will-change: transform; }
.v2-announce .go .dn { display: inline-block; animation: v2bob 1.4s ease-in-out infinite; }
@keyframes v2bob { 50% { transform: translateY(3px); } }
@media (prefers-reduced-motion: reduce) { .v2-announce .go .dn { animation: none; } }

/* ---------- §2 pill nav ---------- */
/* transparent shell: the hero wash paints up behind the pill so the capsule
   shape stays readable (hero pulls itself under via negative margin).
   Sticky right below the announce bar during scroll. */
.v2-navband { position: sticky; top: 44px; height: 66px; background: transparent; z-index: 50; }
.v2-pill {
  /* Gong-style arrangement: links cluster left beside the logo, right side
     carries search / sign in / CTA */
  position: absolute; left: 50%; transform: translateX(-50%); top: 1px; height: 64px;
  width: min(1240px, calc(100% - 40px)); /* centered band: side margins grow with the viewport, like Gong */
  display: flex; align-items: center; justify-content: flex-start;
  padding: 0 10px 0 48px;
  background: rgba(255,255,255,0.88);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid rgba(9,3,29,0.09); border-radius: 999px;
  box-shadow: 0 12px 32px -14px rgba(60,40,140,0.26), 0 2px 8px -4px rgba(9,3,29,0.08);
}
.v2-pill .lockup img { height: 34px; width: auto; display: block; }
.v2-links { display: flex; gap: 38px; align-items: center; margin-left: 30px; }
.v2-links > li { position: static; }
.v2-links .trig {
  position: relative;
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 15px; font-weight: 600; color: #09031D; padding: 8px 0;
  background: transparent; border: none; cursor: pointer; font-family: inherit;
  transition: color 150ms ease;
}
.v2-links .trig::before {
  content: ""; position: absolute; left: -14px; right: -14px; top: 2px; bottom: 2px;
  border-radius: 999px; z-index: -1;
  background: linear-gradient(120deg, rgba(107,92,255,0.32), rgba(63,147,208,0.24), rgba(46,211,198,0.30));
  opacity: 0; transform: scale(0.92);
  transition: opacity 200ms ease, transform 200ms ease;
}
.v2-links .trig:hover { color: #5646E0; }
.v2-links .trig:hover::before,
.v2-links li.open .trig::before { opacity: 1; transform: scale(1); }
.v2-links .chev { transition: transform 160ms ease; }
.v2-links li.open .trig { font-weight: 700; }
.v2-links li.open .chev { transform: rotate(180deg); }
.v2-right { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.v2-search {
  width: 38px; height: 38px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #4B4660; transition: background 140ms, color 140ms;
}
.v2-search:hover { background: #F1F3FA; color: #09031D; }
.v2-search svg { width: 18px; height: 18px; }
.v2-signin-wrap { position: relative; display: inline-flex; }
.v2-signin { font-size: 15px; font-weight: 700; color: #215A85; cursor: pointer; }
.v2-signin:hover { color: #09031D; }
.v2-signin-pop {
  position: absolute; right: 0; top: calc(100% + 16px); width: 268px;
  background: #FFFFFF; border: 1px solid #E8E8EE; border-radius: 14px;
  box-shadow: 0 24px 48px rgba(60,40,140,0.2);
  padding: 16px 18px; z-index: 80; display: none;
}
.v2-signin-pop.on { display: block; }
.v2-signin-pop p { font-size: 13.5px; line-height: 1.55; color: #4B4660; margin-bottom: 10px; }
.v2-signin-pop a { font-size: 13.5px; font-weight: 700; color: #2A6E9F; }

/* search overlay */
.v2so {
  position: fixed; inset: 0; z-index: 120;
  background: rgba(9,3,29,0.45);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  display: none; align-items: flex-start; justify-content: center;
  padding: 14vh 20px 20px;
}
.v2so.on { display: flex; }
.v2so-card {
  width: min(600px, 100%); background: #FFFFFF; border-radius: 18px;
  box-shadow: 0 40px 80px rgba(9,3,29,0.45); overflow: hidden;
}
.v2so-row { display: flex; align-items: center; gap: 12px; padding: 6px 18px; border-bottom: 1px solid #EFECFF; }
.v2so-row svg { width: 18px; height: 18px; color: #6E6A82; flex: 0 0 auto; }
.v2so-row input { flex: 1; height: 54px; border: none; outline: none; font: inherit; font-size: 16px; color: #09031D; }
.v2so-row .esc {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; letter-spacing: 0.08em; color: #6E6A82;
  border: 1px solid #E8E8EE; border-radius: 6px; padding: 3px 7px;
}
.v2so-res { max-height: 46vh; overflow-y: auto; padding: 8px; }
.v2so-res a {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 11px 12px; border-radius: 10px; font-size: 14.5px; font-weight: 600; color: #09031D;
}
.v2so-res a:hover { background: #F6F5FF; color: #5646E0; }
.v2so-res .where {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: #6E6A82; white-space: nowrap;
}
.v2so-empty { padding: 22px 16px 26px; text-align: center; font-size: 14px; color: #6E6A82; }
.v2-cta {
  height: 44px; display: inline-flex; align-items: center; padding: 0 26px;
  background: #2ED3C6; color: #09031D; font-size: 14px; font-weight: 800;
  border-radius: 999px; transition: background 160ms;
}
.v2-cta:hover { background: #24BFB3; }

/* ---------- §3 mega panels ---------- */
.v2-sheet {
  position: absolute; left: 50%; top: 78px;
  width: min(1240px, calc(100vw - 40px)); /* same centered band as the pill */
  background: #FFFFFF; border: 1px solid #E8E8EE; border-radius: 20px;
  box-shadow: 0 24px 48px rgba(60,40,140,0.14);
  padding: 26px; display: flex; gap: 26px;
  opacity: 0; visibility: hidden; transform: translate(-50%, -6px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
}
.v2-links li.open .v2-sheet { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
#m-company, #m-resources { position: relative; }
.v2-sheet.v2-sheet-compact {
  left: 50%; right: auto; top: calc(100% + 14px);
  transform: translateX(-50%) translateY(-6px);
}
.v2-links li.open .v2-sheet.v2-sheet-compact { transform: translateX(-50%) translateY(0); }
.v2-col { flex: 1; }
.v2-col h5 {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: #3F93D0; margin-bottom: 12px;
}
.v2-col ul { display: flex; flex-direction: column; gap: 8px; }
.v2-col li a {
  height: 48px; display: flex; align-items: center; justify-content: space-between;
  border: 1px solid #E8E8EE; border-radius: 12px; padding: 0 16px;
  font-size: 15px; font-weight: 600; color: #09031D;
  transition: border-color 140ms, background 140ms;
}
.v2-col li a:hover { border-color: rgba(63,147,208,0.55); background: #F8FAFD; }
.v2-col li a svg { color: #6E6A82; }
.v2-feature {
  width: 300px; flex: 0 0 300px; border-radius: 16px; padding: 20px;
  background: linear-gradient(160deg, #09031D, #150A33);
  display: flex; flex-direction: column; gap: 10px; color: #FFFFFF;
}
.v2-feature svg.motif { width: 100%; height: auto; margin-bottom: 2px; }
.v2-feature .eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #2ED3C6;
}
.v2-feature strong { font-size: 19px; font-weight: 800; line-height: 1.25; }
.v2-feature p { font-size: 13.5px; font-weight: 500; color: rgba(233,233,244,0.7); line-height: 1.5; }
.v2-feature .fbtn {
  margin-top: auto; align-self: flex-start; height: 40px;
  display: inline-flex; align-items: center; padding: 0 16px;
  background: #FFFFFF; color: #09031D; font-size: 14px; font-weight: 700; border-radius: 10px;
}

/* Compact single-column sheet (Company: icon rows, no feature card) */
.v2-sheet.v2-sheet-compact { width: 300px; padding: 10px; display: block; }
.v2-iconlist { display: flex; flex-direction: column; gap: 4px; }
.v2-irow {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 12px; border-radius: 12px;
  transition: background 140ms ease;
}
.v2-irow:hover { background: #F8FAFD; }
.v2-icon2 {
  width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
}
.v2-icon2 svg { width: 18px; height: 18px; }
.v2-icon2.ocean  { background: rgba(63,147,208,0.14); color: #2A6E9F; }
.v2-icon2.teal   { background: rgba(46,211,198,0.16); color: #127C72; }
.v2-icon2.violet { background: rgba(107,92,255,0.14); color: #5646E0; }
.v2-irow-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v2-irow-text strong { font-size: 14.5px; font-weight: 700; color: #09031D; }
.v2-irow-text span { font-size: 12.5px; color: #6E6A82; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- §3b compact menu + section anchors ---------- */
.v2-menu {
  display: none; width: 38px; height: 38px; border-radius: 50%; flex-direction: column;
  align-items: center; justify-content: center; gap: 4px; color: #09031D; transition: background 140ms;
}
.v2-menu:hover { background: #F6F5FF; }
.v2-menu span { width: 16px; height: 2px; background: currentColor; border-radius: 2px; transition: transform 160ms ease, opacity 160ms ease; }
.v2-menu[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.v2-menu[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.v2-menu[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.v2-mobile {
  position: absolute; left: 20px; right: 20px; top: 76px; z-index: 30;
  background: #FFFFFF; border: 1px solid #E8E8EE; border-radius: 20px;
  box-shadow: 0 24px 60px -20px rgba(9,3,29,0.35);
  padding: 10px 8px 12px; display: grid; gap: 2px;
}
.v2-mobile[hidden] { display: none; }
.v2-mobile-grp { padding: 6px 8px 4px; }
.v2-mobile-grp h5 {
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: #6E6A82; margin: 0 12px 4px;
}
.v2-mobile-grp a { display: block; padding: 10px 12px; border-radius: 10px; font-size: 15px; font-weight: 600; color: #09031D; }
.v2-mobile-grp a:hover { background: #F6F5FF; color: #5646E0; }
.v2-mobile-cta { justify-content: center; margin: 6px 8px 0; }
/* anchored sections clear the sticky nav */
#sort-demo, #how-it-sorts, #by-the-numbers, #build-vs-buy, #plans, #guarantee, #how-scoping-works, #faq { scroll-margin-top: 84px; }
@media (max-width: 1180px) { .v2-menu { display: inline-flex; } }
@media (max-width: 640px) { .v2-pill .v2-cta { display: none; } .v2-mobile { top: 70px; } }


/* responsive rules (from the §7 mobile block) */
/* ---------- §7 mobile-ish ---------- */
@media (max-width: 1180px) {
  .v2-links { display: none; }
  .v2-signin-wrap { display: none; }
  .v2-announce { justify-content: center; padding: 0 20px; }
  .v2-pill { left: 20px; right: 20px; width: auto; transform: none; }
  .v2-sheet { display: none; }
  .v2-stage { height: auto; padding: 24px 0 48px; }
  .v2-copy { position: static; width: auto; transform: none; padding: 88px 24px 0; }
  .v2-h1 { font-size: 40px; }
  .v2-matte { position: relative; left: auto; top: auto; bottom: auto; width: auto; margin: 16px 20px 0; height: 680px; overflow: hidden; }
  .v2-ctas { flex-wrap: wrap; }
  .v2-stack-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .v2-announce .txt { display: none; }
  .v2-h1 { font-size: 34px; }
  .v2-ctas a, .v2-ctas button { width: 100%; justify-content: center; }
  .v2-matte { padding: 20px 20px 44px; height: 520px; }
  .v2-state { inset: 20px 20px 44px; }
  .v2-demo-ctl { right: 20px; bottom: 11px; }
  .v2-q { font-size: 13px; }
  /* hero demo at phone width: no rail, tighter column, five rows, icon-only download */
  .v2-rail { display: none; }
  .v2-main { padding: 18px 16px; gap: 12px; }
  .v2-input, .v2-drop { height: 50px; }
  .v2-rows > div:nth-of-type(n+8) { display: none; }
  .v2-rowdl { display: none !important; }
  .v2-pkg-label .v2-pkg-more .d { display: none; }
  .v2-pkg-label .v2-pkg-more .m { display: inline; }
  .v2-type { display: none; }
  .v2-file { font-size: 11px; }
  .v2-pages { font-size: 10px; padding: 0 8px; margin-left: auto; }
  .v2-drop .v2-timer { font-size: 13px; }
  .v2-drop .v2-drop-s .s-rest { display: none; }
  .is-drop .v2-drop .s-tally, .is-sorting .v2-drop .s-tally, .is-done .v2-drop .s-tally { display: none; }
  .v2-drop .v2-dl { width: 38px; min-width: 38px; flex: 0 0 38px; padding: 0; gap: 0; justify-content: center; font-size: 0; }
  .v2-drop .v2-dl svg { width: 16px; height: 16px; }
  .v2-card { width: 192px; height: 40px; }
  .v2-app.is-drag + .v2-card { animation-name: v2carry-m; }
  .v2-app.is-drop + .v2-card { transform: translate(52px, 63px); }
}
@keyframes v2carry-m {
  0% { transform: translate(-60px, 240px); opacity: 0; }
  14% { opacity: 1; }
  100% { transform: translate(52px, 63px); opacity: 1; }
}
@media (max-width: 640px) {
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .v2-sheet, .v2-links .chev { transition: none; }
  .v2-caret { animation: none; }
  /* hero demo: no autoplay (script skips), show the shipped end state */
  .v2-card, .v2-prog, .v2-demo-ctl { display: none; }
  .v2-drop .v2-dl { animation: none !important; }
  .v2-drop, .v2-row, .v2-row .v2-pages, .v2-timer, .v2-dl, .v2-pkg-label, .v2-empty { transition: none; animation: none; }
}
