/**
 * CQube Enterprise Design Standard v1.0
 * Sprint 005 — Update 01
 * Governing visual system for all CQube Enterprise Platform pages.
 */
:root {
  /* Brand */
  --cq-primary: #1b7aa5;
  --cq-primary-strong: #0f5f86;
  --cq-accent: #69c6dc;
  --cq-background: #06152b;
  --cq-background-alt: #0a203d;
  --cq-surface: #ffffff;
  --cq-surface-soft: #f7f9fb;
  --cq-ink: #17202b;
  --cq-ink-muted: #3a4654;

  /* Approved typography */
  --cq-type-hero-h1: 52px;
  --cq-type-hero-intro: 22px;
  --cq-type-section-h2: 42px;
  --cq-type-section-h3: 30px;
  --cq-type-card-title: 24px;
  --cq-type-body: 18px;
  --cq-type-label: 14px;

  /* Approved spacing */
  --cq-hero-top: 96px;
  --cq-hero-bottom: 80px;
  --cq-section-space: 100px;
  --cq-card-padding: 32px;
  --cq-grid-gap: 40px;

  /* Components */
  --cq-button-height: 52px;
  --cq-button-x: 24px;
  --cq-radius-button: 999px;
  --cq-radius-card: 24px;
  --cq-container: 1680px;
  --cq-page-gutter: clamp(1.25rem, 4vw, 5.5rem);
  --cq-motion-fast: 160ms ease;
  --cq-motion-base: 280ms cubic-bezier(.2,.7,.2,1);
}

html { font-size: 16px; }
body { font-size: var(--cq-type-body); }

/* One platform-wide type scale. */
:is(.command-deck, .inner-page-hero, .page-hero, .workspace-hero, .ecosystem-hero-grid) h1,
.cq-hero h1 {
  font-size: clamp(38px, 4.2vw, var(--cq-type-hero-h1));
  font-weight: 700;
  line-height: 1.06;
}

:is(.command-deck, .inner-page-hero, .page-hero, .workspace-hero) .lead,
:is(.command-deck, .inner-page-hero, .page-hero, .workspace-hero) .hero-copy > p,
.cq-hero__intro {
  font-size: clamp(18px, 1.8vw, var(--cq-type-hero-intro));
  font-weight: 400;
  line-height: 1.55;
}

.section h2,
.cq-section-title { font-size: clamp(34px, 3.4vw, var(--cq-type-section-h2)); font-weight: 700; }
.section h3,
.cq-section-subtitle { font-size: clamp(25px, 2.4vw, var(--cq-type-section-h3)); font-weight: 600; }
.card h3,
.card h4,
.cq-card__title { font-size: var(--cq-type-card-title); font-weight: 600; }
.eyebrow,
.small-label,
.cq-label { font-size: var(--cq-type-label); font-weight: 600; }

/* Shared layout and spacing. */
.container {
  width: min(calc(100% - (var(--cq-page-gutter) * 2)), var(--cq-container));
  margin-inline: auto;
}
.section { padding-block: var(--cq-section-space); }
.grid-3,
.grid-4,
.cq-grid { gap: var(--cq-grid-gap); }
.card,
.cq-card { padding: var(--cq-card-padding); }

/* CQube signature hero: 45% copy / 55% enterprise visual. */
.command-grid,
.split-hero-grid,
.ecosystem-hero-grid,
.cq-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
  align-items: center;
  gap: var(--cq-grid-gap);
  padding-top: calc(var(--cq-hero-top) + 80px);
  padding-bottom: var(--cq-hero-bottom);
}

.inner-page-hero,
.page-hero,
.workspace-hero,
.cq-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 45%, rgba(47,147,189,.22), transparent 30%),
    linear-gradient(145deg, var(--cq-background) 0%, var(--cq-background-alt) 68%, #0f2d4e 100%);
}

/* Approved embedded hero-image treatment. */
.hero-visual,
.split-hero-grid > :last-child,
.ecosystem-hero-grid > :last-child,
.cq-hero__visual {
  position: relative;
  isolation: isolate;
  aspect-ratio: 16 / 9;
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hero-visual img,
.split-hero-grid > :last-child img,
.ecosystem-hero-grid > :last-child img,
.cq-hero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border: 0;
  border-radius: 0;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 44%, rgba(0,0,0,.92) 60%, transparent 92%);
  mask-image: radial-gradient(ellipse at center, #000 44%, rgba(0,0,0,.92) 60%, transparent 92%);
}

.hero-visual::after,
.split-hero-grid > :last-child::after,
.ecosystem-hero-grid > :last-child::after,
.cq-hero__visual::after {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, var(--cq-background) 0%, transparent 18%, transparent 78%, var(--cq-background-alt) 100%),
    linear-gradient(0deg, var(--cq-background-alt) 0%, transparent 20%, transparent 78%, var(--cq-background) 100%);
}

