/* Only the Fort Myers, North Fort Myers and Lehigh Acres city hubs load this file. */
.city-focused-page .city-focused-hero-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); gap:40px; align-items:start; padding:40px 0; }
.city-focused-page h1 { font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.12; margin:12px 0 16px; }
.city-focused-page .eyebrow { color:#8a4a04; }
.city-focused-intro { max-width:65ch; font-size:1.05rem; line-height:1.6; }
.city-focused-page .city-focused-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:18px 0 12px; }
.city-focused-actions .button { min-height:48px; padding:12px 16px; }
.city-text-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:8px 4px; color:var(--primary); font-weight:700; }
.city-focused-fee, .city-focused-note { font-size:.92rem; line-height:1.5; }
.city-focused-page .city-early-service-router { margin-top:22px; }
.city-visit-card { padding:26px; border:1px solid var(--line); border-top:4px solid var(--accent-strong); border-radius:12px; background:white; box-shadow:var(--shadow-sm); }
.city-visit-card h2 { font-size:1.5rem; line-height:1.2; margin:8px 0 16px; }
.city-visit-card ol { padding-left:22px; margin:0; }
.city-visit-card li { padding-left:3px; margin:0 0 16px; line-height:1.55; }
.city-visit-card p { line-height:1.55; }
.city-visit-hours { padding-top:14px; border-top:1px solid var(--line); font-size:.9rem; margin-bottom:0; }
.city-focused-page .city-section { padding:44px 0; }
.city-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.city-case-grid-single { grid-template-columns:minmax(0,760px); }
.city-case-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:white; }
.city-case-photo { display:block; width:100%; height:240px; object-fit:contain; background:#eef2f5; }
.city-case-copy { padding:22px; }
.city-case-status { color:#35573e; font-size:.76rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; margin:0 0 8px; }
.city-case-copy h3 { margin:0 0 8px; font-size:1.2rem; line-height:1.3; }
.city-case-model { font-size:.87rem; margin:0 0 14px; overflow-wrap:anywhere; }
.city-case-copy dl { margin:0; }
.city-case-copy dt { font-weight:800; margin:14px 0 4px; font-size:.85rem; }
.city-case-copy dd { margin:0; font-size:.94rem; line-height:1.55; }
.city-case-copy > a, .city-symptom-grid article > a { display:inline-flex; align-items:center; gap:6px; min-height:44px; margin-top:12px; color:var(--primary); font-weight:700; line-height:1.4; }
.city-case-copy > a .icon, .city-symptom-grid article > a .icon { flex-shrink:0; }
.city-symptom-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.city-symptom-grid .city-context-card { display:flex; flex-direction:column; }
.city-symptom-grid h3 { margin-top:0; }
.city-symptom-grid article > a { margin-top:auto; }
.city-focused-page .city-area-chips { max-width:100%; flex-wrap:wrap; }
.city-focused-page .city-area-chips span { white-space:normal; }
.city-focused-final { background:#eef3f7; padding:42px 0; }
.city-focused-final .container > p { max-width:75ch; }
.city-focused-page a:focus-visible, .city-focused-page summary:focus-visible { outline:3px solid #995500; outline-offset:4px; }
@media (max-width:1000px) {
  .city-focused-page .city-focused-hero-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .city-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .city-case-grid-single { grid-template-columns:minmax(0,760px); }
}
@media (max-width:600px) {
  .city-focused-page .city-focused-hero-grid { padding:24px 0; gap:22px; }
  .city-focused-page h1 { font-size:1.95rem; }
  .city-focused-intro { font-size:1rem; line-height:1.5; }
  .city-focused-actions .button { width:100%; justify-content:center; }
  .city-focused-actions .city-text-link { justify-content:center; width:100%; }
  .city-visit-card { padding:20px; }
  .city-focused-page .city-section { padding:32px 0; }
  .city-case-grid, .city-symptom-grid { grid-template-columns:minmax(0,1fr); }
  .city-case-photo { height:260px; }
  .city-case-copy { padding:20px; }
  .city-focused-page .city-early-service-router span { font-size:.83rem; }
}
