@charset "UTF-8";
/* OpenSpace Quantum — full-bleed hero (Figma 1440:40000140:3471 / 1920:40000230:7102 / 2560:40000230:7111)
   Glass card + typography scale from 1440px baseline (× viewport / 1440) through 2560px. */
.page--openspace-quantum .page {
  padding: 0;
}

.page--openspace-quantum .hero-banner__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-bg-pos, center);
  display: block;
}

@media (max-width: 719px) {
  .page--openspace-quantum .hero-banner__video {
    object-position: var(--hero-bg-pos-mobile, var(--hero-bg-pos, center));
  }
}

/* GHOST: Direct unblock for now — leave video visible under reduced motion until static picture fallbacks are implemented.
@media (prefers-reduced-motion: reduce) {
  .page--openspace-quantum .hero-banner__video {
    display: none;
  }
  .page--openspace-quantum .hero-banner__media {
    background: #1a1b22 center/cover no-repeat url("../public/images/home/hero-bg.webp");
  }
}
*/

/* OpenSpace Quantum — Break free from hardware lock-in
   Figma free-from-hardware-lock-in (40000140:3263 @ 1440),
   free-from-hardware-lock-in-1920 (40000230:7134),
   free-from-hardware-lock-in-2560 (40000230:7148).
   Inner row nominal 1360: media 850 × 566.667, overlap −170, panel 680 — proportions
   hold through 2560 via cqw + flex fractions; rail grows 1360 → 1813 → 2418. */
.media-text-overlap {
  width: 100%;
  max-width: var(--hero-max-width);
  margin-inline: auto;
  box-sizing: border-box;
  /* Figma: py-[80px] px-[40px] */
  padding: clamp(48px, 10vw, 80px) clamp(20px, 5vw, 40px);
}

.media-text-overlap__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pattern-block-width);
  margin-inline: auto;
  container-type: inline-size;
  container-name: media-text-overlap-container;
}

@media (min-width: 1230px) {
  .media-text-overlap {
    padding-inline: 0;
  }
  .media-text-overlap__inner {
    padding-inline: 0;
  }
}
.media-text-overlap__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  gap: 0;
  isolation: isolate;
}

@media (min-width: 720px) {
  /* Figma art height 566.667 when row width is 1360 — scales as (566.667/1360) × inner width */
  .media-text-overlap__row {
    min-height: calc(566.667cqw / 1360);
  }
}
.media-text-overlap__media-wrap {
  flex: 0 0 calc(100% * 850 / 1360);
  box-sizing: border-box;
  min-width: 0;
  margin-right: calc(-100% * 170 / 1360);
  z-index: 1;
}

/* Figma Subtract: 849.999 × 566.667 (height scales with proportional width). */
.media-text-overlap__figure {
  position: relative;
  width: 100%;
  aspect-ratio: calc(850 / (566.667 * var(--image-height-scale, 1)));
  overflow: hidden;
}

.media-text-overlap__figure--cut-corners,
.media-text-overlap-reversed__figure--cut-corners {
  -webkit-clip-path: polygon(
    0 0,
    calc(100% - var(--cut-size, clamp(68px, 5.1cqi, 125px))) 0,
    100% var(--cut-size, clamp(68px, 5.1cqi, 125px)),
    100% 100%,
    var(--cut-size, clamp(68px, 5.1cqi, 125px)) 100%,
    0 calc(100% - var(--cut-size, clamp(68px, 5.1cqi, 125px)))
  );
  clip-path: polygon(
    0 0,
    calc(100% - var(--cut-size, clamp(68px, 5.1cqi, 125px))) 0,
    100% var(--cut-size, clamp(68px, 5.1cqi, 125px)),
    100% 100%,
    var(--cut-size, clamp(68px, 5.1cqi, 125px)) 100%,
    0 calc(100% - var(--cut-size, clamp(68px, 5.1cqi, 125px)))
  );
}

.media-text-overlap__img,
.media-text-overlap-reversed__img,
.milsatcom-openspace-keep-pace__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.media-text-overlap__img--cover,
.media-text-overlap-reversed__img--cover,
.milsatcom-openspace-keep-pace__img--cover {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
}

.media-text-overlap__img--fit-width,
.media-text-overlap-reversed__img--fit-width,
.milsatcom-openspace-keep-pace__img--fit-width {
  width: 100%;
  height: 100%;
  min-height: 0;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  object-fit: contain !important;
  object-position: center !important;
  transform: none;
}

.media-text-overlap__img--fit-height,
.media-text-overlap-reversed__img--fit-height,
.milsatcom-openspace-keep-pace__img--fit-height {
  height: 100%;
  width: auto;
  min-width: 0;
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}

.media-text-overlap__row > .media-text-overlap__panel {
  flex: 0 0 calc(100% * 680 / 1360);
  box-sizing: border-box;
  width: auto;
  max-width: none;
  z-index: 2;
  /* Figma card: p-[40px] */
  padding: clamp(20px, 4vw, 40px);
  gap: 16px;
}

.media-text-overlap__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.75rem, 2.5vw + 1rem, 2.5rem);
  line-height: 1.2;
  letter-spacing: 0;
  color: #fff;
}

@media (min-width: 1024px) {
  .media-text-overlap__title {
    font-size: 2.5rem;
  }
}
@media (min-width: 720px) and (max-width: 1023px) {
  .media-text-overlap__title {
    font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.25rem);
  }
}

@media (max-width: 719px) {
  .media-text-overlap {
    padding: 40px 20px;
  }
  .media-text-overlap__row {
    flex-direction: column;
    align-items: stretch;
  }
  .media-text-overlap__media-wrap {
    flex: 0 1 auto;
    width: 100%;
    aspect-ratio: unset;
    margin-right: 0;
    margin-bottom: -20px;
  }
  .media-text-overlap__figure {
    aspect-ratio: calc(850 / (566.667 * var(--image-height-scale, 1)));
    width: 100%;
  }
  .media-text-overlap__row > .media-text-overlap__panel {
    position: relative;
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    gap: 24px;
    padding: 20px;
  }
  .media-text-overlap__title {
    font-size: 1.625rem;
    text-transform: none;
  }
}
/* Wide screens: fluid scale from 1440px baseline through 2560px.
   Content rail = frame width minus symmetric horizontal inset (40px → 71.111px per side). */