/* Fixed button dimensions and states. */
.btn,
.cq-button {
  min-height: var(--cq-button-height);
  padding: 0 var(--cq-button-x);
  border-radius: var(--cq-radius-button);
  font-size: 16px;
  font-weight: 700;
}
.btn--primary,
.cq-button--primary { background: var(--cq-primary); color: #fff; }
.btn--primary:hover,
.btn--primary:focus-visible,
.cq-button--primary:hover,
.cq-button--primary:focus-visible { background: var(--cq-primary-strong); }
.btn--secondary,
.cq-button--secondary { background: transparent; border: 1px solid rgba(255,255,255,.52); color: #fff; }

/* Standard information card and image ratios. */
.card,
.cq-card { border-radius: var(--cq-radius-card); }
.card img,
.cq-card__image { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.cq-image--hero { aspect-ratio: 16 / 9; object-fit: cover; }
.cq-image--card { aspect-ratio: 16 / 9; object-fit: cover; }
.cq-image--team { aspect-ratio: 4 / 5; object-fit: cover; }
.cq-image--product { aspect-ratio: 16 / 10; object-fit: cover; }
.cq-image--logo { aspect-ratio: 3 / 1; object-fit: contain; }

/* Navigation remains fixed in position and visual treatment. */
.site-header { min-height: 80px; }
.nav-shell { min-height: 80px; }
.primary-nav { gap: 20px; }
.primary-nav a { white-space: nowrap; font-size: 14px; font-weight: 600; }
.primary-nav .nav-cta { min-height: 44px; display: inline-flex; align-items: center; padding-inline: 18px; }

/* Motion is restrained and purposeful. */
.card,
.btn,
.primary-nav a { transition-duration: var(--cq-motion-base); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 1100px) {
  .primary-nav { gap: 12px; }
  .primary-nav a { font-size: 13px; }
}

@media (max-width: 900px) {
  :root {
    --cq-hero-top: 72px;
    --cq-hero-bottom: 64px;
    --cq-section-space: 76px;
    --cq-card-padding: 26px;
    --cq-grid-gap: 28px;
  }
  .command-grid,
  .split-hero-grid,
  .ecosystem-hero-grid,
  .cq-hero__grid {
    grid-template-columns: 1fr;
    padding-top: calc(var(--cq-hero-top) + 64px);
  }
  .hero-visual,
  .split-hero-grid > :last-child,
  .ecosystem-hero-grid > :last-child,
  .cq-hero__visual { width: 100%; max-width: 760px; }
}

@media (max-width: 600px) {
  :root {
    --cq-section-space: 60px;
    --cq-card-padding: 22px;
    --cq-grid-gap: 22px;
  }
  .container {
    width: min(calc(100% - 28px), var(--cq-container));
    margin-inline: auto;
  }
  .hero-actions { align-items: stretch; }
  .hero-actions .btn { width: 100%; }
}

/* Sprint 005 Update 02: production standard hero component. */
.cq-standard-hero .cq-hero__grid {
  min-height: 620px;
}
.cq-hero__content {
  position: relative;
  z-index: 3;
  max-width: 760px;
}
.cq-hero__content .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--cq-accent);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.cq-hero__content .eyebrow::before {
  content: "";
  width: 34px;
  height: 2px;
  background: currentColor;
}
.cq-hero__content h1 { margin: 26px 0 18px; }
.cq-hero__content .lead { max-width: 760px; margin: 0; }
.cq-standard-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.cq-standard-hero .cq-hero__visual { min-height: 360px; }
.cq-standard-hero .cq-hero__visual img { object-fit: contain; }
@media (max-width: 900px) {
  .cq-standard-hero .cq-hero__grid { min-height: auto; }
  .cq-standard-hero .cq-hero__visual { min-height: 0; }
}

/* Sprint 005 Update 04: CQube enterprise hero image deployment. */
.command-deck,
.cq-standard-hero,
.implementation-hero,
.product-detail-hero,
.cq-photo-hero {
  background-color: #06152b;
  overflow: hidden;
}

/* Images are external URL assets; no Base64 embedding. */
.command-deck .hero-visual,
.cq-standard-hero .cq-hero__visual,
.implementation-hero__media,
.product-hero__media {
  position: relative;
  isolation: isolate;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.command-deck .hero-visual::before,
.cq-standard-hero .cq-hero__visual::before,
.implementation-hero__media::before,
.product-hero__media::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, #06152b 0%, rgba(6,21,43,.92) 7%, rgba(6,21,43,.48) 21%, transparent 40%),
    linear-gradient(180deg, #06152b 0%, transparent 12%, transparent 82%, #06152b 100%),
    radial-gradient(ellipse at center, transparent 46%, rgba(6,21,43,.34) 72%, #06152b 100%);
}

.command-deck .hero-visual img,
.cq-standard-hero .cq-hero__visual img,
.implementation-hero__media img,
.product-hero__media img {
  display: block;
  width: 100%;
  height: clamp(360px, 41vw, 650px);
  object-fit: cover;
  object-position: center;
  border: 0;
  border-radius: 0;
  filter: saturate(.94) contrast(1.04);
}

.command-deck .hero-visual { max-width: 820px; transform: none; }
.command-deck .hero-visual__glow { display: none; }
.cq-standard-hero .cq-hero__visual img { object-fit: cover; }

.product-detail-hero .split-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  align-items: center;
}
.product-hero__media { grid-column: 2; grid-row: 1; }
.product-detail-hero .product-domain-card { display: none; }

.cq-photo-hero {
  position: relative;
  background-position: center right;
  background-repeat: no-repeat;
  background-size: min(68vw, 1100px) auto;
}
.cq-photo-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #06152b 0%, #06152b 36%, rgba(6,21,43,.82) 50%, rgba(6,21,43,.28) 73%, #06152b 100%);
}
.cq-photo-hero > .container { position: relative; z-index: 2; }
.cq-photo-hero--contact { background-image: url('../../images/hero/enterprise/contact.webp'); }
.cq-photo-hero--industries { background-image: url('../../images/hero/enterprise/industry-solutions.webp'); }
.cq-photo-hero--customer { background-image: url('../../images/hero/enterprise/customer-success.webp'); }
.cq-photo-hero--integration { background-image: url('../../images/hero/enterprise/integration.webp'); }

@media (max-width: 900px) {
  .command-deck .hero-visual img,
  .cq-standard-hero .cq-hero__visual img,
  .implementation-hero__media img,
  .product-hero__media img { height: clamp(280px, 65vw, 480px); }
  .product-detail-hero .split-hero-grid { grid-template-columns: 1fr; }
  .product-hero__media { grid-column: 1; grid-row: auto; }
  .cq-photo-hero { background-size: cover; background-position: 65% center; }
  .cq-photo-hero::before { background: linear-gradient(180deg, rgba(6,21,43,.98) 0%, rgba(6,21,43,.86) 58%, rgba(6,21,43,.58) 100%); }
}

/* Sprint 005 Update 05: unified, single-layer photographic hero engine.
   One background image + one controlled overlay. No image cards, masks, bands, or stacked panels. */
.cq-unified-hero {
  --cq-hero-image: none;
  --cq-hero-focus: 72% 50%;
  position: relative;
  isolation: isolate;
  min-height: 610px;
  overflow: hidden;
  background-color: #06152b;
  background-image: var(--cq-hero-image);
  background-repeat: no-repeat;
  background-position: var(--cq-hero-focus);
  background-size: cover;
}
.cq-unified-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      #06152b 0%,
      #06152b 31%,
      rgba(6,21,43,.96) 38%,
      rgba(6,21,43,.78) 49%,
      rgba(6,21,43,.38) 64%,
      rgba(6,21,43,.12) 82%,
      rgba(6,21,43,.18) 100%),
    linear-gradient(180deg,
      rgba(6,21,43,.42) 0%,
      transparent 20%,
      transparent 78%,
      rgba(6,21,43,.48) 100%);
}
.cq-unified-hero__inner {
  position: relative;
  z-index: 1;
  min-height: 610px;
  display: flex;
  align-items: center;
  padding-top: calc(var(--cq-hero-top) + 56px);
  padding-bottom: var(--cq-hero-bottom);
}
.cq-unified-hero__content {
  width: min(47%, 720px);
  position: relative;
  z-index: 2;
}
.cq-unified-hero__content .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--cq-accent);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.cq-unified-hero__content .eyebrow::before {
  content: "";
  width: 34px;
  height: 2px;
  background: currentColor;
}
.cq-unified-hero__content h1 { margin: 26px 0 18px; }
.cq-unified-hero__content .lead { max-width: 700px; margin: 0; }
.cq-unified-hero .hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }

