/* Location page — FM Systems premium visual system */
.fm-location-page{padding-top:86px;background:#fbfaf7;color:#102f46}
.fm-location-hero{min-height:390px;position:relative;display:flex;align-items:center;overflow:hidden;background:#061827}
.fm-location-hero-image{position:absolute;inset:0;overflow:hidden}.fm-location-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.fm-location-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,34,.92) 0%,rgba(5,22,34,.68) 48%,rgba(5,22,34,.38) 100%)}
.fm-location-hero-inner{position:relative;z-index:1;min-height:390px;display:flex;align-items:center;justify-content:space-between;gap:48px;padding:64px 0;color:#fff}
.fm-location-hero-copy{width:min(820px,72%)}
.fm-location-kicker,.fm-location-cta-label{font-size:12px;letter-spacing:2.2px;font-weight:800;color:#f4a21b;text-transform:uppercase;margin-bottom:12px}
.fm-location-hero-copy h1{font-size:clamp(42px,5vw,68px);line-height:1.05;margin:0 0 15px;color:#fff;font-weight:800;letter-spacing:-1.7px}
.fm-location-hero-copy p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.9);max-width:760px;margin:0}
.fm-location-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:28px;max-width:760px}
.fm-location-feature{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:700;line-height:1.25;color:#fff}
.fm-location-feature-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:0 0 48px;background:#fff1dc;color:#d9821f;border:1px solid rgba(244,162,27,.65)}
.fm-location-feature-icon svg,.fm-location-cta-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fm-location-quote{width:290px;align-self:flex-end;margin:0 0 4px;padding:18px 20px;color:#fff;font-size:15px;line-height:1.5;font-weight:600;background:rgba(4,24,39,.68);border-left:3px solid #f4a21b}

/* Location showcase card — screenshot reference layout */
.fm-location-list-section{padding:38px 0 58px;background:#fbfaf7}
.fm-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;align-items:start}
.fm-location-showcase{min-width:0;padding:9px 9px 14px;background:#fff;border:1px solid rgba(15,52,79,.06);border-radius:14px;box-shadow:0 5px 18px rgba(15,35,50,.06)}
.fm-location-showcase-photo{height:203px;position:relative;overflow:hidden;border-radius:6px;background:#e9edf0}
.fm-location-showcase-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.fm-location-showcase-number{position:absolute;z-index:2;top:14px;left:14px;padding:8px 10px;border-radius:8px;background:#071b2b;color:#fff;font-size:13px;font-weight:800;line-height:1;letter-spacing:.2px;box-shadow:0 3px 9px rgba(0,0,0,.18)}
.fm-location-showcase-details{padding:13px 16px 0}
.fm-location-showcase h2{margin:0 0 9px;color:#101d2a;font-size:17px;font-weight:800;line-height:1.2;letter-spacing:-.15px}
.fm-location-showcase-address{display:flex;align-items:flex-start;gap:7px;min-height:16px;margin:0 0 13px;color:#455362;font-size:12px;line-height:1.35}
.fm-location-showcase-contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:center;gap:12px;margin:0 0 14px}
.fm-location-showcase-contact{display:flex;align-items:center;gap:7px;min-width:0;color:#455362;font-size:12px;line-height:1.3;white-space:nowrap}
.fm-location-showcase-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 17px;margin:0;color:#cf7810}
.fm-location-showcase-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fm-location-showcase-map{position:relative;width:100%;height:263px;overflow:hidden;border-radius:7px;background:#e9edf0}
.fm-location-showcase-map iframe{width:100%;height:100%;display:block;border:0;background:#e9edf0}
.fm-location-showcase-map-link{position:absolute;z-index:3;top:10px;left:10px;display:inline-flex;align-items:center;min-height:31px;padding:7px 12px;border-radius:4px;background:#fff;color:#1774d1;font-size:11px;line-height:1;text-decoration:none;box-shadow:0 2px 7px rgba(0,0,0,.14)}
.fm-location-showcase-map-link:hover{color:#0f5ea9}
.fm-location-empty{padding:40px;background:#fff;border-radius:16px;text-align:center;color:#687789}

@media(max-width:1100px){
  .fm-location-grid{gap:18px}
}
@media(max-width:760px){
  .fm-location-list-section{padding:30px 0 42px}
  .fm-location-grid{grid-template-columns:1fr;gap:18px}
  .fm-location-showcase{padding:9px 9px 14px}
  .fm-location-showcase-photo{height:220px}
  .fm-location-showcase-contact-row{grid-template-columns:1fr;gap:8px;margin-bottom:13px}
}
@media(max-width:420px){
  .fm-location-showcase-details{padding:12px 7px 0}
  .fm-location-showcase-photo{height:190px}
  .fm-location-showcase-map{height:210px}
}
.fm-location-cta{background:#061827;color:#fff;padding:38px 0}.fm-location-cta-inner{display:grid;grid-template-columns:1.15fr .9fr auto;align-items:center;gap:38px}.fm-location-cta h2{font-size:30px;line-height:1.12;margin:0;color:#fff}.fm-location-cta p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.55}.fm-location-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:220px;padding:15px 22px;border-radius:9px;background:#d9821f;color:#fff;text-decoration:none;font-weight:800}.fm-location-cta-icon{display:inline-flex}.fm-location-cta-icon svg{width:20px;height:20px;stroke-width:2}

@media(max-width:1100px){.fm-location-hero-copy{width:68%}.fm-location-quote{width:240px}.fm-location-grid{gap:22px}.fm-location-cta-inner{grid-template-columns:1fr 1fr}.fm-location-cta-button{justify-self:start}}
@media(max-width:760px){.fm-location-page{padding-top:80px}.fm-location-hero{min-height:430px}.fm-location-hero-inner{min-height:430px;display:block;padding:58px 0 42px}.fm-location-hero-copy{width:100%}.fm-location-hero-copy h1{font-size:42px}.fm-location-hero-copy p{font-size:15px}.fm-location-features{grid-template-columns:1fr;gap:12px;margin-top:23px}.fm-location-feature{font-size:14px}.fm-location-quote{width:auto;margin:24px 0 0;padding:15px 17px}.fm-location-list-section{padding:30px 0 42px}.fm-location-grid{grid-template-columns:1fr;gap:18px}.fm-location-showcase-photo{height:200px}.fm-location-showcase-map{height:210px}.fm-location-cta{padding:32px 0}.fm-location-cta-inner{grid-template-columns:1fr;gap:17px}.fm-location-cta h2{font-size:27px}.fm-location-cta-button{width:100%}}
@media(max-width:420px){.fm-location-hero-copy h1{font-size:36px}.fm-location-showcase-details{padding:11px 7px 0}.fm-location-showcase-photo{height:190px}.fm-location-showcase-map{height:200px}}
