/* City landing pages: shared identity; each page has its own editorial scope. */
.city-page{--city-accent:#24732d;--city-soft:#eef5ef;color:#073158;background:#fff}
.city-page--navy{--city-accent:#0865ad;--city-soft:#edf3f8}
.city-page--amber{--city-accent:#986200;--city-soft:#faf4e8}
.city-page h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.15;letter-spacing:-.035em;color:#073158;margin:0 0 20px}
.city-hero{padding:24px 0 64px;background:linear-gradient(135deg,#f5f8f9 0%,#fff 55%,var(--city-soft) 100%)}
.city-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;color:#526878;margin:0 0 38px}
.city-breadcrumb a{color:#31566c;text-decoration:none;padding:5px 0}
.city-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:70px}
.city-hero h1{font-size:clamp(2.6rem,4.5vw,4.5rem);font-weight:650;line-height:1.06;letter-spacing:-.055em;margin:16px 0 24px;color:#073158}
.city-hero h1 span{color:var(--city-accent)}
.city-lead{font-size:1.13rem;line-height:1.8;max-width:43ch;color:#354f61}
.city-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}
.city-actions .btn{white-space:normal;text-align:center}
.city-phone{color:#073158;font-size:1rem;font-weight:650;text-decoration:none;padding:12px 0}
.city-origin{font-size:.8rem;color:#526878;margin-top:20px}
.city-art{position:relative;margin:0;padding:0 0 40px 24px;min-width:0}
.city-art-frame{position:relative;overflow:hidden;border-radius:9px 50px 9px 9px;background:#073158;box-shadow:0 20px 45px #07315818}
.city-art-main{display:block;width:100%;height:350px;object-fit:cover;object-position:center}
.city-art-brand{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;padding:20px 22px;border-top:3px solid #ffac16;min-height:100px}
.city-art-brand img{width:150px;height:auto;max-width:50%}
.city-art-brand span{font-size:.75rem;color:#073158;line-height:1.5;text-align:right;max-width:15ch}
.city-art-detail{position:absolute;left:-18px;bottom:155px;width:150px;padding:7px;background:white;border-radius:6px;box-shadow:0 12px 24px #07315825;transform:rotate(-4deg)}
.city-art-detail img{width:100%;height:110px;display:block;object-fit:cover}
.city-art-detail span{display:block;color:#28465a;font-size:.64rem;line-height:1.4;padding:7px 2px 2px}
.city-art figcaption{position:absolute;bottom:0;left:24px;right:0;font-size:.71rem;line-height:1.6;color:#526878}
.city-jump{display:flex;flex-wrap:wrap;gap:12px 34px;border-bottom:1px solid #dbe4e9;padding:16px 0}
.city-jump a{font-size:.88rem;font-weight:600;color:#244b64;text-decoration:none;padding:12px 0;min-height:44px}
.city-page a:hover{text-decoration:underline;text-underline-offset:5px}
.city-page a:focus-visible,.city-page summary:focus-visible{outline:3px solid #ffac16;outline-offset:5px;border-radius:2px}
.city-intro-grid,.city-plan-grid,.city-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.city-intro .clean-prose p{margin-top:0}
.city-source{font-size:.8rem;line-height:1.6;color:#31566c;display:inline-block;margin-top:4px}
.city-scope{background:var(--city-soft)}
.city-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.city-card{display:flex;flex-direction:column;background:#fff;padding:32px 26px;border:1px solid #dbe4e9;border-radius:7px}
.city-number{font-size:.78rem;color:var(--city-accent);font-weight:700;letter-spacing:.1em;display:block;margin-bottom:24px}
.city-card h3{font-size:1.28rem;line-height:1.3;margin:0 0 16px;color:#073158}
.city-card p{font-size:1rem;line-height:1.8;color:#354f61;margin:0 0 24px}
.city-card a{margin-top:auto;font-size:.9rem}
.city-plan-note{color:#526878;line-height:1.8;max-width:35ch}
.city-checklist{list-style:none;padding:0;margin:0}
.city-checklist li{display:grid;grid-template-columns:34px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid #dbe4e9}
.city-checklist li:first-child{padding-top:0}
.city-checklist span{color:var(--city-accent);font-size:.8rem;font-weight:700;padding-top:6px}
.city-checklist p{font-size:1.05rem;line-height:1.8;margin:0;color:#354f61}
.city-proof{background:#f4f7f9}
.city-proof-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.city-proof-photo{margin:0}
.city-proof-photo img{display:block;width:100%;max-height:400px;object-fit:cover;border-radius:8px}
.city-proof-photo figcaption{font-size:.75rem;color:#526878;margin-top:12px;line-height:1.6}
.city-followup{border-left:3px solid #32973b;padding-left:22px;margin-top:32px}
.city-followup h3{font-size:1.05rem;margin:0 0 10px}
.city-followup p{font-size:.94rem!important;line-height:1.75!important;margin:10px 0!important}
.city-followup a{font-size:.9rem}
.city-coverage{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:start}
.city-coverage p{font-size:1rem;line-height:1.85;color:#354f61}
.city-related{padding:30px;background:var(--city-soft);border-radius:7px}
.city-related h3{font-size:1.2rem;margin:0 0 14px}
.city-faq{border-top:1px solid #dbe4e9}
.city-faq .faq-summary{font-size:1rem;line-height:1.5;padding-top:22px;padding-bottom:22px}
.city-faq .faq-body p{font-size:1rem;line-height:1.8;color:#354f61}
.city-nearby{padding-top:12px}
.city-page section[id],.city-page [id$="-faq"]{scroll-margin-top:110px}
.city-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.city-directory-group{padding:28px;background:#f4f7f9;border-radius:8px}
.city-directory-group h3{font-size:1.25rem;margin:0 0 16px}
.city-directory-group ul{list-style:none;padding:0;margin:0}
.city-directory-group a{display:block;padding:10px 0;color:#073158;line-height:1.5;text-decoration:none;border-bottom:1px solid #dbe4e9}
.city-directory-group a span{display:block;font-size:.79rem;color:#526878;margin-top:3px}
@media(max-width:1100px){.city-hero-grid{gap:36px}.city-art-main{height:320px}.city-art-detail{width:120px;left:0}.city-art-detail img{height:90px}.city-intro-grid,.city-plan-grid,.city-faq-grid,.city-coverage{gap:38px}.city-proof-grid{gap:36px}.city-card{padding:26px 20px}}
@media(max-width:800px){.city-hero-grid{grid-template-columns:1fr;gap:34px}.city-hero-copy{max-width:640px}.city-hero h1{font-size:clamp(2.5rem,6.5vw,3.5rem)}.city-art{max-width:600px;padding-left:18px}.city-art-main{height:300px}.city-art-detail{width:150px;left:0;bottom:155px}.city-art-detail img{height:110px}.city-art figcaption{left:18px}.city-intro-grid,.city-plan-grid,.city-faq-grid,.city-proof-grid,.city-coverage{grid-template-columns:1fr;gap:28px}.city-cards{grid-template-columns:1fr}.city-card{padding:28px}.city-number{margin-bottom:14px}.city-proof-photo{max-width:600px}.city-directory-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.city-hero{padding-top:14px;padding-bottom:35px}.city-breadcrumb{margin-bottom:25px;font-size:.74rem}.city-hero h1{font-size:2.45rem}.city-lead{font-size:1rem;line-height:1.75}.city-actions{gap:8px}.city-actions .btn{width:100%;padding:15px 12px}.city-phone{font-size:.94rem}.city-art-main{height:250px}.city-art-brand{padding:16px;min-height:90px}.city-art-brand img{width:130px}.city-art-detail{width:110px;bottom:143px}.city-art-detail img{height:82px}.city-art-detail span{font-size:.6rem}.city-art-frame{border-top-right-radius:36px}.city-jump{gap:2px 24px}.city-jump a{font-size:.81rem}.city-page .clean-section{padding:44px 0}.city-page .city-nearby{padding-top:12px}.city-related{padding:24px}.city-directory-grid{grid-template-columns:1fr}.city-proof-photo img{max-height:310px}.city-page .clean-close h2{font-size:2rem}.city-page .clean-close .btn{white-space:normal}}
