:root {
  --white: #ffffff;
  --off: #f5f5f2;
  --ink: #0b0b0b;
  --ink2: #222;
  --ink3: #555;
  --border: #e2e2e2;

  /* Voice Agent — Blue */
  --va: #1246f6;
  --va-d: #0a2ea8;
  --va-lt: #e9eeff;
  --va-mid: #3d6bff;

  /* QA Tool — Violet */
  --qa: #6c2bd9;
  --qa-d: #4b1a99;
  --qa-lt: #f0eaff;
  --qa-mid: #8b50e8;

  /* PhishZen — Slate + Red */
  --pz: #0f1923;
  --pz-red: #e8283a;
  --pz-red-lt: #fff0f1;
  --pz-mid: #1e3045;

  /* prevent dark mode */
  -webkit-color-scheme: light;
  color-scheme: light only;
}

/* Prevent any OS-level dark mode overrides */
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: light only;
  }

  body {
    background: #111;
    color: #fff;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

html {
  scroll-behavior: smooth
}

body {
  background: var(--white);
  color: var(--ink);
  font-family: 'DM Sans', sans-serif;
  font-size: 17px;
  line-height: 1.65;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: 'Sora', sans-serif;
  line-height: 1.12
}

/* ━━━ NAV ━━━ */
nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 60px;
  height: 68px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border-bottom: 1.5px solid var(--border);
  transition: box-shadow .3s;
}

nav.scrolled {
  box-shadow: 0 4px 24px rgba(0, 0, 0, .07)
}

.nav-logo {
  text-decoration: none;
  display: flex;
  align-items: center
}

.nav-logo img {
  height: 36px;
  width: auto;
  display: block
}

.nav-links {
  display: flex;
  gap: 8px;
  list-style: none
}

.nav-links a {
  color: var(--ink3);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 8px;
  transition: all .2s;
}

.nav-links a:hover {
  color: var(--ink);
  background: var(--off)
}

.nav-links a.active-va {
  color: var(--va);
  background: var(--va-lt)
}

.nav-links a.active-qa {
  color: var(--qa);
  background: var(--qa-lt)
}

.nav-links a.active-pz {
  color: var(--pz-red);
  background: var(--pz-red-lt)
}

.nav-cta {
  background: var(--ink);
  color: white;
  padding: 10px 26px;
  border-radius: 100px;
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all .25s;

  @media (max-width: 767px) {
     font-size: 12px;
  }
}

.nav-cta:hover {
  background: var(--va);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(18, 70, 246, .3)
}

/* ━━━ HERO / OVERVIEW ━━━ */
.hero {
  padding: 130px 60px 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
  background: var(--white);
}

.hero-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  pointer-events: none;
}

.hb1 {
  width: 500px;
  height: 500px;
  background: rgba(18, 70, 246, .08);
  top: -80px;
  left: -60px;
  animation: bf 13s ease-in-out infinite alternate
}

.hb2 {
  width: 400px;
  height: 400px;
  background: rgba(108, 43, 217, .07);
  top: -60px;
  right: -60px;
  animation: bf 17s ease-in-out infinite alternate-reverse
}

.hb3 {
  width: 300px;
  height: 300px;
  background: rgba(232, 40, 58, .06);
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  animation: bf 11s ease-in-out infinite alternate
}

@keyframes bf {
  to {
    transform: translate(20px, 15px) scale(1.05)
  }
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--va-lt);
  color: var(--va);
  border: 1.5px solid rgba(18, 70, 246, .18);
  padding: 7px 18px;
  border-radius: 100px;
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 28px;
  letter-spacing: .03em;
  opacity: 0;
  animation: fadeUp .6s .1s forwards;
}

.live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--va);
  animation: pulse 2s infinite
}

@keyframes pulse {

  0%,
  100% {
    opacity: 1;
    transform: scale(1)
  }

  50% {
    opacity: .35;
    transform: scale(1.6)
  }
}

.hero h1 {
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  font-size: clamp(44px, 5.5vw, 80px);
  letter-spacing: -2.5px;
  color: var(--ink);
  margin-bottom: 22px;
  opacity: 0;
  animation: fadeUp .7s .25s forwards;
}

.hero h1 em {
  font-style: italic;
  color: var(--va);
  display: inline-block;
  min-width: 2ch;
  min-height: 1.12em;
  vertical-align: bottom;
}

