/* /solar-panels-lancaster/ (16 Oct 2026): long, level bands, like a shoreline. A centred hero over a wide, short map
   from Retford to the coast; the homes as one shared bar; the survey as a line of stops; reviews two across, then one long. */

/* Hero: words centred, the button straight under them, then the map across the full width and the logos under it. */
.lc-hero .ak-hero-act { order: 1; }
.lc-hero .ak-hero-aside { order: 2; margin-top: clamp(8px, 2vw, 20px); }
.lc-hero .ak-hero-act .page-actions { justify-content: center; text-align: left; }
.lc-hero .ak-map { box-shadow: var(--ak-lift); border-radius: 24px; }
.lc-hero .ak-map-svg { border-radius: 14px; }
.lc-map--narrow { display: none; }
@media (max-width: 899px) {
  .lc-map--wide { display: none; }
  .lc-map--narrow { display: block; max-width: 34rem; margin: 0 auto; }
}
.lc-map--narrow.ak-map--badge { padding-top: 12px; }
.lc-map--narrow .ak-map-badge { position: static; margin: 0 0 12px; max-width: none; font-size: .9375rem; }
.lc-acc { justify-content: center; margin: 30px auto 0; padding-top: 0; border-top: 0; max-width: none; }

/* Intro: the words and the shared bar, the price beside them, the services across the foot. */
.lc-intro-grid { display: grid; gap: 32px; }
@media (min-width: 900px) { .lc-intro-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(48px, 6vw, 96px); align-items: start; } }
.lc-intro-grid .ak-text > p:first-child { margin-top: 0; }
.lc-intro-side { display: grid; gap: 20px; }
@media (min-width: 900px) { .lc-intro-side { position: sticky; top: 110px; } }
.lc-stone { display: flex; gap: 16px; align-items: flex-start; margin-top: 22px !important; padding: 18px 20px; border-radius: 16px; background: var(--sky); }
.lc-stone p { color: var(--ink); line-height: 1.6; font-size: 1.0625rem; }
.lc-share { margin: 26px 0 0 !important; padding: 22px 24px; border-radius: var(--ak-radius); background: var(--paper); box-shadow: 0 0 0 1px var(--line), var(--ak-shadow); }
.lc-share-bar { display: flex; height: 18px; border-radius: 999px; overflow: hidden; background: var(--sky); }
.lc-share-seg { display: block; height: 100%; }
.lc-share-seg + .lc-share-seg { border-left: 3px solid var(--paper); }
.lc-share-seg--1, .lc-share-sw--1 { background: var(--sun-coral); }
.lc-share-seg--2, .lc-share-sw--2 { background: var(--sun-amber); }
.lc-share-seg--3, .lc-share-sw--3 { background: color-mix(in srgb, var(--sun-amber) 45%, var(--paper)); }
.lc-share-key { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 26px; }
.lc-share-key li { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: 1rem; }
.lc-share-key strong { font: 600 1.25rem/1 var(--display); color: var(--ink); }
.lc-share-sw { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
.lc-share figcaption { margin-top: 12px; font-size: .9375rem; color: var(--ink-soft); }
.lc-what { margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--line); }
.lc-what h3 { font-size: 1.25rem; margin-bottom: 18px; }

/* Costs: the grant as one long panel, then the four guides in a row. */
.lc-grant { display: grid; gap: 18px; }
@media (min-width: 800px) { .lc-grant { grid-template-columns: 15rem minmax(0, 1fr); gap: 36px; align-items: center; padding: clamp(28px, 3vw, 40px); } }
.lc-grant-mark { display: flex; align-items: center; gap: 14px; }
@media (min-width: 800px) { .lc-grant-mark { flex-direction: column; align-items: flex-start; padding-right: 30px; border-right: 1px solid var(--line); align-self: stretch; justify-content: center; } }
.lc-grant-mark p { font: 600 1.125rem/1.3 var(--display); color: var(--ink) !important; }
.lc-grant .lc-grant-text { color: var(--ink); font-size: 1.125rem; line-height: 1.65; max-width: 46rem; }
.lc-costs-lead { margin: clamp(36px, 4vw, 52px) 0 20px; max-width: 46rem; color: var(--ink-soft); font-size: 1.125rem; line-height: 1.6; }
.lc-link-cards .ak-card { padding: 22px; }
.lc-link-cards .ak-card .ak-ring { width: 46px; height: 46px; margin-bottom: 14px; }
.lc-link-cards .ak-card .sp-icon { width: 24px; height: 24px; }
.lc-link-cards .ak-card p { margin: 0; color: var(--ink-soft); font-size: 1rem; line-height: 1.55; }
.lc-link-cards .ak-card a { font-weight: 600; color: var(--ink); }