/* The approved full-width photographic heroes use the same single-layer blend. */
.cq-photo-hero {
  background-size: cover;
  background-position: 72% center;
}
.cq-photo-hero::before {
  background:
    linear-gradient(90deg, #06152b 0%, #06152b 31%, rgba(6,21,43,.95) 39%, rgba(6,21,43,.76) 50%, rgba(6,21,43,.30) 68%, rgba(6,21,43,.10) 88%),
    linear-gradient(180deg, rgba(6,21,43,.30) 0%, transparent 22%, transparent 80%, rgba(6,21,43,.38) 100%);
}
.cq-photo-hero .split-hero-grid { display:block; }
.cq-photo-hero .split-hero-grid > div:first-child { width:min(47%,720px); }
.cq-photo-hero .experience-command-card { display:none; }

@media (max-width: 900px) {
  .cq-unified-hero,
  .cq-unified-hero__inner { min-height: 560px; }
  .cq-unified-hero { background-position: 66% center; }
  .cq-unified-hero::before,
  .cq-photo-hero::before {
    background: linear-gradient(180deg, rgba(6,21,43,.98) 0%, rgba(6,21,43,.88) 57%, rgba(6,21,43,.60) 100%);
  }
  .cq-unified-hero__content,
  .cq-photo-hero .split-hero-grid > div:first-child { width:100%; max-width:720px; }
}


/* Sprint 005 Update 06: compact hero geometry and protected content zone.
   Corrects excessive vertical space, unreadable text, and visible image-panel edges. */
.cq-unified-hero,
.cq-photo-hero,
.command-deck.cq-home-photo-hero {
  min-height: 540px;
  background-color: #06152b;
  overflow: hidden;
}

.cq-unified-hero__inner,
.cq-photo-hero .split-hero-grid,
.command-deck.cq-home-photo-hero .command-grid {
  min-height: 540px !important;
  padding-top: 54px !important;
  padding-bottom: 54px !important;
  align-items: center;
}

.cq-unified-hero__content,
.cq-photo-hero .split-hero-grid > div:first-child,
.command-deck.cq-home-photo-hero .hero-copy {
  width: min(47%, 640px);
  max-width: 640px;
  position: relative;
  z-index: 3;
}

.cq-unified-hero::before,
.cq-photo-hero::before,
.command-deck.cq-home-photo-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg,
    #06152b 0%,
    #06152b 34%,
    rgba(6,21,43,.98) 41%,
    rgba(6,21,43,.88) 49%,
    rgba(6,21,43,.56) 60%,
    rgba(6,21,43,.20) 76%,
    rgba(6,21,43,.06) 100%);
}

