.service-area-hero p{max-width:780px}
.area-clusters{display:grid;gap:28px}
.area-cluster{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.55fr);gap:28px;padding:28px 0;border-top:1px solid var(--line)}
.area-cluster:last-child{border-bottom:1px solid var(--line)}
.area-cluster__intro{position:relative;padding-left:56px}
.cluster-number{position:absolute;left:0;top:2px;width:38px;height:38px;border:2px dashed var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--coral);font:800 .74rem/1 var(--mono)}
.area-cluster__intro h2{margin:0 0 10px;color:var(--ink);font-size:clamp(1.4rem,2.4vw,1.9rem)}
.area-cluster__intro p{margin:0;max-width:420px;color:var(--muted)}
.area-cluster .area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.area-cluster .area-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.area-cluster .area-link{display:flex;min-height:112px;flex-direction:column;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);text-decoration:none;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.area-cluster .area-link::after{content:"View city page →";color:var(--coral);font:700 .78rem/1.2 var(--font)}
.area-cluster .area-link strong{font-size:1.15rem;line-height:1.15}
.area-cluster .area-link span{color:var(--muted);font-size:.88rem;line-height:1.35}
.area-cluster .area-link:hover,.area-cluster .area-link:focus-visible{background:var(--teal);border-color:var(--teal);color:#fff;transform:translateY(-2px)}
.area-cluster .area-link:hover span,.area-cluster .area-link:focus-visible span{color:#c7d6d1}
.area-cluster .area-link:hover::after,.area-cluster .area-link:focus-visible::after{color:#ff9b6e}
@media(max-width:980px){
  .area-cluster{grid-template-columns:1fr}
  .area-cluster .area-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .area-cluster{gap:18px;padding:22px 0}
  .area-cluster__intro{padding-left:0}
  .cluster-number{position:static;margin-bottom:10px}
  .area-cluster .area-grid,.area-cluster .area-grid--three{grid-template-columns:1fr}
  .area-cluster .area-link{min-height:96px}
}
