/* V29 — About page: four cards arranged around the supplied AI line video. */
.about-page .about-ai-mosaic.v29-cross-mosaic {
  width:min(1290px,calc(100% - 48px));
  margin:56px auto 0;
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(520px,620px) minmax(260px,1fr);
  grid-template-areas:     ". top ."     "left video right"     ". bottom .";
  align-items:center;
  justify-items:stretch;
  gap:0 22px;
  overflow:visible;
}
.about-page .v29-top-card {
  grid-area:top;
  margin-bottom:-10px
}
.about-page .v29-left-card {
  grid-area:left;
  margin-right:-8px
}
.about-page .v29-video-wrap {
  grid-area:video
}
.about-page .v29-right-card {
  grid-area:right;
  margin-left:-8px
}
.about-page .v29-bottom-card {
  grid-area:bottom;
  margin-top:-10px
}
.about-page .v29-card {
  width:100%;
  min-height:244px;
  padding:30px 30px 28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 56px;
  gap:22px;
  align-items:start;
  border:1px solid #0877d8;
  border-radius:18px;
  background:linear-gradient(145deg,#082d57 0%,#061f3e 55%,#031426 100%);
  box-shadow:0 14px 38px rgba(0,55,115,.12);
}
.about-page .v29-top-card, .about-page .v29-bottom-card {
  min-height:220px
}
.about-page .v29-card .v25-mv-copy {
  min-height:0
}
.about-page .v29-card .v25-mv-kicker {
  margin:0 0 10px;
  color:#78bdff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.about-page .v29-card h3 {
  margin:0 0 14px;
  color:#fff;
  font-size:24px;
  line-height:1.18;
}
.about-page .v29-card p {
  margin:0;
  color:#a7b7cb;
  font-size:14px;
  line-height:1.7;
}
.about-page .v29-card .v25-mv-icon {
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(180deg,#0878d9,#06345e);
  box-shadow:inset 0 0 18px rgba(90,183,255,.18),0 10px 24px rgba(0,0,0,.16);
}
.about-page .v29-card .v25-mv-icon svg {
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* Keep the supplied video at its natural central feature size. No control button. */
.about-page .v29-video-wrap {
  width:100%;
  height:350px;
  position:relative;
  overflow:visible;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.about-page .v29-video-wrap::before, .about-page .v29-video-wrap::after, .about-page .v29-card::before, .about-page .v29-card::after {
  content:none!important;
  display:none!important
}
.about-page .v29-about-video {
  width:100%;
  height:100%;
  display:block;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  mix-blend-mode:screen!important;
  opacity:1!important;
  filter:saturate(1.12) contrast(1.08) brightness(1.04)!important;
}
.about-page .v25-video-toggle {
  display:none!important
}
/* Cards reveal in the same order as the video's vertical/horizontal branches. */
html.v29-js .about-page .v29-card {
  opacity:0;
  transform:translateY(16px) scale(.975);
  filter:blur(6px);
  transition:     opacity .58s ease,     transform .72s cubic-bezier(.2,.8,.2,1),     filter .58s ease,     border-color .25s ease,     box-shadow .25s ease;
}
html.v29-js .about-page .v29-left-card {
  transform:translateX(18px) scale(.975)
}
html.v29-js .about-page .v29-right-card {
  transform:translateX(-18px) scale(.975)
}
html.v29-js .about-page .v29-bottom-card {
  transform:translateY(-16px) scale(.975)
}
html.v29-js .about-page .v29-card.v29-visible {
  opacity:1;
  transform:none;
  filter:none;
}
.about-page .v29-card:hover {
  transform:translateY(-4px);
  border-color:#168dff;
  box-shadow:0 18px 46px rgba(0,85,170,.16);
}
@media(max-width:1120px) {
  .about-page .about-ai-mosaic.v29-cross-mosaic {
    grid-template-columns:minmax(220px,1fr) minmax(430px,540px) minmax(220px,1fr);
    gap:0 14px;
  }
  .about-page .v29-card {
    padding:25px 24px;
    grid-template-columns:minmax(0,1fr) 50px
  }
  .about-page .v29-card h3 {
    font-size:21px
  }
  .about-page .v29-video-wrap {
    height:310px
  }
}
@media(max-width:900px) {
  .about-page .about-ai-mosaic.v29-cross-mosaic {
    width:min(760px,calc(100% - 32px));
    grid-template-columns:1fr 1fr;
    grid-template-areas:       "top top"       "video video"       "left right"       "bottom bottom";
    gap:16px;
  }
  .about-page .v29-top-card,   .about-page .v29-left-card,   .about-page .v29-right-card,   .about-page .v29-bottom-card {
    margin:0
  }
  .about-page .v29-video-wrap {
    height:300px
  }
}
@media(max-width:620px) {
  .about-page .about-ai-mosaic.v29-cross-mosaic {
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    grid-template-areas:"top" "video" "left" "right" "bottom";
  }
  .about-page .v29-card {
    min-height:0;
    padding:24px 22px;
    grid-template-columns:minmax(0,1fr) 48px
  }
  .about-page .v29-card h3 {
    font-size:21px
  }
  .about-page .v29-card p {
    font-size:14px
  }
  .about-page .v29-video-wrap {
    height:235px
  }
}
@media(prefers-reduced-motion:reduce) {
  html.v29-js .about-page .v29-card {
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important
  }
}