.cq-unified-hero__content,
.cq-photo-hero .split-hero-grid,
.command-deck.cq-home-photo-hero .command-grid,
.command-deck.cq-home-photo-hero .enter-strip {
  position: relative;
  z-index: 2;
}

/* Homepage now uses the same full-width photographic hero engine. */
.command-deck.cq-home-photo-hero {
  position: relative;
  isolation: isolate;
  background-image: url('../../images/hero/enterprise/home.webp');
  background-repeat: no-repeat;
  background-position: 72% 50%;
  background-size: cover;
}
.command-deck.cq-home-photo-hero .command-grid {
  display: flex;
}
.command-deck.cq-home-photo-hero .hero-visual {
  display: none !important;
}

/* Experience requires the strongest left-side content-safe zone. */
.cq-photo-hero--customer {
  background-position: 70% center;
}
.cq-photo-hero--customer::before {
  background: linear-gradient(90deg,
    #06152b 0%,
    #06152b 39%,
    rgba(6,21,43,.99) 46%,
    rgba(6,21,43,.91) 53%,
    rgba(6,21,43,.58) 63%,
    rgba(6,21,43,.18) 78%,
    rgba(6,21,43,.04) 100%);
}
.cq-photo-hero--customer .split-hero-grid > div:first-child {
  width: min(46%, 620px);
}
.cq-photo-hero--customer :is(.eyebrow,h1,.lead,.hero-actions) {
  position: relative;
  z-index: 4;
}

/* Prevent legacy layout rules from reintroducing image cards or vertical bands. */
.cq-unified-hero .cq-hero__visual,
.cq-photo-hero .experience-command-card,
.command-deck.cq-home-photo-hero .hero-visual {
  display: none !important;
}

@media (max-width: 900px) {
  .cq-unified-hero,
  .cq-photo-hero,
  .command-deck.cq-home-photo-hero,
  .cq-unified-hero__inner,
  .cq-photo-hero .split-hero-grid,
  .command-deck.cq-home-photo-hero .command-grid {
    min-height: 520px !important;
  }
  .cq-unified-hero__inner,
  .cq-photo-hero .split-hero-grid,
  .command-deck.cq-home-photo-hero .command-grid {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .cq-unified-hero__content,
  .cq-photo-hero .split-hero-grid > div:first-child,
  .command-deck.cq-home-photo-hero .hero-copy,
  .cq-photo-hero--customer .split-hero-grid > div:first-child {
    width: 100%;
    max-width: 680px;
  }
  .cq-unified-hero::before,
  .cq-photo-hero::before,
  .cq-photo-hero--customer::before,
  .command-deck.cq-home-photo-hero::before {
    background: linear-gradient(90deg,
      rgba(6,21,43,.99) 0%,
      rgba(6,21,43,.97) 58%,
      rgba(6,21,43,.74) 78%,
      rgba(6,21,43,.42) 100%);
  }
}

/* Sprint 005 Update 07: Industries-scale hero artwork.
   Artwork is constrained to the right side instead of filling the hero. */
.cq-unified-hero {
  background-image: none !important;
  min-height: 500px;
}
.cq-unified-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: clamp(24px, 4vw, 72px);
  top: 50%;
  width: min(52vw, 720px);
  height: 78%;
  transform: translateY(-50%);
  background-image: var(--cq-hero-image);
  background-repeat: no-repeat;
  background-position: var(--cq-hero-focus);
  background-size: contain;
  opacity: .94;
  pointer-events: none;
}
.cq-unified-hero__inner { min-height: 500px !important; padding-top: 48px !important; padding-bottom: 48px !important; }
.cq-unified-hero::before {
  z-index: 1;
  background: linear-gradient(90deg,
    #06152b 0%,
    #06152b 38%,
    rgba(6,21,43,.98) 46%,
    rgba(6,21,43,.78) 57%,
    rgba(6,21,43,.28) 72%,
    rgba(6,21,43,.04) 100%);
}
.cq-unified-hero__content { width: min(46%, 620px); }