.hero-desc {
  font-size: 19px;
  color: var(--ink3);
  line-height: 1.72;
  max-width: 620px;
  margin: 0 auto 52px;
  font-weight: 400;
  opacity: 0;
  animation: fadeUp .7s .4s forwards;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px)
  }

  to {
    opacity: 1;
    transform: none
  }
}

/* ━━━ PRODUCT CARDS (hub) ━━━ */
.hub-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 0;
  opacity: 0;
  animation: fadeUp .8s .55s forwards;
  position: relative;
  z-index: 1;
}

.hub-card {
  border-radius: 24px;
  padding: 40px 36px 36px;
  text-decoration: none;
  color: inherit;
  border: 1.5px solid var(--border);
  background: white;
  text-align: left;
  position: relative;
  overflow: hidden;
  transition: transform .35s ease, box-shadow .35s ease, border-color .3s;
  display: block;
}

.hub-card::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .35s;
  border-radius: 22px;
}

.hub-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 32px 64px rgba(0, 0, 0, .12)
}

.hub-card:hover::before {
  opacity: 1
}

.hc-va::before {
  background: linear-gradient(135deg, rgba(18, 70, 246, .06) 0%, rgba(18, 70, 246, .02) 100%)
}

.hc-va:hover {
  border-color: rgba(18, 70, 246, .35)
}

.hc-qa::before {
  background: linear-gradient(135deg, rgba(108, 43, 217, .06) 0%, rgba(108, 43, 217, .02) 100%)
}

.hc-qa:hover {
  border-color: rgba(108, 43, 217, .35)
}

.hc-pz::before {
  background: linear-gradient(135deg, rgba(232, 40, 58, .06) 0%, rgba(15, 25, 35, .04) 100%)
}

.hc-pz:hover {
  border-color: rgba(232, 40, 58, .35)
}

.hc-icon-wrap {
  width: 80px;
  min-width: 80px;
  height: 80px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
}

.hc-va .hc-icon-wrap {
  background: var(--va-lt)
}

.hc-qa .hc-icon-wrap {
  background: var(--qa-lt)
}

.hc-pz .hc-icon-wrap {
  background: var(--pz-red-lt)
}

.hc-label {
  font-family: 'Sora', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
  position: relative;
  z-index: 1;
}

.hc-va .hc-label {
  color: var(--va)
}

.hc-qa .hc-label {
  color: var(--qa)
}

.hc-pz .hc-label {
  color: var(--pz-red)
}

.hub-card h3 {
  font-family: 'Sora', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 12px;
  letter-spacing: -.4px;
  position: relative;
  z-index: 1;
}

.hub-card p {
  font-size: 15px;
  color: var(--ink3);
  line-height: 1.65;
  margin-bottom: 28px;
  position: relative;
  z-index: 1
}

.hc-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 700;
  position: relative;
  z-index: 1;
  transition: gap .25s;
}

.hc-va .hc-arrow {
  color: var(--va)
}

.hc-qa .hc-arrow {
  color: var(--qa)
}

.hc-pz .hc-arrow {
  color: var(--pz-red)
}

.hub-card:hover .hc-arrow {
  gap: 14px
}

/* ━━━ SECTION DIVIDER ━━━ */
.sec-divider {
  height: 2px;
  background: var(--border)
}

/* ━━━ PRODUCT SECTION WRAPPER ━━━ */
.product-sec {
  padding: 100px 60px;
  position: relative;
  overflow: hidden
}


.va-sec .va-header, .qa-sec .va-header {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 767px) {
  .va-sec .va-header, .qa-sec .va-header {
  grid-template-columns: 1fr;
}
}

.pz-sec .va-header {
  grid-template-columns: 1fr;
}

/* ━━━ VOICE AGENT ━━━ */
.va-sec {
  background: var(--white)
}

.va-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 80px;
}

.product-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 16px;
  border-radius: 100px;
  font-family: 'Sora', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.eyebrow-va {
  background: var(--va-lt);
  color: var(--va);
  border: 1.5px solid rgba(18, 70, 246, .18)
}

.eyebrow-qa {
  background: var(--qa-lt);
  color: var(--qa);
  border: 1.5px solid rgba(108, 43, 217, .18)
}

