@font-face{font-family:Manrope;src:url('fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--red:#d90000;--ink:#20252c;--muted:#68707b;--line:#e4e7eb;--paper:#fff;--soft:#f5f6f8;--radius:16px;font-family:Manrope,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--soft);min-width:0}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;color:inherit}
a{color:inherit}
.icon{display:inline-block;flex-shrink:0;inline-size:1.25em;text-align:center;line-height:1;vertical-align:-.08em}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #245fc6;outline-offset:4px}
.site-header{background:var(--paper);border-top:3px solid var(--red);border-bottom:1px solid var(--line)}
.header-inner{max-width:1840px;min-height:88px;margin:auto;padding:18px clamp(20px,3vw,48px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.3em;text-decoration:none;font-size:clamp(1.35rem,2.1vw,1.875rem);line-height:1.3;letter-spacing:-.055em;font-weight:800;max-width:100%}
.brand>span{color:var(--red)}
.brand>strong{font-weight:600;letter-spacing:-.055em}
.main-nav{display:flex;align-items:center;gap:clamp(22px,3vw,38px)}
.main-nav>a{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:.875rem;font-weight:650;min-height:44px;position:relative;color:#5b616b}
.main-nav>a[aria-current]{color:var(--ink);font-weight:750}
.main-nav>a[aria-current]::after{content:"";position:absolute;bottom:1px;left:0;right:0;height:2px;background:var(--red);border-radius:2px}
.main-nav>a:hover{color:var(--red)}
.main-nav .icon{font-size:.875rem;color:#7c8490}
.main-nav [aria-current] .icon{color:var(--red)}
.page-shell{max-width:1840px;margin:auto;padding:34px clamp(20px,3vw,48px) 32px}
.page-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:28px}
.intro-copy{min-width:0}
.eyebrow{margin:0 0 12px;font-size:.75rem;font-weight:800;letter-spacing:.15em;line-height:1.5;color:var(--red)}
h1{font-size:clamp(1.65rem,2.6vw,2.5rem);font-weight:750;letter-spacing:-.045em;line-height:1.25;margin:0;overflow-wrap:break-word}
h1>span{font-weight:500}
.intro-description{font-size:.9375rem;color:var(--muted);line-height:1.7;margin:12px 0 0}
.store-stats{display:flex;gap:30px;margin:0 0 0 20px;flex-shrink:0}
.store-stats>div{display:flex;flex-direction:column-reverse;justify-content:center;gap:2px;min-width:82px}
.store-stats>div+div{padding-left:30px;border-left:1px solid #dadde2}
.store-stats dt{font-size:.8125rem;color:var(--muted);font-weight:600;line-height:1.7}
.store-stats dt .icon{font-size:.75rem;margin-right:3px;color:#818994}
.store-stats dd{margin:0;font-size:2.375rem;font-weight:750;letter-spacing:-.06em;line-height:1.25;font-variant-numeric:tabular-nums}
.store-stats>div:first-child dd{color:var(--red)}
.locator{display:grid;grid-template-columns:390px minmax(0,1fr);grid-template-areas:"list map";gap:20px;height:calc(100dvh - 290px);min-height:580px;max-height:1100px}
.store-panel{grid-area:list;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0;min-height:0}
.panel-heading{padding:23px 24px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}
.panel-heading>div{min-width:0}
h2{font-size:1.1875rem;font-weight:750;letter-spacing:-.035em;line-height:1.4;margin:0;overflow-wrap:break-word}
.panel-heading p{margin:5px 0 0;font-size:.75rem;color:var(--muted);line-height:1.6}
.list-count{background:#f4f5f7;border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-weight:750;font-size:.8125rem;line-height:1.4;flex-shrink:0}
.store-list{list-style:none;padding:0;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cdd1d7 transparent;flex:1;scroll-behavior:smooth;min-height:0}
.store-card{position:relative;border-bottom:1px solid var(--line);transition:background .15s;isolation:isolate;min-width:0}
.store-card:last-child{border-bottom:0}
.store-card::before{position:absolute;content:"";left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .15s}
.store-card:hover{background:#fafbfc}
.store-card.is-selected{background:#fff6f6}
.store-card.is-selected::before{background:var(--red)}
.store-select{border:0;padding:21px 23px 9px;background:transparent;cursor:pointer;width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left}
.store-number{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;flex-shrink:0;font-size:.6875rem;font-weight:750;color:#6c737d;margin-top:2px;background:var(--paper);transition:all .15s;font-variant-numeric:tabular-nums}
.is-selected .store-number{background:var(--red);border-color:var(--red);color:#fff}
.store-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.district{font-size:.75rem;color:var(--muted);margin-bottom:4px;line-height:1.5}
.store-title{font-size:1.0625rem;font-weight:750;letter-spacing:-.025em;line-height:1.4;overflow-wrap:break-word}
.store-address{display:block;font-size:.875rem;line-height:1.7;color:#626a75;margin-top:8px;overflow-wrap:anywhere}
.select-arrow{padding-top:22px;color:#8a929c;margin-left:auto}
.select-arrow .icon{font-size:.6875rem}
.is-selected .select-arrow{color:var(--red)}
.store-actions{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;flex-wrap:wrap;padding:3px 23px 19px}
.store-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.75rem;text-decoration:none;min-height:40px;white-space:nowrap;transition:color .15s,background .15s,border-color .15s}
.store-actions a:hover{text-decoration:underline;text-underline-offset:3px}
.store-actions .icon{font-size:.8125rem}
.store-actions .phone-link{color:#4c5765;min-height:40px;padding:8px 0}
.store-actions .phone-link .icon{color:#788291}
.store-actions .directions{margin-inline-start:auto;font-weight:750;color:var(--red);padding:8px 12px;border:1px solid #f0d6d6;border-radius:7px;background:#fffafa}
.store-actions .directions:hover{color:#fff;background:var(--red);border-color:var(--red);text-decoration:none}
.panel-footer{padding:15px 23px;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);background:#fafbfc}
.panel-footer>span{font-size:.6875rem;font-weight:800;letter-spacing:.035em;color:#626b77}
.panel-footer a{font-size:.6875rem;color:#6d7580;text-decoration:none;display:flex;align-items:center;gap:2px;min-height:24px}
.panel-footer a:hover{text-decoration:underline}
.panel-footer .icon{font-size:.625rem;margin-left:3px}
.map-panel{grid-area:map;position:relative;min-width:0;min-height:0;background:#e8ecec;border:1px solid #d8dfe3;border-radius:var(--radius);overflow:hidden;isolation:isolate}
#map{height:100%;width:100%;background:#e8ecec;min-height:0}
.map-toolbar{position:absolute;top:20px;left:20px;right:20px;z-index:500;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}
.map-caption{display:flex;align-items:center;gap:11px;background:var(--paper);border:1px solid #e4e7eb;box-shadow:0 3px 16px #18253812;border-radius:11px;padding:13px 17px;pointer-events:auto}
.map-caption>.icon{font-size:1.1875rem;color:var(--red);margin-right:2px}
.map-caption strong{display:block;font-size:1.0625rem;font-weight:750;letter-spacing:-.03em;line-height:1.3}
.map-caption div>span{display:block;font-size:.625rem;letter-spacing:.1em;font-weight:650;color:#6c747f;margin-top:4px}
.reset-map{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:10px;font-size:.8125rem;font-weight:650;min-height:44px;padding:11px 14px;box-shadow:0 2px 10px #18253812;cursor:pointer}
.reset-map:hover{background:#fff5f5;border-color:#f0cbcb}
.reset-map .icon{color:#586473;font-size:.875rem}
.map-legend{position:absolute;bottom:28px;left:20px;display:flex;align-items:center;gap:9px;font-size:.75rem;z-index:500;padding:12px 15px;border-radius:10px;background:var(--paper);border:1px solid var(--line);box-shadow:0 2px 10px #18253812;pointer-events:none}
.map-legend>.icon{color:var(--red);font-size:.875rem}
.map-legend strong{font-weight:750}
.store-pin{background:none;border:0}
.marker-glyph{display:block;font-size:52px!important;line-height:1!important;width:42px;height:52px;text-align:center;color:var(--red);-webkit-text-stroke:1.5px #fff;filter:drop-shadow(0 2px 3px #77171740)}
.marker-number{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--red);font:800 11px/1 Manrope,"Segoe UI",Arial,sans-serif}
.store-pin.is-active .marker-glyph{color:var(--ink);filter:drop-shadow(0 0 4px #d9000060)}
.store-pin.is-active .marker-number{color:var(--ink)}
.leaflet-control-zoom{border:1px solid var(--line)!important;box-shadow:0 3px 12px #18253812!important;margin-right:20px!important;margin-bottom:34px!important;border-radius:10px!important;overflow:hidden}
.leaflet-control-zoom a{width:42px!important;height:42px!important;line-height:42px!important;color:#444!important}
.leaflet-control-zoom .icon{font-size:15px;vertical-align:0}
.leaflet-control-attribution{font-family:Manrope,"Segoe UI",Arial,sans-serif;font-size:9px!important;line-height:1.5;padding:3px 6px!important;max-width:100%}
.leaflet-popup-content-wrapper{border-radius:13px;box-shadow:0 6px 26px #18253826}
.leaflet-popup-content{margin:22px;width:min(250px,calc(100vw - 104px))!important;max-width:100%;font:400 .875rem/1.6 Manrope,"Segoe UI",Arial,sans-serif;color:var(--ink);overflow-wrap:anywhere;scrollbar-width:thin}
.popup-district{font-size:.75rem;color:var(--red);font-weight:700;margin-bottom:6px}
.popup-title{font-size:1.125rem;font-weight:750;line-height:1.4;letter-spacing:-.025em;padding-right:8px}
.popup-address{color:#626a75;font-size:.8125rem;line-height:1.7;margin:9px 0 13px!important}
.popup-phone{display:flex!important;align-items:center;gap:9px;min-height:36px;color:#495362!important;text-decoration:none;font-size:.8125rem;margin-bottom:12px}
.popup-phone .icon{color:#7c8794;font-size:.8125rem}
.popup-directions{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;background:var(--red);text-decoration:none;color:#fff!important;padding:10px 14px;border-radius:8px;font-weight:700;font-size:.8125rem}
.popup-directions:hover{background:#b80000}
.leaflet-container a.leaflet-popup-close-button{top:1px;right:1px;width:38px;height:38px;line-height:38px;font-size:25px;color:#737d88}
.leaflet-popup-close-button .icon{font-size:17px;vertical-align:0}
.map-panel.has-popup .map-toolbar,.map-panel.has-popup .map-legend,.map-panel.has-popup .leaflet-control-zoom{visibility:hidden}
.map-message{position:absolute;z-index:600;top:110px;left:18px;right:18px;margin:auto;max-width:440px;background:var(--paper);padding:20px;border-radius:12px;font-size:.875rem;box-shadow:0 4px 20px #0002;line-height:1.6}
.map-message[hidden]{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-120px;left:20px;z-index:9999;padding:13px 20px;background:var(--paper);border:2px solid var(--red);border-radius:6px}
.skip-link:focus{top:10px}
@media(min-width:1600px){.locator{grid-template-columns:420px minmax(0,1fr);gap:24px}.store-select{padding-left:27px;padding-right:27px}.store-actions{padding-left:27px;padding-right:27px}.store-title{font-size:1.0625rem}.store-address{font-size:.875rem}.store-actions a{font-size:.8125rem}}
@media(min-width:961px) and (max-width:1150px){.locator{grid-template-columns:350px minmax(0,1fr);gap:16px}.page-shell{padding-left:24px;padding-right:24px}.store-select{padding-left:18px;padding-right:18px;gap:10px}.store-actions{padding-left:18px;padding-right:18px}.store-stats{gap:20px;margin-left:0}.store-stats>div{min-width:60px}.store-stats>div+div{padding-left:20px}.reset-map span{display:none}}
@media(max-width:960px),(max-height:650px){
  .page-shell{padding:28px 24px 24px}.header-inner{padding:15px 24px;min-height:80px}.page-intro{gap:24px;margin-bottom:24px}.store-stats{gap:20px;margin-left:0}.store-stats>div{min-width:62px}.store-stats>div+div{padding-left:20px}.store-stats dd{font-size:2rem}
  .locator{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;gap:22px}.map-panel{height:clamp(380px,53svh,620px);flex-shrink:0}.store-panel{min-height:0}.store-list{overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:none}.store-card{display:flex;flex-direction:column;border-right:1px solid var(--line)}.store-card:nth-child(2n){border-right:0}.store-card:last-child{border-bottom:1px solid var(--line)}.store-actions{margin-top:auto}.panel-heading{padding:22px 24px}.panel-heading p{font-size:.8125rem}.panel-footer{flex-direction:row;justify-content:space-between;gap:12px;align-items:center;padding:16px 24px;flex-wrap:wrap}.map-toolbar{top:16px;left:16px;right:16px}.leaflet-control-zoom{margin-right:16px!important}.map-legend{left:16px}
}
@media(max-width:640px){
  .header-inner{padding:14px 18px;min-height:76px;gap:8px 20px}.brand{font-size:1.4rem;letter-spacing:-.04em}.main-nav{gap:18px}.main-nav>a{font-size:.75rem;min-height:34px}.page-shell{padding:25px 16px 20px}.page-intro{display:block;margin-bottom:22px}.eyebrow{font-size:.6875rem;letter-spacing:.13em;margin-bottom:9px}h1{font-size:clamp(1.55rem,5.8vw,2rem);line-height:1.3;letter-spacing:-.04em}.intro-description{font-size:.875rem;line-height:1.7;margin-top:10px;max-width:32em}.store-stats{margin:18px 0 0;gap:20px}.store-stats>div{flex-direction:row-reverse;align-items:baseline;justify-content:flex-end;gap:7px;min-width:0}.store-stats>div+div{padding-left:20px}.store-stats dd{font-size:1.5rem;line-height:1.3}.store-stats dt{font-size:.8125rem}.locator{gap:20px}.map-panel{height:clamp(370px,49svh,480px);border-radius:12px}.map-caption{padding:11px 13px;gap:9px;border-radius:9px}.map-caption strong{font-size:.9375rem}.map-caption div>span{font-size:.5625rem}.reset-map{width:44px;padding:10px;flex-shrink:0}.reset-map span{display:none}.map-toolbar{top:12px;left:12px;right:12px}.map-legend{left:12px;bottom:29px;font-size:.6875rem;padding:10px 12px}.leaflet-control-zoom{margin-right:12px!important;margin-bottom:30px!important}.leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important}.leaflet-control-attribution{font-size:8px!important}.store-panel{border-radius:12px}.panel-heading{padding:20px}.panel-heading p{font-size:.75rem}.store-list{display:block}.store-card{border-right:0}.store-select{padding:21px 20px 7px;gap:12px}.store-number{width:32px;height:32px;font-size:.75rem}.district{font-size:.75rem}.store-title{font-size:1.0625rem}.store-address{font-size:.875rem;line-height:1.7}.store-actions{padding:3px 20px 18px;gap:6px 10px}.store-actions a{font-size:.75rem}.panel-footer{padding:17px 20px}.map-message{top:90px;font-size:.8125rem}
}
@media(max-width:380px){.header-inner{padding:14px 16px}.brand{font-size:1.35rem}.main-nav{gap:24px;width:100%}.main-nav>a{min-height:36px}.page-shell{padding-left:12px;padding-right:12px}.store-select{padding-left:15px;padding-right:15px;gap:9px}.store-number{width:29px;height:29px}.store-actions{padding-left:15px;padding-right:15px;gap:6px 9px}.store-actions a{font-size:.6875rem}.select-arrow{display:none}.panel-heading{padding-left:16px;padding-right:16px}.panel-footer{padding-left:16px;padding-right:16px}.leaflet-popup-content{margin:20px 18px}.map-caption{max-width:calc(100% - 55px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

