/* ==========================================================================
   UNICUS MARKETING — HOMEPAGE STYLESHEET
   File: /assets/css/index.css
   Page: /index.php

   AI / DEVELOPER REFERENCE
   --------------------------------------------------------------------------
   PURPOSE
   - Contains only presentation rules unique to the Unicus homepage.
   - Loads after /assets/css/global.css.
   - Replaces the retired /assets/css/sections.css dependency.
   - Every ordinary selector is scoped beneath .page-home.

   APPROVED FONT SYSTEM
   - Display/headlines: "Bebas Neue", sans-serif.
   - Body/supporting text: "Inter", Arial, sans-serif.
   - Fonts are loaded by index.php and defined globally in global.css.
   - Do not introduce Oswald or another font without explicit approval.

   APPROVED COLOR SYSTEM
   - Primary copper: #e48240.
   - Shared brand colors and global variables are defined in global.css.
   - Page-local variables are permitted only when unique to this homepage.

   REQUIRED ARCHITECTURE
   - Keep global foundations, header, navigation, footer, shared buttons,
     shared forms, accessibility rules, and reusable utilities in global.css.
   - Keep homepage section layout and homepage-only responsive behavior here.
   - Do not place CSS inside index.php.
   - Do not use inline style attributes except legitimate dynamic values.
   - Do not restore sections.css or add a /pages/ stylesheet directory.
   - Preserve approved content and appearance during structural maintenance.

   SECTION ORDER
   01. Hero
   02. Client Logo Marquee
   03. Business Challenge
   04. Work Metrics
   05. Relationship / Growth Gap
   06. System Strips
   07. Owner-Led Direction
   08. Growth Engine
   09. Creative Production
   10. Operating System
   11. AI-Powered Assistance
   12. Case Studies / Proof
   13. Final Contact CTA
   14. Homepage Responsive Rules
   ========================================================================== */


/* Homepage hero button sizing formerly stored as inline CSS. */
.page-home .hero-buttons .btn-primary,
.page-home .hero-buttons .btn-outline {
  padding: 16px 28px;
  font-size: 13px;
}

/* =========================================================
   UNICUS MARKETING - TEMPLATE SPECIFIC STYLESHEET (template.css)
   ========================================================= */

/* =========================================================
   START: 07. HERO SECTION
   ========================================================= */
.page-home #hero {
  /* EDITABLE HERO CONTROLS */
  --hero-headline-size: clamp(48px, 6.4vw, 112px);
  --hero-headline-line-height: .88;
  --hero-headline-letter-spacing: .025em;
  --hero-subtext-size: clamp(16px, 1.2vw, 19px);
  --hero-stat-size: 30px;
  --hero-overlay-left: .75;
  --hero-overlay-mid: .55;
  --hero-overlay-right: .30;

  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #080808;
}

.page-home .hero-bg,
.page-home .hero-grid,
.page-home .hero-glow {
  position: absolute;
  inset: 0;
}

.page-home .hero-bg {
  background: #080808;
}

.page-home .hero-video,
.page-home .hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-home .hero-video {
  opacity: .85;
  transform: scale(1.01);
  filter: contrast(1.02);
  backface-visibility: hidden;
}

.page-home .hero-bg-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
      rgba(8, 8, 8, var(--hero-overlay-left)),
      rgba(8, 8, 8, var(--hero-overlay-mid)),
      rgba(8, 8, 8, var(--hero-overlay-right)));
}

.page-home .hero-glow {
  pointer-events: none;
}

.page-home .hero-glow-1,
.page-home .hero-glow-2 {
  position: absolute;
  border-radius: 50%;
  background: rgba(203, 138, 91, .05);
  filter: blur(110px);
}

.page-home .hero-glow-1 {
  top: 25%;
  left: 25%;
  width: 600px;
  height: 600px;
}

.page-home .hero-glow-2 {
  right: 33%;
  bottom: 25%;
  width: 400px;
  height: 400px;
}

.page-home .hero-line-v,
.page-home .hero-line-h {
  position: absolute;
  pointer-events: none;
}

.page-home .hero-line-v {
  top: 0;
  right: 20%;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(203, 138, 91, .15), transparent);
}

.page-home .hero-line-h {
  left: 0;
  right: 0;
  top: 30%;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(203, 138, 91, .20), transparent);
}

.page-home .hero-content {
  position: relative;
  z-index: 10;
  width: min(1400px, 100%);
  margin: 0 auto;
  padding: 128px 40px 80px;
}

.page-home .hero-copy-wrap {
  max-width: 980px;
}

.page-home .hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
}

.page-home .eyebrow-line {
  width: 48px;
  height: 1px;
  background: var(--gold);
}


/* =========================================================
   HERO HEADLINE
========================================================= */

.page-home .hero-headline {
  margin-bottom: 32px;
  font-family: 'Bebas Neue', sans-serif;
  line-height: .99;
  letter-spacing: .025em;
  color: var(--text);
}

.page-home .hero-headline .hero-line {
  display: block;
  width: max-content;
  white-space: nowrap;
  font-size: clamp(42px, 5.2vw, 120px);
}

.page-home .hero-headline .hero-line-white {
  color: #ffffff;
}

.page-home .hero-headline .hero-line-gold {
  color: var(--gold);
}

/* Optional slight stagger */
.page-home .hero-headline .hero-line:nth-child(2) {
  margin-left: .02em;
}

.page-home .hero-headline .hero-line:nth-child(3) {
  margin-left: .04em;
}

@media (max-width: 760px) {
  .page-home .hero-headline .hero-line {
    width: auto;
    white-space: normal;
    font-size: clamp(42px, 13vw, 76px);
  }

  .page-home .hero-headline .hero-line:nth-child(2),
.page-home .hero-headline .hero-line:nth-child(3) {
    margin-left: 0;
  }
}

.page-home .hero-subtext {
  max-width: 700px;
  margin-bottom: 48px;
  color: var(--text-muted);
  font-size: var(--hero-subtext-size);
  font-weight: 300;
  line-height: 1.7;
}

.page-home .hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 54px;
}

.page-home .hero-buttons .btn-primary,
.page-home .hero-buttons .btn-outline {
  min-height: 56px;
}

.page-home .hero-stats-wrap {
  width: min(1280px, 100%);
  margin-top: 56px;
}

.page-home .hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding-top: 42px;
  border-top: 1px solid rgba(255, 255, 255, .10);
}

.page-home .hero-stats>div {
  position: relative;
  padding: 0 46px;
}

.page-home .hero-stats>div:first-child {
  padding-left: 0;
}

.page-home .hero-stats>div:last-child {
  padding-right: 0;
}

.page-home .hero-stats>div:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 118px;
  transform: translateY(-50%);
  background: linear-gradient(to bottom, rgba(228, 130, 64, 0), rgba(228, 130, 64, .65), rgba(228, 130, 64, 0));
}

.page-home .stat-value {
  margin-bottom: 12px;
  font-family: var(--display-font);
  font-size: var(--hero-stat-size);
  line-height: 1.05;
  color: var(--text);
  letter-spacing: .04em;
}

.page-home .stat-label {
  color: rgba(255, 255, 255, .52);
  font-size: 11px;
  line-height: 1.45;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.page-home .hero-scroll-indicator {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  color: #444444;
  transition: color .2s ease;
  animation: bounce 2s infinite;
}

.page-home .hero-scroll-indicator:hover {
  color: var(--gold);
}

/* =========================================================
   END: 07. HERO SECTION
   ========================================================= */

/* =========================================================
   START: 08. LOGO MARQUEE
   ========================================================= */
.page-home .um-logo-marquee {
  --logo-height: 150px;
  --logo-gap: 110px;
  --logo-speed: 42s;
  position: relative;
  overflow: hidden;
  padding: 76px 0 48px;
  background: radial-gradient(circle at 20% 35%, rgba(228, 130, 64, .09), transparent 34%), #070707;
  border-top: 1px solid rgba(255, 255, 255, .06);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.page-home .um-logo-intro {
  width: min(980px, var(--full-width));
  margin: 0 auto 38px;
  text-align: center;
}

.page-home .um-logo-intro h2 {
  margin: 18px 0;
  font-family: var(--display-font);
  font-size: clamp(48px, 4.8vw, 96px);
  line-height: .9;
  letter-spacing: .015em;
  color: #fff;
}

.page-home .um-logo-intro h2 span {
  color: var(--gold);
}

.page-home .um-logo-intro p {
  max-width: 780px;
  margin: 0 auto;
  color: rgba(255, 255, 255, .62);
  font-size: 18px;
  line-height: 1.75;
}

.page-home .um-logo-marquee::before,
.page-home .um-logo-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 4;
  width: 180px;
  pointer-events: none;
}

@media (min-width: 761px) {
  .page-home .um-logo-marquee::before {
    left: 0;
    background: linear-gradient(to right, #070707, transparent);
  }

  .page-home .um-logo-marquee::after {
    right: 0;
    background: linear-gradient(to left, #070707, transparent);
  }
}

.page-home .um-logo-track-wrap {
  overflow: hidden;
  width: 100%;
}

.page-home .um-logo-track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: var(--logo-gap);
  animation: clientLogoScroll var(--logo-speed) linear infinite;
}

.page-home .um-logo-item img {
  height: var(--logo-height);
  width: auto;
  max-width: none;
  opacity: 1;
  filter: none;
  transition: transform .35s ease, opacity .35s ease;
}

.page-home .um-logo-item:hover img {
  transform: scale(1.04);
}


/* =========================================================
/* =========================================================
   END: 08. LOGO MARQUEE
   ========================================================= */

/* =========================================================
   START: 08.5. THE CHALLENGE SECTION
   ========================================================= */
.page-home .um-challenge {
  --um-copper: #e48240;
  --um-black: #080808;
  --um-white: #ffffff;
  --um-muted: rgba(255, 255, 255, 0.68);
  --um-line: rgba(255, 255, 255, 0.10);

  position: relative;
  overflow: hidden;
  padding: 110px 24px;
  background: var(--um-black);
  color: var(--um-white);
  border-top: 1px solid rgba(228, 130, 64, 0.10);
  border-bottom: 1px solid rgba(228, 130, 64, 0.10);
}

.page-home .um-challenge-inner {
  width: min(1420px, 100%);
  margin: 0 auto;
}

.page-home .um-challenge-layout {
  display: grid;
  grid-template-columns: minmax(350px, 0.76fr) minmax(600px, 1.24fr);
  min-height: 610px;
  background: #0d0d0d;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.34);
}

.page-home .um-challenge-copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 70px 64px;
  background:
    linear-gradient(145deg,
      rgba(255, 255, 255, 0.025),
      rgba(255, 255, 255, 0.006));
}

.page-home .um-challenge-copy::after {
  content: "";
  position: absolute;
  top: 56px;
  right: -1px;
  bottom: 56px;
  width: 1px;
  background: linear-gradient(180deg,
      transparent,
      rgba(228, 130, 64, 0.72),
      transparent);
  z-index: 4;
}

.page-home .um-challenge .cinema-eyebrow {
  margin-bottom: 26px;
}

.page-home .um-challenge-title {
  margin: 0 0 26px;
  max-width: 500px;
  font-family: inherit;
  font-size: clamp(44px, 4.4vw, 68px);
  font-weight: 800;
  line-height: 0.96;
  letter-spacing: -0.05em;
  text-transform: uppercase;
}

.page-home .um-challenge-title span {
  display: block;
  color: var(--um-copper);
}

.page-home .um-challenge-lead {
  max-width: 470px;
  margin: 0;
  font-family: inherit;
  font-size: 17px;
  line-height: 1.74;
  color: var(--um-muted);
}

.page-home .um-challenge-lead strong {
  color: var(--um-white);
  font-weight: 600;
}

.page-home .um-challenge-rule {
  width: 52px;
  height: 2px;
  margin: 32px 0 22px;
  background: var(--um-copper);
}

.page-home .um-challenge-point {
  max-width: 455px;
  margin: 0;
  font-family: inherit;
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -0.025em;
  color: rgba(255, 255, 255, 0.94);
}

.page-home .um-challenge-point span {
  color: var(--um-copper);
}

.page-home .um-challenge-visual {
  position: relative;
  min-height: 610px;
  overflow: hidden;
  isolation: isolate;
}

.page-home .um-challenge-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: contrast(1.18) brightness(0.66) saturate(0.78);
  transform: scale(1.025);
  z-index: 0;
}

.page-home .um-challenge-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg,
      rgba(13, 13, 13, 0.82) 0%,
      rgba(13, 13, 13, 0.28) 32%,
      rgba(13, 13, 13, 0.08) 62%,
      rgba(13, 13, 13, 0.22) 100%),
    linear-gradient(180deg,
      rgba(0, 0, 0, 0.10),
      rgba(0, 0, 0, 0.04) 55%,
      rgba(0, 0, 0, 0.76) 100%);
}

