/* V32 — conflict lock: header, shared CTA buttons, About mosaic + overflow only. */
html, body {
  max-width:100%;
  overflow-x:hidden;
}
/* =========================
   Shared Header Geometry
========================= */
.v6-header {
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:50!important;
  height:86px!important;
  display:flex!important;
  align-items:center!important;
  background:transparent!important;
}
.v6-header .v6-nav {
  width:min(1290px,calc(100% - 48px))!important;
  max-width:1290px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr) 190px!important;
  align-items:center!important;
  gap:24px!important;
}
.v6-header .v6-logo {
  justify-self:start!important;
  display:block!important;
}
.v6-header .v6-logo img {
  width:165px!important;
  max-width:165px!important;
  height:auto!important;
}
.v6-header .v6-links {
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:38px!important;
  min-width:0!important;
  font-size:13px!important;
  color:#9ca8bd!important;
}
.v6-header .v6-links>a, .v6-header .mega-trigger {
  white-space:nowrap!important;
}
.v6-header .v6-phone {
  justify-self:end!important;
  min-width:164px!important;
  min-height:44px!important;
}
/* =========================
   One Button DNA Everywhere
   matches Home hero primary
========================= */
.v6-btn, .v6-phone, .fp-final-cta .fp-btn, .fp-final-cta .fp-btn-primary, .fp-final-cta .fp-btn-secondary {
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:7px!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease!important;
}
.v6-btn:not(.alt), .v6-phone, .fp-final-cta .fp-btn-primary {
  color:#fff!important;
  border:1px solid #0077ff!important;
  background:radial-gradient(circle at 50% 38%,#0877d8 0%,#052f5e 150%)!important;
  box-shadow:inset 0 0 18px rgba(0,119,255,.18)!important;
}
.v6-btn.alt, .fp-final-cta .fp-btn-secondary {
  color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(2,3,7,.12)!important;
  box-shadow:none!important;
}
.v6-btn:hover, .v6-phone:hover, .fp-final-cta .fp-btn:hover {
  transform:translateY(-2px)!important;
  border-color:#1b8cff!important;
  box-shadow:0 8px 24px rgba(0,119,255,.22)!important;
}
.v6-btn:before, .v6-phone:before, .fp-final-cta .fp-btn:before {
  display:none!important;
  content:none!important;
}
/* =========================
   About — One Mosaic Geometry
========================= */
.about-page .about-story, .about-page .about-story > .v6-container {
  overflow:visible!important;
}
.about-page .about-story > .v6-container {
  width:min(1290px,calc(100% - 48px))!important;
  max-width:1290px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
.about-page .about-ai-mosaic.v29-cross-mosaic {
  width:100%!important;
  max-width:1290px!important;
  margin:58px auto 0!important;
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) 620px minmax(280px,1fr)!important;
  grid-template-rows:250px 350px 250px!important;
  grid-template-areas:     ". top ."     "left video right"     ". bottom ."!important;
  column-gap:18px!important;
  row-gap:18px!important;
  align-items:center!important;
  justify-items:stretch!important;
  overflow:visible!important;
}
.about-page .v29-top-card {
  grid-area:top!important;
  justify-self:center!important;
}
.about-page .v29-left-card {
  grid-area:left!important;
}
.about-page .v29-video-wrap {
  grid-area:video!important;
}
.about-page .v29-right-card {
  grid-area:right!important;
}
.about-page .v29-bottom-card {
  grid-area:bottom!important;
  justify-self:center!important;
}
.about-page .v29-card {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:250px!important;
  min-height:250px!important;
  margin:0!important;
  padding:26px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 54px!important;
  grid-template-rows:auto auto 1fr!important;
  grid-template-areas:"kicker icon" "title icon" "copy copy"!important;
  gap:8px 18px!important;
  align-content:start!important;
  align-items:start!important;
  text-align:left!important;
  overflow:hidden!important;
  border:1px solid #0877d8!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#082d57 0%,#061f3e 55%,#031426 100%)!important;
  box-shadow:0 14px 38px rgba(0,55,115,.12)!important;
}
.about-page .v29-top-card, .about-page .v29-bottom-card {
  width:min(100%,414px)!important;
}
.about-page .v29-card .v25-mv-copy {
  display:contents!important;
}
.about-page .v29-card .v25-mv-kicker {
  grid-area:kicker!important;
  margin:2px 0 0!important;
  color:#78bdff!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.09em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.about-page .v29-card h3 {
  grid-area:title!important;
  margin:4px 0 0!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.18!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.about-page .v29-card p {
  grid-area:copy!important;
  width:100%!important;
  margin:10px 0 0!important;
  color:#a7b7cb!important;
  font-size:13.5px!important;
  line-height:1.62!important;
  text-align:left!important;
}
.about-page .v29-card .v25-mv-icon {
  grid-area:icon!important;
  justify-self:end!important;
  align-self:start!important;
  width:54px!important;
  height:54px!important;
  margin:0!important;
}
/* Kill the old 100vw rule that caused horizontal scrolling. Keep video size. */
.about-page .v25-video-wrap, .about-page .v29-video-wrap {
  width:620px!important;
  min-width:620px!important;
  max-width:620px!important;
  height:350px!important;
  min-height:350px!important;
  max-height:350px!important;
  margin:0!important;
  margin-left:0!important;
  position:relative!important;
  justify-self:center!important;
  align-self:center!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.about-page .v25-about-video, .about-page .v29-about-video {
  width:620px!important;
  min-width:620px!important;
  max-width:620px!important;
  height:350px!important;
  min-height:350px!important;
  max-height:350px!important;
  margin:0!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  mix-blend-mode:normal!important;
  filter:none!important;
}
.about-page .v25-video-toggle {
  display:none!important;
}
/* Stats use the exact same container edge as mosaic. */
.about-page .about-story .stats-grid {
  width:100%!important;
  max-width:1290px!important;
  margin:54px auto 0!important;
}
@media(max-width:1280px) {
  .about-page .about-ai-mosaic.v29-cross-mosaic {
    grid-template-columns:minmax(250px,1fr) 560px minmax(250px,1fr)!important;
  }
  .about-page .v25-video-wrap,.about-page .v29-video-wrap,   .about-page .v25-about-video,.about-page .v29-about-video {
    width:560px!important;
    min-width:560px!important;
    max-width:560px!important;
    height:316px!important;
    min-height:316px!important;
    max-height:316px!important;
  }
}
@media(max-width:1080px) {
  .about-page .about-ai-mosaic.v29-cross-mosaic {
    width:min(760px,100%)!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto auto auto auto!important;
    grid-template-areas:"top top" "video video" "left right" "bottom bottom"!important;
    gap:16px!important;
  }
  .about-page .v29-card {
    height:250px!important;
    min-height:250px!important;
  }
  .about-page .v29-top-card,.about-page .v29-bottom-card {
    width:min(100%,420px)!important;
  }
  .about-page .v25-video-wrap,.about-page .v29-video-wrap,   .about-page .v25-about-video,.about-page .v29-about-video {
    width:620px!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:620/350!important;
  }
}
@media(max-width:767px) {
  .v6-header {
    height:72px!important;
  }
  .v6-header .v6-nav {
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr auto!important;
    gap:12px!important;
  }
  .v6-header .v6-logo img {
    width:145px!important;
    max-width:145px!important;
  }
  .v6-header .v6-links,.v6-header .v6-phone {
    display:none!important;
  }
  .v6-header .site-menu-toggle {
    display:block!important;
    justify-self:end!important;
  }
  .about-page .about-story > .v6-container {
    width:calc(100% - 28px)!important;
  }
  .about-page .about-ai-mosaic.v29-cross-mosaic {
    width:100%!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"top" "video" "left" "right" "bottom"!important;
  }
  .about-page .v29-card,.about-page .v29-top-card,.about-page .v29-bottom-card {
    width:100%!important;
    height:auto!important;
    min-height:235px!important;
  }
  .about-page .v29-card h3 {
    white-space:normal!important;
  }
}
