/* OneStack v368 — Homepage hero: taller and airier vertical spacing only.
 * Existing typography, mockup, button and colors are unchanged.
 * Scoped to the homepage to avoid changing banners on other pages.
 */
body.oneweb-template-home .os-home-v9 .os-v9-main > .os-v9-hero {
  padding-top: 128px !important;
  padding-bottom: 142px !important;
}

/* Avoid accumulated spacing from historical hero-grid rules. */
body.oneweb-template-home .os-home-v9 .os-v9-hero > .os-v9-hero__grid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 1100px) {
  body.oneweb-template-home .os-home-v9 .os-v9-main > .os-v9-hero {
    padding-top: 108px !important;
    padding-bottom: 110px !important;
  }
}

@media (max-width: 820px) {
  body.oneweb-template-home .os-home-v9 .os-v9-main > .os-v9-hero {
    padding-top: 70px !important;
    padding-bottom: 76px !important;
  }
}

@media (max-width: 480px) {
  body.oneweb-template-home .os-home-v9 .os-v9-main > .os-v9-hero {
    padding-top: 54px !important;
    padding-bottom: 62px !important;
  }
}


/* v366 — Repair v365 nested word reveal. Legacy h1 span selectors were
 * treating every animated word as a full-width, gold-coloured heading line.
 * Only two real title lines are block-level; words remain inline-block.
 */
body.oneweb-template-home .os-home-v9 .os-v9-hero h1.os-v9-hero__headline > .os-v9-hero__line {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-size: inherit !important;
}
body.oneweb-template-home .os-home-v9 .os-v9-hero h1.os-v9-hero__headline > .os-v9-hero__line--top {
  color: #ffffff !important;
  margin-top: 0 !important;
}
body.oneweb-template-home .os-home-v9 .os-v9-hero h1.os-v9-hero__headline > .os-v9-hero__line--accent {
  color: #f5c31b !important;
}
body.oneweb-template-home .os-home-v9 .os-v9-hero h1.os-v9-hero__headline > .os-v9-hero__line > .os-v9-reveal-word {
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
  vertical-align: baseline;
}
/* The global `h1 span {display:block}` does not apply to paragraph/button
   labels, but their animated word boxes also remain inline for consistency. */
body.oneweb-template-home .os-home-v9 .os-v9-hero__copy > .os-v9-reveal-word,
body.oneweb-template-home .os-home-v9 .os-v9-hero__buttons .os-v9-btn__label > .os-v9-reveal-word {
  display: inline-block !important;
  margin: 0 !important;
  color: inherit !important;
  white-space: nowrap !important;
}
/* Reduce the large diagonal bands added in v365; keep gentle network nodes. */
body.oneweb-template-home .os-home-v9 .os-v9-hero__decor--network {
  opacity: .27 !important;
  background:
    radial-gradient(circle at 11% 27%,rgba(255,255,255,.18) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 19%,rgba(255,255,255,.14) 0 1.6px, transparent 2.8px),
    radial-gradient(circle at 34% 31%,rgba(255,255,255,.16) 0 1.8px, transparent 3px),
    radial-gradient(circle at 70% 26%,rgba(255,255,255,.14) 0 1.8px, transparent 3px),
    radial-gradient(circle at 82% 38%,rgba(255,255,255,.12) 0 1.6px, transparent 3px),
    radial-gradient(ellipse at 77% 54%,rgba(255,255,255,.075) 0, transparent 58%);
}
@media (max-width: 820px) {
  body.oneweb-template-home .os-home-v9 .os-v9-hero h1.os-v9-hero__headline > .os-v9-hero__line {
    white-space: normal !important;
  }
  body.oneweb-template-home .os-home-v9 .os-v9-hero__visual img {
    max-width: 100% !important;
    height: auto !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.oneweb-template-home .os-home-v9 .os-v9-hero__visual img {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Keep each of the two approved headline lines intact on narrow phones. */
@media (max-width: 480px) {
  body.oneweb-template-home .os-home-v9 .os-v9-hero h1.os-v9-hero__headline {
    font-size: clamp(20px, 6.7vw, 27px) !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
  }
  body.oneweb-template-home .os-home-v9 .os-v9-hero h1.os-v9-hero__headline > .os-v9-hero__line {
    white-space: nowrap !important;
  }
}