.page-home .um-challenge-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(circle at 68% 52%,
      rgba(228, 130, 64, 0.20),
      transparent 28%);
  pointer-events: none;
}

.page-home .um-challenge-visual-copy {
  position: absolute;
  left: 52px;
  right: 52px;
  bottom: 48px;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 670px;
}

.page-home .um-challenge-signal {
  position: relative;
  min-height: 98px;
  padding: 18px 18px 18px 20px;
  background: rgba(8, 8, 8, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(8px);
}

.page-home .um-challenge-signal::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 36px;
  height: 2px;
  background: var(--um-copper);
}

.page-home .um-challenge-signal span {
  display: block;
  margin-bottom: 8px;
  font-family: inherit;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--um-copper);
}

.page-home .um-challenge-signal strong {
  display: block;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.32;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.94);
}

.page-home .um-challenge-caption {
  position: absolute;
  top: 42px;
  right: 46px;
  z-index: 3;
  max-width: 320px;
  padding-left: 18px;
  border-left: 1px solid rgba(228, 130, 64, 0.66);
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

@media (max-width: 1100px) {
  .page-home .um-challenge-layout {
    grid-template-columns: 1fr;
  }

  .page-home .um-challenge-copy {
    padding: 64px 52px;
  }

  .page-home .um-challenge-copy::after {
    display: none;
  }

  .page-home .um-challenge-visual {
    min-height: 560px;
  }
}

@media (max-width: 720px) {
  .page-home .um-challenge {
    padding: 78px 20px;
  }

  .page-home .um-challenge-copy {
    padding: 48px 28px 52px;
  }

  .page-home .um-challenge-title {
    font-size: clamp(42px, 13vw, 58px);
  }

  .page-home .um-challenge-visual {
    min-height: 620px;
  }

  .page-home .um-challenge-visual img {
    object-position: 58% center;
  }

  .page-home .um-challenge-caption {
    top: 28px;
    right: 24px;
    left: 24px;
    max-width: none;
  }

  .page-home .um-challenge-visual-copy {
    left: 24px;
    right: 24px;
    bottom: 26px;
    grid-template-columns: 1fr;
  }

  .page-home .um-challenge-signal {
    min-height: auto;
  }
}

/* =========================================================
   END: 08.5. THE CHALLENGE SECTION
   ========================================================= */

/* =========================================================
   START: 08.6. ANIMATED COUNTER SECTION
   ========================================================= */
.page-home .um-counter-section {
  --counter-bg: var(--bg-mid);
  --counter-gold: var(--gold);
  --counter-text: var(--text);
  --counter-border: var(--border-soft);
  --counter-display-font: var(--display-font);

  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  padding: 90px 32px 105px;
  background:
    radial-gradient(circle at 50% 10%,
      color-mix(in srgb, var(--counter-gold) 10%, transparent),
      transparent 38%),
    var(--counter-bg);
  border-top: 1px solid var(--counter-border);
  border-bottom: 1px solid var(--counter-border);
}

.page-home .um-counter-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.16;
  background:
    linear-gradient(to right,
      color-mix(in srgb, var(--counter-text) 4%, transparent) 1px,
      transparent 1px),
    linear-gradient(to bottom,
      color-mix(in srgb, var(--counter-text) 2%, transparent) 1px,
      transparent 1px);
  background-size: 180px 100%, 100% 140px;
}

.page-home .um-counter-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
}

.page-home .um-counter-header {
  margin-bottom: 76px;
  text-align: center;
}

.page-home .um-counter-header .cinema-eyebrow {
  justify-content: center;
  margin-bottom: 16px;
  color: var(--counter-text);
}

.page-home .um-counter-header h2 {
  margin: 0;
  font-family: var(--counter-display-font);
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: 0.012em;
  color: var(--counter-text);
  text-transform: uppercase;
}

.page-home .um-counter-header h2 span {
  color: var(--counter-gold);
}

.page-home .um-counter-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
  gap: 0;
}

.page-home .um-counter-card {
  position: relative;
  min-width: 0;
  padding: 0 24px;
  text-align: center;
  background: transparent;
  border: none;
  transition: transform 0.3s ease;
}

.page-home .um-counter-card:not(:nth-child(6n))::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 0;
  width: 1px;
  height: 112px;
  background: linear-gradient(to bottom,
      transparent,
      color-mix(in srgb, var(--counter-gold) 55%, transparent),
      transparent);
}

.page-home .um-counter-card:hover {
  transform: translateY(-3px);
}

.page-home .um-counter-icon {
  width: 34px;
  height: 34px;
  margin: 0 auto 20px;
  color: color-mix(in srgb, var(--counter-gold) 84%, transparent);
  opacity: 0.92;
}

.page-home .um-counter-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-home .um-counter-number {
  margin-bottom: 12px;
  font-family: var(--counter-display-font);
  font-size: clamp(42px, 3.3vw, 58px);
  line-height: 0.9;
  letter-spacing: 0.025em;
  color: var(--counter-gold);
  white-space: nowrap;
}

.page-home .um-counter-label {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0.035em;
  color: var(--counter-text);
  text-transform: uppercase;
}

@media (max-width: 1300px) {
  .page-home .um-counter-section {
    padding-right: 28px;
    padding-left: 28px;
  }

  .page-home .um-counter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 68px;
  }

  .page-home .um-counter-card {
    padding: 0 30px;
  }

  .page-home .um-counter-card::after {
    display: none;
  }

  .page-home .um-counter-card:not(:nth-child(3n))::after {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    right: 0;
    width: 1px;
    height: 112px;
    background: linear-gradient(to bottom,
        transparent,
        color-mix(in srgb, var(--counter-gold) 55%, transparent),
        transparent);
  }
}

@media (max-width: 800px) {
  .page-home .um-counter-section {
    padding: 70px 20px 80px;
  }

  .page-home .um-counter-header {
    margin-bottom: 58px;
  }

  .page-home .um-counter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 52px;
  }

  .page-home .um-counter-card {
    padding: 0 24px;
  }

  .page-home .um-counter-card::after {
    display: none !important;
  }

  .page-home .um-counter-card:not(:nth-child(2n))::after {
    content: "";
    display: block !important;
    position: absolute;
    top: 8px;
    right: 0;
    width: 1px;
    height: 106px;
    background: linear-gradient(to bottom,
        transparent,
        color-mix(in srgb, var(--counter-gold) 48%, transparent),
        transparent);
  }

  .page-home .um-counter-number {
    font-size: clamp(40px, 8vw, 54px);
  }
}

@media (max-width: 479px) {
  .page-home .um-counter-section {
    padding: 60px 20px 70px;
  }

  .page-home .um-counter-header {
    margin-bottom: 46px;
  }

  .page-home .um-counter-header h2 {
    font-size: clamp(34px, 11vw, 46px);
  }

  .page-home .um-counter-grid {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .page-home .um-counter-card {
    padding: 0;
  }

  .page-home .um-counter-card::after {
    display: none !important;
  }

  .page-home .um-counter-icon {
    width: 32px;
    height: 32px;
    margin-bottom: 16px;
  }

  .page-home .um-counter-number {
    font-size: 50px;
  }
}

/* =========================================================
   END: 08.6. ANIMATED COUNTER SECTION
   ========================================================= */

/* =========================================================
   START: 09. GAP - START WHERE IT MAKES SENSE
   ========================================================= */
.page-home #gap.um-gap,
.page-home .um-gap {
  /* EDITABLE GAP CONTROLS */
  --gap-heading-size: clamp(43px, 4.5vw, 76px);
  --gap-lead-size: 24px;
  --gap-copy-size: 18px;
  --gap-image-height: clamp(560px, 46vw, 760px);

  --gap-build-heading-size: clamp(31px, 2.9vw, 50px);
  --gap-step-heading-size: clamp(22px, 1.6vw, 29px);
  --gap-step-copy-size: 15.5px;

  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 140px 0 118px;
  background: #050505;
}

/* Background grid */

.page-home #gap.um-gap::before,
.page-home .um-gap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .24;
  pointer-events: none;
  background:
    linear-gradient(to right, rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: 180px 100%, 100% 132px;
}

/* Ambient gold glow */

.page-home #gap.um-gap::after,
.page-home .um-gap::after {
  content: "";
  position: absolute;
  left: -18%;
  top: 0;
  z-index: 1;
  width: 46vw;
  height: 100%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(228, 130, 64, .14), transparent 70%);
  filter: blur(92px);
  opacity: .62;
}

/* Top background image */

.page-home .um-gap-bg {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  width: 100vw;
  height: var(--gap-image-height);
  transform: translateX(-50%);
  pointer-events: none;
  overflow: hidden;
}

.page-home .um-gap-bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.page-home .um-gap-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(to right,
      rgba(0, 0, 0, .50) 0%,
      rgba(0, 0, 0, .10) 42%,
      rgba(0, 0, 0, .60) 100%),
    linear-gradient(to bottom,
      rgba(0, 0, 0, .10) 0%,
      rgba(0, 0, 0, .12) 68%,
      #050505 100%);
}

/* Large background word */

.page-home .um-gap-word {
  position: absolute;
  top: 50%;
  right: -120px;
  z-index: 2;
  transform: translateY(-50%);
  font-family: var(--display-font);
  font-size: clamp(220px, 22vw, 520px);
  line-height: .8;
  letter-spacing: .04em;
  color: rgba(255, 255, 255, .018);
  pointer-events: none;
  user-select: none;
}

/* Inner wrapper */

.page-home .um-gap-inner {
  position: relative;
  z-index: 3;
  width: min(1920px, calc(100% - 120px));
  margin: 0 auto;
}

/* Intro */

.page-home .um-gap-intro {
  position: relative;
  z-index: 3;
  max-width: 1280px;
  margin-bottom: 72px;
}

.page-home .um-gap-intro h2 {
  margin: 0;
  font-family: var(--display-font);
  font-size: var(--gap-heading-size);
  line-height: .88;
  color: #fff;
  font-weight: 400;
  letter-spacing: .012em;
}

.page-home .um-gap-intro h2 span {
  color: rgba(255, 255, 255, .28);
}

.page-home .um-gap-intro h2 em {
  color: var(--gold);
  font-style: normal;
}

.page-home .um-gap-lead {
  max-width: 920px;
  margin-top: 34px;
  color: rgba(255, 255, 255, .88);
  font-size: var(--gap-lead-size);
  line-height: 1.45;
}

.page-home .um-gap-copy {
  max-width: 920px;
  margin-top: 24px;
  color: rgba(255, 255, 255, .60);
  font-size: var(--gap-copy-size);
  line-height: 1.8;
}

/* =========================================================
   END: 09. GAP - START WHERE IT MAKES SENSE
   ========================================================= */


/* =========================================================
   START: 09.5. HOW THE RELATIONSHIP BUILDS
   ========================================================= */
.page-home .um-gap-relationship {
  --gap-heading-size: clamp(43px, 4.5vw, 76px);
  --gap-build-heading-size: clamp(31px, 2.9vw, 50px);
  --gap-step-heading-size: clamp(22px, 1.6vw, 29px);
  --gap-step-copy-size: 15.5px;

  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 0 0 118px;
  background: #050505;
}

.page-home .um-gap-build {
  position: relative;
  z-index: 4;

  width: min(1580px, 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns: minmax(360px, .62fr) minmax(680px, 1.38fr);
  gap: clamp(46px, 5vw, 92px);

  padding-top: 56px;
  border-top: 1px solid rgba(255, 255, 255, .10);
}

/* Center divider */

.page-home .um-gap-build::before {
  content: "";
  position: absolute;
  top: 56px;
  bottom: 0;
  left: 34%;
  width: 1px;
  pointer-events: none;
  background: linear-gradient(to bottom,
      rgba(228, 130, 64, 0),
      rgba(228, 130, 64, .42),
      rgba(228, 130, 64, 0));
  opacity: .42;
}

/* Left editorial block */

.page-home .um-gap-build-left {
  position: relative;
  z-index: 2;
  align-self: start;
  padding-right: clamp(28px, 3.5vw, 60px);
}

.page-home .um-gap-build-left::before {
  content: "";
  position: absolute;
  left: 0;
  top: -57px;
  width: 190px;
  height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
  opacity: .76;
}

.page-home .um-gap-build-left span {
  display: block;
  margin-bottom: 22px;

  color: var(--gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .26em;
  line-height: 1.3;
  text-transform: uppercase;
}

.page-home .um-gap-build-left h3 {
  max-width: 620px;
  margin: 0 0 28px;

  font-family: var(--display-font);
  color: #ffffff;
  font-size: var(--gap-heading-size);
  line-height: .88;
  letter-spacing: .012em;
  font-weight: 400;
}

.page-home .um-gap-build-left p {
  max-width: 520px;
  margin: 0;

  color: rgba(255, 255, 255, .64);
  font-size: 16px;
  line-height: 1.7;
}

/* Right side sequence */

.page-home .um-gap-build-right {
  position: relative;
  z-index: 2;

  display: grid;
  gap: 0;
}

/* Individual steps */

.page-home .um-gap-step {
  position: relative;

  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 28px;

  padding: 0 0 34px;
  margin-bottom: 34px;

  border-bottom: 1px solid rgba(255, 255, 255, .085);
}

.page-home .um-gap-step:last-child {
  margin-bottom: 0;
}

.page-home .um-gap-step::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 180px;
  height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
  opacity: .65;
}

.page-home .um-gap-step::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 24px;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(228, 130, 64, .14);
  transform: rotate(45deg);
  opacity: .32;
  pointer-events: none;
}

