/* Video section only: keeps the existing homepage design and animations intact. */
#ks-video {
  padding: clamp(38px, 5vw, 72px) var(--pad, 20px) clamp(54px, 6vw, 88px);
  color: var(--navy, #101c46);
  text-align: center;
  scroll-margin-top: 110px;
}
#ks-video .ks-video-inner { max-width: 1040px; margin-inline: auto; }
#ks-video .ks-video-heading { margin: 0 auto 28px; max-width: 850px; }
#ks-video .ks-video-eyebrow {
  margin: 0 0 16px; font-size: 11px; font-weight: 600; line-height: 1.5;
  letter-spacing: .16em; text-transform: uppercase; color: var(--muted, #5f667b);
}
#ks-video .ks-video-title {
  margin: 0; padding: 0; color: inherit; font-size: clamp(29px, 4vw, 48px);
  font-weight: 500; letter-spacing: -.045em; line-height: 1.16; text-wrap: balance;
}
#ks-video .ks-video-title em {
  display: block; padding-bottom: .15em; font: inherit;
  text-decoration: underline; text-decoration-thickness: .025em;
  text-underline-offset: .15em; text-decoration-skip-ink: auto;
}
#ks-video .ks-video-player {
  position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden;
  background: #efe6d8; border: 1px solid rgba(16,28,70,.12);
  border-radius: 24px; box-shadow: 0 18px 60px rgba(16,28,70,.08);
  isolation: isolate;
}
#ks-video video { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #efe6d8; }
#ks-video video:focus-visible { outline: 3px solid #101c46; outline-offset: -5px; }
#ks-video .ks-video-cover {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0;
  display: grid; place-items: center; border: 0; border-radius: inherit;
  background: #efe6d8; color: #fff; font: inherit; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
#ks-video .ks-video-cover[hidden], #ks-video .ks-video-status[hidden] { display: none; }
#ks-video .ks-video-cover img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  object-fit: cover; transition: transform .65s cubic-bezier(.2,.65,.3,1);
}
#ks-video .ks-video-play {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  flex-direction: row; gap: 12px; margin: 0; padding: 16px 23px;
  max-width: calc(100% - 32px); min-height: 56px;
  border: 1px solid rgba(16,28,70,.12); border-radius: 999px;
  background: rgba(255,252,246,.96); color: var(--navy, #101c46);
  box-shadow: 0 5px 20px rgba(16,28,70,.12), inset 0 1px 0 rgba(255,255,255,.8);
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
#ks-video .ks-video-play-icon {
  display: grid; place-items: center; width: 20px; height: 20px; flex: 0 0 20px;
  color: inherit;
}
#ks-video .ks-video-play-icon svg { display: block; width: 19px; height: 19px; fill: currentColor; }
#ks-video .ks-video-play-label {
  display: block; margin: 0; padding: 0; color: inherit;
  font-size: 15px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3;
  max-width: 100%; text-align: center; white-space: nowrap;
}
#ks-video .ks-video-cover:focus-visible { outline: 3px solid #101c46; outline-offset: -6px; }
#ks-video .ks-video-cover[aria-busy="true"] { cursor: progress; }
#ks-video .ks-video-status { margin: 14px auto 0; font-size: 13px; line-height: 1.6; color: var(--muted, #5f667b); }
#ks-video .ks-video-status a { color: #101c46; text-decoration: underline; text-underline-offset: 3px; }
@media (hover: hover) {
  #ks-video .ks-video-cover:hover img { transform: scale(1.015); }
  #ks-video .ks-video-cover:hover .ks-video-play { transform: translateY(-2px); background: #fffdf8; box-shadow: 0 8px 26px rgba(16,28,70,.17); }
}
@media (max-width: 700px) {
  #ks-video { padding: 32px 20px 48px; }
  #ks-video .ks-video-heading { margin-bottom: 22px; }
  #ks-video .ks-video-eyebrow { margin-bottom: 12px; font-size: 10px; }
  #ks-video .ks-video-title { font-size: clamp(25px, 6.9vw, 34px); line-height: 1.2; }
  #ks-video .ks-video-player { border-radius: 16px; box-shadow: 0 12px 32px rgba(16,28,70,.07); }
  #ks-video .ks-video-play { gap: 9px; min-height: 46px; padding: 12px 17px; }
  #ks-video .ks-video-play-icon { width: 17px; height: 17px; flex-basis: 17px; }
  #ks-video .ks-video-play-icon svg { width: 16px; height: 16px; }
  #ks-video .ks-video-play-label { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  #ks-video .ks-video-cover img, #ks-video .ks-video-play { transition: none; transform: none !important; }
}