.eyebrow-pz {
  background: var(--pz-red-lt);
  color: var(--pz-red);
  border: 1.5px solid rgba(232, 40, 58, .18)
}

.product-h2 {
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  font-size: clamp(36px, 4vw, 58px);
  letter-spacing: -2px;
  line-height: 1.05;
  margin-bottom: 18px;
  color: var(--ink);
}

.product-desc {
  font-size: 18px;
  color: var(--ink3);
  line-height: 1.75;
  margin-bottom: 32px
}

.btn-demo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 32px;
  border-radius: 100px;
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all .25s;
  cursor: pointer;
  border: none;
}

.btn-demo-va {
  background: var(--va);
  color: white
}

.btn-demo-va:hover {
  background: var(--va-d);
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(18, 70, 246, .35)
}

.btn-demo-qa {
  background: var(--qa);
  color: white
}

.btn-demo-qa:hover {
  background: var(--qa-d);
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(108, 43, 217, .35)
}

.btn-demo-pz {
  background: var(--pz-red);
  color: white
}

.btn-demo-pz:hover {
  background: #c91e2e;
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(232, 40, 58, .35)
}

.btn-outline-sm {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 15px 28px;
  border-radius: 100px;
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all .25s;
  background: transparent;
  border: 2px solid var(--border);
  color: var(--ink2);
}

.btn-outline-sm:hover {
  border-color: var(--ink);
  transform: translateY(-2px)
}

.header-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap
}

/* Demo thumbnail */
.demo-thumb {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .14);
  cursor: pointer;
  aspect-ratio: 16/9;
  background: #111;
}

.demo-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .7;
  transition: opacity .3s
}

.demo-thumb:hover img {
  opacity: .5
}

.demo-thumb-bg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.play-btn {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .25);
  transition: transform .25s, box-shadow .25s;
  position: absolute;
  z-index: 2;
}

.demo-thumb:hover .play-btn {
  transform: scale(1.1);
  box-shadow: 0 12px 48px rgba(0, 0, 0, .35)
}

.play-icon {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 0 11px 20px;
  border-color: transparent transparent transparent var(--va);
  margin-left: 4px;
}

.play-icon-qa {
  border-color: transparent transparent transparent var(--qa)
}

.play-icon-pz {
  border-color: transparent transparent transparent var(--pz-red)
}

.demo-thumb-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(18, 70, 246, .85) 0%, rgba(61, 107, 255, .7) 100%);
}

.demo-thumb-overlay-qa {
  background: linear-gradient(135deg, rgba(108, 43, 217, .85) 0%, rgba(139, 80, 232, .7) 100%)
}

.demo-thumb-overlay-pz {
  background: linear-gradient(135deg, rgba(15, 25, 35, .92) 0%, rgba(30, 48, 69, .8) 100%)
}

.demo-label {
  margin-top: 16px;
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, .8);
  letter-spacing: .05em;
}

.demo-label-pz {
  color: rgba(255, 255, 255, .7)
}

/* ━━━ FEATURES GRID ━━━ */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 64px;
}

.feat-card {
  padding: 32px 28px;
  border-radius: 18px;
  border: 1.5px solid var(--border);
  background: white;
  transition: all .3s;
}

.feat-card:hover {
  transform: translateY(-4px)
}

.feat-card-va:hover {
  border-color: rgba(18, 70, 246, .3);
  box-shadow: 0 12px 40px rgba(18, 70, 246, .1)
}

.feat-card-qa:hover {
  border-color: rgba(108, 43, 217, .3);
  box-shadow: 0 12px 40px rgba(108, 43, 217, .1)
}

.feat-card-pz:hover {
  border-color: rgba(232, 40, 58, .3);
  box-shadow: 0 12px 40px rgba(232, 40, 58, .08)
}

.feat-icon {
  font-size: 28px;
  margin-bottom: 14px;
  display: block
}

.feat-card h4 {
  font-family: 'Sora', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 8px
}

.feat-card p {
  font-size: 14px;
  color: var(--ink3);
  line-height: 1.65
}

/* ━━━ BENEFITS + OUTCOMES SPLIT ━━━ */
.bo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 64px
}

.bo-card {
  border-radius: 20px;
  padding: 44px 40px
}

.bo-benefits-va {
  background: var(--va-lt)
}

