.local-page { overflow-x: hidden; }

.local-hero { padding: 54px 0 58px; }
.local-hero__grid { display: grid; gap: 34px; }
.local-hero h1 { max-width: 850px; margin: 0 0 20px; font-size: clamp(40px, 10.5vw, 64px); line-height: 1.01; }
.local-lead { max-width: 720px; margin: 0; font-size: 18px; line-height: 1.6; }
.local-hero__aside { padding: 22px 20px; border: 1px solid var(--line); background: var(--white); }
.local-hero__aside .aside-title { margin: 0 0 14px; color: var(--ink); font-weight: 700; }
.local-hero__aside ul { display: grid; gap: 11px; margin: 0 0 19px; padding: 0; list-style: none; color: var(--muted); }
.local-hero__aside li { display: grid; grid-template-columns: 18px 1fr; gap: 7px; }
.local-hero__aside li::before { content: '✓'; color: var(--green); font-weight: 700; }
.local-hero__aside a { display: inline-block; padding-top: 16px; border-top: 1px solid var(--line); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.local-services, .local-audience, .local-process { padding: 58px 0; }
.local-services { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.service-list { border-top: 1px solid var(--line); }
.service-list article { position: relative; padding: 24px 0; border-bottom: 1px solid var(--line); }
.service-list article > span { color: var(--green); font-size: 12px; font-weight: 700; }
.service-list h3 { margin: 7px 0 8px; font-size: 22px; }
.service-list p { margin: 0; }

.local-buying { padding: 58px 0; background: var(--green-dark); }
.local-buying__grid { display: grid; gap: 32px; }
.local-buying h2 { margin: 0 0 16px; color: #fff !important; font-size: 34px; line-height: 1.08; }
.home-page .local-buying p { color: #d9e7e2; }
.home-page .local-buying .intro-label { color: #b9dfd4 !important; }
.local-buying .running-cost { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.2); }
.local-buying .running-cost strong { color: #fff; }
.local-options { padding: 8px 18px 18px; background: #fff; }
.local-options > a:not(.button) { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); color: var(--ink); }
.local-options span, .local-options b, .local-options small { display: block; }
.local-options b { font-size: 16px; }
.local-options small { margin-top: 3px; color: var(--muted); }
.local-options strong { flex: 0 0 auto; font-family: 'Manrope', sans-serif; font-size: 25px; }
.local-options .button { width: 100%; margin-top: 18px; }

.local-audience__grid { display: grid; gap: 4px; }
.local-audience .section-title { margin-bottom: 22px; }
.local-audience p:last-child { margin-bottom: 0; }

.local-areas { padding: 58px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--soft); }
.area-grid { display: grid; border-top: 1px solid var(--border-strong); }
.area-grid > div { padding: 22px 0; border-bottom: 1px solid var(--border-strong); }
.area-grid h3 { margin: 0 0 7px; font-size: 20px; }
.area-grid p { margin: 0; }
.local-faq { border-top: 1px solid var(--line); }

@media (min-width: 720px) {
  .local-hero { padding: 82px 0 78px; }
  .local-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(300px, .58fr); gap: 60px; align-items: center; }
  .local-lead { font-size: 20px; }
  .local-services, .local-audience, .local-process, .local-areas { padding: 82px 0; }
  .service-list { display: grid; grid-template-columns: repeat(3, 1fr); }
  .service-list article { padding: 26px 26px 8px; border-bottom: 0; }
  .service-list article:first-child { padding-left: 0; }
  .service-list article + article { border-left: 1px solid var(--line); }
  .local-buying { padding: 82px 0; }
  .local-buying__grid { grid-template-columns: minmax(0, 1fr) minmax(340px, .75fr); gap: 72px; align-items: center; }
  .local-buying h2 { font-size: 45px; }
  .local-audience__grid { grid-template-columns: .9fr 1.05fr; gap: 72px; align-items: start; }
  .local-audience .section-title { margin-bottom: 0; }
  .area-grid { grid-template-columns: repeat(3, 1fr); }
  .area-grid > div { padding: 24px; border-bottom: 0; }
  .area-grid > div:first-child { padding-left: 0; }
  .area-grid > div + div { border-left: 1px solid var(--border-strong); }
}

@media (max-width: 430px) {
  .local-hero h1 { font-size: 38px; }
  .local-hero__aside { padding: 20px 18px; }
  .local-options > a:not(.button) { align-items: flex-start; }
}
