/* ============================================================
   MAINE STAYS — LOCATION landing-page layer.
   Loaded AFTER base.css + theme.css. Reuses the homepage
   component system; adds only location-specific pieces
   (shorter hero, editorial SEO prose, stat strip, nearby chips).
   ============================================================ */

/* hero: location pages get a single cinematic image (not the full-screen slideshow) */
.loc-hero{min-height:82vh;}
.loc-hero .hero-media img{object-position:center 62%;}
@media (max-width:767px){ .loc-hero{min-height:74vh;} }

/* breadcrumb above the H1 */
.loc-crumb{font-family:var(--font-ui);font-size:.8rem;letter-spacing:.04em;color:rgba(255,255,255,.72);margin-bottom:1rem;}
.loc-crumb a{color:rgba(255,255,255,.72);text-decoration:none;}
.loc-crumb a:hover{color:#fff;text-decoration:underline;}

/* compact stat strip under the hero */
.loc-stats{background:var(--white);border-bottom:1px solid rgba(22,24,26,.06);}
.loc-stats .section-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding-top:clamp(2rem,4vh,2.6rem);padding-bottom:clamp(2rem,4vh,2.6rem);}
.loc-stat{text-align:center;}
.loc-stat strong{display:block;font-family:var(--font-head);font-weight:600;font-size:clamp(1.35rem,2.2vw,1.85rem);color:var(--teal);line-height:1.05;}
.loc-stat span{display:block;margin-top:.35rem;font-family:var(--font-ui);font-size:.8rem;letter-spacing:.03em;color:var(--ink-60);}
@media (max-width:640px){ .loc-stats .section-inner{grid-template-columns:1fr 1fr;gap:1.5rem 1rem;} }

/* editorial SEO prose — the unique, ranking content, kept readable */
.loc-prose{background:var(--white);}
.loc-prose .section-inner{max-width:54rem;margin-inline:auto;}
.loc-prose h2{font-family:var(--font-head);font-weight:600;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--ink);line-height:1.15;letter-spacing:-.01em;margin:0 0 1.1rem;}
.loc-prose h3{font-family:var(--font-head);font-weight:600;font-size:clamp(1.2rem,2vw,1.45rem);color:var(--ink);margin:2.3rem 0 .8rem;}
.loc-prose p{color:var(--ink-60);line-height:1.78;margin:0 0 1.1rem;}
.loc-prose ul{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.65rem;}
.loc-prose li{position:relative;padding-left:1.7rem;color:var(--ink-60);line-height:1.65;}
.loc-prose li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--teal);}
.loc-prose li strong{color:var(--ink);font-weight:600;}
.loc-prose table{width:100%;border-collapse:collapse;margin:1.3rem 0 1.9rem;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft);}
.loc-prose th{background:var(--ink-deep);color:#fff;text-align:left;font-family:var(--font-ui);font-weight:600;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;padding:.85rem 1.1rem;}
.loc-prose td{padding:.85rem 1.1rem;font-size:.92rem;color:var(--ink-60);border-bottom:1px solid rgba(22,24,26,.08);}
.loc-prose tr:nth-child(even) td{background:var(--fog);}
.loc-prose td .hl{color:var(--teal-deep);font-weight:600;}

/* nearby areas chips */
.loc-nearby{background:var(--fog-deep);text-align:center;}
.loc-nearby .loc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.6rem;}
.loc-nearby .loc-chips a{font-family:var(--font-ui);font-weight:500;font-size:.88rem;color:var(--ink);border:1px solid rgba(22,24,26,.16);border-radius:var(--radius-pill);padding:.5rem 1.05rem;transition:border-color .2s,color .2s;text-decoration:none;}
.loc-nearby .loc-chips a:hover{border-color:var(--teal);color:var(--teal);}

/* property cards: 2-up centred (same as homepage homes) */
.loc-homes .service-cards{grid-template-columns:repeat(2,1fr);max-width:920px;margin-inline:auto;}
@media (max-width:767px){ .loc-homes .service-cards{grid-template-columns:1fr;} }

/* price-comparison block (landmark pages) */
.loc-prose .price-compare{background:var(--fog);border-radius:14px;padding:1.2rem 1.4rem;margin:1.4rem 0 1.8rem;box-shadow:var(--shadow-soft);}
.loc-prose .price-compare h3{margin:0 0 .9rem;}
.loc-prose .price-row{display:flex;justify-content:space-between;gap:1rem;padding:.62rem 0;border-bottom:1px solid rgba(22,24,26,.1);font-size:.95rem;color:var(--ink-60);}
.loc-prose .price-row:last-of-type{border-bottom:0;}
.loc-prose .price-row .value{font-weight:600;color:var(--ink);white-space:nowrap;}
.loc-prose .price-row.highlight .label,.loc-prose .price-row.highlight .value{color:var(--teal-deep);}
