/* City resource hubs: clear entry points, compact local imagery, and useful reading. */
.city-hub{--hub-blue:#003ecc;--hub-navy:#092242;--hub-line:#dce3eb;--hub-soft:#f4f7fb}
.city-hub .section{padding:56px 0}
.city-hub .section+.section{border-top:1px solid var(--hub-line)}
.inner-page .city-hub h2{font-size:30px;line-height:1.25;max-width:900px;margin-bottom:18px;color:#092242}
.inner-page .city-hub h3{font-size:23px;line-height:1.3;color:#003ecc}
.city-hub .eyebrow{color:#606d7b;font-size:10px;letter-spacing:1.5px}
.hub-jump-nav{padding:16px 0 22px;border-bottom:1px solid var(--hub-line)}
.hub-jump-nav>span{display:block;margin-bottom:12px;color:#68778a;font:700 10px/1.5 Inter,Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase}
.hub-jump-nav>div{display:flex;flex-wrap:wrap;gap:8px}
.hub-jump-nav a{padding:9px 14px;border:1px solid var(--hub-line);border-radius:3px;background:#f8fafc;color:#092242;font:600 12px/1.4 Inter,Arial,sans-serif;transition:background .18s,border-color .18s}
.hub-jump-nav a:hover{background:#eaf1ff;border-color:#aec5f2}
.hub-intro-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:48px;align-items:start}
.hub-deck{font-size:18px;line-height:1.6;color:#46586d;margin-bottom:24px}
.hub-intro-copy [data-hub-intro]{font-size:15px;line-height:1.85;color:#414c59}
.hub-intro-copy [data-hub-intro] a,.city-hub .faq p a{color:#164a93;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hub-city-card{border:1px solid var(--hub-line);background:white;box-shadow:0 10px 30px #09224209;overflow:hidden;border-radius:4px}
.hub-city-photo{margin:0;background:#e7edf5}
.hub-city-photo img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover}
.hub-city-photo figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px;padding:9px 12px;color:#627184;background:#f4f7fb;font:600 10px/1.5 Inter,Arial,sans-serif}
.hub-city-photo figcaption span{font-weight:400;font-size:9px}
.hub-city-card-copy{padding:24px}
.hub-city-card-copy p:not(.eyebrow){font-size:14px;line-height:1.7;color:#536171}
.hub-card-link{display:block;padding:12px 0;border-top:1px solid var(--hub-line);font-size:13px;font-weight:600;color:#164a93}
.hub-city-card .button{margin-top:16px;font-size:12px;width:100%;padding:14px 16px}
.hub-section-intro{max-width:780px;font-size:15px;color:#5b6878;margin-bottom:26px}
.hub-route-grid,.hub-planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hub-route-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--hub-line);border-top:3px solid #315f9b;background:linear-gradient(145deg,#fff,#f4f7fb);border-radius:4px;transition:transform .18s,box-shadow .18s}
.hub-route-card .service-icon{width:28px;height:28px;margin-bottom:18px;color:#5278a5}
.hub-route-label,.hub-small-label{display:block;font:700 10px/1.5 Inter,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#6b7787;margin-bottom:9px}
.hub-route-card p{color:#536171;font-size:14px;line-height:1.7}
.hub-route-action{display:flex;justify-content:space-between;margin-top:auto;padding-top:14px;font-size:12px;font-weight:700;color:#164a93}
.hub-service-directory{margin-top:36px;padding-top:30px;border-top:1px solid var(--hub-line)}
.hub-service-directory>h3{margin-bottom:20px}
.hub-audience-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.hub-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.hub-audience-links a,.hub-service-grid a{display:flex;align-items:center;gap:12px;min-height:58px;padding:14px 16px;border:1px solid var(--hub-line);border-radius:3px;font:600 13px/1.4 Inter,Arial,sans-serif;color:#24486f;background:#fff}
.hub-audience-links a{background:#edf3fc}
.hub-audience-links .service-icon,.hub-service-grid .service-icon{flex:0 0 24px;width:24px;height:24px;color:#6d88aa}
.hub-audience-links a>span:last-child,.hub-service-grid a>span:last-child{margin-left:auto;color:#849bb9}
.hub-planning-section{background:#f5f7fa}
.hub-planning-grid article{padding:24px;background:#fff;border:1px solid var(--hub-line);border-radius:4px}
.hub-planning-grid p{font-size:14px;line-height:1.75;color:#536171}
.hub-planning-grid .text-link{font-size:12px;color:#164a93}
.hub-section-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}
.hub-section-heading>.text-link{font-size:12px;flex-shrink:0;color:#164a93}
.city-hub .article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.city-hub .article-card--illustrated{display:flex;flex-direction:column;border:1px solid var(--hub-line);background:#fff;overflow:hidden;border-radius:4px}
.city-hub .article-card--illustrated .article-photo{display:block;aspect-ratio:3/1;min-height:0}
.city-hub .article-photo img{width:100%;height:100%;object-fit:cover;min-height:0}
.city-hub .article-copy{padding:24px}
.city-hub .article-copy p{font-size:14px;line-height:1.7}
.city-hub .article-copy .text-link{font-size:12px}
.hub-resources-section{background:#f5f7fa}
.hub-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hub-resource-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--hub-line);background:white;border-radius:4px;transition:transform .18s,box-shadow .18s}
.hub-resource-publisher{font:700 10px/1.5 Inter,Arial,sans-serif;color:#6b7787;letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px}
.hub-resource-card p{color:#536171;font-size:14px;line-height:1.7}
.hub-resource-action{display:flex;gap:10px;align-items:center;margin-top:auto;font-size:12px;font-weight:700;color:#164a93}
.hub-resource-note{font-size:12px;line-height:1.7;color:#6b7787;margin:20px 0 0}
.city-hub .faq{max-width:940px}
.city-hub .faq summary{font:600 16px/1.6 Inter,Arial,sans-serif;color:#4a5664}
.city-hub .faq p{font-size:14px;line-height:1.8;color:#536171}
.hub-next-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:50px;align-items:start}
.hub-next-layout>div>p:not(.eyebrow){font-size:15px;color:#536171;line-height:1.75}
.hub-next-links{display:flex;gap:16px 24px;flex-wrap:wrap;font-size:12px}
.hub-neighbor-card{display:block;overflow:hidden;border:1px solid var(--hub-line);border-radius:4px;background:white;transition:transform .18s,box-shadow .18s}
.hub-neighbor-card>div{padding:20px}
.hub-neighbor-card h3{display:flex;justify-content:space-between}
.hub-neighbor-card p{font-size:13px;line-height:1.6;color:#536171;margin:0}
.hub-area-card.city-card{padding:0;overflow:hidden;border:1px solid #dce3eb;border-radius:4px;background:white}
.hub-area-card>div{padding:24px}
.hub-area-photo img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover}
.hub-area-card .eyebrow{font-size:10px}
.article-city-hubs{padding:24px 0;border-top:1px solid #dce3eb;margin-top:32px}
.article-city-hubs>div{display:flex;flex-wrap:wrap;gap:12px}
.article-city-hubs a{padding:10px 14px;border:1px solid #dce3eb;background:#f4f7fb;color:#164a93;font:600 12px/1.5 Inter,Arial,sans-serif;border-radius:3px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:hover){.hub-route-card:hover,.hub-resource-card:hover,.hub-neighbor-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #09224210}.hub-service-grid a:hover,.hub-audience-links a:hover{background:#eaf1ff;border-color:#a9c2e9}}
@media(max-width:1000px){.hub-intro-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px}.hub-route-grid,.hub-planning-grid{gap:14px}.hub-route-card,.hub-planning-grid article{padding:20px}}
@media(max-width:800px){.city-hub .section{padding:40px 0}.hub-intro-layout{grid-template-columns:1fr;gap:28px}.hub-city-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.hub-city-photo img{aspect-ratio:3/1}.hub-city-card>.hub-city-photo img{aspect-ratio:auto;height:100%;max-height:240px}.hub-city-card-copy{padding:22px}.hub-route-grid,.hub-planning-grid{grid-template-columns:1fr}.hub-route-card{display:grid;grid-template-columns:32px minmax(0,1fr);gap:0 16px}.hub-route-card .service-icon{grid-row:1/5}.hub-route-card h3,.hub-route-card p,.hub-route-action{grid-column:2}.hub-route-card p{margin-bottom:12px}.hub-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-next-layout{grid-template-columns:1fr;gap:26px}.hub-section-heading{display:block}.hub-section-heading>.text-link{display:inline-block;margin-bottom:18px}.inner-page .city-hub h2{font-size:26px}}
@media(max-width:560px){.hub-jump-nav{padding-top:8px}.hub-jump-nav a{font-size:11px;padding:8px 10px}.hub-deck{font-size:17px}.hub-intro-copy [data-hub-intro]{font-size:14px}.hub-city-card{display:block}.hub-city-card>.hub-city-photo img{aspect-ratio:3/1;height:auto}.hub-service-grid{gap:8px}.hub-audience-links{grid-template-columns:1fr}.hub-service-grid a{gap:8px;padding:12px 9px;font-size:12px}.hub-service-grid .service-icon{width:20px;height:20px;flex-basis:20px}.hub-service-grid a>span:last-child{display:none}.city-hub .article-grid,.hub-resource-grid{grid-template-columns:1fr}.city-hub .article-copy{padding:20px}.inner-page .city-hub h2{font-size:24px}.inner-page .city-hub h3{font-size:21px}.hub-city-photo figcaption{font-size:9px}.hub-resource-card{padding:21px}.hub-next-links{flex-direction:column;align-items:flex-start;gap:14px}}
@media(prefers-reduced-motion:reduce){.city-hub a{transition:none!important;transform:none!important}}
