/* Ally shared interaction polish: keep the existing layout and colors intact. */
.site-header .desktop-nav a {
  color: #fff !important;
  transition: color .18s ease;
}
.site-header .desktop-nav a:hover,
.site-header .desktop-nav a:focus-visible,
.site-header .desktop-nav a[aria-current="page"],
.site-header .desktop-nav a.active {
  color: #075f63 !important;
}
.site-header .desktop-nav a:hover span,
.site-header .desktop-nav a:focus-visible span,
.site-header .desktop-nav a[aria-current="page"] span,
.site-header .desktop-nav a.active span {
  background-color: #075f63 !important;
}
.site-header .mobile-menu-panel a:hover,
.site-header .mobile-menu-panel a:focus-visible,
.site-header .mobile-menu-panel a[aria-current="page"] {
  color: #087f80 !important;
}

/* Campus pages: keep location details and team contact on one calm, continuous surface. */
#campus-info,
#campus-info + section {
  background: #0f3d68 !important;
}
#campus-info > .absolute.inset-0,
#campus-info + section > .absolute.inset-0 {
  display: none !important;
}
/* The housing card needs an opaque surface for clear, consistent contrast. */
#campus-info .grid > div:last-child {
  background: #f5fafb !important;
  background-image: none !important;
  border-color: rgba(32, 201, 195, .55) !important;
  box-shadow: 0 18px 44px rgba(2, 22, 45, .22);
}
#campus-info .grid > div:last-child > p:first-child {
  color: #087f80 !important;
}
/* Give the campus call button more breathing room after the county description. */
#campus-info .grid > div:first-child > a[href^="tel:"] {
  margin-top: 2rem !important;
}

/* Hide the undersized decorative icons above the service card titles. */
#how-we-help article > div:first-child {
  display: none !important;
}

/* Sober-living page: reserve the landscape photo for the hero to avoid a repeated image below. */
#campuses {
  background: linear-gradient(135deg, #0f3d68 0%, #1e5a8e 68%, #117b83 100%) !important;
}
#campuses > .absolute.inset-0 {
  display: none !important;
}
#campuses .grid > a {
  background: #fff !important;
  opacity: 1 !important;
}


/* Use the full two-column width for help cards and give their text room to breathe. */
#how-we-help .grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100%;
}
#how-we-help article {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 250px;
  padding: clamp(2rem, 3.2vw, 3.5rem) !important;
  color: #f5fafb !important;
  background: linear-gradient(135deg, #0f3d68 0%, #1e5a8e 100%) !important;
  border: 1px solid rgba(32, 201, 195, .6) !important;
  box-shadow: 0 18px 44px rgba(2, 22, 45, .2);
}
#how-we-help article h3 {
  color: #fff !important;
  margin-bottom: 1rem !important;
}
#how-we-help article p {
  color: #e4f0f7 !important;
  line-height: 1.75 !important;
}
/* Campus links should read as substantial blue cards, not small white tiles. */
#campuses .grid > a {
  min-height: 190px;
  padding: 2rem 2.25rem !important;
  background: linear-gradient(135deg, #0f3d68 0%, #1e5a8e 100%) !important;
  border: 1px solid rgba(32, 201, 195, .65) !important;
  box-shadow: 0 16px 34px rgba(2, 22, 45, .22);
}
#campuses .grid > a > p:first-child {
  color: #65ded8 !important;
  margin-bottom: 1rem !important;
}
#campuses .grid > a h3 {
  color: #fff !important;
  margin-bottom: .75rem !important;
}
#campuses .grid > a p:not(:first-child) {
  color: #e4f0f7 !important;
}
#campuses .grid > a span {
  color: #65ded8 !important;
  margin-top: 1.25rem !important;
}
@media (max-width: 767px) {
  #how-we-help .grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #how-we-help article {
    min-height: 0;
  }
}
