/* Shared, readable content for local pages and the visible homepage overview. */
.local-hero { height:auto; min-height:340px; padding:64px 24px; background:linear-gradient(135deg,#34664d,#102d21); }
.local-hero .svc-hero-content { max-width:960px; margin:auto; }
.local-hero .svc-hero-content p { max-width:720px; }
.local-content { max-width:1000px; }
.local-content a,.home-local-copy a,.home-faq a { color:#205c41; text-underline-offset:3px; }
.local-content a:hover,.home-local-copy a:hover,.home-faq a:hover { text-decoration-thickness:2px; }
.local-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:30px 0; }
.local-card { padding:26px; border:1px solid #d7e3d8; border-radius:12px; background:#fff; }
.local-card h2 { font-size:1.35rem; margin:0 0 12px; }
.local-card p { margin:0; }
.local-resource { padding:24px; border-left:4px solid #2d6a4f; border-radius:0 10px 10px 0; background:#edf5ed; margin:32px 0; }
.local-resource h2 { font-size:1.35rem; margin-top:0; }
.local-resource p { margin-bottom:12px; }
.local-service-links,.local-city-links { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:24px 0!important; }
.local-service-links li,.local-city-links li { margin:0!important; }
.local-service-links a,.local-city-links a { display:block; padding:8px 13px; border:1px solid #cbdccd; border-radius:7px; background:#fff; text-decoration:none; }
.local-location-note { font-size:.9rem!important; padding:18px; background:#f1f3f1; border-radius:8px; }
.local-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0; }
.local-review { border:1px solid #d7e3d8; border-radius:12px; padding:24px; background:#fff; }
.local-review-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; justify-content:space-between; }
.local-review-heading h2 { margin:0; font:700 1rem/1.4 Inter,sans-serif; }
.local-review-heading span { color:#8a5708; white-space:nowrap; }
.local-review-source { font-size:.8rem!important; color:#5a635c!important; margin:6px 0 16px!important; }
.local-review blockquote p { margin:0; font-size:.95rem; }
.local-rating { font-size:1.25rem!important; }
.home-local-copy { padding:76px 24px; background:#f5f7f2; }
.home-faq { padding:64px 24px; background:#fff; }
.home-local-inner { max-width:1000px; margin:0 auto; }
.local-eyebrow { font:700 .75rem/1.6 Inter,sans-serif; letter-spacing:.11em; text-transform:uppercase; color:#3a654b; margin-bottom:12px!important; }
.home-local-inner h2 { font:700 clamp(1.8rem,3.4vw,2.6rem)/1.22 'Playfair Display',serif; color:#1b4332; max-width:780px; margin:0 0 24px; }
.home-local-inner h3 { font:700 1.18rem/1.4 Inter,sans-serif; color:#1b4332; margin:30px 0 12px; }
.home-local-inner p { color:#37493b; line-height:1.85; margin:0 0 18px; }
.home-faq .clc-native-details { background:#f8faf7; }
.local-inline-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:30px; }
.local-inline-actions .local-primary { padding:13px 20px; border-radius:7px; color:#fff; background:#205c41; font-weight:700; text-decoration:none; }
.local-mobile-menu { display:none; position:relative; color:#fff; }
.local-mobile-menu summary { cursor:pointer; list-style:none; padding:10px; font-size:13px; border:1px solid #ffffff6b; border-radius:6px; }
.local-mobile-menu summary::-webkit-details-marker { display:none; }
.local-mobile-menu div { position:absolute; right:0; top:calc(100% + 12px); min-width:190px; padding:10px; border-radius:8px; background:#173e2c; box-shadow:0 6px 24px #0004; }
.local-mobile-menu a { display:block; color:#fff; padding:10px 12px; text-decoration:none; }
.local-mobile-menu a:hover { background:#ffffff15; }
.local-mobile-menu:focus-within { outline-offset:4px; }
.clc-coverage-card a { color:#205c41; text-underline-offset:3px; }
.tree-copy h1 { font-size:clamp(31px,3.7vw,56px); line-height:1.08; }
.tree-copy h1 .tree-city { font-family:Inter,sans-serif; font-size:.47em; line-height:1.4; letter-spacing:0; margin-top:16px; }
@media(max-width:900px) { .tree-copy h1 { font-size:38px; } }
@media(max-width:768px) {
 .local-mobile-menu { display:block; margin-left:auto; margin-right:10px; }
 html:not(.scenic-only) body nav { gap:6px; padding-left:12px; padding-right:12px; }
 .local-hero { min-height:320px; padding:50px 12px; }
 .local-hero .svc-hero-content { padding:0 12px; }
 .local-card-grid,.local-review-grid { grid-template-columns:1fr; }
 .local-content { padding:42px 22px; }
 .home-local-copy,.home-faq { padding:48px 22px; }
 .local-content .local-card { padding:22px; }
}
@media(max-width:600px) {
 .tree-copy h1 { font-size:clamp(27px,7.8vw,36px); margin-bottom:12px; }
 .tree-copy h1 .tree-city { font-size:.53em; margin-top:10px; }
 nav:has(.local-mobile-menu) .nav-logo-name { font-size:13px; }
 nav:has(.local-mobile-menu) .nav-logo-sub { font-size:8px; }
 nav:has(.local-mobile-menu) .nav-logo img { width:34px; height:34px; }
 nav:has(.local-mobile-menu) .clc-mobile-actions { gap:4px; }
 nav:has(.local-mobile-menu) .clc-mobile-actions a { padding:9px 6px; font-size:11px; }
 .local-mobile-menu { margin-right:2px; }
 .local-mobile-menu summary { font-size:11px; padding:9px 6px; }
}
@media(orientation:landscape) and (max-height:600px) {
 .tree-copy h1 { font-size:30px; }
 .tree-copy h1 .tree-city { margin-top:8px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