@media (min-width: 1440px) {
  .media-text-overlap {
    max-width: none;
    width: 100%;
    padding-block: clamp(80px, 5.556vw, 142.222px);
  }
  .media-text-overlap__inner {
    max-width: clamp(var(--pattern-block-width), 94.444vw, 2417.778px);
  }
  .media-text-overlap__title {
    font-size: clamp(2.5rem, 2.778vw, 4.444rem);
  }
  .media-text-overlap__row > .media-text-overlap__panel {
    gap: clamp(16px, 1.111vw, 28.444px);
    padding: clamp(40px, 2.778vw, 71.111px);
    border-width: clamp(0.5px, 0.0347vw, 0.889px);
    -webkit-backdrop-filter: blur(clamp(20px, 1.389vw, 35.556px)) saturate(1.15);
    backdrop-filter: blur(clamp(20px, 1.389vw, 35.556px)) saturate(1.15);
  }
  .media-text-overlap .content-panel__body,
  .media-text-overlap .media-text-overlap__list,
  .media-text-overlap .media-text-overlap__list li,
  .media-text-overlap .media-text-overlap__list p,
  .media-text-overlap .media-text-overlap__item {
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
  }
  .media-text-overlap .hero__cta {
    gap: clamp(8px, 0.556vw, 14.222px);
    min-width: clamp(136px, 9.444vw, 241.778px);
    padding: clamp(8px, 0.556vw, 14.222px) clamp(12px, 0.833vw, 21.333px);
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
    line-height: clamp(1.5rem, 1.667vw, 2.667rem);
  }
  .media-text-overlap .hero__cta-icon-img {
    height: clamp(16px, 1.111vw, 28.444px);
  }
}

/* No-overlap layout modifier styles */
@media (min-width: 720px) {
  .media-text-overlap--no-overlap .media-text-overlap__row {
    min-height: calc(503.704cqw / 1360);
  }
  .media-text-overlap--no-overlap .media-text-overlap__media-wrap {
    flex: 0 0 55.555%;
    margin-right: 0;
  }
  .media-text-overlap--no-overlap .media-text-overlap__row > .media-text-overlap__panel {
    flex: 0 0 44.444%;
  }
}
@media (max-width: 719px) {
  .media-text-overlap--no-overlap .media-text-overlap__media-wrap {
    margin-bottom: 0;
  }
}
/* OpenSpace Quantum — Earth observation missions
   Figma earth-observation-missions (40000140:3273 @ 1440),
   earth-observation-missions-1920 (40000231:7224),
   earth-observation-missions-2560 (40000231:7286).
   Content rail grows 1360 → 1813 → 2418; type, spacing, icons scale × viewport / 1440 through 2560. */
.osq-eo-missions {
  width: 100%;
  max-width: var(--hero-max-width);
  margin-inline: auto;
  box-sizing: border-box;
  padding: clamp(48px, 10vw, 80px) clamp(20px, 5vw, 40px);
}

.osq-eo-missions__inner {
  max-width: var(--pattern-block-width);
  margin-inline: auto;
  box-sizing: border-box;
}

/* Solid 0.5px frame via padding (plain border-bottom/right tend to paint more reliably than top/left hairlines in some engines). */
.osq-eo-missions__border {
  box-sizing: border-box;
  border: 0.5px solid #3e3e3e;
}

@media (min-width: 1230px) {
  .osq-eo-missions {
    padding-inline: 0;
  }
  .osq-eo-missions__inner {
    padding-inline: 0;
  }
}
.osq-eo-missions__row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
  border: none;
}

.osq-eo-missions__panel.content-panel {
  flex: 1 1 0;
  min-width: 0;
  border: none;
  border-radius: 0;
  padding: clamp(20px, 4vw, 40px);
  /* Figma earth-observation-missions: bg #101115 + blur 20px (not shared semi-transparent glass). */
  background-color: #101115;
  -webkit-backdrop-filter: blur(20px) saturate(1.15);
  backdrop-filter: blur(20px) saturate(1.15);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .osq-eo-missions__panel.content-panel {
    background-color: #101115;
  }
}
.osq-eo-missions__panel + .osq-eo-missions__panel {
  border-left: 0.5px solid #3e3e3e;
}

.osq-eo-missions__panel--lead {
  gap: 16px;
}

.osq-eo-missions__panel--benefits {
  gap: 24px;
}

.osq-eo-missions__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.625rem, 1.75vw + 1.125rem, 2.5rem);
  line-height: 1.2;
  letter-spacing: 0;
  color: #fff;
}

.osq-eo-missions__subhead {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.125rem, 1vw + 0.875rem, 1.5rem);
  line-height: 1.2;
  letter-spacing: 0;
  color: #fff;
}

.osq-eo-missions__inline-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.15s ease;
}

.osq-eo-missions__inline-link:hover {
  color: var(--color-brand-red);
}

.osq-eo-missions__list {
  list-style: none;
  margin: 0;
  padding: 0 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

.osq-eo-missions__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  margin: 0;
}

.osq-eo-missions__item-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: block;
  object-fit: contain;
  object-position: center;
}

.osq-eo-missions__item-text {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
  min-width: 0;
}