.bo-benefits-qa {
  background: var(--qa-lt)
}

.bo-benefits-pz {
  background: var(--pz-red-lt)
}

.bo-outcomes {
  background: var(--ink);
  color: white
}

.bo-card h3 {
  font-family: 'Sora', sans-serif;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 24px;
  letter-spacing: -.4px;
}

.bo-benefits-va h3 {
  color: var(--va)
}

.bo-benefits-qa h3 {
  color: var(--qa)
}

.bo-benefits-pz h3 {
  color: var(--pz-red)
}

.bo-outcomes h3 {
  color: white
}

.benefit-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px
}

.benefit-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 16px;
  color: var(--ink2);
  font-weight: 500;
  line-height: 1.5;
}

.benefit-list li span.tick {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 1px;
}

.tick-va {
  background: var(--va);
  color: white
}

.tick-qa {
  background: var(--qa);
  color: white
}

.tick-pz {
  background: var(--pz-red);
  color: white
}

.outcome-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 18px
}

.outcome-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.outcome-num {
  font-family: 'Sora', sans-serif;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -2px;
  line-height: 1;
  flex-shrink: 0;
  min-width: 110px;
}

.outcome-num-va {
  color: var(--va-mid)
}

.outcome-num-qa {
  color: var(--qa-mid)
}

.outcome-num-pz {
  color: var(--pz-red)
}

.outcome-text {
  font-size: 15px;
  color: rgba(255, 255, 255, .72);
  line-height: 1.4;
  font-weight: 500;
  flex: 1;
}

/* ━━━ QA SECTION ━━━ */
.qa-sec {
  background: var(--off)
}

/* ━━━ PHISHZEN SECTION ━━━ */
.pz-sec {
  background: var(--pz);
  color: white
}

.pz-sec .product-h2 {
  color: white
}

.pz-sec .product-desc {
  color: rgba(255, 255, 255, .68)
}

.pz-sec .feat-card {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .1)
}

.pz-sec .feat-card:hover {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(232, 40, 58, .4);
  box-shadow: 0 12px 40px rgba(232, 40, 58, .12)
}

.pz-sec .feat-card h4 {
  color: white
}

.pz-sec .feat-card p {
  color: rgba(255, 255, 255, .6)
}

.pz-sec .features-grid {
  margin-bottom: 64px
}

.pz-sec .bo-outcomes {
  background: rgba(255, 255, 255, .07);
  border: 1.5px solid rgba(255, 255, 255, .1)
}

.pz-sec .bo-outcomes h3 {
  color: rgba(255, 255, 255, .9)
}

.bo-benefits-pz-dark {
  background: rgba(232, 40, 58, .12);
  border: 1.5px solid rgba(232, 40, 58, .25)
}

.bo-benefits-pz-dark h3 {
  color: var(--pz-red)
}

.pz-sec .benefit-list li {
  color: rgba(255, 255, 255, .8)
}

.pz-sec .sec-label-line {
  background: rgba(255, 255, 255, .1)
}

/* Section label above features */
.sec-label-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
}

.sec-label-text {
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ink3);
  white-space: nowrap;
}

.pz-sec .sec-label-text {
  color: rgba(255, 255, 255, .4)
}

.sec-label-line {
  height: 1.5px;
  background: var(--border);
  flex: 1
}

/* ━━━ MODAL ━━━ */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .75);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
  backdrop-filter: blur(6px);
}

.modal-overlay.open {
  opacity: 1;
  pointer-events: all
}

.modal-box {
  background: #111;
  border-radius: 20px;
  width: 90%;
  max-width: 800px;
  padding: 48px 44px;
  text-align: center;
  transform: scale(.95);
  transition: transform .3s;
  position: relative;
}

.modal-overlay.open .modal-box {
  transform: scale(1)
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 20px;
  font-size: 24px;
  color: rgba(255, 255, 255, .5);
  cursor: pointer;
  background: none;
  border: none;
  line-height: 1;
  transition: color .2s;
  font-family: 'Sora', sans-serif;
}

.modal-close:hover {
  color: white
}

