/* local.css: extra styles for the generated local SEO pages (build_seo.py).
   Loaded after styles.css. Uses only tokens defined in styles.css. */

/* breadcrumb */
.crumbs{font-size:13px;color:var(--ink-3);padding:14px 0 0;letter-spacing:-.01em}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0;padding:0}
.crumbs li+li::before{content:'›';margin-right:6px;color:var(--ink-3)}
.crumbs a{color:var(--accent-ink,var(--accent))}
.crumbs a:hover{text-decoration:underline}

/* hero extras */
.page-hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.page-hero .trust-row{margin-top:20px}

/* long-form content */
section.tight{padding:clamp(48px,7vw,84px) 0}
.prose ul.chk{margin:4px 0 24px}
.prose ul.chk li{font-size:17px;color:var(--ink-2)}
.prose a{color:var(--accent-ink,var(--accent));text-decoration:underline;text-underline-offset:2px}
.prose h2{font-size:clamp(28px,4vw,40px);letter-spacing:-.035em;margin:0 0 18px;color:var(--ink)}
.prose .note{font-size:14px;color:var(--ink-3);margin-top:-8px}

/* cost table */
.cost-table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:16px}
.cost-table th,.cost-table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.cost-table th{font-size:13px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.cost-table td:last-child{white-space:nowrap;font-weight:600;color:var(--ink)}
.cost-table td:first-child{color:var(--ink-2)}
@media(max-width:560px){.cost-table td:last-child{white-space:normal}}

/* local data block */
.local-card{background:var(--bg-2);border-radius:22px;padding:clamp(22px,3.4vw,34px);margin:6px 0 30px}
.local-card h3{margin-top:0!important}
.local-card dl{display:grid;grid-template-columns:150px 1fr;gap:10px 18px;margin:0}
.local-card dt{font-size:13px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding-top:3px}
.local-card dd{margin:0;font-size:16.5px;color:var(--ink);line-height:1.5}
.local-card dd a{color:var(--accent-ink,var(--accent))}
@media(max-width:560px){.local-card dl{grid-template-columns:1fr;gap:2px}.local-card dd{margin-bottom:10px}}

/* link chips (anchors) */
.chips a{background:var(--bg-2);border-radius:980px;padding:10px 20px;font-size:15px;font-weight:500;color:var(--ink);letter-spacing:-.01em;transition:.2s}
.feature .chips a{background:#fff}
.chips a:hover{background:var(--accent-btn,var(--accent));color:#fff}
.link-group{margin-top:34px}
.link-group h3{font-size:clamp(20px,2.4vw,24px);text-align:center;margin-bottom:16px}

/* service areas grid */
.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.area-card{background:#fff;border-radius:20px;padding:22px 22px 18px;box-shadow:var(--sh-2,0 4px 16px rgba(0,0,0,.06))}
.area-card h3{font-size:21px;margin-bottom:4px}
.area-card .meta{font-size:13px;color:var(--ink-3);margin-bottom:12px}
.area-card a{display:block;font-size:15px;color:var(--accent-ink,var(--accent));padding:5px 0;border-top:1px solid var(--line-soft)}
.area-card a:hover{text-decoration:underline}

/* honeypot */
.hp-field{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}

/* footer with an extra Service areas column */
.foot-top.has-areas{grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr}
@media(max-width:960px){.foot-top.has-areas{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.foot-top.has-areas{grid-template-columns:1fr 1fr}}