@media (max-width: 1023px) {
  .osq-eo-missions__row {
    flex-direction: column;
  }
  .osq-eo-missions__panel + .osq-eo-missions__panel {
    border-left: none;
    border-top: 0.5px solid #3e3e3e;
  }
}
@media (max-width: 719px) {
  .osq-eo-missions {
    padding: 40px 20px;
  }
  .osq-eo-missions__panel.content-panel {
    padding: 20px;
    gap: 24px;
  }
  .osq-eo-missions__title {
    font-size: 1.625rem;
    text-transform: none;
  }
  .osq-eo-missions__list {
    padding: 0;
    gap: 32px;
  }
  .osq-eo-missions__item {
    align-items: flex-start;
  }
}
/* Wide screens: fluid scale from 1440px baseline through 2560px. */
@media (min-width: 1440px) {
  .osq-eo-missions {
    max-width: none;
    width: 100%;
    padding-block: clamp(80px, 5.556vw, 142.222px);
  }
  .osq-eo-missions__inner {
    max-width: clamp(var(--pattern-block-width), 94.444vw, 2417.778px);
  }
  .osq-eo-missions__border {
    border: clamp(0.5px, 0.0347vw, 0.889px) solid #3e3e3e;
  }
  .osq-eo-missions__panel + .osq-eo-missions__panel {
    border-left-width: clamp(0.5px, 0.0347vw, 0.889px);
  }
  .osq-eo-missions__panel.content-panel {
    padding: clamp(40px, 2.778vw, 71.111px);
    -webkit-backdrop-filter: blur(clamp(20px, 1.389vw, 35.556px)) saturate(1.15);
    backdrop-filter: blur(clamp(20px, 1.389vw, 35.556px)) saturate(1.15);
  }
  .osq-eo-missions__panel--lead.content-panel {
    gap: clamp(16px, 1.111vw, 28.444px);
  }
  .osq-eo-missions__panel--benefits.content-panel {
    gap: clamp(24px, 1.667vw, 42.667px);
  }
  .osq-eo-missions__title {
    font-size: clamp(2.5rem, 2.778vw, 4.444rem);
  }
  .osq-eo-missions__subhead {
    font-size: clamp(1.5rem, 1.667vw, 2.6667rem);
  }
  .osq-eo-missions .content-panel__body,
  .osq-eo-missions__item-text {
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
  }
  .osq-eo-missions__list {
    gap: clamp(40px, 2.778vw, 71.111px);
    padding-inline: clamp(20px, 1.389vw, 35.556px);
  }
  .osq-eo-missions__item {
    gap: clamp(24px, 1.667vw, 42.667px);
  }
  .osq-eo-missions__item-icon {
    width: clamp(48px, 3.333vw, 85.333px);
    height: clamp(48px, 3.333vw, 85.333px);
  }
  .osq-eo-missions .hero__cta {
    gap: clamp(8px, 0.556vw, 14.222px);
    min-width: clamp(136px, 9.444vw, 241.778px);
    padding: clamp(8px, 0.556vw, 14.222px) clamp(12px, 0.833vw, 21.333px);
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
    line-height: clamp(1.5rem, 1.667vw, 2.667rem);
  }
  .osq-eo-missions .hero__cta-icon-img {
    height: clamp(16px, 1.111vw, 28.444px);
  }
}
/* EO / RS virtualized products
   Figma eo-and-remote-sensing-virtualized-products (40000140:3331 @ 1440),
   eo-and-remote-sensing-virtualized-products-1920 (40000232:7420),
   eo-and-remote-sensing-virtualized-products @ 2560 (40000232:7492).
   Content rail grows 1360 → 1813 → 2418; type, spacing, and grid chrome scale × viewport / 1440 through 2560. */
.osq-eo-virtualized-products,
.product-grid-6-col {
  width: 100%;
  max-width: var(--layout-max-width);
  margin-inline: auto;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 10vw, 80px) clamp(20px, 5vw, 40px);
}

.osq-eo-virtualized-products__bg,
.product-grid-6-col__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.osq-eo-virtualized-products__bg-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.25;
}

.product-grid-6-col__bg-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.osq-eo-virtualized-products__inner,
.product-grid-6-col__inner {
  max-width: var(--pattern-block-width);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, 5vw, 40px);
  position: relative;
  z-index: 1;
}

@media (min-width: 1230px) {
  .osq-eo-virtualized-products,
  .product-grid-6-col {
    padding-inline: 0;
  }
}
.osq-eo-virtualized-products__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: min(680px, 100%);
  text-align: center;
}
.product-grid-6-col__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: min(850px, 100%);
  text-align: center;
}

.osq-eo-virtualized-products__title,
.product-grid-6-col__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.75rem, 2.5vw + 1rem, 2.5rem);
  line-height: 1.2;
  letter-spacing: 0;
  color: #fff;
}

@media (min-width: 1024px) {
  .osq-eo-virtualized-products__title,
  .product-grid-6-col__title {
    font-size: 2.5rem;
  }
}

.osq-eo-virtualized-products__title-line,
.product-grid-6-col__title-line {
  display: block;
}

.osq-eo-virtualized-products__lead,
.product-grid-6-col__lead {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
}

.osq-eo-virtualized-products__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  gap: 0;
}

.product-grid-6-col__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  gap: 0;
}

@media (min-width: 1024px) {
  .osq-eo-virtualized-products__grid--4-col,
  .product-grid-6-col__grid--4-col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.product-grid-6-col__grid--centered {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.product-grid-6-col__grid--centered .product-grid-6-col__card.content-panel {
  flex: 1 1 calc(100% / var(--grid-columns, 3) - 1px);
  max-width: calc(100% / var(--grid-columns, 3));
}

/* Figma cards: Card BG #101115 + backdrop blur 20px (same treatment as .osq-eo-missions__panel). */
.osq-eo-virtualized-products__card.content-panel {
  --card-padding: clamp(24px, 4vw, 40px);
  min-width: 0;
  min-height: 100%;
  border: 1px solid #3e3e3e;
  margin-left: -1px;
  margin-top: -1px;
  border-radius: 0;
  align-items: flex-start;
  text-align: left;
  padding: var(--card-padding);
  gap: 16px;
  display: flex;
  flex-direction: column;
  background-color: #101115;
  -webkit-backdrop-filter: blur(20px) saturate(1.15);
  backdrop-filter: blur(20px) saturate(1.15);
}

.product-grid-6-col__card.content-panel {
  --card-padding: clamp(24px, 4vw, 40px);
  min-width: 0;
  min-height: 100%;
  border: 0.5px solid #3e3e3e;
  border-radius: 0;
  align-items: flex-start;
  text-align: left;
  padding: var(--card-padding);
  gap: 16px;
  display: flex;
  flex-direction: column;
  background-color: #101115;
  -webkit-backdrop-filter: blur(20px) saturate(1.15);
  backdrop-filter: blur(20px) saturate(1.15);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .osq-eo-virtualized-products__card.content-panel,
  .product-grid-6-col__card.content-panel {
    background-color: #101115;
  }
}

.osq-eo-virtualized-products__card--semi-transparent,
.product-grid-6-col__card--semi-transparent {
  background-color: rgba(16, 17, 21, 0.5) !important;
}

.osq-eo-virtualized-products__card-body,
.product-grid-6-col__card-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
}

.osq-eo-virtualized-products__card-list.is-list-view,
ul.osq-eo-virtualized-products__card-list.is-list-view,
.product-grid-6-col__card-list.is-list-view,
ul.product-grid-6-col__card-list.is-list-view {
  display: block;
  list-style-type: disc;
  margin: 0 0 0 1.25rem;
  padding-left: 0.125em;
  font-family: var(--font-body, var(--font-sans, "Helvetica Neue", Helvetica, Arial, sans-serif));
  font-size: 1rem;
  line-height: 1.5;
  color: #fff;
  width: calc(100% - 1.25rem);
  box-sizing: border-box;
}

.osq-eo-virtualized-products__card-list.is-list-view li,
.product-grid-6-col__card-list.is-list-view li {
  display: list-item;
  list-style-type: disc;
  margin-bottom: 0.35rem;
  text-align: left;
  color: #fff;
}

.osq-eo-virtualized-products__card-list.is-list-view li:last-child,
.product-grid-6-col__card-list.is-list-view li:last-child {
  margin-bottom: 0;
}

.osq-eo-virtualized-products__card-list.is-list-view a,
.product-grid-6-col__card-list.is-list-view a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.15s ease;
}

