/* City photography and service-area editorial layouts. */
.location-directory-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.location-directory-heading h3 { flex:1; }
.location-service-count { flex-shrink:0; padding:5px 8px; border-radius:6px; background:#f1eaf4; color:#64258f; font-size:11px; line-height:1.5; }
.location-directory-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border-top:1px solid #281a3212; padding-top:24px; }
.location-directory-groups h4 { margin:0 0 10px; color:#726777; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.location-directory-groups ul { margin:0; padding:0; list-style:none; }
.location-directory-groups li + li { margin-top:3px; }
.location-directory-groups a { display:block; padding:8px 0; font-size:13px; line-height:1.5; font-weight:500; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; }
.location-directory-groups a:hover { text-decoration-color:currentColor; }
@media(max-width:420px) { .location-directory-heading { flex-wrap:wrap; gap:0; margin-bottom:16px; } .location-directory-heading h3 { flex-basis:100%; } .location-directory-groups { grid-template-columns:1fr; gap:22px; } }
.location-hero-figure { min-width:0; margin:0; position:relative; z-index:2; }
.location-hero-figure .page-hero-media { aspect-ratio:4/3; margin:0; }
.location-hero-figure img { display:block; width:100%; height:100%; object-fit:cover; }
.location-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:40px; }
.location-capabilities article { border:1px solid #281a3212; border-radius:15px; padding:30px; background:#fff; }
.location-capabilities h3 { margin:0 0 16px; font-size:21px; font-weight:600; letter-spacing:-.025em; line-height:1.35; }
.location-capabilities p, .location-decision p { line-height:1.85; color:#726777; }
.location-step { display:block; margin-bottom:26px; color:#733399; font-size:12px; }
.location-decision { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.location-decision h2 { margin-bottom:24px; }
.location-text-link { display:inline-block; margin-top:24px; color:#64258f; font-weight:600; line-height:1.6; }
.location-context { margin-top:36px; }
.location-checklist { counter-reset:step; list-style:none; padding:0; margin:0; }
.location-checklist li { counter-increment:step; padding:20px 0 20px 50px; border-bottom:1px solid #64258f20; position:relative; line-height:1.75; }
.location-checklist li::before { content:'0' counter(step); position:absolute; left:0; color:#733399; font-size:12px; }
.location-services img { width:100%; height:180px; object-fit:cover; border-radius:10px; margin-bottom:22px; }
@media(max-width:900px) { .location-capabilities { grid-template-columns:1fr; } .location-decision { gap:32px; } }
@media(max-width:600px) { .location-decision { grid-template-columns:1fr; } .location-capabilities article { padding:25px; } .location-hero-figure .page-hero-media { aspect-ratio:3/2; } }
