@font-face {
  font-family: "Helvetica LT 45";
  src: url("../fonts/Helvetica-LT-45-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

.home-ci {
  --red: #de002e;
  --red-dark: #b80026;
  --blue: #004f9f;
  --ink: #393f3f;
  --charcoal: #393f3f;
  --steel: #697476;
  --line: #d9dede;
  --pale: #f3f5f5;
  color: var(--ink);
  font-family: "Helvetica LT 45", "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
}

.home-ci h1,
.home-ci h2,
.home-ci h3,
.home-ci strong,
.home-ci .button,
.home-ci .main-nav {
  font-family: Arial, Helvetica, sans-serif;
}

.home-ci .utility-bar {
  height: 32px;
  background: #393f3f;
  color: #fff;
  letter-spacing: .08em;
}

.home-ci .site-header {
  height: 92px;
  box-shadow: 0 7px 18px rgba(57, 63, 63, .24);
  border-bottom: 0;
}

.home-ci .brand img {
  width: 210px;
  max-height: 58px;
  object-fit: contain;
}

.home-ci .main-nav {
  gap: 27px;
  color: #393f3f;
  font-size: 13px;
  font-weight: 400;
}

.home-ci .main-nav > a:not(.nav-cta) {
  padding: 34px 0 30px;
}

.home-ci .products-toggle {
  color: #393f3f;
  font-weight: 400;
}

.home-ci .nav-cta,
.home-ci .button-primary {
  background: #de002e;
  color: #fff;
}

.home-ci .hero {
  min-height: 620px;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
  color: #393f3f;
}

.home-ci .hero::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0 0 0 48%;
  background: url("../img/hero-real-band-heaters.jpg") center/cover no-repeat;
}

.home-ci .hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, #fff 0%, #fff 43%, rgba(255,255,255,.96) 50%, rgba(255,255,255,0) 66%);
}

.home-ci .hero-shade {
  display: none;
}

.home-ci .hero-content {
  padding: 105px 0 95px;
}

.home-ci .hero h1,
.home-ci .section h2,
.home-ci .home-products-heading h2 {
  color: #393f3f;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  text-transform: none;
  letter-spacing: -.035em;
}

.home-ci .hero h1 {
  max-width: 650px;
  font-size: clamp(50px, 5.5vw, 78px);
  line-height: .98;
}

.home-ci .hero h1 em,
.home-ci .home-products-heading h2 em {
  color: #004f9f;
  font-style: normal;
}

.home-ci .hero-copy {
  max-width: 555px;
  color: #5f6a6b;
  font-size: 18px;
}

.home-ci .button {
  min-height: 48px;
  padding: 14px 22px;
  border-radius: 0;
  font-weight: 400;
}

.home-ci .button-ghost {
  border-color: #393f3f;
  color: #393f3f;
  background: rgba(255,255,255,.88);
}

.home-ci .button-ghost:hover {
  border-color: #004f9f;
  color: #004f9f;
}

.home-ci .trust-list {
  color: #393f3f;
}

.home-ci .trust-list span,
.home-ci .text-link span,
.home-ci .card-link b,
.home-ci .resource-links b {
  color: #004f9f;
}

.home-ci .eyebrow,
.home-ci .section-kicker,
.home-ci .resource-links span {
  color: #de002e;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
}

.home-ci .section {
  padding: 90px 0;
}

.home-ci .intro,
.home-ci .industries {
  background: #fff;
}

.home-ci .intro-copy {
  color: #5f6a6b;
  border-left-color: #d9dede;
}

.home-ci .home-products-intro,
.home-ci .section-pale {
  background: #f3f5f5;
}

.home-ci .home-products-intro::after {
  background: #004f9f;
}

.home-ci .home-product-strengths > div,
.home-ci .industry-row div {
  background: #fff;
}

.home-ci .item-bullet {
  background: #de002e;
}

.home-ci .capabilities {
  background: linear-gradient(115deg, #004f9f 0%, #004f9f 48%, #f3f5f5 48.1%);
}

.home-ci .capability-panel,
.home-ci .capability-panel h2 {
  color: #fff;
}

.home-ci .capability-panel p:not(.section-kicker) {
  color: #e4edf7;
}

.home-ci .capability-list {
  background: #f3f5f5;
}

.home-ci .industry-row h3 {
  color: #393f3f;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 19px;
  font-weight: 400;
  text-transform: none;
}

.home-ci .resource-links a:hover {
  color: #004f9f;
}

.home-ci .quote-section {
  background: #393f3f;
}

.home-ci .quote-section h2,
.home-ci .quote-section .section-kicker {
  color: #fff;
}

.home-ci .quote-form {
  color: #393f3f;
}

.home-ci .footer {
  background: #f3f5f5;
  color: #5f6a6b;
  border-top: 4px solid #de002e;
}

.home-ci .footer h3,
.home-ci .footer a:hover {
  color: #004f9f;
}

.home-ci .footer-brand img {
  width: 220px;
  max-width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
}

.home-ci .footer-bottom {
  border-top-color: #d9dede;
}

.home-ci .products-mega-menu {
  border-top: 3px solid #de002e;
  box-shadow: 0 14px 30px rgba(57,63,63,.14);
}

.home-ci .mega-menu-intro {
  background: #393f3f;
}

@media (max-width: 900px) {
  .home-ci .hero::after {
    left: 42%;
    opacity: .32;
  }

  .home-ci .hero::before {
    background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.96) 60%, rgba(255,255,255,.7) 100%);
  }
}

@media (max-width: 720px) {
  .home-ci .utility-bar {
    height: auto;
  }

  .home-ci .site-header {
    height: 76px;
  }

  .home-ci .brand img {
    width: 165px;
  }

  .home-ci .hero {
    min-height: 570px;
  }

  .home-ci .hero::after {
    inset: 47% 0 0;
    opacity: .32;
  }

  .home-ci .hero::before {
    background: linear-gradient(180deg, #fff 0%, #fff 50%, rgba(255,255,255,.65) 78%, rgba(255,255,255,.82) 100%);
  }

  .home-ci .hero-content {
    padding: 70px 0 190px;
  }

  .home-ci .hero h1 {
    font-size: clamp(46px, 15vw, 66px);
  }

  .home-ci .section {
    padding: 68px 0;
  }

  .home-ci .capabilities {
    background: #004f9f;
  }

  .home-ci .capability-list {
    background: #fff;
  }
}
/* Align homepage strength cards evenly */
.home-ci .home-product-strengths > div:first-child {
    padding-left: 24px;
}

.home-ci .home-product-strengths > div:last-child {
    padding-right: 24px;
}

/* Stage 20B multilingual visual QA: keep the home hero product photo at a
   consistent scale and fixed vertical position even when translated copy
   makes the hero taller. Anchor the artwork to the top instead of the bottom
   so a taller translated hero does not push the heaters down the page. */
.home-ci .hero::after {
  background-size: auto min(620px, 100%);
  background-position: center top;
  background-repeat: no-repeat;
}