/* Legacy photographic heroes inherit the same right-side artwork geometry. */
.cq-photo-hero {
  min-height: 500px !important;
  background-image: none !important;
  position: relative;
  isolation: isolate;
}
.cq-photo-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: clamp(24px, 4vw, 72px);
  top: 50%;
  width: min(52vw, 720px);
  height: 78%;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: .94;
  pointer-events: none;
}
.cq-photo-hero--industries::after { background-image: url('../../images/hero/enterprise/industry-solutions.webp'); }
.cq-photo-hero--customer::after { background-image: url('../../images/hero/enterprise/customer-success.webp'); }
.cq-photo-hero--contact::after { background-image: url('../../images/hero/enterprise/contact.webp'); }
.cq-photo-hero--integration::after { background-image: url('../../images/hero/enterprise/integration.webp'); }
.cq-photo-hero .split-hero-grid { min-height: 500px !important; padding-top: 48px !important; padding-bottom: 48px !important; }

@media (max-width: 900px) {
  .cq-unified-hero,
  .cq-photo-hero,
  .cq-unified-hero__inner,
  .cq-photo-hero .split-hero-grid { min-height: 470px !important; }
  .cq-unified-hero::after,
  .cq-photo-hero::after {
    right: -8%;
    width: 72vw;
    height: 64%;
    opacity: .45;
  }
  .cq-unified-hero::before,
  .cq-photo-hero::before,
  .cq-photo-hero--customer::before {
    z-index: 1;
    background: linear-gradient(90deg, rgba(6,21,43,.99) 0%, rgba(6,21,43,.96) 62%, rgba(6,21,43,.62) 100%);
  }
  .cq-unified-hero__content,
  .cq-photo-hero .split-hero-grid > div:first-child { width: 100%; max-width: 640px; }
}

@media (max-width: 600px) {
  .cq-unified-hero,
  .cq-photo-hero,
  .cq-unified-hero__inner,
  .cq-photo-hero .split-hero-grid { min-height: auto !important; }
  .cq-unified-hero__inner,
  .cq-photo-hero .split-hero-grid { padding-top: 64px !important; padding-bottom: 64px !important; }
  .cq-unified-hero::after,
  .cq-photo-hero::after { width: 92vw; height: 58%; right: -25%; opacity: .28; }
}

/* Sprint 005 Update 08: restore the approved Industries blended hero standard.
   No circular/oval artwork treatment. Hero height is fixed at 616px on desktop;
   imagery remains rectangular, right-aligned, vertically reduced, and softly blended. */