.modal-play-big {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
  border: 2px solid rgba(255, 255, 255, .2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  cursor: pointer;
  transition: all .25s;
}

.modal-play-big:hover {
  background: rgba(255, 255, 255, .2);
  transform: scale(1.06)
}

.modal-play-tri {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 0 14px 26px;
  border-color: transparent transparent transparent white;
  margin-left: 6px;
}

.modal-title {
  font-family: 'Sora', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: white;
  margin-bottom: 10px;
}

.modal-sub {
  font-size: 15px;
  color: rgba(255, 255, 255, .5);
  margin-bottom: 32px
}

.modal-cta {
  display: inline-block;
  background: white;
  color: #111;
  padding: 14px 36px;
  border-radius: 100px;
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: all .25s;
}

.modal-cta:hover {
  background: #f0f0f0;
  transform: translateY(-2px)
}

/* ━━━ FINAL CTA ━━━ */
.final-cta {
  padding: 100px 60px;
  background: var(--ink);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.final-cta::before {
  content: '';
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(18, 70, 246, .2) 0%, transparent 65%);
  pointer-events: none;
}

.final-cta h2 {
  font-family: 'Sora', sans-serif;
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 800;
  letter-spacing: -2.5px;
  color: white;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}

.final-cta h2 em {
  font-style: italic;
  color: #f5c30a
}

.final-cta p {
  font-size: 19px;
  color: rgba(255, 255, 255, .6);
  max-width: 500px;
  margin: 0 auto 44px;
  line-height: 1.7;
  position: relative;
  z-index: 1
}

.cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 1
}

.btn-yellow {
  background: #f5c30a;
  color: var(--ink);
  padding: 18px 44px;
  border-radius: 100px;
  font-family: 'Sora', sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: all .25s;
}

.btn-yellow:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 44px rgba(245, 195, 10, .4)
}

.btn-wghost {
  background: transparent;
  color: white;
  padding: 18px 44px;
  border-radius: 100px;
  font-family: 'Sora', sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid rgba(255, 255, 255, .25);
  transition: all .25s;
}

.btn-wghost:hover {
  border-color: white;
  transform: translateY(-2px)
}

/* ━━━ FOOTER ━━━ */
footer {
  padding: 48px 60px;
  border-top: 1.5px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.f-logo {
  display: flex;
  align-items: center
}

.f-logo img {
  height: 32px;
  width: auto;
  display: block
}

.f-links {
  display: flex;
  gap: 28px
}

.f-links a {
  font-size: 14px;
  color: var(--ink3);
  text-decoration: none;
  font-weight: 500;
  transition: color .2s
}

.f-links a:hover {
  color: var(--va)
}

.f-note {
  font-size: 14px;
  color: var(--ink3)
}

/* ━━━ SCROLL REVEAL ━━━ */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s ease, transform .7s ease
}

.reveal.in {
  opacity: 1;
  transform: none
}

.d1 {
  transition-delay: .1s
}

.d2 {
  transition-delay: .2s
}

.d3 {
  transition-delay: .3s
}

.d4 {
  transition-delay: .4s
}

.d5 {
  transition-delay: .5s
}

/* ━━━ TICKER ━━━ */
.ticker-wrap {
  top: 68px;
  overflow: hidden;
  position: fixed;
  background: var(--ink);
  z-index: 3;
}

.ticker-track {
  display: flex;
  white-space: nowrap;
  animation: scrollt 28s linear infinite
}

.ticker-track span {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 12px 28px;
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .7);
}

.ticker-track span::after {
  content: '✦';
  color: #f5c30a;
  font-size: 10px
}

@keyframes scrollt {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}

/* ━━━ RESPONSIVE ━━━ */
@media(max-width:1100px) {
  nav {
    padding: 0 28px
  }

  .nav-links {
    display: none
  }

  .hero,
  .product-sec {
    padding-left: 28px;
    padding-right: 28px
  }

  .hub-cards {
    grid-template-columns: 1fr
  }

  .va-header,
  .bo-grid {
    grid-template-columns: 1fr
  }

  .features-grid {
    grid-template-columns: 1fr 1fr
  }

  footer {
    padding: 40px 28px;
    flex-direction: column;
    align-items: flex-start
  }

  .final-cta {
    padding: 80px 28px
  }
}

@media(max-width:640px) {
  .features-grid {
    grid-template-columns: 1fr
  }

  .hero h1 {
    letter-spacing: -1.5px
  }
}


/* new */