/* Step number */

.page-home .um-gap-step-num {
  font-family: var(--display-font);
  color: rgba(228, 130, 64, .92);
  font-size: clamp(48px, 3.8vw, 82px);
  line-height: .76;
  letter-spacing: .035em;
  align-self: center;
}

/* Step copy */

.page-home .um-gap-step-copy {
  position: relative;
  z-index: 2;
  max-width: 820px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.page-home .um-gap-step-copy span {
  display: block;
  margin-bottom: 12px;

  color: var(--gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .24em;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-home .um-gap-step-copy h4 {
  max-width: 760px;
  margin: 0 0 14px;

  color: #ffffff;
  font-size: var(--gap-step-heading-size);
  line-height: 1;
  letter-spacing: -.03em;
  font-weight: 820;
}

.page-home .um-gap-step-copy p {
  max-width: 720px;
  margin: 0;

  color: rgba(255, 255, 255, .62);
  font-size: var(--gap-step-copy-size);
  line-height: 1.72;
}

/* Hover */

.page-home .um-gap-step:hover .um-gap-step-num {
  color: #ffffff;
}

.page-home .um-gap-step:hover::after {
  border-color: rgba(228, 130, 64, .34);
  opacity: .72;
}

/* Responsive */

@media (max-width: 1180px) {
  .page-home .um-gap-build {
    grid-template-columns: 1fr;
    gap: 62px;
  }

  .page-home .um-gap-build::before {
    display: none;
  }

  .page-home .um-gap-build-left {
    padding-right: 0;
  }

  .page-home .um-gap-build-left h3 {
    max-width: 900px;
  }

  .page-home .um-gap-build-left p {
    max-width: 780px;
  }
}

@media (max-width: 900px) {

  .page-home #gap.um-gap,
.page-home .um-gap,
.page-home .um-gap-relationship {
    --gap-heading-size: clamp(54px, 12vw, 96px);
    --gap-lead-size: 21px;
    --gap-copy-size: 17px;
    --gap-build-heading-size: clamp(48px, 10vw, 84px);
  }

  .page-home .um-gap-inner {
    width: calc(100vw - 56px);
  }

  .page-home .um-gap-intro {
    margin-bottom: 74px;
  }

  .page-home .um-gap-build {
    padding-top: 60px;
  }

  .page-home .um-gap-build-left::before {
    top: -61px;
  }
}

@media (max-width: 720px) {

  .page-home #gap.um-gap,
.page-home .um-gap,
.page-home .um-gap-relationship {
    --gap-heading-size: clamp(48px, 14vw, 82px);
    --gap-lead-size: 20px;
    --gap-copy-size: 16px;
    --gap-build-heading-size: clamp(44px, 13vw, 72px);
    --gap-step-heading-size: clamp(29px, 9vw, 40px);
    --gap-step-copy-size: 15px;
    --gap-image-height: 620px;
  }

  .page-home #gap.um-gap,
.page-home .um-gap {
    padding: 92px 0 76px;
  }

  .page-home .um-gap-inner {
    width: calc(100vw - 40px);
  }

  .page-home .um-gap-word {
    display: none;
  }

  .page-home .um-gap-intro {
    margin-bottom: 64px;
  }

  .page-home .um-gap-step {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-bottom: 38px;
    margin-bottom: 38px;
  }

  .page-home .um-gap-step-num {
    font-size: 72px;
  }

  .page-home .um-gap-step::after {
    width: 42px;
    height: 42px;
    right: 10px;
    bottom: 24px;
  }

  .page-home .um-gap-build-left p {
    font-size: 16px;
  }
}

/* =========================================================
/* =========================================================
   END: 09. GAP - START WHERE IT MAKES SENSE
   ========================================================= */

/* =========================================================
   START: 10. SYSTEM STRIP / CONNECTED SYSTEM BAR
   ========================================================= */
.page-home .um-system-strip,
.page-home .um-system-strip-2 {
  position: relative;
  z-index: 5;

  width: 100%;
  margin: 0;
  padding: 38px 40px;

  overflow: hidden;

  background:
    linear-gradient(90deg, rgba(228, 130, 64, .18), rgba(228, 130, 64, .08), rgba(228, 130, 64, .18)),
    #090909;

  border-top: 1px solid rgba(228, 130, 64, .38);
  border-bottom: 1px solid rgba(228, 130, 64, .32);
}

.page-home .um-system-strip::before,
.page-home .um-system-strip-2::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;

  height: 1px;

  background: linear-gradient(to right,
      rgba(228, 130, 64, 0),
      rgba(228, 130, 64, .78),
      rgba(228, 130, 64, 0));

  pointer-events: none;
}

.page-home .um-system-strip::after,
.page-home .um-system-strip-2::after {
  content: "";
  position: absolute;
  inset: 0;

  opacity: .18;
  pointer-events: none;

  background:
    linear-gradient(to right, rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, .018) 1px, transparent 1px);

  background-size: 180px 100%, 100% 120px;
}

.page-home .um-system-strip-inner,
.page-home .um-system-strip-2-inner {
  position: relative;
  z-index: 2;

  width: min(1880px, calc(100vw - 80px));
  margin: 0 auto;

  display: grid;
  gap: 18px;

  text-align: center;
}

.page-home .um-system-strip-title,
.page-home .um-system-strip-2-title {
  color: var(--gold);

  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .28em;

  text-transform: uppercase;
}

/* Orange line prefix for strip titles */
.page-home .um-system-strip-title,
.page-home .um-system-strip-2-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.page-home .um-system-strip-title::before,
.page-home .um-system-strip-2-title::before {
  content: "";
  width: 54px;
  height: 1px;
  background: rgba(228, 130, 64, .75);
}

.page-home .um-system-strip-row,
.page-home .um-system-strip-2-row {
  display: grid;
  grid-template-columns: repeat(7, max-content);
  align-items: center;
  justify-content: center;

  gap: 16px;

  color: #ffffff;

  font-family: var(--display-font);
  font-size: clamp(22px, 1.28vw, 32px);
  line-height: 1;
  letter-spacing: .10em;

  text-transform: uppercase;
}

.page-home .um-system-strip-row span,
.page-home .um-system-strip-2-row span {
  position: relative;

  display: inline-flex;
  align-items: baseline;

  white-space: nowrap;
}

.page-home .um-system-strip-2-row span::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;

  margin-right: 16px;
  border: 2px solid var(--gold);
  opacity: .82;
}

@media (min-width: 761px) {
  .page-home .um-system-strip-2-row span:first-child::before {
    display: none;
  }
}

.page-home .um-system-strip-row span:nth-child(even),
.page-home .um-system-strip-2-row span:nth-child(even) {
  color: rgba(255, 255, 255, .62);
}

.page-home .um-system-strip-row span:nth-child(odd),
.page-home .um-system-strip-2-row span:nth-child(odd) {
  color: #ffffff;
}

/* Controlled tablet wrap */

@media (max-width: 1280px) {

  .page-home .um-system-strip-row,
.page-home .um-system-strip-2-row {
    grid-template-columns: repeat(4, max-content);
    gap: 18px 24px;
  }

}

/* Mobile */

@media (max-width: 760px) {

  .page-home .um-system-strip,
.page-home .um-system-strip-2 {
    padding: 30px 22px;
  }

  .page-home .um-system-strip-inner,
.page-home .um-system-strip-2-inner {
    width: calc(100vw - 40px);
    gap: 16px;
  }

  .page-home .um-system-strip-title,
.page-home .um-system-strip-2-title {
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .20em;
  }

  .page-home .um-system-strip-row {
    grid-template-columns: 1fr;
    gap: 14px 18px;

    font-size: 22px;
    text-align: center;
    justify-content: center;
  }

  .page-home .um-system-strip-2-row {
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;

    font-size: 16px;
    text-align: left;
    justify-content: stretch;
  }

  .page-home .um-system-strip-row span,
.page-home .um-system-strip-2-row span {
    white-space: normal;
    color: #ffffff !important;
  }
}

/* =========================================================
   OPERATING SYSTEM — SVG PROCESS DIAGRAM
========================================================= */

.page-home #operating-system.um-process-diagram {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 135px 0 150px;
  background:
    radial-gradient(circle at 78% 44%, rgba(228, 130, 64, .15), transparent 34%),
    radial-gradient(circle at 12% 20%, rgba(255, 255, 255, .04), transparent 30%),
    linear-gradient(180deg, #050505 0%, #080808 48%, #050505 100%);
}

.page-home #operating-system.um-process-diagram::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .22;
  pointer-events: none;
  background:
    linear-gradient(to right, rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, .016) 1px, transparent 1px);
  background-size: 180px 100%, 100% 132px;
}

.page-home #operating-system.um-process-diagram::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(to bottom, #050505 0%, transparent 15%, transparent 84%, #050505 100%),
    linear-gradient(to right, rgba(5, 5, 5, .42), transparent 50%, rgba(5, 5, 5, .34));
}

.page-home .um-process-diagram-bg {
  position: absolute;
  right: -7vw;
  top: 32%;
  z-index: 1;
  transform: translateY(-50%);
  font-family: var(--display-font);
  font-size: clamp(180px, 23vw, 520px);
  line-height: .78;
  letter-spacing: .05em;
  color: rgba(255, 255, 255, .022);
  pointer-events: none;
  user-select: none;
}

.page-home .um-process-diagram-inner {
  position: relative;
  z-index: 3;
  width: min(1720px, calc(100vw - 96px));
  margin: 0 auto;
}

.page-home .um-process-diagram-header {
  display: grid;
  grid-template-columns: minmax(420px, 680px) minmax(420px, 760px);
  gap: clamp(50px, 2vw, 110px);
  align-items: end;
  padding-left: 3.6vw;
}

.page-home .um-process-diagram-header .cinema-eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -20px;
}

.page-home .um-process-diagram-header h2 {
  margin: 0;
  font-family: var(--display-font);
  color: #ffffff;
  font-size: clamp(44px, 4.2vw, 86px);
  line-height: .88;
  letter-spacing: .015em;
  font-weight: 400;
}

.page-home .um-process-diagram-header h2 span {
  color: var(--gold);
}

.page-home .um-process-diagram-header p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, .64);
  font-size: 19px;
  line-height: 1.72;
}

.page-home .um-process-diagram {
  position: relative;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border-top: 1px solid rgba(255, 255, 255, .075);
  border-bottom: 1px solid rgba(255, 255, 255, .075);
  background:
    radial-gradient(circle at 78% 52%, rgba(228, 130, 64, .09), transparent 34%),
    linear-gradient(90deg, rgba(255, 255, 255, .02), rgba(255, 255, 255, .004));
}

.page-home .um-process-header-left {
  grid-column: 1;
}

.page-home .um-process-headline {
  margin-top: 18px;
  font-size: 12px;
  line-height: 1.68;
  color: rgba(255, 255, 255, 0.64);
  max-width: 620px;
}

.page-home .um-process-svg {
  display: block;
  width: 100%;
  min-width: 1320px;
  height: auto;
}

