/* ===== Location landing pages ===== */
.location-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:.5rem;
}
.location-hero-actions .btn svg{width:16px;height:16px}

.location-section{
  padding:clamp(3.5rem,7vw,5.5rem) clamp(1.25rem,5vw,4.5rem);
  border-bottom:1px solid var(--border);
}
.location-section-inner{max-width:1480px;margin:0 auto}
.location-section-head{
  max-width:52ch;
  margin-bottom:clamp(2rem,4vw,3rem);
}
.location-section-head h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.9rem,3.8vw,2.8rem);
  line-height:1.05;
  letter-spacing:-.02em;
  margin-bottom:.85rem;
}
.location-section-head h2 em{font-style:italic;color:var(--accent)}
.location-section-head p{
  color:var(--muted);
  line-height:1.7;
  font-size:clamp(1rem,1.25vw,1.1rem);
}

.location-features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.location-feature{
  padding:clamp(1.35rem,2.5vw,1.75rem);
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.location-feature h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.25rem,2vw,1.5rem);
  line-height:1.1;
  letter-spacing:-.02em;
  margin-bottom:.65rem;
}
.location-feature p{
  color:var(--muted);
  line-height:1.65;
  font-size:.95rem;
  margin:0;
}

.location-pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  align-items:stretch;
}
.location-price-card{
  display:flex;
  flex-direction:column;
  padding:clamp(1.35rem,2.5vw,1.75rem);
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.location-price-card h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:1.2rem;
  line-height:1.2;
  min-height:2.4em;
  margin-bottom:.5rem;
}
.location-price-card .location-price{
  font-family:var(--serif);
  font-size:clamp(1.8rem,3vw,2.4rem);
  line-height:1;
  letter-spacing:-.03em;
  min-height:clamp(1.8rem,3vw,2.4rem);
  margin-bottom:.65rem;
}
.location-price-card p{
  color:var(--muted);
  line-height:1.6;
  font-size:.92rem;
  margin:0;
}

.location-areas-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.location-areas-nav a{
  padding:.62rem 1rem;
  border-radius:999px;
  border:1px solid var(--border);
  font-size:.82rem;
  font-weight:500;
  white-space:nowrap;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
.location-areas-nav a:hover{border-color:var(--text)}
.location-areas-nav a.is-current{
  background:var(--invert-bg);
  border-color:var(--invert-bg);
  color:var(--invert-text);
}
.location-coverage-text{
  color:var(--muted);
  line-height:1.7;
  max-width:62ch;
  margin-bottom:1.5rem;
}

.location-articles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.location-article{
  display:flex;
  flex-direction:column;
  padding:clamp(1.35rem,2.5vw,1.75rem);
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow);
  transition:transform .25s ease,border-color .25s ease;
}
.location-article:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--border) 50%,var(--accent) 50%);
}
.location-article h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.15rem,1.8vw,1.35rem);
  line-height:1.15;
  margin-bottom:.75rem;
}
.location-article p{
  margin:0 0 .75rem;
  font-size:.92rem;
  color:var(--muted);
  line-height:1.45;
}
.location-article span{
  margin-top:auto;
  font-size:.88rem;
  font-weight:600;
  color:var(--text);
}

/* Kent hub */
.location-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.location-hub-card{
  display:flex;
  flex-direction:column;
  padding:clamp(1.35rem,2.5vw,1.75rem);
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow);
  transition:transform .25s ease,border-color .25s ease;
}
.location-hub-card:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--border) 50%,var(--accent) 50%);
}
.location-hub-card h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.2rem,2vw,1.45rem);
  margin-bottom:.65rem;
}
.location-hub-card p{
  color:var(--muted);
  line-height:1.65;
  font-size:.92rem;
  margin:0 0 1rem;
  flex:1;
}
.location-hub-card span{
  font-size:.88rem;
  font-weight:600;
}

@media(max-width:1024px){
  .location-features,
  .location-pricing-grid,
  .location-articles,
  .location-hub-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .location-features{grid-template-columns:1fr}
}