.osq-eo-virtualized-products__card-list.is-list-view a:hover,
.osq-eo-virtualized-products__card-list.is-list-view a:focus,
.product-grid-6-col__card-list.is-list-view a:hover,
.product-grid-6-col__card-list.is-list-view a:focus {
  color: var(--color-brand-red, #e02424);
  text-decoration: underline;
}

.osq-eo-virtualized-products__card .hero__cta,
.product-grid-6-col__card .hero__cta {
  align-self: flex-start;
  margin-top: auto;
}

.osq-eo-virtualized-products__shot,
.product-grid-6-col__shot {
  position: relative;
  width: 100%;
  margin-bottom: 8px;
  aspect-ratio: 800 / 450;
  background-color: transparent;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wp-block-kratos-product-grid-6-col .osq-eo-virtualized-products__shot,
.wp-block-kratos-product-grid-6-col .product-grid-6-col__shot {
  aspect-ratio: 800 / 450;
}

.osq-eo-virtualized-products__shot-img,
.product-grid-6-col__shot-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.osq-eo-virtualized-products__shot-img--cover,
.product-grid-6-col__shot-img--cover {
  object-fit: cover;
  height: 100%;
}

.osq-eo-virtualized-products__shot-img--fill,
.product-grid-6-col__shot-img--fill {
  object-fit: fill;
  width: 100%;
  height: 100%;
}

.osq-eo-virtualized-products__shot-img--fit-width,
.product-grid-6-col__shot-img--fit-width {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.osq-eo-virtualized-products__shot-img--fit-height,
.product-grid-6-col__shot-img--fit-height {
  width: auto;
  height: 100%;
  max-width: none;
  object-fit: contain;
}

.product-grid-6-col__grid--4-col .product-grid-6-col__card.content-panel {
  --card-padding: clamp(16px, 2.5vw, 28px);
}

.wp-block-kratos-product-grid-6-col .product-grid-6-col__card--accent,
.wp-block-kratos-product-grid-6-col .product-grid-6-col__card--datadefender {
  background-color: #0d1420;
  border: 1px solid rgba(0, 180, 216, 0.4);
  box-shadow: inset 0 0 25px rgba(0, 180, 216, 0.1), 0 0 15px rgba(0, 180, 216, 0.15);
}

.osq-eo-virtualized-products__shot--datadefender,
.product-grid-6-col__shot--datadefender {
  aspect-ratio: 800 / 450;
}

.wp-block-kratos-product-grid-6-col .product-grid-6-col__shot--accent,
.wp-block-kratos-product-grid-6-col .product-grid-6-col__shot--datadefender {
  border: 1px solid rgba(0, 180, 216, 0.35);
  border-radius: 4px;
}

.osq-eo-virtualized-products__shot-img--datadefender,
.product-grid-6-col__shot-img--datadefender,
.product-grid-6-col__shot-img--accent {
  object-fit: cover;
  object-position: center;
  height: 100%;
}

.wp-block-kratos-product-grid-6-col .osq-eo-virtualized-products__product-title,
.wp-block-kratos-product-grid-6-col .product-grid-6-col__product-title {
  font-size: clamp(1.125rem, 0.9vw + 1rem, 1.5rem);
  font-weight: 400;
}

.osq-eo-virtualized-products__product-title,
.product-grid-6-col__product-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2.125rem);
  line-height: 1.2;
  letter-spacing: 0;
  color: #fff;
}

@media (min-width: 720px) and (max-width: 1023px) {
  .osq-eo-virtualized-products__grid,
  .product-grid-6-col__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-grid-6-col__grid--centered .product-grid-6-col__card.content-panel {
    flex: 1 1 calc(50% - 1px);
    max-width: 50%;
  }
  .osq-eo-virtualized-products__title,
  .product-grid-6-col__title {
    font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.25rem);
  }
}
@media (max-width: 719px), screen and (orientation: landscape) and (max-width: 1023px) and (max-height: 500px) {
  .osq-eo-virtualized-products__grid,
  .product-grid-6-col__grid {
    grid-template-columns: 1fr;
  }
  .product-grid-6-col__grid--centered .product-grid-6-col__card.content-panel {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .osq-eo-virtualized-products,
  .product-grid-6-col {
    padding: 40px 20px;
  }
  .osq-eo-virtualized-products__inner,
  .product-grid-6-col__inner {
    gap: clamp(32px, 8vw, 40px);
  }
  .osq-eo-virtualized-products__title,
  .product-grid-6-col__title {
    font-size: 1.625rem;
    text-transform: none;
  }
  .osq-eo-virtualized-products__card.content-panel,
  .product-grid-6-col__card.content-panel {
    --card-padding: 20px;
    padding: var(--card-padding);
  }
}
/* Wide screens: fluid scale from 1440px baseline through 2560px. */
@media (min-width: 1440px) {
  .osq-eo-virtualized-products,
  .product-grid-6-col {
    max-width: none;
    width: 100%;
  }
  .osq-eo-virtualized-products,
  .product-grid-6-col {
    padding-block: clamp(80px, 5.556vw, 142.222px);
  }
  .osq-eo-virtualized-products__inner,
  .product-grid-6-col__inner {
    max-width: clamp(var(--pattern-block-width), 94.444vw, 2417.778px);
    gap: clamp(40px, 2.778vw, 71.111px);
  }
  .osq-eo-virtualized-products__header {
    gap: clamp(16px, 1.111vw, 28.444px);
    max-width: min(100%, clamp(680px, 47.222vw, 1208.889px));
  }
  .product-grid-6-col__header {
    gap: clamp(16px, 1.111vw, 28.444px);
    max-width: min(850px, 100%);
  }
  .osq-eo-virtualized-products__title,
  .product-grid-6-col__title {
    font-size: clamp(2.5rem, 2.778vw, 4.444rem);
  }
  .osq-eo-virtualized-products__lead,
  .product-grid-6-col__lead,
  .osq-eo-virtualized-products .content-panel__body,
  .product-grid-6-col .content-panel__body,
  .osq-eo-virtualized-products .osq-eo-virtualized-products__card-list,
  .product-grid-6-col .product-grid-6-col__card-list {
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
  }
  .osq-eo-virtualized-products__grid {
    gap: 0;
  }
  .product-grid-6-col__grid {
    gap: 0;
  }
  .osq-eo-virtualized-products__card.content-panel,
  .product-grid-6-col__card.content-panel {
    --card-padding: clamp(40px, 2.778vw, 71.111px);
    padding: var(--card-padding);
    gap: clamp(16px, 1.111vw, 28.444px);
    border-width: clamp(0.5px, 0.0347vw, 0.889px);
    -webkit-backdrop-filter: blur(clamp(20px, 1.389vw, 35.556px)) saturate(1.15);
    backdrop-filter: blur(clamp(20px, 1.389vw, 35.556px)) saturate(1.15);
  }
  .osq-eo-virtualized-products__card-body,
  .product-grid-6-col__card-body {
    gap: clamp(16px, 1.111vw, 28.444px);
  }
  .osq-eo-virtualized-products__shot,
  .product-grid-6-col__shot {
    margin-bottom: clamp(8px, 0.556vw, 14.222px);
  }
  .osq-eo-virtualized-products__product-title,
  .product-grid-6-col__product-title {
    font-size: clamp(2.125rem, 2.361vw, 3.77775rem);
  }
  .wp-block-kratos-product-grid-6-col .osq-eo-virtualized-products__product-title,
  .wp-block-kratos-product-grid-6-col .product-grid-6-col__product-title {
    font-size: clamp(1.5rem, 1.667vw, 2.6667rem);
  }
  .osq-eo-virtualized-products .hero__cta,
  .product-grid-6-col .hero__cta {
    gap: clamp(8px, 0.556vw, 14.222px);
    min-width: clamp(136px, 9.444vw, 241.778px);
    padding: clamp(8px, 0.556vw, 14.222px) clamp(12px, 0.833vw, 21.333px);
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
    line-height: clamp(1.5rem, 1.667vw, 2.667rem);
  }
  .osq-eo-virtualized-products .hero__cta-icon-img,
  .product-grid-6-col .hero__cta-icon-img {
    height: clamp(16px, 1.111vw, 28.444px);
  }
}
/* OpenSpace Quantum — Scale and automate with unified platform
   Figma scale-automate-opt (40000140:3379 @ 1440),
   scale-automate-opt-1920 (40000232:7578),
   scale-automate-opt-2560 (40000232:7592).
   Panel left, Subtract media right; same 1360 row / 680+850−170 overlap as
   media-text-overlap, DOM panel-first. Rail grows 1360 → 1813 → 2418.
   ≤1023px: column-reverse stack (image above copy); ≥1024px: proportional row + min-height. */
.media-text-overlap-reversed {
  width: 100%;
  max-width: var(--hero-max-width);
  margin-inline: auto;
  box-sizing: border-box;
  padding: clamp(48px, 10vw, 80px) clamp(20px, 5vw, 40px);
}

.media-text-overlap-reversed__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pattern-block-width);
  margin-inline: auto;
  container-type: inline-size;
  container-name: media-text-overlap-reversed;
}

