
/* Locations: smart search-oriented branch directory, not a marketing clone */
.lo-hero{background:linear-gradient(108deg,var(--ec-blue),var(--ec-blue));color:var(--ec-white);padding:67px 0 63px;position:relative}
.lo-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 9%,rgba(125,209,251,.23),transparent 29%)}
.lo-hero-inner{position:relative;display:grid;grid-template-columns:1.35fr .75fr;align-items:center;gap:55px}
.lo-hero .x-eyebrow{color:var(--ec-bright)}.lo-hero h1{font-size:clamp(45px,5vw,67px);margin:10px 0 19px;color:white}
.lo-hero h1 em{color:var(--ec-bright)}.lo-hero p:not(.x-eyebrow){font-size:14px;color:var(--ec-soft);max-width:630px}
.lo-hero-links{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:25px}
.lo-hero .x-btn{background:var(--ec-white);color:var(--ec-blue)!important}.lo-hero .x-link-arrow{color:white}
.lo-hero-stats{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.26);border-radius:17px;padding:28px;backdrop-filter:blur(8px)}
.lo-hero-stats>div{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.2)}.lo-hero-stats>div:last-child{border:0}
.lo-hero-stats strong{color:white;font-size:35px;font-weight:800;display:block;line-height:1.2}
.lo-hero-stats span{font-size:12px;color:var(--ec-line)}
.lo-main{background:var(--ec-soft)}
.lo-directory h2{color:var(--ec-blue);margin:13px 0}
.lo-directory>p:not(.x-eyebrow){font-size:13px;color:var(--ec-muted)}
.lo-search-bar{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:26px}
.lo-search-field{display:flex;align-items:center;gap:8px;flex:1 1 290px;border:1px solid var(--ec-line);background:white;border-radius:11px;padding:0 13px;height:48px}
.lo-search-field input{border:0;outline:0;width:100%;background:none;color:var(--ec-blue);min-width:0}
.lo-search-bar select{height:48px;border-radius:11px;border:1px solid var(--ec-line);padding:0 34px 0 14px;background:white;color:var(--ec-blue)}
.lo-results-meta{margin:15px 0;font-size:13px;color:var(--ec-muted)}
.lo-grid,.lo-branches,.lo-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.lo-grid article,.lo-branches article,.lo-results-grid article,.lo-branch{background:var(--ec-white);border:1px solid var(--ec-line);border-radius:14px;padding:24px;transition:.22s}
.lo-grid article:hover,.lo-branches article:hover,.lo-results-grid article:hover,.lo-branch:hover{border-color:var(--ec-bright);transform:translateY(-3px);box-shadow:0 13px 30px rgba(7,26,45,.09)}
.lo-directory h3{color:var(--ec-blue);font-size:18px}
.lo-directory .lo-branch p,.lo-directory article p{font-size:13px;color:var(--ec-muted)}
.lo-branch a,.lo-directory article a{color:var(--ec-blue);font-size:12px;font-weight:800}
.lo-hq{padding:50px 0;background:var(--ec-white)}
.lo-hq-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.lo-hq h2{margin:12px 0;color:var(--ec-blue)}
.lo-hq p:not(.x-eyebrow){color:var(--ec-muted);font-size:14px}
.lo-hq .x-btn{margin-top:20px}
.lo-hq-panel{background:var(--ec-soft);border:1px solid var(--ec-line);border-radius:18px;padding:30px}
@media(max-width:850px){.lo-hero-inner,.lo-hq-grid{grid-template-columns:1fr;gap:28px}.lo-grid,.lo-branches,.lo-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.lo-grid,.lo-branches,.lo-results-grid{grid-template-columns:1fr}.lo-hero h1{font-size:43px}}

