.service-hub {
  --hub-navy: #091f45;
  --hub-gold: #f2c65a;
  margin: 0 auto 28px;
  color: var(--hub-navy);
}
.hub-intro {
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  background: var(--hub-navy);
  color: white;
  border-radius: 22px;
}
.hub-intro-copy { padding: clamp(22px, 4vw, 44px); }
.hub-intro h1 { margin: 0; text-align: left; font-size: clamp(31px, 5vw, 58px); line-height: 1.02; letter-spacing: -.04em; color: white; }
.hub-intro p { color: #e1e9f7; text-align: left; margin: 14px 0 20px; }
.hub-intro img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.hub-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.hub-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border-radius: 9px;
  padding: 10px 15px;
  border: 1px solid currentColor;
  color: white;
  font-weight: 700;
  text-decoration: none;
}
.hub-actions a:first-child { background: var(--hub-gold); color: var(--hub-navy); border-color: var(--hub-gold); }
.hub-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 0;
}
.hub-links a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 98px;
  padding: 14px;
  gap: 5px;
  border: 1px solid #dbe4f1;
  border-radius: 12px;
  background: white;
  color: var(--hub-navy);
  text-decoration: none;
}
.hub-links a:hover { border-color: #214c90; background: #f8faff; }
.hub-links span { font-size: .88rem; line-height: 1.4; color: #51647e; }
.hub-links strong { line-height: 1.25; }
.hub-more { margin: 15px 0 0; padding: 12px 0; }
.hub-more summary { cursor: pointer; font-weight: 700; }
.hub-more .site-nav { position: static; margin-top: 12px; }
@media(max-width: 640px) {
  .hub-intro { grid-template-columns: 1fr; }
  .hub-intro img { max-height: 230px; min-height: 0; }
  .hub-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
