.pill,.tab{font-weight:600;cursor:pointer;white-space:nowrap}.city-card,.city-card:hover,.tab,.tab:hover{text-decoration:none}:root{--blue:#1a3c6e;--accent:#e8640a;--green:#1a7a4a;--light:#f4f6fb;--border:#dde3f0;--text:#1e2535;--muted:#5a6480;--card:#ffffff}body{color:var(--text);background:#e8edf5;font-size:14px}.tabs{display:flex;gap:0;background:var(--blue);padding:0 32px;overflow-x:auto}.no-results.visible,.seo-note strong,.tab{display:block}.tab{padding:14px 24px;color:rgba(255,255,255,.65);font-size:13px;border-bottom:3px solid transparent}.tab.active{color:#fff;border-bottom-color:var(--accent)}.tab:hover{color:#fff}.hero{background:linear-gradient(135deg,var(--blue) 0,#2a5298 100%);color:#fff;padding:40px 32px 32px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.pill,.search-wrap{background:var(--card)}.hero-text{flex:1;min-width:260px}.filter-pills,.hero-stats{flex-wrap:wrap;display:flex}.hero-breadcrumb{font-size:12px;color:rgba(255,255,255,.6);margin-bottom:10px}.legend-item,.pill{color:var(--muted)}.hero h1{font-size:26px;font-weight:800;margin-bottom:8px;color:#fff}.hero p{font-size:13px;color:rgba(255,255,255,.82);max-width:560px;margin:0}.hero-stats{gap:32px;align-items:flex-end;flex-shrink:0}.hero-stat{text-align:right}.hero-stat .num{font-size:22px;font-weight:800;color:var(--accent)}.hero-stat .lbl{font-size:11px;color:rgba(255,255,255,.7)}.pill.active,.state-title .state-count{background:var(--blue);color:#fff}.search-wrap{padding:20px 32px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.08);flex-wrap:wrap}.city-card:hover,.pill.active,.search-wrap input:focus{border-color:var(--blue)}.search-wrap input{flex:1;min-width:200px;border:1.5px solid var(--border);border-radius:8px;padding:10px 14px;font-size:13px;outline:0}.search-wrap input::placeholder{color:var(--muted)}.filter-pills{gap:8px}.pill{padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);font-size:12px}.dir-content{max-width:1100px;margin:0 auto;padding:28px 24px}.legend{display:flex;gap:16px;flex-wrap:wrap;padding:12px 0 20px}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px}.legend-dot{width:10px;height:10px;border-radius:50%}.state-group{margin-bottom:28px}.state-title{font-size:13px;font-weight:700;color:var(--blue);margin-bottom:10px;padding:8px 14px;background:#eef2fb;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.state-title .state-count{padding:2px 10px;border-radius:10px;font-size:11px;font-weight:700}.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px}.city-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:11px 14px;color:var(--text);display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;transition:.15s}.city-card:hover{color:var(--blue);background:var(--light)}.city-card .dot{width:8px;height:8px;border-radius:50%;background:var(--border);flex-shrink:0}.city-card.office .dot{background:var(--accent)}.city-card.office{border-color:#ffd0b0;background:#fff8f4}.seo-note{background:#fffbf0;border:1px solid #ffe0a0;border-radius:8px;padding:12px 16px;font-size:12px;color:#7a5800;margin-top:20px}.pencil,.phone,.whatsapp{background:#fff;box-shadow:-1px 0 7px #929292}.seo-note strong{margin-bottom:4px}.no-results{text-align:center;padding:40px;color:var(--muted);display:none;font-size:13px}.social-bar{position:fixed;top:50%;right:0;transform:translateY(-50%);-webkit-transform:translateY(-50%);z-index:999;margin-right:16px}.social-bar .pencil,.social-bar a{display:block;text-align:center;padding:8px;transition:.3s;color:#fff;font-size:20px;line-height:8px;border-radius:100%;margin-bottom:12px}.phone{color:#3b5998!important}.whatsapp{color:#34b239!important}.pencil{color:#0066b3!important}@media (max-width:600px){.city-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:20px}.hero-stats{gap:16px}.search-wrap{flex-direction:column;align-items:stretch}.tabs{padding:0 16px}}