.page-home .process-line {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.page-home .process-line-solid {
  stroke: rgba(228, 130, 64, .72);
  stroke-width: 2;
  filter: drop-shadow(0 0 8px rgba(228, 130, 64, .42));
}

.page-home .process-line-loop {
  stroke: rgba(228, 130, 64, .50);
  stroke-width: 2;
  stroke-dasharray: 8 10;
}

.page-home .process-line-loop-soft {
  stroke: rgba(228, 130, 64, .22);
  stroke-width: 1;
  stroke-dasharray: 4 10;
}

.page-home .process-dot {
  fill: var(--gold);
  filter: drop-shadow(0 0 10px rgba(228, 130, 64, .72));
}

.page-home .process-phase {
  fill: var(--gold);
  font-family: Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .28em;
}

.page-home .process-cycle-title {
  fill: rgba(255, 255, 255, .58);
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .22em;
}

.page-home .process-node rect {
  fill: rgba(5, 5, 5, .72);
  stroke: rgba(255, 255, 255, .12);
  stroke-width: 1;
}

.page-home .process-node-production rect,
.page-home .process-node-cycle rect {
  stroke: rgba(228, 130, 64, .28);
}

.page-home .process-num {
  fill: var(--gold);
  font-family: var(--display-font);
  font-size: 70px;
  letter-spacing: .035em;
}

.page-home .process-title {
  fill: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 25px;
  font-weight: 900;
}

.page-home .process-copy {
  fill: rgba(255, 255, 255, .66);
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  .page-home #operating-system.um-process-diagram {
    padding: 105px 0;
  }

  .page-home .um-process-diagram-inner {
    width: calc(100vw - 56px);
  }

  .page-home .um-process-diagram-header {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 58px;
  }

  .page-home .um-process-diagram-header .cinema-eyebrow {
    grid-column: auto;
    margin-bottom: 0;
  }

  .page-home .um-process-diagram-header h2 {
    font-size: clamp(44px, 10vw, 78px);
  }

  .page-home .um-process-diagram-header p {
    font-size: 17px;
  }
}

@media (max-width: 640px) {
  .page-home #operating-system.um-process-diagram {
    padding: 86px 0;
  }

  .page-home .um-process-diagram-inner {
    width: calc(100vw - 40px);
  }

  .page-home .um-process-diagram-wrap {
    margin-left: -20px;
    width: calc(100% + 40px);
  }

  .page-home .um-process-svg {
    min-width: 1240px;
  }
}

/* =========================================================
   10.5 FLOWCHART STYLES
========================================================= */
.page-home .um-process-diagram-header+.um-process-diagram-wrap {
  margin-top: -5vw;
}

.page-home .um-process-diagram-wrap {
  width: 100%;
  max-width: 1920px;
  margin: 0px auto;
  position: relative;
}

.page-home .svg-flowchart {
  width: 100%;
  height: auto;
  display: block;
}

.page-home .mobile-flowchart-list {
  display: none;
  flex-direction: column;
  gap: 24px;
  padding: 20px;
  width: 100%;
}

.page-home .mobile-flowchart-card {
  background: linear-gradient(135deg, rgba(25, 25, 25, 0.85) 0%, rgba(15, 15, 15, 0.95) 100%);
  border: 1px solid rgba(212, 143, 56, 0.3);
  border-radius: 6px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  position: relative;
}

.page-home .mobile-flowchart-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #d48f38, transparent);
}

.page-home .mobile-flowchart-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 36px;
  color: #d48f38;
  line-height: 1;
  margin-bottom: 4px;
}

.page-home .mobile-flowchart-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #ffffff;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.page-home .mobile-flowchart-desc {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #b0b0b0;
  line-height: 1.6;
}

.page-home .mobile-cycle-badge {
  display: inline-block;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  background: rgba(212, 143, 56, 0.15);
  color: #d48f38;
  padding: 3px 8px;
  border-radius: 3px;
  margin-top: 10px;
  border: 1px solid rgba(212, 143, 56, 0.2);
}

.page-home .mobile-connector {
  text-align: center;
  color: #d48f38;
  font-size: 20px;
  line-height: 1;
  margin: -4px 0;
}

@media (max-width: 991px) {
  .page-home .svg-flowchart {
    display: none;
  }

  .page-home .mobile-flowchart-list {
    display: flex;
  }
}


/* =========================================================
/* =========================================================
   END: 10. SYSTEM STRIP / CONNECTED SYSTEM BAR
   ========================================================= */

/* =========================================================
   START: 11. OWNERSHIP / 7 STEPS
   ========================================================= */
.page-home .um-ownership {
  --ownership-heading-size: clamp(64px, 7.2vw, 138px);
  --gap-step-heading-size: clamp(22px, 1.6vw, 29px);
  position: relative;
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  min-height: 92vh;
  background: #050505;
  overflow: hidden;
}

.page-home .um-ownership::before {
  content: "7 STEPS";
  position: absolute;
  right: -3vw;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--display-font);
  font-size: clamp(150px, 18vw, 350px);
  line-height: .8;
  letter-spacing: .04em;
  color: rgba(255, 255, 255, .024);
  pointer-events: none;
  user-select: none;
  z-index: 1;
}

.page-home .um-ownership-bg-icon {
  position: absolute;
  left: -24vw;
  top: 50%;
  width: clamp(360px, 42vw, 820px);
  transform: translateY(-50%);
  opacity: .16;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}

.page-home .um-ownership-left,
.page-home .um-ownership-right {
  position: relative;
  z-index: 2;
}

.page-home .um-ownership-left {
  padding: 12vw 5vw 10vw 10vw;
  background: radial-gradient(circle at 0% 40%, rgba(228, 130, 64, .16), transparent 42%);

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.page-home .um-ownership-left h2 {
  margin: 0;
  font-family: var(--display-font);
  font-size: var(--ownership-heading-size);
  line-height: .84;
  letter-spacing: .01em;
  color: #fff;
  font-weight: 400;
}

.page-home .um-ownership-left h2 span {
  color: var(--gold);
}

.page-home .um-ownership-right {
  padding: 10vw 8vw 10vw 4vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.page-home .um-ownership-right>p {
  max-width: 860px;
  margin: 0 0 46px;
  color: rgba(255, 255, 255, .76);
  font-size: clamp(19px, 1.35vw, 25px);
  line-height: 1.52;
  letter-spacing: -.015em;
}

.page-home .um-success-system {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 18px;
  max-width: 980px;
}

.page-home .um-success-group {
  position: relative;
  border: 1px solid rgba(255, 255, 255, .11);
  background: rgba(255, 255, 255, .018);
  padding: 28px;
}

.page-home .um-success-group-cycle {
  background: linear-gradient(135deg, rgba(228, 130, 64, .08), rgba(255, 255, 255, .015));
  border-color: rgba(228, 130, 64, .26);
}

.page-home .um-success-group-label {
  margin-bottom: 22px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.page-home .um-success-step {
  position: relative;
  display: grid;
  grid-template-columns: 48px 1fr;
  column-gap: 18px;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, .09);
}

.page-home .um-success-step:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.page-home .um-success-step:last-child {
  padding-bottom: 0;
}

.page-home .um-success-step b {
  grid-row: span 2;
  font-family: var(--display-font);
  font-size: 42px;
  line-height: .9;
  color: rgba(255, 255, 255, .20);
  font-weight: 400;
  letter-spacing: .02em;
}

.page-home .um-success-step strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-size: 19px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.01em;
}

.page-home .um-success-step span {
  display: block;
  color: rgba(255, 255, 255, .62);
  font-size: 14.5px;
  line-height: 1.62;
}

.page-home .um-success-step:hover b {
  color: rgba(228, 130, 64, .50);
}

.page-home .um-success-step:hover strong {
  color: var(--gold);
}

.page-home .um-ownership .um-gap-build-right::before {
  content: "";
  position: absolute;
  top: 56px;
  bottom: 0;
  left: -2%;
  width: 1px;
  pointer-events: none;
  background: linear-gradient(to bottom,
      rgba(228, 130, 64, 0),
      rgba(228, 130, 64, .42),
      rgba(228, 130, 64, 0));
  opacity: .42;
}

.page-home .um-ownership .um-gap-build-right {
  padding: 12vw 5vw 10vw 0vw;
}

/* =========================================================
/* =========================================================
   END: 11. OWNERSHIP / 7 STEPS
   ========================================================= */

/* =========================================================
   START: 12. ENGINE V2 / UNICUS ENGINE
   ========================================================= */
.page-home #engine.engine-cinematic-v2,
.page-home #engine.engine-final,
.page-home .engine-final {
  /* EDITABLE SECTION CONTROLS */
  --engine-display-font: var(--display-font, 'Bebas Neue', sans-serif);

  --engine-padding: clamp(110px, 10vw, 170px) 0;
  --engine-inner-width: min(1780px, calc(100vw - 96px));

  --engine-heading-size: clamp(64px, 6.6vw, 132px);
  --engine-heading-line-height: .84;

  --engine-intro-size: clamp(17px, 1.1vw, 21px);
  --engine-number-size: clamp(72px, 6.4vw, 128px);
  --engine-card-heading-size: clamp(30px, 2.6vw, 52px);
  --engine-card-body-size: 16px;

  --engine-card-icon-size: clamp(92px, 8vw, 148px);
  --engine-card-icon-opacity: .045;

  position: relative;
  overflow: hidden;
  min-height: 92vh;
  padding: var(--engine-padding);
  background:
    radial-gradient(circle at 78% 46%, rgba(228, 130, 64, .13), transparent 34%),
    radial-gradient(circle at 8% 18%, rgba(255, 255, 255, .045), transparent 28%),
    linear-gradient(180deg, #050505 0%, #080808 42%, #050505 100%);
  isolation: isolate;
}

/* Background grid */

.page-home #engine.engine-cinematic-v2::before,
.page-home #engine.engine-final::before,
.page-home .engine-final::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .22;
  pointer-events: none;
  background:
    linear-gradient(to right, rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, .017) 1px, transparent 1px);
  background-size: 180px 100%, 100% 140px;
}

/* Shared background decorative elements */

.page-home .engine-v2-grid,
.page-home .engine-v2-glow,
.page-home .engine-v2-bg-word,
.page-home .engine-final-word,
.page-home .engine-final-bg-icon {
  position: absolute;
  pointer-events: none;
  user-select: none;
}

/* Large faint background word */

.page-home .engine-v2-bg-word,
.page-home .engine-final-word {
  z-index: 0;
  right: -4vw;
  top: 48%;
  transform: translateY(-50%);
  font-family: var(--engine-display-font);
  font-size: clamp(170px, 24vw, 520px);
  line-height: .78;
  letter-spacing: .05em;
  color: rgba(255, 255, 255, .024);
}

/* Optional background brand icon */

.page-home .engine-final-bg-icon {
  right: -6vw;
  top: 50%;
  width: clamp(220px, 22vw, 420px);
  height: auto;
  transform: translateY(-50%);
  opacity: .035;
  z-index: 0;
}

/* Inner wrappers */

.page-home .engine-v2-inner,
.page-home .engine-final-inner {
  position: relative;
  z-index: 3;
  width: var(--engine-inner-width);
  margin: 0 auto;
}

/* V2 split layout */

.page-home .engine-v2-inner {
  display: grid;
  grid-template-columns: minmax(420px, .72fr) minmax(620px, 1.28fr);
  gap: clamp(54px, 6vw, 120px);
  align-items: center;
}

.page-home .engine-v2-command,
.page-home .engine-final-header {
  position: relative;
  z-index: 3;
}

.page-home .engine-v2-command {
  min-height: 620px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Section heading */

.page-home .engine-v2-command h2,
.page-home .engine-final-header h2 {
  margin: 0;
  font-family: var(--engine-display-font);
  color: #ffffff;
  font-size: var(--engine-heading-size);
  line-height: var(--engine-heading-line-height);
  letter-spacing: .012em;
  font-weight: 400;
}

.page-home .engine-v2-command h2 span,
.page-home .engine-final-header h2 span {
  color: rgba(255, 255, 255, .27);
}

/* Intro copy */

.page-home .engine-v2-command p,
.page-home .engine-final-header p {
  max-width: 690px;
  margin-top: 32px;
  color: rgba(255, 255, 255, .68);
  font-size: var(--engine-intro-size);
  line-height: 1.72;
  letter-spacing: -.015em;
}

/* Sequence wrapper */

.page-home .engine-v2-sequence,
.page-home .engine-final-sequence {
  position: relative;
  z-index: 4;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, .09);
}

.page-home .engine-final-sequence {
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

/* V2 rows */

.page-home .engine-v2-step {
  position: relative;
  display: grid;
  grid-template-columns: clamp(118px, 10vw, 198px) minmax(280px, .92fr) minmax(260px, .72fr);
  gap: clamp(26px, 3vw, 58px);
  align-items: center;
  min-height: 238px;
  padding: clamp(34px, 4vw, 64px) 0;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  background: transparent;
}

/* Final cards */

.page-home .engine-final-sequence article {
  position: relative;
  min-height: 330px;
  padding: 46px 44px 42px;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, .10);
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .008));
}

.page-home .engine-final-sequence article:last-child {
  border-right: 0;
}

/* Card top accent */

.page-home .engine-final-sequence article::before {
  content: "";
  position: absolute;
  left: 44px;
  right: 44px;
  top: 0;
  z-index: 2;
  height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
  opacity: .65;
}

/* Card background icon — fixed */