/* ── Lead Popup Overlay ── */
#lead-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(11, 11, 11, 0.72);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

#lead-popup-overlay.lp-open {
  opacity: 1;
  pointer-events: all;
}

/* ── Popup Box ── */
#lead-popup {
  position: relative;
  width: 92%;
  max-width: 640px;
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.22);
  transform: translateY(28px) scale(0.97);
  transition: transform 0.4s cubic-bezier(0.22, 0.9, 0.36, 1);
}

#lead-popup-overlay.lp-open #lead-popup {
  transform: none;
}

/* ── Accent bar at top ── */
#lead-popup-bar {
  height: 5px;
  background: linear-gradient(90deg,
      var(--va) 0%,
      var(--qa) 55%,
      var(--pz-red) 100%);
}

/* ── Inner padding ── */
.lp-inner {
  padding: 38px 44px 42px;
  max-height: calc(100vh - 50px);
  overflow: auto;
 
  @media (max-width: 767px) {
      padding: 25px;
  }
}

/* ── Close ── */
#lp-close {
  position: absolute;
  top: 16px;
  right: 18px;
  background: var(--off);
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  color: var(--ink3);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    background 0.2s,
    color 0.2s;
  z-index: 2;
}

#lp-close:hover {
  background: var(--border);
  color: var(--ink);
}

/* ── Header ── */
.lp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--va-lt);
  color: var(--va);
  border: 1.5px solid rgba(18, 70, 246, 0.18);
  padding: 5px 14px;
  border-radius: 100px;
  font-family: "Sora", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.lp-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--va);
  animation: pulse 2s infinite;
}

.lp-title {
  font-family: "Sora", sans-serif;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -1px;
  color: var(--ink);
  line-height: 1.12;
  margin-bottom: 6px;
}

.lp-subtitle {
  font-size: 14px;
  color: var(--ink3);
  margin-bottom: 28px;
  line-height: 1.55;
}

/* ── Form ── */
.lp-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lp-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;

  @media (max-width: 767px) {
      grid-template-columns: 1fr;
  }
}

.lp-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.lp-field label {
  font-family: "Sora", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink3);
}

.lp-field input,
.lp-field select {
  padding: 11px 16px;
  width: 100%;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  color: var(--ink);
  background: white;
  outline: none;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  -webkit-appearance: none;
  appearance: none;
  font-size: 15px !important;
}

.lp-field input::placeholder {
  color: #aaa;
}

.lp-field input:focus,
.lp-field select:focus {
  border-color: var(--va);
  box-shadow: 0 0 0 3px rgba(18, 70, 246, 0.1);
}

.lp-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
  cursor: pointer;
}

.lp-field select option[value=""] {
  color: #aaa;
}

/* ── Platform checkboxes ── */
.lp-platforms {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 2px;
}

.lp-platforms .svg-icon {
  display: inline-flex;
  align-items: center;
}

.lp-platforms .svg-icon svg {
  width: 15px;
}

.lp-platforms .svg-icon.voice-agent-icon {  stroke: #1246f6;}
.lp-platforms .svg-icon.voice-ai-qa-tool-icon {
    stroke: #6c2bd9;
}

.lp-platforms .svg-icon.-phiszen-icon {
    stroke: #e8283a;
}



.lp-platform-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  border-radius: 100px;
  border: 1.5px solid var(--border);
  cursor: pointer;
  font-family: "Sora", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink2);
  transition: all 0.2s;
  user-select: none;
}

.lp-platform-opt input[type="checkbox"] {
  display: none;
}

.lp-platform-opt.opt-va:hover,
.lp-platform-opt.opt-va.checked {
  background: var(--va-lt);
  border-color: var(--va);
  color: var(--va);
}

.lp-platform-opt.opt-qa:hover,
.lp-platform-opt.opt-qa.checked {
  background: var(--qa-lt);
  border-color: var(--qa);
  color: var(--qa);
}

.lp-platform-opt.opt-pz:hover,
.lp-platform-opt.opt-pz.checked {
  background: var(--pz-red-lt);
  border-color: var(--pz-red);
  color: var(--pz-red);
}

.lp-check-icon {
  font-size: 12px;
  opacity: 0;
  transition: opacity 0.15s;
}

.lp-platform-opt.checked .lp-check-icon {
  opacity: 1;
}

