/* Top page consolidated final layout — 2026-07-21
   Scope: index.html only (.top-page)
   This file intentionally replaces prior top-page patch rules instead of appending more overrides. */

/* ============================================================
   HERO — keep every carousel copy at exactly the same anchor.
   Only opacity changes when slides switch; vertical position never animates.
   ============================================================ */
@media (min-width: 769px) {
  .top-page .carousel-hero .ch-right-col {
    position: absolute !important;
    right: clamp(48px, 5vw, 80px) !important;
    left: auto !important;
    bottom: clamp(56px, 7vh, 82px) !important;
    width: min(460px, 46vw) !important;
    height: 230px !important;
    min-height: 230px !important;
    max-width: 460px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    transform: none !important;
  }

  .top-page .carousel-hero .ch-right-col .ch-text,
.top-page .carousel-hero .ch-right-col .ch-text.active {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: right !important;
    transform: none !important;
    translate: none !important;
    transition: opacity .8s ease, visibility 0s .8s !important;
  }

  .top-page .carousel-hero .ch-right-col .ch-text {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .top-page .carousel-hero .ch-right-col .ch-text.active {
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity .8s ease, visibility 0s !important;
  }

  .top-page .carousel-hero .ch-catch,
.top-page .carousel-hero .ch-sub,
.top-page .carousel-hero .ch-eyebrow {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .top-page .carousel-hero .ch-text-2 .ch-catch {
    white-space: nowrap !important;
  }
}

/* ============================================================
   FOOTER — brand | SERVICE | COMPANY | HEAD OFFICE.
   Reset legacy grid-column rules on nested footer children.
   ============================================================ */
@media (min-width: 1101px) {

  /* Critical reset: old styles assigned grid-column 4/5 to these nested elements. */

}

/* Compact desktop: keep one row without crushing HEAD OFFICE. */