.page-home .engine-final-card-icon {
  position: absolute;
  right: -26px;
  bottom: -28px;
  z-index: 0;
  width: var(--engine-card-icon-size);
  height: auto;
  opacity: var(--engine-card-icon-opacity);
  pointer-events: none;
  user-select: none;
}

/* Card content stays above icon */

.page-home .engine-final-num,
.page-home .engine-final-label,
.page-home .engine-final-sequence h3,
.page-home .engine-final-sequence p {
  position: relative;
  z-index: 3;
}

/* Numbers */

.page-home .engine-v2-number,
.page-home .engine-final-num {
  font-family: var(--engine-display-font);
  color: rgba(228, 130, 64, .94);
  font-size: var(--engine-number-size);
  line-height: .76;
  letter-spacing: .035em;
}

/* Labels */

.page-home .engine-v2-copy span,
.page-home .engine-final-label span,
.page-home .engine-final-sequence span {
  display: block;
  margin-bottom: 14px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.page-home .engine-final-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.page-home .engine-final-label img {
  width: 16px;
  height: 16px;
  object-fit: contain;
  flex: 0 0 auto;
}

/* Card headings */

.page-home .engine-v2-copy h3,
.page-home .engine-final-sequence h3 {
  max-width: 680px;
  margin: 0 0 18px;
  color: #ffffff;
  font-size: var(--engine-card-heading-size);
  line-height: 1;
  font-weight: 790;
  letter-spacing: -.035em;
}

/* Card descriptions */

.page-home .engine-v2-detail,
.page-home .engine-final-sequence p {
  max-width: 500px;
  color: rgba(255, 255, 255, .62);
  font-size: var(--engine-card-body-size);
  line-height: 1.72;
}

/* Hover */

.page-home .engine-final-sequence article:hover {
  background:
    linear-gradient(135deg, rgba(228, 130, 64, .085), rgba(255, 255, 255, .014));
}

.page-home .engine-final-sequence article:hover .engine-final-num {
  color: #ffffff;
}

/* Responsive */

@media (max-width: 1180px) {

  .page-home #engine.engine-cinematic-v2,
.page-home #engine.engine-final,
.page-home .engine-final {
    --engine-inner-width: calc(100vw - 56px);
    --engine-heading-size: clamp(58px, 10vw, 104px);
    --engine-card-heading-size: clamp(30px, 4.4vw, 46px);
    --engine-number-size: clamp(68px, 8vw, 108px);
    min-height: auto;
  }

  .page-home .engine-v2-inner {
    grid-template-columns: 1fr;
    gap: 72px;
  }

  .page-home .engine-v2-command {
    min-height: auto;
  }

  .page-home .engine-final-sequence {
    grid-template-columns: 1fr;
  }

  .page-home .engine-final-sequence article {
    min-height: auto;
    border-right: 0;
  }
}

@media (max-width: 720px) {

  .page-home #engine.engine-cinematic-v2,
.page-home #engine.engine-final,
.page-home .engine-final {
    --engine-inner-width: calc(100vw - 40px);
    --engine-padding: 92px 0;
    --engine-heading-size: clamp(48px, 14vw, 82px);
    --engine-intro-size: 17px;
    --engine-card-heading-size: clamp(28px, 9vw, 40px);
    --engine-card-body-size: 15px;
    --engine-card-icon-size: 120px;
  }

  .page-home .engine-final-sequence article {
    padding: 36px 28px;
  }

  .page-home .engine-final-card-icon {
    right: -22px;
    bottom: -24px;
  }

  .page-home .engine-v2-step {
    grid-template-columns: 1fr;
    gap: 20px;
    min-height: auto;
    padding: 34px 0;
  }
}

/* =========================================================
/* =========================================================
   END: 12. ENGINE V2 / UNICUS ENGINE
   ========================================================= */

/* =========================================================
   START: 13. PRODUCTION - WHAT WE BUILD
   ========================================================= */
.page-home #production.um-production,
.page-home .um-production {
  /* EDITABLE PRODUCTION CONTROLS */
  --production-heading-size: clamp(54px, 5.2vw, 104px);
  --production-copy-width: 720px;
  --production-bg-opacity: .72;

  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 92vh;
  background: #070707;
  display: flex;
  align-items: center;
}

.page-home .um-production-bg {
  position: absolute;
  inset: 0;
  left: 50%;
  z-index: 0;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  pointer-events: none;
  overflow: hidden;
}

.page-home .um-production-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: var(--production-bg-opacity);
  filter: saturate(.78) contrast(1.12);
}

.page-home .um-production-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 24% 18%, rgba(228, 130, 64, .18), transparent 34%),
    linear-gradient(to right, rgba(7, 7, 7, .42) 0%, rgba(7, 7, 7, .58) 42%, rgba(7, 7, 7, .92) 100%),
    linear-gradient(to bottom, rgba(7, 7, 7, .12) 0%, rgba(7, 7, 7, .16) 54%, #070707 100%);
}

.page-home .um-production-copy {
  position: relative;
  z-index: 2;
  width: min(var(--production-copy-width), calc(100% - 80px));
  margin-left: auto;
  padding: 12vw 8vw 10vw 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.page-home .um-production-copy h2 {
  margin: 0 0 28px;
  font-family: var(--display-font);
  font-size: var(--production-heading-size);
  line-height: .88;
  color: #fff;
  font-weight: 400;
}

.page-home .um-production-copy h2 span {
  color: var(--gold);
}

.page-home .um-production-copy>p {
  max-width: 680px;
  color: rgba(255, 255, 255, .68);
  font-size: 18px;
  line-height: 1.72;
}

.page-home .um-production-points {
  margin-top: 42px;
  border-top: 1px solid rgba(255, 255, 255, .10);
}

.page-home .um-production-points div {
  display: grid;
  grid-template-columns: .42fr 1fr;
  gap: 28px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.page-home .um-production-points strong {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .20em;
  text-transform: uppercase;
}

.page-home .um-production-points strong img {
  width: 14px;
  height: 14px;
  object-fit: contain;
  flex: 0 0 auto;
  opacity: .95;
}

.page-home .um-production-points span {
  color: rgba(255, 255, 255, .60);
  font-size: 15px;
  line-height: 1.65;
}

/* Legacy left image support if old HTML still exists */
.page-home .um-production-image {
  display: none;
}

/* =========================================================
/* =========================================================
   END: 13. PRODUCTION - WHAT WE BUILD
   ========================================================= */

/* =========================================================
   START: 14. VIDEO THEATER / VIDEO PROOF
   ========================================================= */
.page-home .um-video,
.page-home #video-proof.video-proof-section {
  padding: 150px 0;
  background: radial-gradient(circle at 70% 45%, rgba(228, 130, 64, .13), transparent 35%), #050505;
}

.page-home .um-video-header,
.page-home .video-proof-layout {
  width: min(1280px, var(--full-width));
  margin: 0 auto 60px;
  text-align: center;
}

.page-home .um-video-header .cinema-eyebrow {
  justify-content: center;
}

.page-home .um-video-header h2 {
  margin: 0 0 28px;
  font-family: var(--display-font);
  font-size: clamp(58px, 5.8vw, 120px);
  line-height: .88;
  color: #fff;
  font-weight: 400;
}

.page-home .um-video-header h2 span {
  color: var(--gold);
}

.page-home .um-video-header p {
  max-width: 860px;
  margin: 0 auto;
  color: rgba(255, 255, 255, .64);
  font-size: 18px;
  line-height: 1.75;
}

.page-home .um-video-frame,
.page-home .video-frame {
  position: relative;
  width: min(1320px, var(--full-width));
  margin: 0 auto;
  background: #000;
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 54px 170px rgba(0, 0, 0, .65), 0 0 150px rgba(228, 130, 64, .08);
}

.page-home .um-video-frame video,
.page-home .video-frame video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.page-home .video-frame::after,
.page-home .um-building-video::after {
  content: "VIDEO BROCHURE";
  position: absolute;
  left: 26px;
  bottom: 22px;
  color: rgba(255, 255, 255, .70);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .24em;
  text-transform: uppercase;
  pointer-events: none;
}

/* =========================================================
/* =========================================================
   END: 14. VIDEO THEATER / VIDEO PROOF
   ========================================================= */

/* =========================================================
   START: 15. CASE STUDIES
   ========================================================= */

.page-home .um-case,
.page-home #case-studies.cases-section {
  position: relative;
  overflow: hidden;
  padding: 150px 0;
  background:
    radial-gradient(
      circle at 18% 12%,
      rgba(228, 130, 64, 0.13),
      transparent 34%
    ),
    #070707;
}

.page-home .um-case-header,
.page-home .cases-header {
  position: relative;
  z-index: 3;
  width: min(1480px, var(--full-width));
  margin: 0 auto 58px;
}

.page-home .um-case-header h2 {
  margin: 0;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(58px, 5.8vw, 118px);
  font-weight: 400;
  line-height: 0.88;
}

.page-home .um-case-header h2 span {
  color: var(--gold);
}

/* Case study tabs */

.page-home .um-case-tabs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 28px;
  width: min(1760px, var(--full-width));
  margin: 0 auto 78px;
}

.page-home .um-case-tab {
  position: relative;
  min-height: 156px;
  padding: 34px 22px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(255, 255, 255, 0.72);
  font-family: var(--display-font);
  font-size: clamp(26px, 1.6vw, 36px);
  line-height: 0.96;
  letter-spacing: 0.10em;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background-color 300ms ease,
    border-color 300ms ease,
    color 300ms ease,
    transform 300ms ease;
}

.page-home .um-case-tab span {
  display: block;
  margin-bottom: 16px;
  color: var(--gold);
  font-family: var(--body-font);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.22em;
  opacity: 0.9;
}

.page-home .um-case-tab::before {
  content: "";
  position: absolute;
  top: 0;
  right: 26px;
  left: 26px;
  height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
  opacity: 0.65;
}

.page-home .um-case-tab:hover {
  border-color: rgba(228, 130, 64, 0.45);
  background: rgba(228, 130, 64, 0.14);
  color: #fff;
  transform: translateY(-3px);
}

.page-home .um-case-tab.active,
.page-home .um-case-tab[aria-selected="true"] {
  border-color: var(--gold);
  background: var(--gold);
  color: #070707;
  transform: none;
}

.page-home .um-case-tab.active span,
.page-home .um-case-tab[aria-selected="true"] span {
  color: #070707;
  opacity: 0.78;
}

.page-home .um-case-tab:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

/* Featured case study */

.page-home .um-case-feature,
.page-home .case-feature {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  width: min(1480px, var(--full-width));
  min-height: 620px;
  margin: 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.012);
}

.page-home .um-case-image,
.page-home .case-image {
  position: relative;
  overflow: hidden;
  min-width: 0;
}

.page-home .um-case-image img,
.page-home .case-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 480px;
  object-fit: cover;
  opacity: 0.58;
  filter: saturate(0.76) contrast(1.13);
  transition:
    opacity 350ms ease,
    transform 450ms ease;
}

.page-home .um-case-feature:hover .um-case-image img {
  opacity: 0.66;
  transform: scale(1.015);
}

.page-home .um-case-image::after,
.page-home .case-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(to right, transparent, rgba(7, 7, 7, 0.42)),
    linear-gradient(to top, rgba(7, 7, 7, 0.88), transparent 60%);
}

.page-home .um-case-copy,
.page-home .case-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 70px;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(12, 12, 12, 0.78);
}

.page-home .um-case-copy > span,
.page-home .case-label {
  display: block;
  margin-bottom: 18px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.page-home .um-case-copy h3,
.page-home .case-content h3 {
  margin: 0 0 24px;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(46px, 4.4vw, 86px);
  font-weight: 400;
  line-height: 0.9;
}

.page-home .um-case-copy p,
.page-home .case-content p {
  max-width: 620px;
  margin-top: 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 17px;
  line-height: 1.75;
}

/* Case study metrics */

.page-home .um-case-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 44px;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  border-left: 1px solid rgba(255, 255, 255, 0.10);
}

.page-home .um-case-metrics div {
  min-width: 0;
  padding: 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.10);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.page-home .um-case-metrics strong {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font-family: var(--display-font);
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
}

.page-home .um-case-metrics span {
  display: block;
  color: rgba(255, 255, 255, 0.54);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

/* Individual case study link */

.page-home .um-case-actions {
  display: flex;
  align-items: center;
  margin-top: 34px;
}

.page-home .um-case-detail-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    color 250ms ease,
    gap 250ms ease;
}

.page-home .um-case-detail-link:hover {
  gap: 16px;
  color: #fff;
}

.page-home .um-case-detail-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 5px;
}

/* Supporting information */

