/* Scoped to curated city and state guides; shares the site's theme variables. */
.location-guide .guide-updated { font-size: .85rem; margin: 0 0 28px; }
.guide-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 48px; align-items: start; }
.location-guide h2 { margin: 38px 0 18px; }
.guide-layout > div > h2:first-child { margin-top: 0; }
.location-guide h3 { font-family: var(--font-display); font-size: 1.4rem; font-weight: 400; margin: 24px 0 10px; color: var(--text-primary); }
.location-guide p, .location-guide li { line-height: 1.85; }
.location-guide a { color: var(--accent-coral); text-decoration: underline; text-underline-offset: .2em; }
.location-guide a:hover { text-decoration-thickness: 2px; }
.location-guide a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.guide-panel { border: 1px solid var(--glass-border); background: var(--glass); padding: 26px; overflow-wrap: anywhere; }
.guide-sidebar { display: grid; gap: 22px; }
.location-guide .guide-panel h2 { margin: 0 0 16px; font-size: 1.5rem; }
.location-guide .guide-panel h3 { margin-top: 0; }
.location-guide .guide-panel p { margin-bottom: 0; }
.location-guide ul { padding-left: 22px; color: var(--text-secondary); }
.location-guide li { margin-bottom: 10px; }
.guide-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.guide-related { padding-bottom: 22px; border-bottom: 1px solid var(--glass-border); }
.guide-related ul { display: flex; flex-wrap: wrap; column-gap: 32px; }
.guide-faq { max-width: 850px; }
.guide-faq-item { border-bottom: 1px solid var(--glass-border); padding-bottom: 10px; }
@media (max-width: 850px) {
  .guide-layout, .guide-services { grid-template-columns: minmax(0, 1fr); }
  .guide-layout { gap: 24px; }
  .guide-panel { padding: 22px; }
}