@media (min-width: 1230px) {
  .media-text-overlap-reversed {
    padding-inline: 0;
  }
  .media-text-overlap-reversed__inner {
    padding-inline: 0;
  }
}
.media-text-overlap-reversed__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  gap: 0;
  isolation: isolate;
}

@media (min-width: 1024px) {
  .media-text-overlap-reversed__row {
    min-height: calc(566.667cqw / 1360);
  }
}
.media-text-overlap-reversed__panel.content-panel {
  flex: 0 0 calc(100% * 680 / 1360);
  box-sizing: border-box;
  width: auto;
  max-width: none;
  margin-right: calc(-100% * 170 / 1360);
  z-index: 2;
  padding: clamp(20px, 4vw, 40px);
  gap: 16px;
}

.media-text-overlap-reversed__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.625rem, 1.75vw + 1.125rem, 2.5rem);
  line-height: 1.2;
  letter-spacing: 0;
  color: #fff;
}

.media-text-overlap-reversed__list,
.media-text-overlap__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  color: #fff;
  font-size: 1rem;
}

ul.media-text-overlap-reversed__list,
ol.media-text-overlap-reversed__list,
ul.media-text-overlap__list,
ol.media-text-overlap__list {
  padding-left: 1.5rem;
  list-style: disc;
}

.media-text-overlap-reversed__list li,
.media-text-overlap-reversed__list p,
.media-text-overlap-reversed__item,
.media-text-overlap__list li,
.media-text-overlap__list p,
.media-text-overlap__item {
  margin: 0 0 12px;
  padding-left: 0.25rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
}

.media-text-overlap-reversed__list li:last-child,
.media-text-overlap-reversed__list p:last-child,
.media-text-overlap-reversed__item:last-child,
.media-text-overlap__list li:last-child,
.media-text-overlap__list p:last-child,
.media-text-overlap__item:last-child {
  margin-bottom: 0;
}

