:root{--city-ink:#123e62;--city-muted:#5e7382;--city-line:#d8e8ed}
.city-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:center;padding-top:28px;padding-bottom:54px}
.city-hero-copy{padding:12px 0}.city-local-tag{color:#5e7382;font-weight:700;font-size:14px;margin-top:18px}
.city-hero h1{font-size:clamp(30px,3.3vw,48px);line-height:1.55;letter-spacing:.015em;margin:16px 0 20px;color:var(--city-ink)}
.city-catch{font-size:21px;font-weight:700;line-height:1.9;margin:0 0 16px}.city-lead{font-size:15px;line-height:2;color:var(--city-muted);max-width:34em}
.city-hero-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:26px;align-items:center}.city-hero-actions .text-link{font-size:14px}.city-hero .hero-note{margin-top:18px}
.city-hero-photo{display:block;position:relative;border-radius:28px;overflow:hidden;background:#eef5f7;box-shadow:0 10px 28px #123e620b}
.city-hero-photo img{display:block;width:100%;height:330px;object-fit:cover}.city-hero-photo>span{position:absolute;left:16px;bottom:16px;padding:9px 14px;background:#fffef4f5;border-radius:8px;font-size:13px;font-weight:700;color:#123e62}
.city-proof-caption{padding:15px 10px 0}.city-proof-caption p{font-size:14px;font-weight:700;line-height:1.7;margin:0}.city-proof-caption a{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--city-muted);padding-top:6px;text-decoration:none}.city-proof-caption svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.city-mascot-note{display:flex;align-items:center;gap:18px;background:#fff9e8;border:1px solid #f0e2ba;border-radius:18px;margin-top:18px;padding:8px 20px 8px 8px}.city-mascot-note img{width:100px;height:82px;object-fit:cover;border-radius:12px}.city-mascot-note p{margin:0;font-size:14px;line-height:1.9}
.city-shortcuts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding-bottom:22px;border-bottom:1px solid var(--city-line)}
.city-shortcuts a{padding:12px 20px;background:#edf8fc;color:var(--city-ink);border-radius:100px;font-size:14px;font-weight:700;text-decoration:none}.city-shortcuts a:hover{background:#fff0c4}
.city-local-intro{padding-top:64px;padding-bottom:40px;text-align:center}.city-local-intro h2{font-size:29px;line-height:1.8;margin:10px auto 18px}.city-local-intro>p:not(.detail-kicker){max-width:760px;margin:auto;line-height:2;color:var(--city-muted)}
.city-local-points{display:flex;justify-content:center;gap:36px;margin-top:30px}.city-local-points span{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.city-local-points svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7}
.city-section{padding-top:65px;padding-bottom:65px}.city-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.city-case-card{border:1px solid var(--city-line);border-radius:22px;overflow:hidden;background:white}.city-case-photo{display:block;background:#eef4f7}.city-case-photo img{width:100%;height:280px;object-fit:cover;display:block}.city-case-body{padding:24px}.city-case-tag{color:#638475;font-size:12px;font-weight:700;margin:0 0 10px}.city-case-body h3{margin:0 0 12px;font-size:20px;line-height:1.7}.city-case-body h3 a{text-decoration:none;color:var(--city-ink)}.city-case-body>p:not(.city-case-tag){color:var(--city-muted);font-size:14px;line-height:1.8}.city-case-body .text-link{font-size:14px;margin-top:15px}
.city-section-action{text-align:center;margin-top:32px}.city-publication{display:grid;grid-template-columns:1fr 180px;gap:36px;align-items:center;background:#f4fafc;border:1px solid var(--city-line);border-radius:24px;padding:35px 40px;margin-top:20px;margin-bottom:65px}.city-publication h2{font-size:29px;line-height:1.6;margin:10px 0 18px}.city-publication h2 span{display:block}.city-publication p{line-height:1.9}.city-publication img{width:150px;height:200px;object-fit:contain;background:white;box-shadow:0 4px 12px #123e6210}
.city-subsidy{padding:70px 0;background:linear-gradient(180deg,#f0faff,#f8fcfd);border-top:1px solid var(--city-line);border-bottom:1px solid var(--city-line)}
.city-status{display:flex;align-items:flex-start;gap:18px;background:#fff9e8;border:1px solid #ebdca5;border-radius:16px;padding:20px 24px;margin:26px 0}.city-status>span{flex-shrink:0;font-size:12px;font-weight:700;padding:5px 9px;background:#ffedb8;border-radius:6px}.city-status p{font-size:15px;font-weight:700;line-height:1.9;margin:0}
.city-grant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.city-grant-card{padding:26px 24px;border:1px solid #d5e5ed;border-radius:20px;background:white}.city-grant-card>svg{width:34px;height:34px;stroke:var(--city-ink);fill:none;stroke-width:1.6}.city-grant-card h3{font-size:17px;margin:14px 0 12px}.city-grant-amount{font-size:21px;font-weight:700;line-height:1.7;color:#07675b;margin:12px 0}.city-grant-closed{color:#956126}.city-grant-card>p:last-child{font-size:13px;line-height:1.9;color:var(--city-muted);margin-bottom:0}
.city-timing{background:white;border-radius:16px;padding:23px 25px;margin-top:24px}.city-timing h3{display:flex;align-items:center;gap:10px;font-size:17px;margin:0 0 12px}.city-timing svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}.city-timing p{font-size:15px;line-height:2;margin:0}.city-official-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:23px}.city-official-links a{font-size:13px;color:var(--city-ink);line-height:1.8}
.city-fine-print{font-size:12px!important;line-height:1.9!important;color:#627682;margin-top:20px!important}
.city-inspection-heading{display:grid;grid-template-columns:1fr 280px;align-items:center;gap:35px;margin-bottom:25px}.city-inspection-heading h2{font-size:32px;line-height:1.7;margin:14px 0 20px}.city-inspection-heading p{line-height:1.9;color:var(--city-muted)}.city-inspection-heading img{width:100%;height:210px;object-fit:contain;border-radius:18px}
.city-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.city-check-grid article{padding:26px 22px;background:#f5fafc;border:1px solid var(--city-line);border-radius:18px}.city-check-grid span{font-weight:700;font-size:23px;color:#7dbab8}.city-check-grid h3{font-size:17px;line-height:1.8;margin:15px 0 10px}.city-check-grid p{font-size:14px;line-height:1.9;color:var(--city-muted);margin:0}
.city-flood{padding:35px 38px;background:#fff9ed;border-radius:22px;border:1px solid #ecdfbf}.city-flood h2{font-size:27px;line-height:1.8}.city-flood h2 span{display:block}.city-flood p{font-size:14px;line-height:2.1}.city-flood .text-link{font-size:13px}
.city-base{text-align:center;padding:40px 30px;background:#f6fbfd;border:1px solid var(--city-line);border-radius:24px}.city-base h2{font-size:29px;line-height:1.8}.city-base h2 span{display:block}.city-base p{font-size:14px;line-height:2}.city-base-links{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:25px}.city-base-links .text-link{font-size:14px}.city-neighbors{padding-top:35px;padding-bottom:55px}.city-neighbors>p{text-align:center;font-size:13px;font-weight:700}.city-neighbors>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.city-neighbors a{padding:8px 14px;border:1px solid var(--city-line);border-radius:8px;text-decoration:none;color:var(--city-ink);font-size:13px}.city-neighbors a[aria-current]{background:#123e62;color:white}
.city-hero a:focus-visible,.city-shortcuts a:focus-visible,.city-neighbors a:focus-visible,.city-case-card a:focus-visible{outline:3px solid #ff941c;outline-offset:4px}
@media(max-width:900px){.city-hero{gap:28px}.city-hero-photo img{height:280px}.city-hero h1{font-size:35px}.city-catch{font-size:18px}.city-grant-grid{gap:12px}.city-grant-card{padding:22px 18px}.city-grant-amount{font-size:19px}}
@media(max-width:720px){.city-hero{grid-template-columns:1fr;gap:24px;padding-top:5px;padding-bottom:28px}.city-hero-copy{padding:0}.city-hero h1{font-size:34px;margin:16px 0 18px;line-height:1.55}.city-local-tag{font-size:12px;margin-top:17px}.city-catch{font-size:18px}.city-lead{font-size:14px}.city-hero-actions{gap:18px}.city-hero-actions .button{width:100%}.city-hero-actions .text-link{margin:auto}.city-hero-photo{border-radius:20px}.city-hero-photo img{height:260px}.city-proof-caption p{font-size:13px}.city-mascot-note{padding-right:12px;gap:12px}.city-mascot-note img{width:80px;height:70px}.city-mascot-note p{font-size:12px}.city-shortcuts{gap:8px;padding-bottom:25px}.city-shortcuts a{font-size:12px;padding:10px 12px}.city-local-intro{padding-top:40px;padding-bottom:10px}.city-local-intro h2{font-size:24px}.city-local-intro>p:not(.detail-kicker){font-size:14px;text-align:left}.city-local-points{gap:15px;flex-wrap:wrap;margin-top:23px}.city-local-points span{font-size:12px;gap:6px}.city-local-points svg{width:22px;height:22px}.city-section{padding-top:42px;padding-bottom:42px}.city-case-grid{grid-template-columns:1fr;gap:20px}.city-case-photo img{height:auto;aspect-ratio:4/3}.city-case-body{padding:20px}.city-case-body h3{font-size:18px}.city-publication{grid-template-columns:1fr 100px;padding:22px;gap:15px;border-radius:18px;margin-bottom:40px}.city-publication h2{font-size:22px}.city-publication p{font-size:13px}.city-publication img{width:100px;height:145px}.city-publication .city-fine-print{grid-column:1/-1;font-size:11px!important}.city-subsidy{padding:45px 0}.city-grant-grid{grid-template-columns:1fr;gap:14px}.city-grant-card{display:grid;grid-template-columns:35px 1fr;column-gap:12px;padding:23px}.city-grant-card>svg{width:28px;height:28px;grid-row:1/4}.city-grant-card h3{margin:0;font-size:16px}.city-grant-amount{font-size:21px;margin:10px 0}.city-grant-card>p:last-child{margin-top:0}.city-status{display:block;padding:18px}.city-status p{font-size:14px;margin-top:11px}.city-timing{padding:20px}.city-timing p{font-size:14px}.city-official-links{gap:12px}.city-inspection-heading{grid-template-columns:1fr 100px;gap:8px}.city-inspection-heading h2{font-size:23px}.city-inspection-heading p{font-size:13px}.city-inspection-heading img{height:145px}.city-check-grid{grid-template-columns:1fr;gap:12px}.city-check-grid article{padding:22px}.city-check-grid h3{margin-top:7px}.city-flood{padding:25px 22px}.city-flood h2{font-size:22px}.city-base{padding:30px 22px}.city-base h2{font-size:24px}.city-base-links{gap:16px}.city-neighbors{padding-bottom:35px}.city-neighbors a{font-size:12px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.city-hero *{scroll-behavior:auto}}
