.locations-hero { min-height: 650px; }
.locations-hero::before { position:absolute; inset:0; background:rgba(2,6,23,.33); content:""; }
.hub-directory { padding:88px 0 96px; background:#f5f5f5; }
.hub-section-heading { margin:0 0 42px; text-align:center; }
.hub-section-heading .faq-eyebrow { margin-right:auto; margin-left:auto; }
.hub-section-heading h2 { margin:14px 0 10px; color:#0f172a; font-size:clamp(31px,3.2vw,42px); line-height:1.2; }
.hub-section-heading > p:last-child { margin:0; color:#64748b; font-size:15px; line-height:1.65; }
.hub-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.hub-directory-card { display:flex; flex-direction:column; min-height:100%; padding:30px; border:1px solid #dbe3ed; border-radius:20px; background:#fff; box-shadow:0 5px 18px rgba(15,23,42,.07); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.hub-directory-card:hover { transform:translateY(-3px); border-color:#a9c8f8; box-shadow:0 16px 34px rgba(15,23,42,.13); }
.hub-directory-card > header { display:flex; align-items:center; gap:14px; margin-bottom:15px; }
.hub-state-code { width:50px; height:50px; display:grid; place-items:center; flex:0 0 auto; border-radius:14px; color:#fff; background:#2563eb; box-shadow:0 8px 18px rgba(37,99,235,.24); font-size:15px; font-weight:800; }
.hub-directory-card h3 { margin:0 0 3px; color:#0f172a; font-size:22px; }
.hub-directory-card header p { margin:0; color:#64748b; font-size:13px; font-weight:700; }
.hub-directory-card address { margin:0 0 20px; padding-bottom:18px; border-bottom:1px solid #e2e8f0; color:#475569; font-size:14px; font-style:normal; line-height:1.65; }
.hub-directory-card address a { color:#2563eb; font-weight:700; }
.hub-directory-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0 0 22px; padding:0; list-style:none; }
.hub-directory-card li:last-child:nth-child(odd) { grid-column:1/-1; }
.hub-directory-card li a { display:grid; grid-template-columns:16px minmax(0,1fr) auto; gap:8px; align-items:center; min-height:42px; padding:9px 11px; border:1px solid #dbe3ed; border-radius:12px; color:#334155; background:#f8fafc; font-size:12px; font-weight:700; text-decoration:none; }
.hub-directory-card li a:hover { border-color:#93c5fd; color:#1d4ed8; background:#eff6ff; }
.hub-directory-card li svg,.state-city-grid svg { width:15px; height:15px; fill:none; stroke:#3b82f6; stroke-width:1.8; }
.hub-directory-card li a > span:last-child { color:#94a3b8; font-size:17px; font-weight:400; }
.hub-page-link { width:100%; min-height:47px; margin-top:auto; border-radius:13px; text-transform:none; }

.hub-intro-composition { padding:42px 0 82px; background:#f5f5f5; }
.hub-intro-composition .home-offer { padding:0; background:transparent; }
.hub-intro-composition .state-office-section { padding:28px 0 0; background:transparent; }
.state-office-section { padding:88px 0; background:#f5f5f5; }
.state-office-grid { display:grid; grid-template-columns:360px minmax(0,1fr); gap:24px; align-items:stretch; }
.state-office-card,.state-coverage { padding:34px; border:1px solid #dbe3ed; border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.08); }
.state-office-card .faq-eyebrow { margin:0 0 18px; }
.state-office-card h2,.state-coverage h2 { margin:0 0 14px; color:#0f172a; font-size:28px; line-height:1.25; }
.state-office-card address,.state-office-card > p,.state-coverage > p { margin:0 0 18px; color:#475569; font-size:15px; font-style:normal; line-height:1.7; }
.state-office-card a { color:#2563eb; font-weight:700; }
.state-city-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.state-city-grid a { min-height:48px; display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:9px; padding:11px 14px; border:1px solid #dbe3ed; border-radius:13px; color:#334155; background:#f8fafc; font-size:13px; font-weight:700; text-decoration:none; }
.state-city-grid a:hover { border-color:#93c5fd; color:#1d4ed8; background:#eff6ff; }
.state-city-grid b { color:#94a3b8; font-size:18px; font-weight:400; }
.regional-impact { padding:90px 0 96px; background:#fff; }
.regional-impact .modern-service-heading { margin-bottom:34px; }
.regional-impact-copy { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.regional-impact-copy p { margin:0; padding:28px; border-top:4px solid #2563eb; border-radius:0 0 18px 18px; color:#475569; background:#f8fafc; box-shadow:0 8px 24px rgba(15,23,42,.07); font-size:15px; line-height:1.8; }
.regional-impact-copy p:nth-child(2) { border-top-color:#0ea5e9; }
.regional-impact-copy p:nth-child(3) { border-top-color:#f59e0b; }
.hub-services { background:#f5f5f5; }
.hub-testimonials { background:#fff; }
.hub-testimonials .testimonial-card { display:flex; flex-direction:column; }
.hub-testimonials .testimonial-card > p:not(.testimonial-author) { flex:1 1 auto; }
.hub-faq { background:#f8fafc; }
@media(max-width:1000px){.state-office-grid{grid-template-columns:310px minmax(0,1fr)}}
@media(max-width:900px){.regional-impact-copy{grid-template-columns:1fr}.regional-impact-copy p{padding:25px}}
@media(max-width:760px){.locations-hero{min-height:0}.hub-intro-composition{padding:32px 0 62px}.hub-intro-composition .state-office-section{padding-top:22px}.hub-directory,.state-office-section,.regional-impact{padding:68px 0}.hub-directory-grid,.state-office-grid{grid-template-columns:1fr}.hub-directory-card{padding:24px}.state-office-card,.state-coverage{padding:25px}.state-city-grid{grid-template-columns:1fr}}
@media(max-width:430px){.hub-directory-card ul{grid-template-columns:1fr}.hub-directory-card li:last-child:nth-child(odd){grid-column:auto}}
@media(prefers-reduced-motion:reduce){.hub-directory-card{transition:none}}