.page-home .um-case-support,
.page-home .case-lanes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(1480px, var(--full-width));
  margin: 0 auto;
  border-right: 1px solid rgba(255, 255, 255, 0.10);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  border-left: 1px solid rgba(255, 255, 255, 0.10);
}

.page-home .um-case-support > div,
.page-home .case-lane {
  padding: 42px 46px;
  border-right: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.008);
}

.page-home .um-case-support > div:last-child,
.page-home .case-lane:last-child {
  border-right: 0;
}

.page-home .um-case-support span {
  display: block;
  margin-bottom: 16px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.page-home .um-case-support h4,
.page-home .case-lane h4 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 24px;
  line-height: 1.2;
}

.page-home .um-case-support p,
.page-home .case-lane p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 15px;
  line-height: 1.7;
}

/* Case Study Library link */

.page-home .um-case-library-link {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: flex-end;
  width: min(1480px, var(--full-width));
  margin: 38px auto 0;
}

.page-home .um-case-library-link a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    color 250ms ease,
    gap 250ms ease;
}

.page-home .um-case-library-link a:hover {
  gap: 16px;
  color: #fff;
}

.page-home .um-case-library-link a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 5px;
}

/* Responsive */

@media (max-width: 1280px) {
  .page-home .um-case-tabs {
    gap: 16px;
  }

  .page-home .um-case-tab {
    min-height: 138px;
    padding: 28px 16px;
  }

  .page-home .um-case-copy,
  .page-home .case-content {
    padding: 54px 46px;
  }
}

@media (max-width: 1024px) {
  .page-home .um-case,
  .page-home #case-studies.cases-section {
    padding: 110px 0;
  }

  .page-home .um-case-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 54px;
  }

  .page-home .um-case-tab:last-child {
    grid-column: 1 / -1;
  }

  .page-home .um-case-feature,
  .page-home .case-feature {
    grid-template-columns: 1fr;
  }

  .page-home .um-case-image img,
  .page-home .case-image img {
    height: 520px;
    min-height: 0;
  }

  .page-home .um-case-copy,
  .page-home .case-content {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 0;
  }
}

@media (max-width: 767px) {
  .page-home .um-case,
  .page-home #case-studies.cases-section {
    padding: 84px 0;
  }

  .page-home .um-case-header,
  .page-home .cases-header {
    margin-bottom: 40px;
  }

  .page-home .um-case-header h2 {
    font-size: clamp(46px, 14vw, 72px);
  }

  .page-home .um-case-tabs {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 38px;
  }

  .page-home .um-case-tab,
  .page-home .um-case-tab:last-child {
    grid-column: auto;
    min-height: 0;
    padding: 24px 18px;
    font-size: 27px;
  }

  .page-home .um-case-tab span {
    margin-bottom: 10px;
    font-size: 11px;
  }

  .page-home .um-case-image img,
  .page-home .case-image img {
    height: 360px;
  }

  .page-home .um-case-copy,
  .page-home .case-content {
    padding: 42px 26px;
  }

  .page-home .um-case-copy h3,
  .page-home .case-content h3 {
    font-size: clamp(44px, 14vw, 64px);
  }

  .page-home .um-case-copy p,
  .page-home .case-content p {
    font-size: 16px;
  }

  .page-home .um-case-metrics {
    grid-template-columns: 1fr;
    margin-top: 34px;
  }

  .page-home .um-case-metrics div {
    padding: 18px;
  }

  .page-home .um-case-support,
  .page-home .case-lanes {
    grid-template-columns: 1fr;
  }

  .page-home .um-case-support > div,
  .page-home .case-lane {
    padding: 34px 26px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }

  .page-home .um-case-support > div:last-child,
  .page-home .case-lane:last-child {
    border-bottom: 0;
  }

  .page-home .um-case-library-link {
    justify-content: flex-start;
    margin-top: 30px;
  }
}

/* =========================================================
   END: 15. CASE STUDIES
   ========================================================= */

/* =========================================================
   EXECUTIVE OVERSIGHT
========================================================= */

.page-home #executive-oversight.um-exec {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  padding: 140px 0 150px;

  background:
    radial-gradient(circle at 76% 46%, rgba(212,129,70,.12), transparent 34%),
    radial-gradient(circle at 10% 18%, rgba(255,255,255,.035), transparent 28%),
    linear-gradient(180deg, #050505 0%, #080808 48%, #050505 100%);
}

.page-home #executive-oversight.um-exec::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  opacity: .22;
  pointer-events: none;

  background:
    linear-gradient(to right, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.016) 1px, transparent 1px);

  background-size: 180px 100%, 100% 132px;
}

.page-home .um-exec-bg-word {
  position: absolute;
  right: -7vw;
  bottom: -2vw;
  z-index: 1;

  font-family: var(--display-font);
  font-size: clamp(180px, 22vw, 500px);
  line-height: .78;
  letter-spacing: .05em;

  color: rgba(255,255,255,.022);

  pointer-events: none;
  user-select: none;
}

.page-home .um-exec-inner {
  position: relative;
  z-index: 3;

  width: min(1600px, calc(100vw - 96px));
  margin: 0 auto;

  display: grid;
  grid-template-columns: minmax(460px, .82fr) minmax(620px, 1fr);
  gap: clamp(70px, 7vw, 130px);

  align-items: start;
}

/* Left media column */

.page-home .um-exec-media {
  position: relative;
}

.page-home .um-exec-photo {
  position: relative;

  width: 100%;

  overflow: hidden;

  border: 1px solid rgba(212,129,70,.30);
  background: #050505;
}

.page-home .um-exec-photo::after {
  content: "";
  position: absolute;
  inset: 0;

  pointer-events: none;

  background:
    linear-gradient(to bottom, transparent 54%, rgba(5,5,5,.78) 100%),
    linear-gradient(to right, rgba(5,5,5,.10), transparent 44%, rgba(5,5,5,.24));
}

.page-home .um-exec-photo img {
  display: block;
  width: 100%;
  height: auto;
}

/* Logos directly under large photo */

.page-home .um-exec-links {
  width: 100%;

  margin-top: 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.page-home .um-exec-link {
  display: inline-flex;
  align-items: center;

  opacity: .92;

  transition:
    opacity .25s ease,
    transform .25s ease,
    filter .25s ease;
}

.page-home .um-exec-link:hover {
  opacity: 1;
  transform: translateY(-2px);
  filter: brightness(1.08);
}

.page-home .um-exec-link img {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
}

.page-home .um-exec-link-veteran {
  justify-content: flex-start;
}

.page-home .um-exec-link-veteran img {
  max-width: 195px;
  max-height: 58px;
}

.page-home .um-exec-link-profile {
  justify-content: flex-end;
  margin-left: auto;
}

.page-home .um-exec-link-profile img {
  max-width: 220px;
  max-height: 58px;
}

/* Right copy column */

.page-home .um-exec-copy {
  position: relative;
  z-index: 3;
}

.page-home .um-exec-copy h2 {
  margin: 0 0 34px;

  font-family: var(--display-font);
  font-size: clamp(68px, 6.6vw, 100px);
  line-height: .84;
  letter-spacing: .012em;
  font-weight: 400;

  color: #ffffff;
}

.page-home .um-exec-copy h2 span {
  color: var(--gold);
}

.page-home .um-exec-lead {
  max-width: 820px;
  margin: 0 0 44px;

  color: rgba(255,255,255,.78);

  font-size: 19px;
  line-height: 1.52;
  letter-spacing: -.02em;
}

.page-home .um-exec-nameplate {
  padding: 34px 0 30px;

  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.page-home .um-exec-nameplate strong {
  display: block;
  margin-bottom: 14px;

  font-family: var(--display-font);
  color: #ffffff;

  font-size: clamp(46px, 4.2vw, 60px);
  line-height: .86;
  letter-spacing: .04em;
  font-weight: 400;
  text-transform: uppercase;
}

.page-home .um-exec-nameplate span {
  display: block;

  color: var(--gold);

  font-size: 12px;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: .24em;
  text-transform: uppercase;
}

/* Credibility grid */

.page-home .um-exec-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);

  margin-top: 36px;

  border: 1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(135deg, rgba(255,255,255,.032), rgba(255,255,255,.006));
}

.page-home .um-exec-grid div {
  min-height: 150px;
  padding: 30px 24px;

  border-right: 1px solid rgba(255,255,255,.10);
}

.page-home .um-exec-grid div:last-child {
  border-right: 0;
}

.page-home .um-exec-grid b {
  display: block;
  margin-bottom: 18px;

  font-family: var(--display-font);
  color: var(--gold);

  font-size: clamp(40px, 3vw, 68px);
  line-height: .82;
  letter-spacing: .035em;
  font-weight: 400;
  text-transform: uppercase;
}

.page-home .um-exec-grid span {
  display: block;

  color: rgba(255,255,255,.70);

  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.page-home .um-exec-note {
  max-width: 840px;
  margin: 42px 0 0;

  color: rgba(255,255,255,.68);

  font-size: 18px;
  line-height: 1.75;
}

/* Responsive */

@media (max-width: 1180px) {
  .page-home .um-exec-inner {
    grid-template-columns: 1fr;
    gap: 64px;
  }

  .page-home .um-exec-media {
    max-width: 720px;
  }

  .page-home .um-exec-copy h2 {
    font-size: clamp(58px, 10vw, 112px);
  }

  .page-home .um-exec-lead {
    font-size: 22px;
  }
}

@media (max-width: 760px) {
  .page-home #executive-oversight.um-exec {
    padding: 92px 0;
  }

  .page-home .um-exec-inner {
    width: calc(100vw - 40px);
  }

  .page-home .um-exec-links {
    margin-top: 16px;
    gap: 18px;
  }

  .page-home .um-exec-link-veteran img {
    max-width: 43vw;
    max-height: 48px;
  }

  .page-home .um-exec-link-profile img {
    max-width: 43vw;
    max-height: 48px;
  }

  .page-home .um-exec-copy h2 {
    font-size: clamp(52px, 14vw, 82px);
  }

  .page-home .um-exec-lead {
    font-size: 19px;
  }

  .page-home .um-exec-grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-home .um-exec-grid div:nth-child(2) {
    border-right: 0;
  }

  .page-home .um-exec-grid div:nth-child(1),
.page-home .um-exec-grid div:nth-child(2) {
    border-bottom: 1px solid rgba(255,255,255,.10);
  }

  .page-home .um-exec-note {
    font-size: 16px;
  }
}


/* =========================================================
   END: 16. EXECUTIVE OVERSIGHT
   ========================================================= */

/* =========================================================
   START: 17. BUILDING VIDEO
   ========================================================= */
.page-home .um-building {
  position: relative;
  overflow: hidden;
}

.page-home .um-building-inner {
  width: min(1480px, calc(100vw - 90px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(56px, 6vw, 110px);
  align-items: center;
}

.page-home .um-building-copy {
  text-align: left;
}

.page-home .um-building-copy .cinema-eyebrow {
  justify-content: flex-start;
}

.page-home .um-building-copy h2 {
  margin: 0 0 30px;
  font-family: var(--display-font);
  font-size: clamp(56px, 5.6vw, 118px);
  line-height: .86;
  letter-spacing: .012em;
  color: #fff;
  font-weight: 400;
}

.page-home .um-building-copy h2 span {
  color: var(--gold);
}

.page-home .um-building-copy p {
  max-width: 720px;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, .64);
  font-size: 18px;
  line-height: 1.76;
}

.page-home .um-building-video {
  position: relative;
  background: #000;
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 54px 170px rgba(0, 0, 0, .65), 0 0 150px rgba(228, 130, 64, .08);
}

.page-home .um-building-video video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* =========================================================
/* =========================================================
   END: 17. BUILDING VIDEO
   ========================================================= */

/* =========================================================
   START: 18. FINAL CTA
   ========================================================= */
.page-home .um-final,
.page-home #contact.cinema-final {
  position: relative;
  overflow: hidden;
  padding: 170px 0;
  background: #050505;
}

.page-home .um-final-bg,
.page-home .final-bg {
  position: absolute;
  inset: 0;
  background-image: url("https://images.pexels.com/photos/1181406/pexels-photo-1181406.jpeg?auto=compress&cs=tinysrgb&w=1920&q=80");
  background-size: cover;
  background-position: center;
  opacity: .14;
}

.page-home .um-final-bg::after,
.page-home .final-wash {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 46%, rgba(228, 130, 64, .12), transparent 34%),
    linear-gradient(to bottom, #050505, rgba(5, 5, 5, .76), #050505);
}

.page-home .um-final-content,
.page-home .final-content {
  position: relative;
  z-index: 3;
  width: min(1180px, var(--full-width));
  margin: 0 auto;
  text-align: center;
}

.page-home .um-final-content .cinema-eyebrow,
.page-home .final-content .cinema-eyebrow {
  justify-content: center;
}