.lo-hero h1 span{color:var(--ec-bright)}
.lo-hero-stats .lo-count{font:800 64px/1 var(--ecc-font-display);letter-spacing:-.06em;color:var(--ec-white)}
.lo-hero-stats>b,.lo-hero-stats b{display:block;color:var(--ec-white);font:800 25px var(--ecc-font-display)}
.lo-hero-stats>p{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.2)}
.lo-directory{display:grid;grid-template-columns:290px minmax(0,1fr);align-items:start;gap:48px}
.lo-side{position:sticky;top:102px}
.lo-side h2{line-height:1.2;font-size:30px}
.lo-side>p:not(.x-eyebrow){margin-top:14px;font-size:13px;line-height:1.8}
.lo-company{margin-top:29px;background:var(--ec-soft);border:1px solid var(--ec-line);border-radius:13px;padding:19px}
.lo-company span{color:var(--ec-blue);font-size:10px;font-weight:800;letter-spacing:.06em}
.lo-company strong{display:block;color:var(--ec-blue);font-size:16px;margin:7px 0}
.lo-company p{font-size:12px;color:var(--ec-muted)}
.lo-results-area{min-width:0}
.lo-toolbar>label{display:block;margin-bottom:9px;color:var(--ec-blue);font-size:11px;font-weight:800;letter-spacing:.07em}
.lo-search-field{width:100%}
.lo-search-field svg{flex-shrink:0;color:var(--ec-blue)}
.lo-search-field button{font-size:11px;font-weight:800;color:var(--ec-blue);background:var(--ec-soft);border:0;border-radius:7px;padding:7px 10px;cursor:pointer}
.lo-filter-row{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}
.lo-filter{background:white;border:1px solid var(--ec-line);color:var(--ec-blue);border-radius:99px;cursor:pointer;padding:8px 12px;font-size:12px;font-weight:800;transition:.2s}
.lo-filter.active,.lo-filter:hover{background:var(--ec-blue);border-color:var(--ec-blue);color:white}
.lo-result-count{margin:14px 0;color:var(--ec-muted);font-size:12px}
.lo-list{display:grid;gap:11px}
.lo-result{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:13px;align-items:center;background:white;border:1px solid var(--ec-line);border-radius:13px;padding:19px;transition:.2s}
.lo-result:hover{border-color:var(--ec-bright);box-shadow:0 9px 22px rgba(7,26,45,.07)}
.lo-result[hidden]{display:none}
.lo-pin{grid-row:1/3;align-self:start;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--ec-soft);color:var(--ec-blue)}
.lo-entry h3{font-size:16px;margin-bottom:5px}
.lo-entry p{font-size:12px;color:var(--ec-muted);line-height:1.65}
.lo-nmls{grid-column:2;color:var(--ec-muted);font-size:11px}
.lo-map{grid-column:3;grid-row:1/3;color:var(--ec-blue);font-size:12px;font-weight:800;white-space:nowrap}
.lo-map span{margin-left:5px}
.lo-empty{border:1px dashed var(--ec-line);border-radius:13px;padding:22px;color:var(--ec-muted);background:white}
.lo-hq-links{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:13px}
@media(max-width:1000px){.lo-directory{grid-template-columns:240px minmax(0,1fr);gap:28px}}
@media(max-width:800px){.lo-directory{grid-template-columns:1fr}.lo-side{position:static}.lo-company{margin-top:18px}}
@media(max-width:550px){.lo-result{grid-template-columns:28px 1fr}.lo-map{grid-column:2;grid-row:3}.lo-pin{grid-row:1/3}}

/* Patch 004-R1: existing Interactive Geo Maps map, within the homepage palette. */
.lo-licensed{background:var(--ec-white)}
.lo-map-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.lo-map-heading h2{margin-top:10px}
.lo-map-heading>p{max-width:430px;color:var(--ec-muted);font-size:15px}
.lo-map-card{border:1px solid var(--ec-line);border-radius:20px;padding:20px;background:var(--ec-white)}
.lo-map-card .map_wrapper,.lo-map-card .map_box{width:100%;margin:0 auto}
.lo-map-card .map_aspect_ratio{padding-top:56.25%!important}
.lo-map-card .map_render{font-family:var(--ecc-font-body)}
.lo-map-note{margin:14px 0 0!important;color:var(--ec-muted);font-size:12px}
.lo-map-unavailable{padding:25px;border:1px solid var(--ec-line);border-radius:16px;color:var(--ec-muted);background:var(--ec-soft)}
@media(max-width:700px){.lo-map-heading{display:block}.lo-map-heading>p{margin-top:15px}.lo-map-card{padding:8px;border-radius:14px}}