.media-text-overlap-reversed__list.is-list-view,
.media-text-overlap__list.is-list-view {
  display: block;
  list-style-type: disc;
  margin-left: 1.5rem;
  padding-inline-start: 0.125em;
}

.media-text-overlap-reversed__list.is-list-view li,
.media-text-overlap-reversed__list.is-list-view p,
.media-text-overlap__list.is-list-view li,
.media-text-overlap__list.is-list-view p {
  display: list-item;
  list-style-type: disc;
  margin-left: 0;
  padding-inline-start: 0.125em;
}

.media-text-overlap-reversed__list:not(.is-list-view) p,
.media-text-overlap__list:not(.is-list-view) p {
  padding-left: 0;
}

.media-text-overlap-reversed__media-wrap {
  flex: 0 0 calc(100% * 850 / 1360);
  box-sizing: border-box;
  min-width: 0;
  z-index: 1;
}

.media-text-overlap-reversed__figure {
  position: relative;
  width: 100%;
  aspect-ratio: calc(850 / (566.667 * var(--image-height-scale, 1)));
  overflow: hidden;
}

.media-text-overlap-reversed__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Tablet + phone: stack with image above copy (DOM is panel then media). */
@media (max-width: 1023px) {
  .media-text-overlap-reversed {
    padding: 40px 20px;
  }
  .media-text-overlap-reversed__row {
    flex-direction: column-reverse;
    align-items: stretch;
    min-height: 0;
  }
  .media-text-overlap-reversed__panel.content-panel {
    position: relative;
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    margin-right: 0;
    gap: 24px;
    padding: 20px;
  }
  .media-text-overlap-reversed__media-wrap {
    flex: 0 1 auto;
    width: 100%;
    margin-top: 0;
    margin-bottom: -20px;
  }
  .media-text-overlap-reversed__figure {
    aspect-ratio: calc(850 / (566.667 * var(--image-height-scale, 1)));
    width: 100%;
  }
  .media-text-overlap-reversed__title {
    font-size: 1.625rem;
    text-transform: none;
  }
}
/* Wide screens: fluid scale from 1440px baseline through 2560px.
   Content rail = frame width minus symmetric horizontal inset (40px → 71.111px per side). */
@media (min-width: 1440px) {
  .media-text-overlap-reversed {
    max-width: none;
    width: 100%;
    padding-block: clamp(80px, 5.556vw, 142.222px);
  }
  .media-text-overlap-reversed__inner {
    max-width: clamp(var(--pattern-block-width), 94.444vw, 2417.778px);
  }
  .media-text-overlap-reversed__title {
    font-size: clamp(2.5rem, 2.778vw, 4.444rem);
  }
  .media-text-overlap-reversed__panel.content-panel {
    gap: clamp(16px, 1.111vw, 28.444px);
    padding: clamp(40px, 2.778vw, 71.111px);
    border-width: clamp(0.5px, 0.0347vw, 0.889px);
    -webkit-backdrop-filter: blur(clamp(20px, 1.389vw, 35.556px)) saturate(1.15);
    backdrop-filter: blur(clamp(20px, 1.389vw, 35.556px)) saturate(1.15);
  }
  .media-text-overlap-reversed .content-panel__body,
  .media-text-overlap-reversed__list,
  .media-text-overlap-reversed__list li,
  .media-text-overlap-reversed__list p,
  .media-text-overlap-reversed__item {
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
  }
  ul.media-text-overlap-reversed__list,
  ol.media-text-overlap-reversed__list,
  ul.media-text-overlap__list,
  ol.media-text-overlap__list {
    padding-left: clamp(24px, 1.667vw, 42.667px);
  }
  .media-text-overlap-reversed__item,
  .media-text-overlap__item {
    margin-bottom: clamp(12px, 0.833vw, 21.333px);
  }
  .media-text-overlap-reversed .hero__cta {
    gap: clamp(8px, 0.556vw, 14.222px);
    min-width: clamp(136px, 9.444vw, 241.778px);
    padding: clamp(8px, 0.556vw, 14.222px) clamp(12px, 0.833vw, 21.333px);
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
    line-height: clamp(1.5rem, 1.667vw, 2.667rem);
  }
  .media-text-overlap-reversed .hero__cta-icon-img {
    height: clamp(16px, 1.111vw, 28.444px);
  }
}

/* Reversed no-overlap modifier styles */
@media (min-width: 1024px) {
  .media-text-overlap-reversed--no-overlap .media-text-overlap-reversed__row {
    min-height: calc(503.704cqw / 1360);
  }
  .media-text-overlap-reversed--no-overlap .media-text-overlap-reversed__panel.content-panel {
    flex: 0 0 44.444%;
    margin-right: 0;
  }
  .media-text-overlap-reversed--no-overlap .media-text-overlap-reversed__media-wrap {
    flex: 0 0 55.555%;
  }
}
@media (max-width: 1023px) {
  .media-text-overlap-reversed--no-overlap .media-text-overlap-reversed__media-wrap {
    margin-bottom: 0;
  }
}


/* OpenSpace Features Grid block */
.features-icon-grid__icon {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
  object-position: left center;
}

@media (min-width: 1440px) {
  .features-icon-grid__icon {
    width: clamp(48px, 3.333vw, 85.333px);
    height: clamp(48px, 3.333vw, 85.333px);
  }
}

/* Kratos Item List Image block */
.item-list-image {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: clamp(48px, 10vw, 120px) clamp(20px, 5vw, 40px);
  background-color: transparent;
  overflow: hidden;
}

.item-list-image__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pattern-block-width);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.item-list-image__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.75rem, 2.5vw + 1rem, 2.5rem);
  line-height: 1.2;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
}

@media (min-width: 1024px) {
  .item-list-image__title {
    font-size: 2.5rem;
  }
}
@media (min-width: 720px) and (max-width: 1023px) {
  .item-list-image__title {
    font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.25rem);
  }
}

@media (min-width: 1440px) {
  .item-list-image__title {
    font-size: clamp(2.5rem, 2.778vw, 4.4444rem);
  }
}