.page-home .um-final-content .cinema-eyebrow::after,
.page-home .final-content .cinema-eyebrow::after {
  content: "";
  width: 42px;
  height: 1px;
  background: var(--gold);
}

.page-home .um-final-content h2 {
  margin: 0;
  font-family: var(--display-font);
  font-size: clamp(58px, 5.8vw, 118px);
  line-height: .88;
  color: #fff;
  font-weight: 400;
}

.page-home .um-final-content h2 span {
  color: rgba(255, 255, 255, .28);
}

.page-home .um-final-content h2 em {
  font-style: normal;
  color: var(--gold);
}

.page-home .um-final-content p,
.page-home .final-content .cinema-copy {
  max-width: 720px;
  margin: 34px auto 48px;
  color: rgba(255, 255, 255, .62);
  font-size: 19px;
  line-height: 1.78;
}

.page-home .um-final-actions,
.page-home .final-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

/* =========================================================
/* =========================================================
   END: 18. FINAL CTA
   ========================================================= */

/* =========================================================
   START: 19. VIDEO MODAL
   ========================================================= */
.page-home .video-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 34px;
}

.page-home .video-modal.open {
  display: flex;
}

.page-home .video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.page-home .video-modal-window {
  position: relative;
  z-index: 2;
  width: min(960px, 94vw);
  background: #050505;
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 40px 120px rgba(0, 0, 0, .7);
}

.page-home .video-modal-window video {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}

.page-home .video-modal-close {
  position: absolute;
  top: -46px;
  right: 0;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(0, 0, 0, .65);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.page-home .video-modal-close:hover {
  background: var(--gold);
  color: #050505;
}

/* =========================================================
/* =========================================================
   END: 19. VIDEO MODAL
   ========================================================= */



/* =========================================================
   START: 21. RESPONSIVE - TABLET (TEMPLATE SPECIFIC)
   ========================================================= */

@media (max-width: 1180px) {

  .page-home .um-exec-inner,
.page-home .um-building-inner,
.page-home .engine-v2-inner {
    width: var(--full-width-tablet);
    grid-template-columns: 1fr;
  }

  .page-home .engine-v2-command {
    min-height: auto;
  }

  .page-home .um-exec-media,
.page-home .um-exec-media img {
    min-height: 520px;
  }

  .page-home .um-exec-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .page-home .um-case-tabs {
    grid-template-columns: repeat(2, 1fr);
  }

  .page-home .um-case-feature,
.page-home .case-feature {
    grid-template-columns: 1fr;
  }

  .page-home .um-case-copy,
.page-home .case-content {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
  }
}

@media (max-width: 1100px) {

  .page-home .cinema-inner,
.page-home .final-content,
.page-home .um-final-content,
.page-home .um-gap-inner,
.page-home .um-logo-intro,
.page-home .um-video-header,
.page-home .um-video-frame,
.page-home .um-case-header,
.page-home .um-case-feature,
.page-home .um-case-support {
    width: var(--full-width-tablet);
  }

  .page-home .um-gap-line,
.page-home .um-ownership,
.page-home .um-success-system,
.page-home .um-case-support,
.page-home .case-lanes,
.page-home .engine-final-sequence {
    grid-template-columns: 1fr;
  }

  .page-home .um-gap-line {
    gap: 22px;
    min-height: auto;
    padding: 44px 0;
  }

  .page-home .um-gap-fix {
    max-width: 760px;
  }

  .page-home .um-ownership-left,
.page-home .um-ownership-right,
.page-home .um-ownership .um-gap-build-right {
    padding: 86px 56px;
  }

  .page-home .um-ownership-right {
    padding-top: 0;
  }

  .page-home .um-production-copy {
    width: calc(100% - 48px);
    margin: 0 auto;
    padding: 110px 0 90px;
  }

  .page-home .um-production-bg::after {
    background:
      radial-gradient(circle at 24% 18%, rgba(228, 130, 64, .16), transparent 34%),
      linear-gradient(to right, rgba(7, 7, 7, .70) 0%, rgba(7, 7, 7, .72) 52%, rgba(7, 7, 7, .82) 100%),
      linear-gradient(to bottom, rgba(7, 7, 7, .16) 0%, rgba(7, 7, 7, .20) 54%, #070707 100%);
  }

  .page-home .um-production-points div {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (max-width: 1024px) {
  .page-home .hero-content {
    padding: 100px 24px 60px;
  }

  .page-home .hero-stats {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 42px;
  }

  .page-home .hero-stats>div {
    padding: 0 24px;
  }

  .page-home .hero-stats>div:first-child,
.page-home .hero-stats>div:nth-child(3) {
    padding-left: 0;
  }

  .page-home .hero-stats>div:nth-child(2),
.page-home .hero-stats>div:last-child {
    padding-right: 0;
  }

  .page-home .hero-stats>div:nth-child(2)::after,
.page-home .hero-stats>div:nth-child(4)::after {
    display: none !important;
  }
}

/* =========================================================
   END: 21. RESPONSIVE - TABLET (TEMPLATE SPECIFIC)
   ========================================================= */

/* =========================================================
   START: 22. RESPONSIVE - MOBILE (TEMPLATE SPECIFIC)
   ========================================================= */

@media (max-width: 760px) {
  .page-home {
    --section-heading-size: clamp(46px, 12vw, 78px);
    --full-width: var(--full-width-mobile);
  }

  .page-home .cinema-inner,
.page-home .final-content,
.page-home .um-final-content,
.page-home .um-gap-inner,
.page-home .um-logo-intro,
.page-home .um-video-header,
.page-home .um-video-frame,
.page-home .um-case-header,
.page-home .um-case-feature,
.page-home .um-case-support,
.page-home .engine-v2-inner,
.page-home .engine-final-inner,
.page-home .um-exec-inner,
.page-home .um-building-inner {
    width: var(--full-width-mobile);
  }

  .page-home .um-gap,
.page-home #gap.um-gap,
.page-home .um-video,
.page-home .um-case,
.page-home .um-final,
.page-home #contact.cinema-final,
.page-home .um-exec {
    padding: 92px 0;
  }

  .page-home .um-logo-marquee {
    --logo-height: 64px;
    --logo-gap: 46px;
    padding: 56px 0 38px;
  }

  .page-home .um-gap-intro {
    margin-bottom: 56px;
  }

  .page-home .um-gap-label {
    font-size: 26px;
  }

  .page-home .um-gap-truth {
    font-size: clamp(24px, 7vw, 34px);
    line-height: 1.12;
  }

  .page-home .um-gap-lead {
    font-size: 20px;
  }

  .page-home .um-gap-copy {
    font-size: 17px;
  }

  .page-home .um-gap-word {
    display: none;
  }

  .page-home .um-gap-bg {
    height: 620px;
  }

  .page-home .um-system-strip {
    padding: 34px 22px;
  }

  .page-home .system-bar-inner,
.page-home .um-system-strip-row {
    gap: 12px;
    font-size: 24px;
    letter-spacing: .10em;
  }

  .page-home .um-ownership-left,
.page-home .um-ownership-right,
.page-home .um-production-copy {
    padding: 82px 40px;
  }

  .page-home .um-ownership-left h2,
.page-home .um-production-copy h2,
.page-home .um-video-header h2,
.page-home .um-case-header h2,
.page-home .um-final-content h2,
.page-home .um-exec-copy h2,
.page-home .um-building-copy h2,
.page-home .engine-v2-command h2,
.page-home .engine-final-header h2 {
    font-size: clamp(48px, 13vw, 82px);
  }

  .page-home .um-ownership-right>p {
    font-size: 20px;
    margin-bottom: 34px;
  }

  .page-home .um-success-system {
    grid-template-columns: 1fr;
  }

  .page-home .um-success-group {
    padding: 24px;
  }

  .page-home .um-success-step {
    grid-template-columns: 42px 1fr;
    column-gap: 14px;
  }

  .page-home .um-success-step b {
    font-size: 36px;
  }

  .page-home .um-success-step strong {
    font-size: 18px;
  }

  .page-home .um-success-step span {
    font-size: 14px;
  }

  .page-home .engine-v2-step {
    grid-template-columns: 1fr;
    gap: 20px;
    min-height: auto;
    padding: 34px 0;
  }

  .page-home .engine-v2-number {
    font-size: 82px;
  }

  .page-home .engine-v2-copy h3 {
    font-size: clamp(32px, 9vw, 46px);
    line-height: 1;
  }

  .page-home .engine-v2-detail {
    font-size: 16px;
  }

  .page-home .um-case-tabs {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 42px;
  }

  .page-home .um-case-tab {
    min-height: 112px;
    padding: 26px 22px;
  }

  .page-home .um-case-copy,
.page-home .case-content {
    padding: 42px 30px;
  }

  .page-home .um-case-metrics {
    grid-template-columns: 1fr;
  }

  .page-home .um-case-support>div,
.page-home .case-lane {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
    padding: 34px 28px;
  }

  .page-home .um-case-support>div:last-child,
.page-home .case-lane:last-child {
    border-bottom: 0;
  }

  .page-home .um-exec-media,
.page-home .um-exec-media img {
    min-height: 360px;
  }

  .page-home .um-exec-grid {
    grid-template-columns: 1fr;
  }

  .page-home .um-exec-nameplate span {
    line-height: 1.55;
  }

  .page-home .um-final-actions,
.page-home .final-actions {
    flex-direction: column;
  }

  .page-home .um-final-actions a,
.page-home .final-actions a {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .page-home #hero {
    --hero-headline-size: clamp(42px, 12vw, 72px);
    --hero-subtext-size: 16px;
    min-height: 100vh;
  }

  .page-home .hero-headline .hero-line {
    white-space: normal;
  }

  .page-home .hero-stats {
    grid-template-columns: 1fr;
  }

  .page-home .hero-stats>div {
    padding: 22px 0;
  }

  .page-home .hero-stats>div:not(:last-child)::after {
    display: none;
  }

  .page-home .hero-buttons,
.page-home .final-actions,
.page-home .um-final-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .page-home .hero-buttons .btn-primary,
.page-home .hero-buttons .btn-outline,
.page-home .final-actions a,
.page-home .um-final-actions a {
    width: 100%;
  }

  .page-home .um-production-copy {
    width: calc(100% - 32px);
    padding: 88px 0 72px;
  }

  .page-home .um-production-copy>p {
    font-size: 17px;
  }

  .page-home #contact {
    padding: 120px 0;
  }
}

/* =========================================================
   END: 22. RESPONSIVE - MOBILE (TEMPLATE SPECIFIC)
   ========================================================= */

/* =========================================================
   START: HOMEPAGE AI-POWERED ASSISTANCE
   Migrated from the former embedded index.php stylesheet.
   ========================================================= */
.page-home .um-ai {
          --ai-gold: #e48240;
          --ai-black: #080808;
          position: relative;
          min-height: 860px;
          display: flex;
          align-items: center;
          overflow: hidden;
          isolation: isolate;
          background: var(--ai-black);
          border-top: 1px solid rgba(228, 130, 64, 0.2);
          border-bottom: 1px solid rgba(228, 130, 64, 0.2);
        }

        .page-home .um-ai-background {
          position: absolute;
          inset: 0;
          z-index: -5;
        }

        .page-home .um-ai-background img {
          width: 100%;
          height: 100%;
          display: block;
          object-fit: cover;
          object-position: center;
          filter: saturate(1.08) contrast(1.06);
          transform: scale(1.015);
        }

        .page-home .um-ai-background::after {
          content: "";
          position: absolute;
          inset: 0;
          background:
            linear-gradient(
              90deg,
              rgba(8, 8, 8, 0.02) 0%,
              rgba(8, 8, 8, 0.08) 36%,
              rgba(8, 8, 8, 0.7) 64%,
              rgba(8, 8, 8, 0.98) 100%
            ),
            linear-gradient(
              180deg,
              rgba(8, 8, 8, 0.12) 0%,
              transparent 38%,
              rgba(8, 8, 8, 0.58) 100%
            );
        }

        .page-home .um-ai-grid {
          position: absolute;
          inset: 0;
          z-index: -3;
          opacity: 0.22;
          pointer-events: none;
          background-image:
            linear-gradient(rgba(228, 130, 64, 0.1) 1px, transparent 1px),
            linear-gradient(90deg, rgba(228, 130, 64, 0.1) 1px, transparent 1px);
          background-size: 90px 90px;
          -webkit-mask-image: linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.85),
            rgba(0, 0, 0, 0.15) 72%,
            transparent
          );
          mask-image: linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.85),
            rgba(0, 0, 0, 0.15) 72%,
            transparent
          );
        }

        .page-home .um-ai-glow {
          position: absolute;
          left: 24%;
          top: 50%;
          z-index: -2;
          width: 650px;
          height: 650px;
          border-radius: 50%;
          background: rgba(228, 130, 64, 0.13);
          filter: blur(120px);
          transform: translate(-50%, -50%);
          animation: umAiGlow 7s ease-in-out infinite;
          pointer-events: none;
        }

        .page-home .um-ai-scan {
          position: absolute;
          top: 0;
          bottom: 0;
          left: -12%;
          z-index: -1;
          width: 32%;
          opacity: 0;
          pointer-events: none;
          background: linear-gradient(
            90deg,
            transparent,
            rgba(228, 130, 64, 0.07),
            rgba(255, 195, 133, 0.2),
            rgba(228, 130, 64, 0.07),
            transparent
          );
          transform: skewX(-18deg);
          animation: umAiScan 8s linear infinite;
        }

        .page-home .um-ai-topline,
