/* DiraChart homepage and footer cleanup — v3.1 */

body.dc-route-home .dc-system-header,
body.dc-route-home .dc-system-highlighted,
body.dc-route-home .dc-system-breadcrumb,
body.dc-route-home .dc-front-existing-content .block-page-title-block,
body.dc-route-home .dc-front-existing-content .dcv2-hero,
body.dc-route-home .dc-legacy-home-hidden {
  display: none !important;
}

body.dc-route-home .dc-front-main {
  min-height: 0;
  overflow: visible;
}

body.dc-route-home .dc-clean-home-hero {
  padding-top: clamp(70px, 8vw, 112px);
  padding-bottom: clamp(76px, 8vw, 112px);
}

body.dc-route-home .dc-clean-home-hero .hero-copy h1 {
  max-width: 720px;
  font-size: clamp(3.65rem, 6.7vw, 6.45rem);
  line-height: .89;
}

body.dc-route-home .dc-clean-home-hero .signal-field {
  min-height: 470px;
}

body.dc-route-home .dc-front-existing-content {
  background: var(--cloud);
}

body.dc-route-home .dc-front-existing-content > .region-content,
body.dc-route-home .dc-front-existing-content > .region-content > .block-system-main-block {
  min-width: 0;
}

/* Normalize the existing closing CTA without changing its Drupal content. */
body.dc-route-home .dc-home-final-cta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 36px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  min-height: 0 !important;
  margin: clamp(70px, 8vw, 110px) auto !important;
  padding: clamp(35px, 5vw, 56px) !important;
  border: 0 !important;
  border-radius: 24px !important;
  align-items: end !important;
  background: linear-gradient(135deg, var(--navy-deep), var(--panel)) !important;
  color: white !important;
  box-shadow: var(--shadow) !important;
  text-align: left !important;
}

body.dc-route-home .dc-home-final-cta :where(h1,h2,h3,h4) {
  max-width: 760px !important;
  margin: 10px 0 14px !important;
  color: white !important;
  font: 700 clamp(2.55rem, 5vw, 4.7rem)/.96 var(--display) !important;
  letter-spacing: .015em !important;
}

body.dc-route-home .dc-home-final-cta p {
  max-width: 760px !important;
  margin: 0 !important;
  color: #c8d8e5 !important;
  font-family: var(--serif) !important;
}

body.dc-route-home .dc-home-final-cta :where(a,button,.button,[class*="btn"]) {
  min-height: 48px !important;
  border-color: rgba(255,255,255,.30) !important;
  background: white !important;
  color: var(--navy) !important;
  font: 700 .84rem/1 var(--ui) !important;
}

/* Exact DiraReach footer proportions and a clean DiraSuite credit strip. */
body.dirachart-reach-match .site-footer {
  margin-top: 0;
  padding-top: 64px;
}

body.dirachart-reach-match .footer-top {
  align-items: start;
}

body.dirachart-reach-match .footer-brand .brand-logo {
  width: 185px;
}

body.dirachart-reach-match .footer-credit {
  border-top: 1px solid rgba(255,255,255,.08);
  background: #091827;
  text-align: center;
}

body.dirachart-reach-match .footer-credit a {
  display: block;
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
  padding: 14px 0 16px;
  color: #91a9bc;
  font: 600 .68rem/1.45 var(--ui);
  text-decoration: none;
}

body.dirachart-reach-match .footer-credit a:hover {
  color: white;
}

body.dirachart-reach-match .footer-credit span {
  color: var(--teal);
}

@media (max-width: 1020px) {
  body.dc-route-home .dc-clean-home-hero .hero-copy h1 {
    max-width: 850px;
  }
  body.dc-route-home .dc-home-final-cta {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
}

@media (max-width: 700px) {
  body.dc-route-home .dc-clean-home-hero {
    padding-top: 54px;
    padding-bottom: 64px;
  }
  body.dc-route-home .dc-clean-home-hero .hero-copy h1 {
    font-size: clamp(3.15rem, 15vw, 4.8rem);
  }
  body.dc-route-home .dc-clean-home-hero .signal-field {
    min-height: 390px;
    border-radius: 22px;
  }
  body.dc-route-home .dc-home-final-cta {
    width: min(100% - 24px, 1180px) !important;
    padding: 28px 22px !important;
    border-radius: 18px !important;
  }
  body.dc-route-home .dc-home-final-cta :where(a,button,.button,[class*="btn"]) {
    width: 100% !important;
  }
  body.dirachart-reach-match .footer-credit a {
    width: min(100% - 24px, 1180px);
  }
}

/* LIVE HOME CLEANUP v3.1.2 */
body.dc-route-home .dc-legacy-home-title,
body.dc-route-home .dc-legacy-home-hero {
  display: none !important;
}