/* How it works: a centred column, the four stops on a wave, the warranties under them. */
.lc-head-center { margin-left: auto; margin-right: auto; text-align: center; }
.lc-how .section-head { margin-bottom: 24px; }
.lc-how-text { max-width: 44rem; margin: 0 auto; text-align: center; }
.lc-how-text p { color: var(--ink-soft); font-size: 1.125rem; line-height: 1.65; }
.lc-how-text p + p { margin-top: 12px; }
.lc-how-text a { color: var(--ink); font-weight: 500; }
.lc-tide { list-style: none; position: relative; margin: clamp(40px, 5vw, 60px) 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.lc-tide::before { content: ""; position: absolute; left: 10%; right: 10%; top: 9px; height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 14'%3E%3Cpath d='M0 7c6-6 12-6 18 0s12 6 18 0 9-4 12-3' fill='none' stroke='%23bfc6cc' stroke-width='2'/%3E%3C/svg%3E") left center / 48px 14px repeat-x; }
.lc-tide li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.lc-tide-dot { width: 32px; height: 32px; border-radius: 50%; border: 4px solid transparent; background: var(--ak-ring-bg); box-shadow: 0 0 0 6px var(--paper); }
.lc-tide li:last-child .lc-tide-dot { background: var(--ak-sun); border-color: transparent; }
.lc-tide-label { font-weight: 600; line-height: 1.35; max-width: 12rem; }
@media (max-width: 640px) {
  .lc-tide { grid-template-columns: minmax(0, 1fr); gap: 18px; justify-items: start; padding-left: 4px; }
  .lc-tide::before { left: 18px; right: auto; top: 16px; bottom: 16px; width: 2px; height: auto; background: var(--line-strong); }
  .lc-tide li { flex-direction: row; text-align: left; }
}

/* Planning: the facts as one level strip, then the council's rules and the network beside them. */
.lc-plan-strip { margin-bottom: clamp(32px, 4vw, 48px); padding: 26px 0; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.lc-plan-strip dd:not(.ak-stats-src) { font-size: clamp(2rem, 1.5rem + 1.6vw, 2.75rem); }
.lc-plan-grid { display: grid; gap: 20px; }
@media (min-width: 900px) { .lc-plan-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; align-items: stretch; } }
.lc-plan-main .ak-ring { margin-bottom: 16px; }
.lc-plan-main p { color: var(--ink) !important; font-size: 1.125rem; line-height: 1.65; }
.lc-plan-side { display: grid; gap: 16px; align-content: start; }

/* Reviews: two across, then the third laid out long, the stars and source on the left. */
.lc-quotes .section-head { margin-bottom: clamp(30px, 4vw, 44px); }
.lc-quotes .ak-reviews--pair .ak-review { padding: 24px 26px 18px; }
.lc-quotes .ak-reviews--pair .ak-review blockquote p { font-size: 1.25rem; }
.lc-long { margin-top: 16px; }
@media (min-width: 800px) {
  .lc-long { margin-top: 20px; }
  .lc-long .ak-review { display: grid; grid-template-columns: 13rem minmax(0, 1fr) auto; align-items: center; column-gap: 32px; padding: 24px 30px; }
  .lc-long .ak-review::before { display: none; }
  .lc-long .ak-review-top { margin: 0; padding: 0 28px 0 0; border-right: 1px solid var(--line); align-self: stretch; flex-direction: column; align-items: flex-start; justify-content: center; }
  .lc-long .ak-review blockquote { margin: 0; }
  .lc-long .ak-review blockquote p { font-size: 1.375rem; line-height: 1.4; }
  .lc-long .ak-review figcaption { margin: 0; padding: 0; border: 0; }
}
.lc-quotes .ak-ratings { justify-content: center; text-align: center; }

/* Nearby: the four towns in one row, each with its miles from Retford. */
@media (min-width: 1000px) { .lc-near .ak-near-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.lc-near .ak-near-cards strong { font: 500 1.25rem/1.25 var(--display); }
@media (min-width: 1000px) { .lc-hero .ak-hero-aside::before { right: -350px; top: -290px; } }
@media (max-width: 640px) { .lc-how .lc-head-center, .lc-how-text { text-align: left; } }
