/* HouseHackers — partners page (agents & lenders) */

.p-hero { padding: 72px var(--page-x) 64px; max-width: 980px; }
.p-hero h1 {
  font: 400 56px/1.08 var(--serif);
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}
.p-hero .kicker { margin-bottom: 20px; }
.p-hero .sub { font: 400 18px/1.65 var(--sans); color: var(--muted); max-width: 56ch; margin: 22px 0 0; }
.p-hero .cta-row { display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; }

/* the application band reuses .teaser (forest) — form card on the right */
.teaser--apply { align-items: start; }

.apply-card {
  background: var(--cream-25);
  border-radius: var(--r-panel);
  padding: 32px;
  box-shadow: var(--shadow-lift);
}
.apply-card form { display: flex; flex-direction: column; gap: 18px; }
.apply-fine { font: 400 12.5px/1.5 var(--sans); color: var(--faint); }
.apply-card .signup-done { margin: 8px 0; }

/* ===== Partner map ===== */
.pmap-section { padding: var(--page-y) var(--page-x); border-top: 1px solid var(--line-10); }
.pmap-head { max-width: 640px; margin-bottom: 8px; }
.pmap-head .kicker { margin-bottom: 14px; }
.pmap-head h2 { font: 400 42px/1.15 var(--serif); letter-spacing: -0.01em; color: var(--ink); margin: 0; }
.pmap-head p { font: 400 16.5px/1.6 var(--sans); color: var(--muted); margin: 14px 0 0; max-width: 56ch; }

.pmap-stats { display: flex; flex-wrap: wrap; gap: 40px; margin: 32px 0 28px; }
.pmap-stat .n { font: 400 42px/1 var(--serif); color: var(--forest); font-variant-numeric: tabular-nums; }
.pmap-stat .l { font: 600 11px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--faint); margin-top: 6px; }

.pmap-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 40px; align-items: start; }

/* the map itself is the shared .usmap component (css/usmap.css) */

/* metro list beside the map */
.pmap-list__h { font: 600 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.pmap-list__items { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.pmap-metro {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 10px 10px; margin: 0 -10px;
  border-bottom: 1px solid var(--line-10);
  border-radius: 8px;
  transition: background .15s ease;
}
.pmap-metro .name { font: 500 14px/1.3 var(--sans); color: var(--ink); }
.pmap-metro .name span { color: var(--faint); font-weight: 400; }
.pmap-metro .cnt { font: 600 13px/1 var(--sans); color: var(--forest); font-variant-numeric: tabular-nums; flex: none; }
.pmap-metro.is-active { background: rgba(188, 95, 56, .09); border-bottom-color: transparent; }
.pmap-metro.is-active .name { color: var(--terracotta); }
.pmap-list__note { font: 400 13px/1.6 var(--sans); color: var(--faint); margin-top: 20px; }

@media (max-width: 1024px) {
  .p-hero h1 { font-size: 44px; }
  .pmap-head h2 { font-size: 34px; }
  .pmap-grid { grid-template-columns: 1fr; gap: 28px; }
  .pmap-list__items { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .pmap-stats { gap: 28px; }
  .pmap-stat .n { font-size: 34px; }
  .pmap__dot { width: 14px; height: 14px; }
  .pmap-list__items { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .p-hero { padding: 44px var(--page-x) 40px; }
  .p-hero h1 { font-size: 34px; }
  .p-hero .cta-row { flex-direction: column; align-items: stretch; }
  .apply-card { padding: 24px; }
}
