/* Home v2 — per design ui_kits/marketing-site/Home v2.dc.html (2026-08-15).
   Scoped under .hv2 so other pages keep their existing styles. */

.hv2 { --hv-blue: #2E4FD8; --hv-blue-dk: #2440AF; --hv-tint: #F5F8FE; --hv-tint2: #EBF0FC; --hv-line: #EDEFF3; --hv-line2: #DDE6F8; --hv-line3: #C7D3F2; --hv-ink2: #3A4155; --hv-g: #2E7D5B; --hv-a: #E8A33D; }
.hv2 h1, .hv2 h2, .hv2 h3 { margin: 0; font-family: var(--font-display); font-weight: 700; }
.hv2 p { margin: 0; }
.hv2 .wrap { max-width: 1140px; margin: 0 auto; }
.hv2 .wrap-l { max-width: 1200px; margin: 0 auto; }
.hv2 .sec { padding: 72px 48px; }
.hv2 .sec-tint { background: var(--hv-tint); }
.hv2 .h2 { font-size: 28px; }
.hv2 .btn-hv { display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 600; color: #fff; background: var(--hv-blue); border-radius: 8px; padding: 14px 28px; }
.hv2 .btn-hv:hover { background: var(--hv-blue-dk); color: #fff; }
.hv2 .btn-hv-o { display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 600; color: var(--hv-blue); background: #fff; border: 1.5px solid var(--hv-line3); border-radius: 8px; padding: 12.5px 28px; }
.hv2 .btn-hv-o:hover { background: var(--hv-tint); }
.hv2 .mono { font-family: var(--font-mono); }
.hv2 .chip { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.06em; border-radius: 999px; padding: 3px 9px; text-transform: uppercase; }
.hv2 .chip.g { background: #E5F2EC; color: #2E7D5B; } .hv2 .chip.a { background: #FBF3E2; color: #8A6116; }

/* hero */
.hv-hero { background: linear-gradient(180deg, #F5F8FE 0%, #FBFCFE 100%); padding: 72px 48px 80px; }
.hv-hero .grid { display: grid; grid-template-columns: 1fr 620px; gap: 56px; align-items: center; }
.hv-hero .copy { display: flex; flex-direction: column; gap: 24px; }
.hv-hero .pills { display: flex; gap: 10px; flex-wrap: wrap; }
.hv-hero .pill { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--hv-line2); border-radius: 999px; padding: 6px 14px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; color: var(--hv-blue); box-shadow: 0 1px 3px rgba(17,22,38,0.05); }
.hv-hero h1 { font-size: 46px; line-height: 1.12; letter-spacing: -0.015em; text-wrap: pretty; }
.hv-hero h1 span { color: var(--hv-blue); }
.hv-hero .lede { font-size: 16px; color: var(--hv-ink2); line-height: 1.7; max-width: 480px; text-wrap: pretty; }
.hv-hero .ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.hv-hero .notes { display: flex; gap: 24px; font-size: 13px; color: var(--gray-600); flex-wrap: wrap; }
.hv-shot { background: #151A28; border-radius: 16px; padding: 20px 20px 0; box-shadow: 0 24px 60px rgba(21,26,40,0.25); }
.hv-shot .bar { display: flex; align-items: center; justify-content: space-between; padding: 0 8px 16px; }
.hv-shot .bar .wm { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: #fff; }
.hv-shot .bar .wm span { color: #8FA8E8; }
.hv-shot .bar .who { display: flex; align-items: center; gap: 12px; }
.hv-shot .bar .av { width: 26px; height: 26px; border-radius: 999px; background: var(--hv-blue); color: #fff; display: grid; place-items: center; font-size: 10.5px; font-weight: 600; }
.hv-shot .app { display: grid; grid-template-columns: 150px 1fr; background: #FBFBFC; border-radius: 10px 10px 0 0; overflow: hidden; }
.hv-shot .side { background: #F4F5F8; border-right: 1px solid var(--hv-line); padding: 16px 10px; display: flex; flex-direction: column; gap: 2px; }
.hv-shot .side div { padding: 8px 12px; border-radius: 7px; font-size: 12px; font-weight: 500; color: var(--gray-600); }
.hv-shot .side div.on { background: #E2E8FB; color: #2440AF; font-weight: 600; }
.hv-shot .body { padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.hv-shot .body .ttl { display: flex; align-items: center; justify-content: space-between; }
.hv-shot .body .ttl b { font-family: var(--font-display); font-size: 15px; }
.hv-shot .body .ttl span { font-size: 11px; color: var(--gray-600); border: 1px solid var(--border); border-radius: 6px; padding: 4px 10px; }
.hv-shot .stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.hv-shot .stat { background: #fff; border: 1px solid var(--hv-line); border-radius: 9px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.hv-shot .stat .k { font-size: 10px; color: var(--gray-400); }
.hv-shot .stat .v { font-family: var(--font-display); font-weight: 700; font-size: 16px; }
.hv-shot .stat .s { font-size: 9.5px; color: var(--gray-400); } .hv-shot .stat .s.up { color: var(--hv-g); }
.hv-shot .tbl { background: #fff; border: 1px solid var(--hv-line); border-radius: 9px; overflow: hidden; }
.hv-shot .tbl .r { display: grid; grid-template-columns: 1.3fr 1fr 0.7fr 0.8fr; align-items: center; padding: 8px 14px; border-top: 1px solid #F4F5F8; font-size: 11.5px; }
.hv-shot .tbl .r.h { background: #F4F5F8; border-top: none; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; color: var(--gray-400); }
.hv-shot .tbl .r .n { font-weight: 600; } .hv-shot .tbl .r .m { font-family: var(--font-mono); font-size: 11px; text-align: right; } .hv-shot .tbl .r .c { text-align: center; }
.hv-shot .tbl .more { padding: 9px 14px; border-top: 1px solid #F4F5F8; font-size: 11px; font-weight: 600; }

/* channels */
.hv-ch .wall { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.hv-ch .wall div { border: 1px solid var(--hv-line); border-radius: 10px; padding: 20px; display: grid; place-items: center; background: #FBFCFE; font-family: var(--font-display); font-weight: 700; font-size: 19px; }
.hv-ch .flow { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; margin-top: 36px; }
.hv-ch .diagram { display: flex; align-items: center; gap: 24px; }
.hv-ch .diagram .list { display: flex; flex-direction: column; gap: 8px; }
.hv-ch .diagram .list div { border: 1px solid var(--border); border-radius: 8px; padding: 8px 16px; font-size: 12.5px; font-weight: 600; background: #fff; width: 110px; }
.hv-ch .diagram .arr { color: var(--hv-blue); font-size: 22px; }
.hv-ch .diagram .core { border: 1.5px solid var(--hv-blue); border-radius: 10px; padding: 16px 24px; font-family: var(--font-display); font-weight: 700; font-size: 16px; background: #fff; box-shadow: 0 6px 18px rgba(46,79,216,0.12); white-space: nowrap; }
.hv-ch .diagram .core span { color: var(--hv-blue); }
.hv-ch .diagram .out { border: 1px solid var(--border); border-radius: 10px; padding: 16px 22px; font-size: 13.5px; font-weight: 600; color: var(--hv-blue); background: var(--hv-tint); white-space: nowrap; }
.hv-ch .flow h3 { font-size: 21px; margin-bottom: 10px; }
.hv-ch .flow p { font-size: 14px; color: var(--gray-600); line-height: 1.7; }
.c-shopify { color: #5E8E3E; } .c-amazon { color: #232F3E; } .c-tiktok { color: #151A28; } .c-ebay { color: #E53238; } .c-walmart { color: #0071CE; }

/* nexus */
.hv-nx .grid { display: grid; grid-template-columns: 1fr 460px 250px; gap: 44px; align-items: center; }
.hv-nx .copy { display: flex; flex-direction: column; gap: 20px; }
.hv-nx .copy p { font-size: 14.5px; color: var(--gray-600); line-height: 1.7; }
.hv-nx .kpis { display: flex; gap: 28px; }
.hv-nx .kpi { display: flex; flex-direction: column; gap: 2px; }
.hv-nx .kpi b { display: flex; align-items: center; gap: 7px; font-family: var(--font-display); font-size: 24px; }
.hv-nx .kpi b i { width: 9px; height: 9px; border-radius: 999px; display: inline-block; }
.hv-nx .kpi span { font-size: 12px; color: var(--gray-600); }
.hv-nx .path { font-family: var(--font-mono); font-size: 12px; color: var(--gray-600); }
.hv-nx .path b { color: var(--hv-blue); font-weight: 400; }
.hv-map { display: grid; grid-template-columns: repeat(12, 1fr); gap: 5px; }
.hv-map div { aspect-ratio: 1; border-radius: 5px; display: grid; place-items: center; font-family: var(--font-mono); font-size: 9.5px; font-weight: 500; background: #DFE2E9; color: var(--gray-400); }
.hv-map div.n { background: #7FBFA0; color: #12402C; } .hv-map div.a { background: #EFCB8A; color: #6B4E14; }
.hv-nx .card { background: #fff; border: 1px solid var(--hv-line2); border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 10px 28px rgba(21,26,40,0.08); }
.hv-nx .card .t { font-size: 13px; font-weight: 600; color: var(--gray-600); }
.hv-nx .card .row { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #F4F5F8; padding-bottom: 9px; font-size: 13px; font-weight: 500; }
.hv-nx .card .row span { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; }
.hv-nx .card a.all { font-size: 12.5px; font-weight: 600; text-align: center; background: var(--hv-tint); border-radius: 8px; padding: 9px; }

/* reconcile + autofile */
.hv-af .grid { display: grid; grid-template-columns: 400px 1fr; gap: 56px; align-items: start; }
.hv-af .h2s { font-size: 24px; }
.hv-af .totals { background: #fff; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; box-shadow: 0 8px 24px rgba(21,26,40,0.06); margin-top: 20px; }
.hv-af .totals .r { display: flex; justify-content: space-between; align-items: center; padding: 11px 18px; border-bottom: 1px solid #F4F5F8; font-size: 13px; }
.hv-af .totals .r b { font-weight: 600; } .hv-af .totals .r span { font-family: var(--font-mono); font-size: 12.5px; }
.hv-af .totals .sum { display: flex; justify-content: space-between; align-items: center; padding: 13px 18px; background: var(--hv-tint); font-size: 13.5px; }
.hv-af .totals .sum b { color: var(--hv-blue); } .hv-af .totals .sum span { font-family: var(--font-mono); font-weight: 600; color: var(--hv-blue); }
.hv-af .recon { display: flex; flex-direction: column; gap: 6px; margin-top: 20px; }
.hv-af .recon b { font-size: 13.5px; } .hv-af .recon span { font-size: 12.5px; color: var(--gray-400); line-height: 1.6; }
.hv-af .steps { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-top: 32px; }
.hv-af .step { display: flex; align-items: flex-start; gap: 8px; flex: 1; }
.hv-af .step .in { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; flex: 1; }
.hv-af .step .ic { width: 52px; height: 52px; border-radius: 12px; border: 1.5px solid var(--hv-line3); background: var(--hv-tint); display: grid; place-items: center; font-size: 20px; color: var(--hv-blue); }
.hv-af .step .nm { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; font-weight: 600; }
.hv-af .step .ds { font-size: 11.5px; color: var(--gray-400); line-height: 1.5; }
.hv-af .step .arr { color: var(--hv-blue); font-size: 16px; margin-top: 16px; }
.hv-af .lock { background: var(--hv-tint2); border-radius: 12px; padding: 24px 28px; display: flex; gap: 18px; align-items: center; margin-top: 32px; }
.hv-af .lock .ico { font-size: 28px; }
.hv-af .lock b { font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--hv-blue); display: block; margin-bottom: 4px; }
.hv-af .lock span { font-size: 13.5px; color: var(--hv-ink2); }

/* paper trail */
.hv-pt .grid { display: grid; grid-template-columns: 360px 1fr 300px; gap: 48px; align-items: center; }
.hv-pt .card { background: #fff; border: 1px solid var(--hv-line2); border-radius: 12px; padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 10px 28px rgba(21,26,40,0.08); position: relative; }
.hv-pt .card .ok { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; color: var(--hv-g); }
.hv-pt .card .ttl { font-size: 14px; font-weight: 700; border-bottom: 1px solid var(--hv-line); padding-bottom: 10px; }
.hv-pt .card .kv { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; font-size: 12.5px; }
.hv-pt .card .kv .k { color: var(--gray-400); } .hv-pt .card .kv .v { text-align: right; } .hv-pt .card .kv .v.m { font-family: var(--font-mono); }
.hv-pt .card .dots { display: flex; flex-direction: column; gap: 7px; border-top: 1px solid var(--hv-line); padding-top: 12px; font-size: 12.5px; color: var(--hv-g); }
.hv-pt .card a.snap { font-size: 12.5px; font-weight: 600; text-align: center; border: 1.5px solid var(--hv-line3); border-radius: 8px; padding: 9px; }
.hv-pt .copy { display: flex; flex-direction: column; gap: 18px; }
.hv-pt .copy p { font-size: 14.5px; color: var(--gray-600); line-height: 1.7; }
.hv-pt .icons { display: flex; gap: 28px; }
.hv-pt .icons div { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px; color: var(--gray-600); }
.hv-pt .icons div i { width: 46px; height: 46px; border-radius: 11px; border: 1px solid var(--hv-line2); background: #fff; display: grid; place-items: center; font-size: 18px; font-style: normal; }
.hv-pt .doc { background: #fff; border: 1px solid var(--hv-line2); border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 10px 28px rgba(21,26,40,0.08); position: relative; }
.hv-pt .doc .badge { position: absolute; top: -10px; right: -10px; width: 28px; height: 28px; border-radius: 999px; background: var(--hv-g); color: #fff; display: grid; place-items: center; font-size: 13px; }
.hv-pt .doc b { font-size: 13px; display: block; } .hv-pt .doc small { font-size: 11.5px; color: var(--gray-400); }
.hv-pt .doc .lines { display: flex; flex-direction: column; gap: 8px; }
.hv-pt .doc .lines div { height: 8px; background: var(--hv-line); border-radius: 4px; }

/* pricing */
.hv-pr .h2 { color: var(--hv-blue); text-align: center; }
.hv-pr .plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; align-items: stretch; margin-top: 36px; }
.hv-pr .plan { border: 1.5px solid var(--border); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; background: #fff; }
.hv-pr .plan.pop { border-color: var(--hv-blue); }
.hv-pr .plan .tag { background: var(--hv-blue); color: #fff; text-align: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; padding: 6px; }
.hv-pr .plan .in { padding: 26px 24px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.hv-pr .plan .nm { font-family: var(--font-display); font-weight: 700; font-size: 19px; display: block; }
.hv-pr .plan .for { font-size: 12px; color: var(--gray-400); line-height: 1.5; }
.hv-pr .plan .price { font-family: var(--font-display); font-weight: 700; font-size: 36px; } .hv-pr .plan .price small { font-family: var(--font-body); font-weight: 400; font-size: 13px; color: var(--gray-400); }
.hv-pr .plan ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; flex: 1; font-size: 12.5px; color: var(--hv-ink2); }
.hv-pr .plan a.cta { font-size: 13.5px; font-weight: 600; text-align: center; border-radius: 8px; padding: 11px; background: #fff; color: var(--hv-blue); border: 1.5px solid var(--hv-line3); }
.hv-pr .plan.pop a.cta { background: var(--hv-blue); color: #fff; border-color: var(--hv-blue); }
.hv-pr .incl { text-align: center; font-size: 12.5px; color: var(--gray-600); margin-top: 36px; line-height: 1.8; }
.hv-pr .incl b { color: var(--hv-blue); } .hv-pr .incl small { color: var(--gray-400); }

/* why */
.hv-why .h2 { font-size: 24px; text-align: center; }
.hv-why .grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 32px; }
.hv-why .it { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.hv-why .it i { width: 52px; height: 52px; border-radius: 999px; border: 1.5px solid var(--hv-line3); background: #fff; display: grid; place-items: center; font-size: 20px; color: var(--hv-blue); font-style: normal; }
.hv-why .it b { font-size: 13.5px; } .hv-why .it span { font-size: 11.5px; color: var(--gray-400); line-height: 1.5; }

/* testimonial + cta */
.hv-cta .grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 24px; }
.hv-cta .quote { background: var(--hv-tint); border-radius: 14px; padding: 32px 36px; display: flex; gap: 24px; align-items: center; }
.hv-cta .quote .av { width: 76px; height: 76px; border-radius: 999px; background: var(--hv-blue); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 700; font-size: 24px; flex-shrink: 0; }
.hv-cta .quote .txt { display: flex; flex-direction: column; gap: 10px; }
.hv-cta .quote .txt b { font-family: var(--font-display); font-size: 17px; }
.hv-cta .quote .txt p { font-size: 13px; color: var(--gray-600); line-height: 1.65; }
.hv-cta .quote .txt small { font-size: 12.5px; } .hv-cta .quote .txt small b { font-family: var(--font-body); font-size: 12.5px; } .hv-cta .quote .txt small span { color: var(--gray-400); }
.hv-cta .box { background: var(--hv-tint2); border-radius: 14px; padding: 32px 36px; display: flex; gap: 28px; align-items: center; justify-content: space-between; }
.hv-cta .box .txt { display: flex; flex-direction: column; gap: 12px; }
.hv-cta .box .txt b { font-family: var(--font-display); font-size: 22px; }
.hv-cta .box .txt p { font-size: 13.5px; color: var(--hv-ink2); } .hv-cta .box .txt small { font-size: 12px; color: var(--gray-400); }
.hv-cta .box .btn-hv { font-size: 14px; padding: 12px 24px; width: fit-content; }
.hv-cta .clock { width: 110px; height: 110px; border-radius: 999px; border: 5px solid var(--hv-blue); background: #fff; display: grid; place-items: center; flex-shrink: 0; }
.hv-cta .clock div { display: flex; flex-direction: column; align-items: center; }
.hv-cta .clock b { font-family: var(--font-display); font-size: 32px; color: var(--hv-blue); line-height: 1; }
.hv-cta .clock span { font-family: var(--font-mono); font-size: 11px; color: var(--gray-600); }

@media (max-width: 1100px) {
  .hv-hero .grid { grid-template-columns: 1fr; }
  .hv-hero .grid > .hv-shot { max-width: 620px; }
  .hv-nx .grid { grid-template-columns: 1fr 1fr; } .hv-nx .grid > .card { grid-column: 1 / -1; }
  .hv-af .grid { grid-template-columns: 1fr; }
  .hv-pt .grid { grid-template-columns: 1fr 1fr; } .hv-pt .grid > .doc { display: none; }
  .hv-pr .plans { grid-template-columns: 1fr 1fr; }
  .hv-why .grid { grid-template-columns: repeat(3, 1fr); }
  .hv-cta .grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .hv2 .sec, .hv-hero { padding-left: 20px; padding-right: 20px; }
  .hv-hero { padding-top: 40px; padding-bottom: 48px; }
  .hv-hero h1 { font-size: 32px; }
  .hv-shot .app { grid-template-columns: 1fr; } .hv-shot .side { display: none; }
  .hv-shot .stats { grid-template-columns: 1fr 1fr; }
  .hv-ch .wall { grid-template-columns: 1fr 1fr; }
  .hv-ch .flow { grid-template-columns: 1fr; gap: 24px; }
  .hv-ch .diagram { flex-wrap: wrap; }
  .hv-nx .grid { grid-template-columns: 1fr; }
  .hv-nx .kpis { flex-wrap: wrap; gap: 18px; }
  .hv-af .steps { flex-wrap: wrap; } .hv-af .step { flex: 1 1 45%; } .hv-af .step .arr { display: none; }
  .hv-pt .grid { grid-template-columns: 1fr; }
  .hv-pr .plans { grid-template-columns: 1fr; }
  .hv-why .grid { grid-template-columns: 1fr 1fr; }
  .hv-cta .quote, .hv-cta .box { flex-direction: column; align-items: flex-start; }
}

/* Copy review 8/18: nexus disclaimer, channel-wall kind tags, audience cards, clock. */
.hv2 .hv-disc { font-size: 11.5px; color: var(--gray-400); line-height: 1.55; margin-top: 14px; }
.hv2 .hv-sub { font-size: 14px; color: var(--gray-600); }
.hv-ch .wall div { position: relative; padding-bottom: 30px; }
.hv-ch .wall div small.kind { position: absolute; left: 0; right: 0; bottom: 8px; font-family: var(--font-mono); font-size: 9.5px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gray-400); }
.hv-ch .wall div small.kind.direct { color: #2E7D5B; }
.hv-pr .hv-aud { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
.hv-pr .hv-aud .it { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border: 1px solid var(--hv-line); border-radius: 12px; background: #FBFCFE; text-decoration: none; color: inherit; }
.hv-pr .hv-aud .it:hover { border-color: var(--hv-blue); }
.hv-pr .hv-aud .it b { font-family: var(--font-display); font-size: 15px; }
.hv-pr .hv-aud .it span { font-size: 13px; color: var(--gray-600); line-height: 1.55; }
.hv-pr .hv-aud .it em { font-style: normal; font-size: 12.5px; font-weight: 600; color: var(--hv-blue); }
.hv-cta .clock b { font-size: 22px; }
@media (max-width: 760px) { .hv-pr .hv-aud { grid-template-columns: 1fr; } }