.page-home .um-ai-bottomline {
          position: absolute;
          left: 0;
          right: 0;
          height: 1px;
          z-index: 3;
          background: linear-gradient(
            90deg,
            transparent,
            rgba(228, 130, 64, 0.55),
            transparent
          );
        }

        .page-home .um-ai-topline {
          top: 0;
        }

        .page-home .um-ai-bottomline {
          bottom: 0;
        }

        .page-home .um-ai-vertical-title {
          position: absolute;
          left: 34px;
          top: 50%;
          z-index: 3;
          display: flex;
          align-items: center;
          gap: 18px;
          color: rgba(255, 255, 255, 0.42);
          font-family: "Inter", sans-serif;
          font-size: 10px;
          font-weight: 700;
          letter-spacing: 0.42em;
          text-transform: uppercase;
          writing-mode: vertical-rl;
          transform: translateY(-50%) rotate(180deg);
        }

        .page-home .um-ai-vertical-title::before {
          content: "";
          width: 1px;
          height: 90px;
          background: linear-gradient(
            180deg,
            transparent,
            var(--ai-gold)
          );
        }

        .page-home .um-ai-ghost-word {
          position: absolute;
          left: 5%;
          bottom: -52px;
          z-index: -1;
          color: transparent;
          font-family: "Bebas Neue", sans-serif;
          font-size: clamp(190px, 23vw, 410px);
          font-weight: 400;
          line-height: 0.8;
          letter-spacing: 0.02em;
          white-space: nowrap;
          -webkit-text-stroke: 1px rgba(228, 130, 64, 0.14);
          pointer-events: none;
        }

        .page-home .um-ai-inner {
          position: relative;
          z-index: 2;
          width: 100%;
          max-width: 1540px;
          margin: 0 auto;
          padding: 120px 80px;
          display: grid;
          grid-template-columns: minmax(0, 1fr) minmax(480px, 600px);
          align-items: center;
          gap: 80px;
        }

        .page-home .um-ai-visual {
          position: relative;
          min-height: 560px;
        }

        .page-home .um-ai-node {
          position: absolute;
          display: flex;
          align-items: center;
          gap: 12px;
          padding: 13px 18px;
          color: rgba(255, 255, 255, 0.84);
          font-family: "Inter", sans-serif;
          font-size: 10px;
          font-weight: 700;
          letter-spacing: 0.16em;
          text-transform: uppercase;
          background: rgba(8, 8, 8, 0.68);
          border: 1px solid rgba(228, 130, 64, 0.32);
          box-shadow:
            0 20px 60px rgba(0, 0, 0, 0.35),
            inset 0 0 22px rgba(228, 130, 64, 0.04);
          backdrop-filter: blur(12px);
          -webkit-backdrop-filter: blur(12px);
        }

        .page-home .um-ai-node::before {
          content: "";
          width: 7px;
          height: 7px;
          flex: 0 0 7px;
          border-radius: 50%;
          background: var(--ai-gold);
          box-shadow: 0 0 14px rgba(228, 130, 64, 0.9);
          animation: umAiPulse 2.4s ease-in-out infinite;
        }

        .page-home .um-ai-node-one {
          left: 4%;
          top: 15%;
        }

        .page-home .um-ai-node-two {
          left: 42%;
          top: 42%;
        }

        .page-home .um-ai-node-three {
          left: 12%;
          bottom: 17%;
        }

        .page-home .um-ai-command {
          position: absolute;
          left: 4%;
          bottom: 2%;
          display: flex;
          align-items: center;
          gap: 13px;
          color: rgba(255, 255, 255, 0.64);
          font-family: "Inter", sans-serif;
          font-size: 9px;
          font-weight: 700;
          letter-spacing: 0.22em;
          text-transform: uppercase;
        }

        .page-home .um-ai-command-mark {
          position: relative;
          width: 34px;
          height: 34px;
          border: 1px solid rgba(228, 130, 64, 0.52);
          transform: rotate(45deg);
        }

        .page-home .um-ai-command-mark::before {
          content: "";
          position: absolute;
          inset: 8px;
          background: var(--ai-gold);
          box-shadow: 0 0 20px rgba(228, 130, 64, 0.75);
        }

        .page-home .um-ai-copy {
          position: relative;
          padding: 58px 0 56px 58px;
          border-left: 1px solid rgba(228, 130, 64, 0.28);
        }

        .page-home .um-ai-copy::before,
.page-home .um-ai-copy::after {
          content: "";
          position: absolute;
          left: -1px;
          width: 1px;
          height: 74px;
          background: var(--ai-gold);
          box-shadow: 0 0 18px rgba(228, 130, 64, 0.48);
        }

        .page-home .um-ai-copy::before {
          top: 0;
        }

        .page-home .um-ai-copy::after {
          bottom: 0;
        }

        .page-home .um-ai-eyebrow {
          display: flex;
          align-items: center;
          gap: 14px;
          margin-bottom: 26px;
          color: var(--ai-gold);
          font-family: "Inter", sans-serif;
          font-size: 11px;
          font-weight: 800;
          letter-spacing: 0.28em;
          text-transform: uppercase;
        }

        .page-home .um-ai-eyebrow::before {
          content: "";
          width: 42px;
          height: 1px;
          background: var(--ai-gold);
          box-shadow: 0 0 12px rgba(228, 130, 64, 0.6);
        }

        .page-home .um-ai h2 {
          margin: 0 0 32px;
          color: #ffffff;
          font-family: "Bebas Neue", sans-serif;
          font-size: clamp(72px, 6.1vw, 108px);
          font-weight: 400;
          line-height: 0.84;
          letter-spacing: 0.01em;
        }

        .page-home .um-ai h2 span {
          display: block;
          margin-top: 12px;
          color: var(--ai-gold);
        }

        .page-home .um-ai-body {
          max-width: 555px;
        }

        .page-home .um-ai-body p {
          margin: 0;
          color: rgba(255, 255, 255, 0.72);
          font-family: "Inter", sans-serif;
          font-size: 16px;
          font-weight: 400;
          line-height: 1.75;
        }

        .page-home .um-ai-body p + p {
          margin-top: 16px;
        }

        .page-home .um-ai-control {
          margin-top: 34px;
          padding: 19px 22px;
          display: flex;
          align-items: center;
          gap: 16px;
          background: linear-gradient(
            90deg,
            rgba(228, 130, 64, 0.14),
            rgba(228, 130, 64, 0.025)
          );
          border-top: 1px solid rgba(228, 130, 64, 0.34);
          border-bottom: 1px solid rgba(228, 130, 64, 0.14);
        }

        .page-home .um-ai-control-icon {
          position: relative;
          width: 38px;
          height: 38px;
          flex: 0 0 38px;
          display: grid;
          place-items: center;
          border: 1px solid rgba(228, 130, 64, 0.5);
          border-radius: 50%;
        }

        .page-home .um-ai-control-icon::before {
          content: "";
          width: 9px;
          height: 9px;
          border-radius: 50%;
          background: var(--ai-gold);
          box-shadow: 0 0 18px rgba(228, 130, 64, 0.95);
          animation: umAiPulse 2.4s ease-in-out infinite;
        }

        .page-home .um-ai-control-copy span {
          display: block;
          margin-bottom: 5px;
          color: var(--ai-gold);
          font-family: "Inter", sans-serif;
          font-size: 9px;
          font-weight: 800;
          letter-spacing: 0.25em;
          text-transform: uppercase;
        }

        .page-home .um-ai-control-copy strong {
          display: block;
          color: #ffffff;
          font-family: "Inter", sans-serif;
          font-size: 12px;
          font-weight: 800;
          line-height: 1.5;
          letter-spacing: 0.11em;
          text-transform: uppercase;
        }

        @keyframes umAiPulse {
          0%,
          100% {
            opacity: 0.55;
            transform: scale(0.82);
          }

          50% {
            opacity: 1;
            transform: scale(1);
          }
        }

        @keyframes umAiGlow {
          0%,
          100% {
            opacity: 0.55;
            transform: translate(-50%, -50%) scale(0.92);
          }

          50% {
            opacity: 0.9;
            transform: translate(-50%, -50%) scale(1.08);
          }
        }

        @keyframes umAiScan {
          0% {
            left: -35%;
            opacity: 0;
          }

          12% {
            opacity: 1;
          }

          72% {
            opacity: 0.8;
          }

          100% {
            left: 115%;
            opacity: 0;
          }
        }

        @media (max-width: 1100px) {
          .page-home .um-ai {
            min-height: 820px;
          }

          .page-home .um-ai-inner {
            grid-template-columns: minmax(0, 0.75fr) minmax(450px, 1fr);
            gap: 35px;
            padding: 100px 50px;
          }

          .page-home .um-ai-copy {
            padding-left: 42px;
          }

          .page-home .um-ai-node-two {
            left: 25%;
          }

          .page-home .um-ai-vertical-title {
            display: none;
          }
        }

        @media (max-width: 800px) {
          .page-home .um-ai {
            min-height: 900px;
            align-items: flex-end;
          }

          .page-home .um-ai-background img {
            object-position: 35% center;
          }

          .page-home .um-ai-background::after {
            background:
              linear-gradient(
                180deg,
                rgba(8, 8, 8, 0.05) 0%,
                rgba(8, 8, 8, 0.16) 26%,
                rgba(8, 8, 8, 0.86) 53%,
                #080808 82%
              );
          }

          .page-home .um-ai-grid {
            background-size: 60px 60px;
            -webkit-mask-image: linear-gradient(
              180deg,
              rgba(0, 0, 0, 0.7),
              transparent 70%
            );
            mask-image: linear-gradient(
              180deg,
              rgba(0, 0, 0, 0.7),
              transparent 70%
            );
          }

          .page-home .um-ai-inner {
            display: block;
            padding: 320px 28px 76px;
          }

          .page-home .um-ai-visual {
            position: absolute;
            inset: 0;
            min-height: 0;
            pointer-events: none;
          }

          .page-home .um-ai-node {
            display: none;
          }

          .page-home .um-ai-command {
            left: 28px;
            top: 235px;
            bottom: auto;
          }

          .page-home .um-ai-copy {
            max-width: 650px;
            padding: 38px 0 0;
            border-left: 0;
            border-top: 1px solid rgba(228, 130, 64, 0.32);
          }

          .page-home .um-ai-copy::before {
            top: -1px;
            left: 0;
            width: 90px;
            height: 1px;
          }

          .page-home .um-ai-copy::after {
            display: none;
          }

          .page-home .um-ai h2 {
            font-size: clamp(65px, 15vw, 94px);
          }

          .page-home .um-ai-ghost-word {
            left: 0;
            bottom: -22px;
            font-size: 46vw;
          }
        }

        @media (max-width: 520px) {
          .page-home .um-ai {
            min-height: 880px;
          }

          .page-home .um-ai-inner {
            padding: 280px 20px 60px;
          }

          .page-home .um-ai-command {
            left: 20px;
            top: 205px;
          }

          .page-home .um-ai-copy {
            padding-top: 30px;
          }

          .page-home .um-ai-eyebrow {
            font-size: 9px;
            letter-spacing: 0.22em;
          }

          .page-home .um-ai h2 {
            margin-bottom: 25px;
            font-size: clamp(56px, 16.5vw, 78px);
          }

          .page-home .um-ai-body p {
            font-size: 14px;
            line-height: 1.7;
          }

          .page-home .um-ai-control {
            margin-top: 27px;
            padding: 16px 14px;
          }

          .page-home .um-ai-control-copy strong {
            font-size: 10px;
            letter-spacing: 0.08em;
          }
        }

        @media (prefers-reduced-motion: reduce) {
          .page-home .um-ai-glow,
.page-home .um-ai-scan,
.page-home .um-ai-node::before,
.page-home .um-ai-control-icon::before {
            animation: none;
          }
        }
/* =========================================================
   END: HOMEPAGE AI-POWERED ASSISTANCE
   ========================================================= */