@media (max-width: 719px) {
  .item-list-image__title {
    font-size: 1.625rem;
    text-transform: none;
  }
}

.item-list-image__subtitle {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  max-width: 800px;
}

@media (min-width: 1440px) {
  .item-list-image__subtitle {
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
  }
}

.item-list-image__panel.content-panel {
  width: 100%;
  gap: 24px;
  text-align: left;
}

.item-list-image__panel .item-list-image__title {
  text-align: left;
}

.item-list-image__panel .item-list-image__subtitle {
  text-align: left;
  max-width: none;
}

.item-list-image__list {
  margin: 24px auto 0 auto;
  padding: 0;
  list-style: none;
  width: 100%;
  max-width: var(--pattern-block-width);
  display: flex;
  flex-direction: column;
  gap: 0;
}

.item-list-image__item {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 30px 40px;
  background-color: #101115;
  border: 0.5px solid #3e3e3e;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  width: 100%;
}

.item-list-image__item + .item-list-image__item {
  border-top: none;
}

.item-list-image__item-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(1.375rem, 1.5vw + 1rem, 2.125rem);
  line-height: 1.2;
  color: #fff;
}

@media (min-width: 1440px) {
  .item-list-image__item-title {
    font-size: clamp(2.125rem, 2.361vw, 3.7778rem);
  }
}

.item-list-image__item-body {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #ccc;
}

@media (min-width: 1440px) {
  .item-list-image__item-body {
    font-size: clamp(1rem, 1.111vw, 1.7775rem);
  }
}

/* Item List Image — Diagram Segment */
.item-list-image__diagram-text {
  margin: 48px auto 0 auto;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(1.125rem, 0.85vw + 1rem, 1.375rem);
  line-height: 1.5;
  color: #fff;
  text-align: center;
  max-width: 900px;
}

.item-list-image__diagram-figure {
  margin: 0;
  width: 100%;
  max-width: 1000px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.item-list-image__diagram-figure--width-wider {
  max-width: var(--pattern-block-width);
}

.item-list-image__diagram-figure--width-widest {
  max-width: clamp(var(--pattern-block-width), 94.444vw, 2417.778px);
}

.item-list-image__diagram-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

.item-list-image__diagram-img--cover {
  object-fit: cover;
}

.item-list-image__diagram-img--contain {
  object-fit: contain;
}

.item-list-image__diagram-img--fill {
  object-fit: fill;
}

.item-list-image__diagram-img--fit-width {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.item-list-image__diagram-img--fit-height {
  width: auto;
  height: 100%;
  object-fit: contain;
}


/* Media Text Overlap - Wistia Lightbox Video Player Styles */
.media-text-overlap__video-container,
.media-text-overlap-reversed__video-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.media-text-overlap__video-trigger,
.media-text-overlap-reversed__video-trigger {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  outline: none;
}

.media-text-overlap__play-icon-overlay,
.media-text-overlap-reversed__play-icon-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  width: 80px;
  height: 80px;
  background: rgba(10, 11, 15, 0.85);
  backdrop-filter: blur(4px);
  border: 2px solid var(--wp--preset--color--brand-red);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 2;
}

.media-text-overlap__play-icon-overlay::after,
.media-text-overlap-reversed__play-icon-overlay::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent var(--wp--preset--color--white);
  margin-left: 6px;
}

.media-text-overlap__video-trigger:hover .media-text-overlap__play-icon-overlay,
.media-text-overlap-reversed__video-trigger:hover .media-text-overlap-reversed__play-icon-overlay {
  transform: translate(-50%, -50%) scale(1.1);
  background: var(--wp--preset--color--brand-red);
  border-color: var(--wp--preset--color--white);
  box-shadow: 0 0 30px rgba(237, 0, 28, 0.6);
}

.media-text-overlap__modal-overlay,
.media-text-overlap-reversed__modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 999999 !important;
}

/* Fallback for Wistia popover custom elements */
wistia-player[popover],
.w-popover,
.w-popover-v2,
wistia-popover,
.wistia_popover_overlay {
  z-index: 999999 !important;
}

