/* Service and city pages (built by scripts/build-pages.js). Extends styles.css. */
body.subpage main { display: block; }

.header-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.brand { color: var(--text); text-decoration: none; }
.site-nav { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; font-size: 0.92rem; font-weight: 600; }
.site-nav a { color: var(--text-muted); text-decoration: none; }
.site-nav a:hover { color: var(--text); }
.site-nav .nav-cta { color: var(--accent); }

.page-hero { padding: 44px 0 12px; text-align: center; }
.page-hero .lede { margin-bottom: 24px; }

.page-section { padding: 28px 0; border-bottom: 1px solid var(--border); }
.page-section:last-child { border-bottom: 0; }
.page-section > h2 { font-size: 1.35rem; font-weight: 800; margin-bottom: 14px; }
.page-section p { color: var(--text-muted); line-height: 1.65; margin-bottom: 12px; max-width: 72ch; }
.page-section p a, .link-grid a { color: var(--accent); text-decoration: none; font-weight: 600; }
.page-section p a:hover, .link-grid a:hover { text-decoration: underline; }
.page-section .services { margin-bottom: 0; }
.page-section a.service { color: var(--text); text-decoration: none; display: block; }

.check-list { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px 24px; }
.check-list li { color: var(--text-muted); line-height: 1.55; padding-left: 26px; position: relative; }
.check-list li::before { content: ''; position: absolute; left: 0; top: 0.45em; width: 12px; height: 7px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg); }

.link-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px 20px; }

.faq details { background: var(--bg-panel); border: 1px solid var(--border); border-radius: 10px; padding: 14px 18px; margin-bottom: 10px; }
.faq summary { font-weight: 700; cursor: pointer; }
.faq details p { margin: 10px 0 0; }

.footer-row { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.footer-links a { color: var(--text-muted); margin-left: 14px; text-decoration: none; }
.footer-links a:first-child { margin-left: 0; }
.footer-links a:hover { color: var(--text); }

@media (max-width: 600px) {
  .field-row { flex-direction: column; }
  .site-nav { gap: 12px; font-size: 0.85rem; }
}

/* Home page service cards: the title links to the service page */
.service-link { color: inherit; text-decoration: none; }
.service-link::after { content: ''; position: absolute; inset: 0; }
.service { position: relative; }
.footer-links a { margin-left: 10px; }
