/* cl-home.css: HP Tuners' home (templates/home.html), from their measured home: the dark page, the hero with its
   blue slogan band, the full-bleed photo bands each over a 1200px column of their bold blue or white headings
   and light white text. Every rule sits in @layer site (cl-site.css: the layer order). */
@layer base, kit, site;

@layer site {

.cl-home { background: var(--site-page-dark); color: #FFFFFF; }
.cl-hm__in { position: relative; max-width: 1200px; margin: 0 auto; }
.cl-hm__h { font: 400 32px/38.848px var(--site-font-heading); color: #FFFFFF; }
.cl-hm__h--blue { color: var(--site-accent); }
.cl-hm__h + .cl-hm__p { margin-top: 17.3px; }
.cl-hm__p { margin-bottom: 22.6px; font: 400 16px/25.888px var(--site-font-body); }
.cl-hm__p a { color: var(--site-accent); font-family: var(--site-font-heading); text-decoration: underline; }
.cl-hm__p a:hover { color: #FFFFFF; }
.cl-hm__p strong { font-family: var(--site-font-heading); font-weight: 400; }
.cl-hm__cta { display: flex; justify-content: center; padding: 10px 0 9px; }
.cl-hm__cta .cl-btn { min-height: 49.8px; padding: 0 28px; }
.cl-hm-gb__pic img, .cl-hm-fam__pic img, .cl-hm-veh__pic img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- the hero: a still of their video, the fade and the blue slogan band ---------- */
.cl-hm-hero { position: relative; height: 587px; overflow: hidden; }
.cl-hm-hero__pic { display: block; height: 100%; }
.cl-hm-hero__pic img { width: 100%; height: 100%; object-fit: cover; }
.cl-hm-hero__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 184px; background: linear-gradient(rgba(23, 24, 25, 0) 0%, rgb(23, 24, 25) 90%); }
.cl-hm-hero__band { position: absolute; left: 0; bottom: 0; width: 864px; height: 183.2px; padding: 30px 40px 0; background: linear-gradient(to right, rgb(28, 117, 186) 0%, rgba(255, 255, 255, 0) 100%); }
.cl-hm-hero__h { max-width: 784px; font: 400 56px/61.6px var(--site-font-heading); color: #FFFFFF; }
.cl-hm-hero__h span { display: block; }

/* ---------- GM Global B: the photo band with the translucent box at the right ---------- */
.cl-hm-gb { position: relative; padding: 50px 0; }
.cl-hm-gb__pic { position: absolute; inset: 0; }
.cl-hm-gb__pic img { object-position: 50% 100%; }
.cl-hm-gb__box { width: 600px; margin-left: auto; padding: 30px; background: rgba(0, 0, 0, 0.5); }

/* ---------- MPVI4 and VCM Suite ---------- */
.cl-hm-fam { padding-bottom: 50px; background: #3366CC; }
.cl-hm-fam__pic { display: block; height: 552px; }
.cl-hm-fam__cols { display: grid; grid-template-columns: 1fr 1fr; column-gap: 120px; }
.cl-hm-fam__cols::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1px solid #FFFFFF; }
.cl-hm-fam__logo { height: 70px; width: auto; margin-bottom: 30px; }
.cl-hm-fam__h { margin-bottom: 16.8px; font: 400 22.4px/22.4px var(--site-font-heading); }
.cl-hm-fam__h span { display: block; font: italic 400 22.4px/23.4px var(--site-font-body); }

/* ---------- the vehicle question and our vehicle band ---------- */
.cl-hm-veh { padding-bottom: 100px; background: var(--site-veh-bg); color: var(--site-veh-fg); border-top: 2px solid var(--site-accent-dark); border-bottom: 2px solid var(--site-accent-dark); }
.cl-hm-veh__pic { display: block; height: 384px; }
.cl-hm-veh .cl-hm__in { padding-top: 10px; }
.cl-hm-veh__h { color: var(--site-veh-fg); text-align: center; }
.cl-hm-veh__band { max-width: 1200px; margin: 30px auto 0; }

/* ---------- phones: each photo above its words ---------- */
@media (max-width: 979.98px) {
  .cl-hm__in { padding: 0 var(--site-gutter); }
  .cl-hm__h { font-size: 24px; line-height: 29.13px; }
  .cl-hm__cta { padding: 9.5px 0; }
  .cl-hm__cta .cl-btn { min-height: 47.6px; padding: 0 20px; font-size: 16px; }

  .cl-hm-hero { height: 432.8px; }
  .cl-hm-hero__band { width: 100%; height: 100.1px; padding: 20px var(--site-gutter) 0; }
  .cl-hm-hero__h { font-size: 26px; line-height: 30px; }

  .cl-hm-gb { padding: 0; }
  .cl-hm-gb__pic { position: static; display: block; height: 260px; }
  .cl-hm-gb__box { width: auto; padding: 25px 0 20px; background: none; }

  .cl-hm-fam { padding-bottom: 30px; }
  .cl-hm-fam__pic { height: 149.5px; }
  .cl-hm-fam__cols { grid-template-columns: 1fr; row-gap: 35px; }
  .cl-hm-fam__cols::before { display: none; }
  .cl-hm-fam__logo { height: 40px; }

  .cl-hm-veh { padding-bottom: 50px; }
  .cl-hm-veh__pic { height: 260px; }
  .cl-hm-veh .cl-hm__in { padding-top: 25px; }
  .cl-hm-veh__band { padding: 0 var(--site-gutter); }
}

}