.media-text-overlap__modal-overlay.is-open,
.media-text-overlap-reversed__modal-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.media-text-overlap__modal-content,
.media-text-overlap-reversed__modal-content {
  position: relative;
  width: 95vw;
  max-width: 168.89vh; /* 95vh * 16 / 9 = 168.89vh */
  max-height: 95vh;
  aspect-ratio: 16 / 9;
  transform: scale(0.9);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.media-text-overlap__modal-overlay.is-open .media-text-overlap__modal-content,
.media-text-overlap-reversed__modal-overlay.is-open .media-text-overlap-reversed__modal-content {
  transform: scale(1);
}

.media-text-overlap__close-btn,
.media-text-overlap-reversed__close-btn {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(0, 0, 0, 0.5) !important;
  backdrop-filter: blur(4px) !important;
  border-radius: 50% !important;
  border: none !important;
  color: var(--wp--preset--color--white) !important;
  font-size: 24px !important;
  line-height: 36px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  z-index: 10000 !important;
  pointer-events: auto !important;
}

.media-text-overlap__close-btn:hover,
.media-text-overlap-reversed__close-btn:hover {
  background: rgba(0, 0, 0, 0.9) !important;
  color: var(--wp--preset--color--brand-red) !important;
}

.media-text-overlap__video-wrapper,
.media-text-overlap-reversed__video-wrapper {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  background: #000;
  position: relative;
  z-index: 1;
}

.media-text-overlap__video-wrapper wistia-player,
.media-text-overlap-reversed__video-wrapper wistia-player {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 768px) {
  .media-text-overlap__modal-content,
  .media-text-overlap-reversed__modal-content {
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
    display: flex;
    align-items: center;
  }
  .media-text-overlap__video-wrapper,
  .media-text-overlap-reversed__video-wrapper {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    border-radius: 0;
  }
  .media-text-overlap__close-btn,
  .media-text-overlap-reversed__close-btn {
    top: 20px;
    right: 20px;
  }
}

/* Media Column Width Modifiers */
@media (min-width: 1024px) {
  /* Width: Wider (Media 62.5% / Panel 37.5%) */
  .media-text-overlap--width-wider .media-text-overlap__media-wrap {
    flex: 0 0 62.5%;
  }
  .media-text-overlap--width-wider .media-text-overlap__row > .media-text-overlap__panel {
    flex: 0 0 50%;
  }
  .media-text-overlap--width-wider.media-text-overlap--no-overlap .media-text-overlap__row > .media-text-overlap__panel {
    flex: 0 0 37.5%;
  }

  .media-text-overlap-reversed--width-wider .media-text-overlap-reversed__media-wrap {
    flex: 0 0 62.5%;
  }
  .media-text-overlap-reversed--width-wider .media-text-overlap-reversed__panel.content-panel {
    flex: 0 0 50%;
  }
  .media-text-overlap-reversed--width-wider.media-text-overlap-reversed--no-overlap .media-text-overlap-reversed__panel.content-panel {
    flex: 0 0 37.5%;
  }

  /* Width: Narrower (Media 40% / Panel 60%) */
  .media-text-overlap--width-narrower .media-text-overlap__media-wrap {
    flex: 0 0 40%;
    margin-right: -10%;
  }
  .media-text-overlap--width-narrower.media-text-overlap--no-overlap .media-text-overlap__media-wrap {
    flex: 0 0 40%;
    margin-right: 0;
  }
  .media-text-overlap--width-narrower .media-text-overlap__row > .media-text-overlap__panel {
    flex: 0 0 70%;
  }
  .media-text-overlap--width-narrower.media-text-overlap--no-overlap .media-text-overlap__row > .media-text-overlap__panel {
    flex: 0 0 60%;
  }

  .media-text-overlap-reversed--width-narrower .media-text-overlap-reversed__media-wrap {
    flex: 0 0 40%;
  }
  .media-text-overlap-reversed--width-narrower .media-text-overlap-reversed__panel.content-panel {
    flex: 0 0 70%;
    margin-right: -10%;
  }
  .media-text-overlap-reversed--width-narrower.media-text-overlap-reversed--no-overlap .media-text-overlap-reversed__panel.content-panel {
    flex: 0 0 60%;
    margin-right: 0;
  }
}

/* Align Default and Narrower settings with eo-rs-scale-mission max-widths */
@media (min-width: 720px) {
  /* Standard default & narrower layout rows max-width */
  .media-text-overlap:not(.media-text-overlap--no-overlap):not(.media-text-overlap--width-wider) .media-text-overlap__row,
  .media-text-overlap--width-narrower:not(.media-text-overlap--no-overlap) .media-text-overlap__row {
    max-width: 1020px;
    margin-inline: auto;
  }

  /* Standard default layout flex sizes & min-height */
  .media-text-overlap:not(.media-text-overlap--no-overlap):not(.media-text-overlap--width-wider):not(.media-text-overlap--width-narrower) .media-text-overlap__row {
    min-height: calc(453.333cqw / 1360);
  }
  .media-text-overlap:not(.media-text-overlap--no-overlap):not(.media-text-overlap--width-wider):not(.media-text-overlap--width-narrower) .media-text-overlap__media-wrap {
    flex: 0 0 calc(100% * 680 / 1020);
    margin-right: calc(-100% * 170 / 1020);
    margin-left: 0;
  }
  .media-text-overlap:not(.media-text-overlap--no-overlap):not(.media-text-overlap--width-wider):not(.media-text-overlap--width-narrower) .media-text-overlap__row > .media-text-overlap__panel {
    flex: 0 0 calc(100% * 510 / 1020);
  }

  /* Standard narrower layout min-height */
  .media-text-overlap--width-narrower:not(.media-text-overlap--no-overlap) .media-text-overlap__row {
    min-height: calc(272cqw / 1360);
  }
}

@media (min-width: 1024px) {
  /* Reversed default & narrower layout rows max-width */
  .media-text-overlap-reversed:not(.media-text-overlap-reversed--no-overlap):not(.media-text-overlap-reversed--width-wider) .media-text-overlap-reversed__row,
  .media-text-overlap-reversed--width-narrower:not(.media-text-overlap-reversed--no-overlap) .media-text-overlap-reversed__row {
    max-width: 1020px;
    margin-inline: auto;
  }

  /* Reversed default layout flex sizes & min-height */
  .media-text-overlap-reversed:not(.media-text-overlap-reversed--no-overlap):not(.media-text-overlap-reversed--width-wider):not(.media-text-overlap-reversed--width-narrower) .media-text-overlap-reversed__row {
    min-height: calc(453.333cqw / 1360);
  }
  .media-text-overlap-reversed:not(.media-text-overlap-reversed--no-overlap):not(.media-text-overlap-reversed--width-wider):not(.media-text-overlap-reversed--width-narrower) .media-text-overlap-reversed__panel.content-panel {
    flex: 0 0 calc(100% * 510 / 1020);
    margin-right: calc(-100% * 170 / 1020);
  }
  .media-text-overlap-reversed:not(.media-text-overlap-reversed--no-overlap):not(.media-text-overlap-reversed--width-wider):not(.media-text-overlap-reversed--width-narrower) .media-text-overlap-reversed__media-wrap {
    flex: 0 0 calc(100% * 680 / 1020);
  }

  /* Reversed narrower layout min-height */
  .media-text-overlap-reversed--width-narrower:not(.media-text-overlap-reversed--no-overlap) .media-text-overlap-reversed__row {
    min-height: calc(272cqw / 1360);
  }
}

@media (min-width: 1440px) {
  /* Fluid scaling matching eo-rs-scale-mission scale bounds */
  .media-text-overlap:not(.media-text-overlap--no-overlap):not(.media-text-overlap--width-wider) .media-text-overlap__row,
  .media-text-overlap--width-narrower:not(.media-text-overlap--no-overlap) .media-text-overlap__row,
  .media-text-overlap-reversed:not(.media-text-overlap-reversed--no-overlap):not(.media-text-overlap-reversed--width-wider) .media-text-overlap-reversed__row,
  .media-text-overlap-reversed--width-narrower:not(.media-text-overlap-reversed--no-overlap) .media-text-overlap-reversed__row {
    max-width: clamp(1020px, 70.833vw, 1813.333px);
  }
}