/* ── Submit ── */
#lp-submit {
  margin-top: 4px;
  padding: 15px 28px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  width: 100%;
  font-family: "Sora", sans-serif;
  font-size: 15px;
  font-weight: 700;
  background: var(--ink);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.25s;
}

#lp-submit:hover {
  background: var(--va);
  box-shadow: 0 10px 32px rgba(18, 70, 246, 0.3);
  transform: translateY(-1px);
}

#lp-submit:active {
  transform: none;
}

/* ── Success state ── */
#lp-success {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 52px 44px;
  gap: 16px;
}

#lp-success.visible {
  display: flex;
}

.lp-success-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--va), var(--qa));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  animation: successPop 0.5s cubic-bezier(0.22, 0.9, 0.36, 1) both;
}

@keyframes successPop {
  from {
    transform: scale(0);
  }

  to {
    transform: scale(1);
  }
}

.lp-success h3 {
  font-family: "Sora", sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.5px;
}

.lp-success p {
  font-size: 15px;
  color: var(--ink3);
  line-height: 1.6;
  max-width: 320px;
}

#lp-success-close {
  margin-top: 8px;
  padding: 12px 32px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  font-family: "Sora", sans-serif;
  font-size: 14px;
  font-weight: 700;
  background: var(--ink);
  color: white;
  transition: all 0.2s;
}

#lp-success-close:hover {
  background: var(--va);
}

/* ── Privacy note ── */
.lp-privacy {
  text-align: center;
  margin-top: 14px;
  font-size: 12px;
  color: #bbb;
  line-height: 1.5;
}

.lp-privacy a {
  color: var(--ink3);
  text-decoration: underline;
}

/* ── Error state ── */
.lp-field input.lp-err,
.lp-field select.lp-err {
  border-color: #e8283a;
  box-shadow: 0 0 0 3px rgba(232, 40, 58, 0.1);
}

.lp-err-msg {
  font-size: 11px;
  color: #e8283a;
  margin-top: 2px;
  display: none;
}

.lp-err-msg.visible {
  display: block;
}

label.error {
  font-size: 11px !important;
  color: #e8283a !important;
  text-transform: none !important;
  font-weight: normal !important;
  margin-top: 2px;
}



/* PhishZen white-label callout */
.pz-wl-callout{
  display:flex;
  align-items:center;
  gap:18px;
  background:rgba(232,40,58,.1);
  border:1.5px solid rgba(232,40,58,.3);
  border-radius:16px;
  padding:15px 28px;
  margin-bottom:56px;
  font-size:16px;
  color:rgba(255,255,255,.85);
  line-height:1.65;
}
.pz-wl-icon{font-size:28px;flex-shrink:0;margin-top:2px}
.pz-wl-callout strong{color:white;font-weight:700}



/* new CSS 8 June 2026 */
.hc-va .hc-icon-wrap svg {
  stroke: var(--va);
}

.hc-icon-wrap svg {
  width: 40px;
  height: 40px;
  display: block;
}

.hc-qa .hc-icon-wrap svg {
  stroke: var(--qa);
}

.hc-pz .hc-icon-wrap svg {
  stroke: var(--pz-red);
}

.eyebrow-va svg {
  stroke: var(--va);
}

.product-eyebrow svg {
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
  margin-bottom: 2px;
}

.feat-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  display: block;
}

.feat-card-va .feat-icon svg {
  stroke: var(--va);
}

.eyebrow-qa svg {
  stroke: var(--qa);
}

.feat-card-qa .feat-icon svg {
  stroke: var(--qa);
}

.eyebrow-pz svg {
  stroke: var(--pz-red);
}

.pz-wl-icon svg {
  width: 28px;
  height: 28px;
  display: block;
  stroke: var(--pz-red);
}

.feat-card-pz .feat-icon svg {
  stroke: var(--pz-red);
}


/* hub-card */
.hub-card-header {
  display: flex;
  gap: 20px;
  align-items: center;
  margin: 0 0 15px 0;
}

.hub-card-header h3 {
  margin: 0;
}

 .hc-icon-wrap {
  margin: 0;
 }

 /* feat-card */
 .feat-card-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0 0 15px 0;
 }

  .feat-card-header .feat-icon {
    margin: 0;
  }

  .feat-card-header h4 {
    margin: 0;
  }