/* Shared styles for city landing pages */
* { box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; color: #1b1c1c; background: #fff; }
h1,h2,h3,h4 { font-family: 'Work Sans', sans-serif; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; vertical-align: middle; }
.icon-fill { font-variation-settings: 'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24; }
.nav-link { position: relative; }
.nav-link::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:#b42815; transition:width .25s; }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.card { transition: transform .25s ease, box-shadow .25s ease; }
.card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,.12); }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.pulse { animation: pulse 1.8s ease infinite; }
@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
.fu  { animation: fadeUp .65s ease both; }
.fu2 { animation: fadeUp .65s .15s ease both; }
.fu3 { animation: fadeUp .65s .30s ease both; }
.dropdown-menu { display:none; position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%); background:#fff; min-width:240px; border-radius:12px; box-shadow:0 8px 32px rgba(0,0,0,.14); border:1px solid #f1f5f9; z-index:100; padding:8px 0; }
.dropdown-menu::before { content:''; position:absolute; top:-12px; left:0; right:0; height:12px; }
#hp-areas-panel{display:none;position:fixed;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 14px 44px rgba(0,0,0,.18);z-index:9999;padding:20px 22px;}
#hp-areas-panel a.city-h{display:block;font-family:"Work Sans",sans-serif;font-weight:800;font-size:.7rem;color:#001e38;text-transform:uppercase;letter-spacing:.09em;padding:0 0 5px;border-bottom:2px solid #001e38;margin-bottom:5px;text-decoration:none;transition:opacity .15s;}
#hp-areas-panel a.city-h:hover{opacity:.65;}
#hp-areas-panel a.al{display:block;padding:3px 0 3px 6px;font-size:.8rem;color:#64748b;font-weight:500;text-decoration:none;transition:color .1s;}
#hp-areas-panel a.al:hover{color:#001e38;}
a.area-card { text-decoration: none; color: inherit; display: flex; }
a.area-card:hover .area-card-text { color: #003865; }
#mob-menu { max-height:0; overflow:hidden; transition:max-height .3s ease; }
#mob-menu.open { max-height:2400px; }
.mob-acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.7rem 0;font-family:inherit;font-weight:600;font-size:.875rem;color:#334155;background:transparent;border:0;cursor:pointer;text-align:left;transition:color .15s;}
.mob-acc-btn:hover{color:#003865;}
.mob-acc-icon{transition:transform .25s;display:inline-block;}
.mob-acc-btn[aria-expanded="true"] .mob-acc-icon{transform:rotate(180deg);}
.mob-acc-body{display:none;padding-bottom:.5rem;}
.mob-acc-body a{display:block;padding:.35rem 0 .35rem .75rem;font-size:.875rem;color:#475569;text-decoration:none;transition:color .15s;}
.mob-acc-body a:hover{color:#003865;}
.mob-acc-body a.emg{color:#b42815;font-weight:700;}
.mob-acc-area-city{font-family:"Work Sans",sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;padding:.45rem 0 .1rem .75rem;}
.mob-menu-close-btn{display:flex;align-items:center;background:transparent;border:0;cursor:pointer;color:#64748b;padding:.25rem;margin-left:auto;transition:color .15s;}
.mob-menu-close-btn:hover{color:#003865;}
.section-title::before { content:''; display:block; width:48px; height:4px; background:#b42815; margin-bottom:16px; }
.stat-card { background: linear-gradient(135deg, #003865 0%, #0b4f89 100%); }
.review-card::before { content:'\201C'; font-size:64px; line-height:1; color:#e2e8f0; font-family:'Work Sans',sans-serif; display:block; margin-bottom:-16px; }
.bg-primary { background-color: #003865 !important; }
.bg-secondary { background-color: #b42815 !important; }
.bg-primary-container { background-color: #0b4f89 !important; }
.text-primary { color: #003865 !important; }
.text-secondary { color: #b42815 !important; }
.border-primary { border-color: #003865 !important; }
.border-secondary { border-color: #b42815 !important; }
.border-l-primary { border-left-color: #003865 !important; }
.border-l-secondary { border-left-color: #b42815 !important; }
.border-b-primary { border-bottom-color: #003865 !important; }
.text-green-500 { color: #22c55e !important; }
.hover\:bg-primary-container:hover { background-color: #0b4f89 !important; }
.hover\:bg-red-800:hover { background-color: #991b1b !important; }
.focus\:border-primary:focus { border-color: #003865 !important; }
.focus\:ring-primary:focus { --tw-ring-color: rgba(0,56,101,.2) !important; }
.reviewer-meta { color: #64748b; }
.ind-card { display:flex; align-items:center; gap:12px; background:#fff; border-radius:10px; padding:16px 18px; text-decoration:none; border:1px solid #e2e8f0; box-shadow:0 2px 8px rgba(0,30,56,.07); transition:border-color .15s, box-shadow .15s, transform .15s; }
.ind-card:hover { border-color:#001e38; box-shadow:0 6px 20px rgba(0,30,56,.13); transform:translateY(-2px); }
details.faq-item summary { list-style:none; }
details.faq-item summary::-webkit-details-marker { display:none; }
details.faq-item[open] summary .faq-icon { transform: rotate(180deg); }
.faq-icon { transition: transform .25s; display: inline-block; }
.svc-pill { display:inline-flex; align-items:center; gap:5px; padding:7px 13px; border-radius:8px; background:#f1f5f9; color:#334155; font-size:.8rem; font-weight:600; text-decoration:none; transition:background .15s, color .15s; }
.svc-pill:hover { background:#003865; color:#fff; }
.svc-pill .material-symbols-outlined { font-size:15px; }
