/* =========================================================
   Sunny Cleans — Hub Pages (Locations / Services / Region)
   Scope: /assets/css/pages/hub.css only
   ========================================================= */

:root{
  --hub-copy-max: 78ch;
}

/* Slightly tighter rhythm than default, still calm */
.page-hub .band{
  padding: clamp(28px, 3.4vw, 62px) 0;
}

/* Hero: full-width card like service pages */
.page-hub .hub-hero-card{
  max-width: var(--max);
  margin: 0 auto;
  width: 100%;
  box-shadow: var(--shadow-sm);
}

/* Give hero more breathing room */
.page-hub .hub-hero-card.card{
  padding: clamp(28px, 3.2vw, 48px);
}

.page-hub .hub-hero-card h1{
  margin: 0 0 10px 0;
  font-size: clamp(2.2rem, 3.8vw, 3.4rem);
  line-height: 1.05;
  font-weight: 950;
}

.page-hub .hub-hero-card .lead{
  max-width: var(--hub-copy-max);
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0 0 16px 0;
}

/* Breadcrumbs: tight under hero, aligned */
.page-hub .crumbs{
  max-width: var(--max);
  margin: 14px auto 0;
  font-size: 0.86rem;
  color: rgba(11,18,32,.62);
}

.page-hub .crumbs ol{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.page-hub .crumbs li{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.page-hub .crumbs li + li::before{
  content: "›";
  color: rgba(11,18,32,.32);
}

.page-hub .crumbs a{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(11,18,32,.18);
}

.page-hub .crumbs a:hover{
  border-bottom-color: rgba(11,18,32,.35);
}

/* Body: keep content aligned to page width */
.page-hub .hub-body-inner{
  max-width: var(--max);
  margin: 0 auto;
}

/* Make hub panels a touch lighter */
.page-hub .hub-body-inner .card{
  box-shadow: var(--shadow-sm);
}

/* Make the link list more scannable */
.page-hub .hub-body-inner ul{
  margin: 0;
  padding-left: 1.1rem;
  line-height: 1.7;
}

.page-hub .hub-body-inner li + li{
  margin-top: 6px;
}