@media (min-width: 901px) {
  .cq-unified-hero,
  .cq-photo-hero,
  .command-deck.cq-home-photo-hero {
    min-height: 616px !important;
    height: 616px;
    overflow: hidden;
  }

  .cq-unified-hero__inner,
  .cq-photo-hero .split-hero-grid,
  .command-deck.cq-home-photo-hero .command-grid {
    min-height: 616px !important;
    height: 616px;
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  .cq-unified-hero::after,
  .cq-photo-hero::after {
    right: 0;
    top: 50%;
    width: min(60vw, 1080px);
    height: 82%;
    transform: translateY(-50%);
    background-size: cover;
    background-position: var(--cq-hero-focus, 72% 50%);
    background-repeat: no-repeat;
    opacity: .92;
    border-radius: 0 !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 25%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 10%, #000 25%, #000 100%);
  }

  .cq-unified-hero::before,
  .cq-photo-hero::before,
  .cq-photo-hero--customer::before,
  .command-deck.cq-home-photo-hero::before {
    z-index: 1;
    background: linear-gradient(90deg,
      #06152b 0%,
      #06152b 38%,
      rgba(6,21,43,.98) 47%,
      rgba(6,21,43,.86) 56%,
      rgba(6,21,43,.48) 68%,
      rgba(6,21,43,.14) 82%,
      rgba(6,21,43,0) 100%);
  }

  .cq-unified-hero__content,
  .cq-photo-hero .split-hero-grid > div:first-child {
    width: min(46%, 650px);
    max-width: 650px;
  }
}

/* Sprint 005 Update 09: final hero alignment and bottom-edge blend.
   Keeps the approved 616px Industries geometry, raises the copy so CTAs remain
   visible, and feathers the photographic artwork into the navy at its bottom edge. */
@media (min-width: 901px) {
  .cq-unified-hero__inner,
  .cq-photo-hero .split-hero-grid,
  .command-deck.cq-home-photo-hero .command-grid {
    align-items: flex-start !important;
    padding-top: 52px !important;
    padding-bottom: 38px !important;
  }

  .cq-unified-hero__content,
  .cq-photo-hero .split-hero-grid > div:first-child,
  .command-deck.cq-home-photo-hero .hero-copy {
    align-self: flex-start;
    margin-top: 0 !important;
    transform: none !important;
  }

  .cq-unified-hero::after,
  .cq-photo-hero::after {
    /* Preserve the left-side blend and add a true bottom feather. */
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.30) 9%, #000 24%, #000 100%),
      linear-gradient(180deg, #000 0%, #000 72%, rgba(0,0,0,.82) 82%, rgba(0,0,0,.34) 92%, transparent 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.30) 9%, #000 24%, #000 100%),
      linear-gradient(180deg, #000 0%, #000 72%, rgba(0,0,0,.82) 82%, rgba(0,0,0,.34) 92%, transparent 100%);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    mask-composite: intersect;
  }

  /* Keep action rows inside the 616px hero on copy-heavy pages. */
  .cq-unified-hero .hero-actions,
  .cq-photo-hero .hero-actions {
    margin-top: 24px;
  }
}

/* Sprint 005 Update 10: final hero viewport correction.
   Removes legacy section padding, raises all inner-page copy, keeps CTAs inside
   the 616px hero, and scales the homepage artwork down so the full chess piece
   remains visible without changing the approved blended composition. */
@media (min-width: 901px) {
  .inner-page-hero.cq-unified-hero,
  .cq-photo-hero.inner-page-hero {
    padding: 0 !important;
  }

  .cq-unified-hero__inner,
  .cq-photo-hero .split-hero-grid {
    box-sizing: border-box;
    min-height: 616px !important;
    height: 616px !important;
    padding-top: 38px !important;
    padding-bottom: 34px !important;
    align-items: flex-start !important;
  }

  .cq-unified-hero__content,
  .cq-photo-hero .split-hero-grid > div:first-child {
    margin-top: 0 !important;
    align-self: flex-start !important;
  }

  .cq-unified-hero__content h1,
  .cq-photo-hero .split-hero-grid > div:first-child h1 {
    margin-top: 22px;
    margin-bottom: 14px;
  }

  .cq-unified-hero__content .lead,
  .cq-photo-hero .split-hero-grid > div:first-child .lead {
    line-height: 1.55;
  }

  .cq-unified-hero .hero-actions,
  .cq-photo-hero .hero-actions {
    margin-top: 20px !important;
  }

  .command-deck.cq-home-photo-hero {
    padding: 0 !important;
    background-size: auto 88% !important;
    background-position: right bottom !important;
  }

  .command-deck.cq-home-photo-hero .command-grid {
    box-sizing: border-box;
    min-height: 616px !important;
    height: 616px !important;
    padding-top: 42px !important;
    padding-bottom: 34px !important;
    align-items: flex-start !important;
  }

  .command-deck.cq-home-photo-hero::before {
    background:
      linear-gradient(90deg,
        #06152b 0%,
        #06152b 31%,
        rgba(6,21,43,.97) 39%,
        rgba(6,21,43,.82) 49%,
        rgba(6,21,43,.46) 63%,
        rgba(6,21,43,.12) 82%,
        rgba(6,21,43,0) 100%),
      linear-gradient(180deg,
        rgba(6,21,43,.08) 0%,
        rgba(6,21,43,0) 68%,
        rgba(6,21,43,.38) 84%,
        #06152b 100%);
  }
}

/* Sprint 005 Update 11: repair legacy hero markup and lock the inner-page standard.
   Contact, Industries, and Experience now use the same component as Platform,
   Products, Services, Implementation, Knowledge, and Leadership. */
@media (min-width: 901px) {
  .inner-page-hero.cq-unified-hero {
    position: relative;
    height: 616px !important;
    min-height: 616px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .inner-page-hero.cq-unified-hero .cq-unified-hero__inner {
    display: flex !important;
    align-items: flex-start !important;
    box-sizing: border-box;
    height: 616px !important;
    min-height: 616px !important;
    padding-top: 58px !important;
    padding-bottom: 44px !important;
  }

  .inner-page-hero.cq-unified-hero .cq-unified-hero__content {
    position: relative;
    z-index: 3;
    width: min(44%, 620px) !important;
    max-width: 620px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .inner-page-hero.cq-unified-hero .cq-unified-hero__content::before,
  .inner-page-hero.cq-unified-hero .cq-unified-hero__content::after {
    content: none !important;
    display: none !important;
  }

  .inner-page-hero.cq-unified-hero .eyebrow {
    display: inline-flex;
    margin: 0 0 24px !important;
  }

  .inner-page-hero.cq-unified-hero h1 {
    max-width: 12.5ch;
    margin: 0 0 18px !important;
    font-size: clamp(48px, 3.15vw, 62px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em !important;
  }

  .inner-page-hero.cq-unified-hero .lead {
    max-width: 620px !important;
    margin: 0 !important;
    font-size: clamp(19px, 1.22vw, 23px) !important;
    line-height: 1.52 !important;
  }

  .inner-page-hero.cq-unified-hero .hero-actions {
    display: flex !important;
    gap: 14px !important;
    margin-top: 24px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .inner-page-hero.cq-unified-hero::after {
    right: 0 !important;
    top: 0 !important;
    width: 60vw !important;
    max-width: 1120px !important;
    height: 100% !important;
    transform: none !important;
    background-size: cover !important;
    background-position: var(--cq-hero-focus, 72% 50%) !important;
  }

  .inner-page-hero.cq-unified-hero::before {
    background:
      linear-gradient(90deg,
        #06152b 0%,
        #06152b 37%,
        rgba(6,21,43,.98) 46%,
        rgba(6,21,43,.82) 57%,
        rgba(6,21,43,.40) 71%,
        rgba(6,21,43,.10) 87%,
        rgba(6,21,43,0) 100%),
      linear-gradient(180deg,
        rgba(6,21,43,0) 0%,
        rgba(6,21,43,0) 72%,
        rgba(6,21,43,.34) 86%,
        #06152b 100%) !important;
  }

  /* Longer Experience copy needs slightly tighter type, not a background box. */
  .inner-page-hero.cq-unified-hero.experience-hero h1 {
    font-size: clamp(46px, 2.95vw, 58px) !important;
    max-width: 13ch;
  }
}

/* Sprint 005 Update 12: phrase-balanced hero headings across every primary inner page.
   Manual semantic line groups prevent isolated one-word rows and preserve vertical room
   for eyebrow copy, supporting text, and CTA controls inside the 616px standard. */
@media (min-width: 901px) {
  .inner-page-hero.cq-unified-hero .cq-unified-hero__inner {
    padding-top: 72px !important;
    padding-bottom: 34px !important;
  }

  .inner-page-hero.cq-unified-hero h1 {
    max-width: 650px !important;
    font-size: clamp(44px, 2.85vw, 58px) !important;
    line-height: 1.04 !important;
    text-wrap: balance;
  }

  .inner-page-hero.cq-unified-hero h1 br {
    display: block;
  }

  .inner-page-hero.cq-unified-hero .eyebrow {
    margin-bottom: 28px !important;
  }

  .inner-page-hero.cq-unified-hero .lead {
    max-width: 610px !important;
  }

  .inner-page-hero.cq-unified-hero .hero-actions {
    margin-top: 20px !important;
  }
}

@media (max-width: 900px) {
  .inner-page-hero.cq-unified-hero h1 br {
    display: none;
  }
}

/* Sprint 005 Update 13: homepage hero image blend refinement.
   Keeps the approved homepage copy and navigation intact while isolating the clean
   artwork on a masked right-side layer. Removes the visible vertical seam and
   feathers the image into CQube navy along both the left and bottom edges. */
@media (min-width: 901px) {
  .command-deck.cq-home-photo-hero {
    position: relative;
    isolation: isolate;
    background-image: none !important;
    background-color: #06152b !important;
    overflow: hidden !important;
  }

  .command-deck.cq-home-photo-hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: min(64vw, 1220px);
    height: 100%;
    pointer-events: none;
    background-image: url('../../images/hero/enterprise/home.webp');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
    opacity: .98;
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 5%, rgba(0,0,0,.68) 14%, #000 26%, #000 100%),
      linear-gradient(180deg, rgba(0,0,0,.82) 0%, #000 10%, #000 78%, rgba(0,0,0,.76) 88%, rgba(0,0,0,.18) 97%, transparent 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 5%, rgba(0,0,0,.68) 14%, #000 26%, #000 100%),
      linear-gradient(180deg, rgba(0,0,0,.82) 0%, #000 10%, #000 78%, rgba(0,0,0,.76) 88%, rgba(0,0,0,.18) 97%, transparent 100%);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    mask-composite: intersect;
  }

  .command-deck.cq-home-photo-hero::before {
    z-index: 1 !important;
    background:
      linear-gradient(90deg,
        #06152b 0%,
        #06152b 34%,
        rgba(6,21,43,.98) 41%,
        rgba(6,21,43,.88) 49%,
        rgba(6,21,43,.58) 58%,
        rgba(6,21,43,.24) 69%,
        rgba(6,21,43,.06) 82%,
        rgba(6,21,43,0) 100%),
      linear-gradient(180deg,
        rgba(6,21,43,.22) 0%,
        rgba(6,21,43,0) 12%,
        rgba(6,21,43,0) 76%,
        rgba(6,21,43,.38) 88%,
        #06152b 100%) !important;
  }

  .command-deck.cq-home-photo-hero .command-grid,
  .command-deck.cq-home-photo-hero .enter-strip {
    position: relative;
    z-index: 2;
  }
}

@media (max-width: 900px) {
  .command-deck.cq-home-photo-hero {
    background-image: url('../../images/hero/enterprise/home.webp') !important;
    background-size: cover !important;
    background-position: 68% center !important;
  }

  .command-deck.cq-home-photo-hero::after {
    content: none !important;
    display: none !important;
  }
}

/* Sprint 005 Update 14: homepage seam repair.
   Return the homepage to a single rectangular environmental image with overlay
   gradients. No mask, ellipse, clipping path, or separate image panel. */
@media (min-width: 901px) {
  .command-deck.cq-home-photo-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;
    background-color: #06152b !important;
    background-image: url('../../images/hero/enterprise/home.webp') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: auto 100% !important;
  }

  .command-deck.cq-home-photo-hero::after {
    content: none !important;
    display: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  .command-deck.cq-home-photo-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1 !important;
    pointer-events: none;
    background:
      linear-gradient(90deg,
        #06152b 0%,
        #06152b 31%,
        rgba(6,21,43,.99) 38%,
        rgba(6,21,43,.94) 44%,
        rgba(6,21,43,.79) 50%,
        rgba(6,21,43,.50) 57%,
        rgba(6,21,43,.20) 65%,
        rgba(6,21,43,.05) 73%,
        rgba(6,21,43,0) 81%),
      linear-gradient(180deg,
        rgba(6,21,43,.18) 0%,
        rgba(6,21,43,0) 10%,
        rgba(6,21,43,0) 76%,
        rgba(6,21,43,.20) 86%,
        rgba(6,21,43,.65) 94%,
        #06152b 100%) !important;
  }

  .command-deck.cq-home-photo-hero .command-grid,
  .command-deck.cq-home-photo-hero .enter-strip {
    position: relative;
    z-index: 2;
  }
}

/* Sprint 005 Update 15: true homepage environmental blend.
   Uses one rectangular artwork layer with a single horizontal feather mask.
   No ellipse, no rounded panel, no circular clipping. The bottom fade is
   handled independently by the hero overlay so the image dissolves into navy. */
@media (min-width: 901px) {
  .command-deck.cq-home-photo-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;
    background-color: #06152b !important;
    background-image: none !important;
  }

  .command-deck.cq-home-photo-hero::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    z-index: 0;
    inset: 0 0 0 auto;
    width: 74%;
    height: 100%;
    pointer-events: none;
    background-image: url('../../images/hero/enterprise/home.webp');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 100%;
    opacity: 1;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: none !important;
    /* One mask only: soft left feather, never an oval. */
    -webkit-mask-image: linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.06) 8%,
      rgba(0,0,0,.20) 16%,
      rgba(0,0,0,.48) 25%,
      rgba(0,0,0,.78) 34%,
      #000 44%,
      #000 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.06) 8%,
      rgba(0,0,0,.20) 16%,
      rgba(0,0,0,.48) 25%,
      rgba(0,0,0,.78) 34%,
      #000 44%,
      #000 100%);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
  }

  .command-deck.cq-home-photo-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1 !important;
    pointer-events: none;
    background:
      linear-gradient(90deg,
        #06152b 0%,
        #06152b 30%,
        rgba(6,21,43,.99) 36%,
        rgba(6,21,43,.94) 42%,
        rgba(6,21,43,.76) 49%,
        rgba(6,21,43,.43) 57%,
        rgba(6,21,43,.16) 65%,
        rgba(6,21,43,0) 74%),
      linear-gradient(180deg,
        rgba(6,21,43,.20) 0%,
        rgba(6,21,43,0) 11%,
        rgba(6,21,43,0) 72%,
        rgba(6,21,43,.18) 82%,
        rgba(6,21,43,.58) 92%,
        #06152b 100%) !important;
  }

  .command-deck.cq-home-photo-hero .command-grid,
  .command-deck.cq-home-photo-hero .enter-strip {
    position: relative;
    z-index: 2;
  }
}

/* Sprint 005 Update 16: homepage hero final blend.
   The artwork now spans the full hero canvas beneath the content. The navy
   treatment is an overlay on top of the image, eliminating the visible panel
   boundary while preserving the full chess piece and the existing layout. */
@media (min-width: 901px) {
  .command-deck.cq-home-photo-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;
    background: #06152b !important;
  }

  .command-deck.cq-home-photo-hero::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    z-index: 0;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none;
    background-image: url('../../images/hero/enterprise/home.webp') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: auto 100% !important;
    opacity: 1 !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  .command-deck.cq-home-photo-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1 !important;
    pointer-events: none;
    background:
      linear-gradient(90deg,
        #06152b 0%,
        #06152b 28%,
        rgba(6,21,43,.99) 35%,
        rgba(6,21,43,.95) 42%,
        rgba(6,21,43,.82) 49%,
        rgba(6,21,43,.60) 56%,
        rgba(6,21,43,.34) 63%,
        rgba(6,21,43,.14) 70%,
        rgba(6,21,43,0) 78%),
      linear-gradient(180deg,
        rgba(6,21,43,.18) 0%,
        rgba(6,21,43,0) 12%,
        rgba(6,21,43,0) 72%,
        rgba(6,21,43,.16) 82%,
        rgba(6,21,43,.56) 92%,
        #06152b 100%) !important;
  }

  .command-deck.cq-home-photo-hero .command-grid,
  .command-deck.cq-home-photo-hero .enter-strip {
    position: relative;
    z-index: 2;
  }
}

/* Sprint 005 Update 17: true seamless homepage blend.
   Uses a purpose-built ultrawide background asset whose left side is already
   feathered into CQube navy. This removes the hard vertical boundary without
   stretching, masking, or cropping the chess composition. */
@media (min-width: 901px) {
  .command-deck.cq-home-photo-hero {
    background-color: #06152b !important;
    background-image: url('../../images/hero/enterprise/home-blended.webp') !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 100% 100% !important;
  }

  .command-deck.cq-home-photo-hero::after {
    content: none !important;
    display: none !important;
    background-image: none !important;
  }

  .command-deck.cq-home-photo-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1 !important;
    pointer-events: none;
    background:
      linear-gradient(90deg,
        rgba(6,21,43,.36) 0%,
        rgba(6,21,43,.20) 30%,
        rgba(6,21,43,.08) 48%,
        rgba(6,21,43,0) 65%),
      linear-gradient(180deg,
        rgba(6,21,43,.10) 0%,
        rgba(6,21,43,0) 14%,
        rgba(6,21,43,0) 80%,
        rgba(6,21,43,.22) 91%,
        rgba(6,21,43,.72) 100%) !important;
  }

  .command-deck.cq-home-photo-hero .hero-visual {
    display: none !important;
  }
}
