:root{font-family:Arial,Helvetica,sans-serif;color:#092c5e;background:#fff;font-synthesis:none;--navy:#062e68;--cyan:#4ac0dd;--line:#dce3eb}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1789bc;outline-offset:4px}header{height:102px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);padding:0 5%}header img{width:224px;height:auto;display:block}.header-label{font-size:12px;font-weight:700;letter-spacing:2px;border-left:1px solid #becbd8;padding:12px 0 12px 35px}.back{margin-left:auto;text-decoration:none;font-size:14px;font-weight:600}.back span{margin-left:16px}main{max-width:1440px;padding:40px 5% 24px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:12px!important;font-weight:700;letter-spacing:2px;color:#216484;margin:0 0 12px}h1{font-size:clamp(32px,3.5vw,50px);letter-spacing:-1.8px;line-height:1.12;margin:0 0 14px}.intro p:not(.eyebrow){font-size:16px;color:#536379;margin:0}.coverage{display:flex;gap:16px;align-items:center}.coverage strong{font-size:37px;letter-spacing:-1.5px}.coverage span{font-size:14px;line-height:1.5;color:#536379;border-left:1px solid var(--line);padding-left:16px}.searchbar{display:flex;align-items:flex-end;gap:22px;background:var(--navy);padding:22px 26px;border-radius:12px}.searchbar form{flex:1}.searchbar label{color:#fff;display:block;font-size:14px;margin-bottom:10px}.search-input{display:flex;align-items:center;background:#fff;border-radius:6px;padding:5px;gap:12px}.search-input svg{width:22px;margin-left:12px;flex-shrink:0}.search-input input{min-width:0;width:100%;border:0;outline-offset:0;padding:12px 0;color:var(--navy);background:white;font-size:16px}.search-input button{background:var(--cyan);color:#052450;border:0;border-radius:4px;padding:13px 24px;font-weight:700}.or{align-self:flex-end;color:#b6cee9;padding-bottom:18px;font-size:14px}.location-button{display:flex;align-items:center;justify-content:center;gap:12px;background:transparent;color:white;border:1px solid #86a2c4;border-radius:6px;padding:17px 24px;font-size:15px;font-weight:600;white-space:nowrap}.location-button svg{width:20px;height:20px}.location-button:hover{background:#164880}.location-status{font-size:13px;color:#54667b;margin:13px 2px 23px;min-height:18px}.workspace{display:grid;grid-template-columns:minmax(320px,0.85fr) minmax(400px,1.15fr);gap:28px;align-items:start}.filters{display:flex;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}.filters label{font-size:12px;font-weight:700;color:#536379;flex:1;min-width:0}.filters select{width:100%;margin-top:8px;padding:11px 28px 11px 10px;background:white;border:1px solid #cbd6e2;border-radius:5px;color:var(--navy);font-size:14px}.results-heading{display:flex;align-items:center;justify-content:space-between;margin-top:22px;gap:15px}h2{font-size:19px;margin:0}.text-button{font-size:14px;background:none;border:0;color:#296786;padding:5px;text-decoration:underline}.result-detail{font-size:13px;line-height:1.5;color:#536379;margin:8px 0 14px}.store{padding:20px 14px 19px;border-bottom:1px solid var(--line);border-left:3px solid transparent;transition:background .15s}.store.selected{background:#f0f7fc;border-left-color:var(--cyan)}.store-top{display:flex;justify-content:space-between;gap:12px}.store h3{font-size:17px;line-height:1.35;margin:0 0 7px}.distance{font-size:13px;color:#316984;white-space:nowrap;padding-top:3px}.store p{font-size:14px;color:#526177;line-height:1.65;margin:0}.store-actions{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:12px}.store-actions button{background:white;border:1px solid #c4d0dc;border-radius:4px;font-size:14px;color:var(--navy);padding:8px 13px}.store-actions a{font-weight:700;font-size:14px;text-decoration:none}.store-actions a:hover{text-decoration:underline}.more{display:block;width:100%;padding:14px;background:white;border:1px solid #b9c9dc;border-radius:5px;color:var(--navy);font-weight:600;margin-top:20px}.more[hidden]{display:none}.map-panel{position:sticky;top:22px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.map-title{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:17px 22px;gap:15px;font-size:14px;font-weight:600}.map-tag{font-size:11px;letter-spacing:1px;white-space:nowrap;color:#60738a}.map-content{height:470px;background:#eff5fa}.map-content iframe{width:100%;height:100%;border:0}.map-welcome{height:100%;position:relative;background:#eaf3fa}.map-welcome img{width:100%;height:230px;object-fit:cover;display:block}.map-welcome>div{padding:26px 32px}.map-welcome h2{font-size:29px;line-height:1.1;letter-spacing:-.6px}.map-welcome p:last-child{max-width:370px;font-size:14px;line-height:1.5;color:#526177;margin-bottom:0}.map-footer{padding:18px 22px;font-size:13px;color:#526177;line-height:1.5;border-top:1px solid var(--line)}.map-footer strong{display:block;color:var(--navy);font-size:16px;margin-bottom:4px}.distance-note{font-size:12px;line-height:1.6;color:#68788b;margin-top:28px;max-width:760px}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 5%;border-top:1px solid var(--line);font-size:12px;color:#607088}footer a{text-decoration:none}.empty{padding:32px 12px;line-height:1.6;color:#526177}.skip{position:absolute;top:-60px;left:15px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}button:disabled{opacity:.65;cursor:wait}@media(min-width:900px){#results{max-height:620px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5d3e4 transparent}}@media(max-width:850px){header{height:85px;gap:20px}header img{width:180px}.header-label{display:none}main{padding-top:28px}.coverage{display:none}.workspace{grid-template-columns:1fr 1fr;gap:18px}.searchbar{padding:20px;gap:12px}.location-button{padding:17px 12px}.map-content{height:460px}.map-welcome>div{padding:22px}.map-welcome h2{font-size:25px}.map-tag{display:none}}@media(max-width:650px){header{padding:0 20px;height:78px}header img{width:162px}.back{font-size:12px}.back span{margin-left:3px}main{padding:27px 20px 22px}h1{letter-spacing:-1px;font-size:36px}.intro{margin-bottom:24px}.intro p:not(.eyebrow){font-size:14px}.searchbar{display:block;padding:18px;border-radius:8px}.search-input{gap:6px}.search-input button{padding:13px 15px}.search-input input{font-size:16px;width:100px}.or{display:none}.location-button{width:100%;margin-top:13px;padding:12px;font-size:14px}.workspace{display:flex;flex-direction:column;gap:22px}.results-panel,.map-panel{width:100%}.map-panel{position:static}.map-content{height:360px}.map-welcome img{height:175px}.map-welcome>div{padding:19px 22px}.map-welcome h2{font-size:24px}.map-welcome .eyebrow{display:none}.map-welcome h2 br{display:none}.map-title{padding:16px}.map-footer{padding:16px}.filters{gap:10px}.results-heading{margin-top:18px}.store{padding-left:9px}.location-status{line-height:1.5;margin-bottom:22px}footer{padding:24px 20px;flex-wrap:wrap;font-size:12px}footer span:first-child{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Filters stay readable when banners have long names. */
.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.filters label{font-size:14px;line-height:1.4}.banner-filter{grid-column:1/-1}.filters select{min-height:46px;font-size:16px;max-width:100%;text-overflow:ellipsis}.results-panel,.map-panel{min-width:0}.store h3,.store p,#map-label,.map-footer{overflow-wrap:anywhere}.store-actions button,.store-actions a{min-height:44px;display:inline-flex;align-items:center}.searchbar form{min-width:0}
@media(max-width:650px){.filters{grid-template-columns:minmax(0,1fr);gap:14px}.banner-filter{grid-column:auto}.filters select{padding-top:12px;padding-bottom:12px;width:100%}.filters label{font-size:14px}.store-top{flex-wrap:wrap;gap:4px}.store-actions{flex-wrap:wrap}.results-heading h2{font-size:18px;line-height:1.4}.map-title{flex-wrap:wrap}.search-input svg{margin-left:6px;width:18px}.search-input button{padding:13px 10px}.location-button{min-height:46px}}
@media(max-width:360px){header{gap:12px}header img{width:142px}.back{max-width:85px;line-height:1.4}main{padding-left:16px;padding-right:16px}.searchbar{padding:14px}}

/* Desktop-only banner ribbon, using the same directory as the store filter. */
.banner-strip{display:none}
@media(min-width:1024px){
  .banner-strip{display:flex;align-items:center;gap:14px;margin:-8px 0 28px;max-width:100%;min-width:0}
  .banner-window{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 28px),transparent);padding:8px 0}
  .banner-track{display:flex;width:max-content;animation:banner-scroll var(--banner-duration,180s) linear infinite}
  .banner-group{display:flex;align-items:center;gap:14px;flex-shrink:0;list-style:none;margin:0;padding:0 14px 0 0}
  .banner-chip{width:184px;height:82px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:14px 20px;border:1px solid #e0e7ed;border-radius:6px;background:white;color:#174674;font-size:14px;font-weight:700;line-height:1.3;text-align:center}
  .banner-chip img{display:block;object-fit:contain;width:144px;height:52px}
  .banner-track{min-height:82px}
  .banner-chip-dark{background:#062e68;border-color:#062e68}
  .banner-strip[hidden]{display:none}
  .banner-motion{flex-shrink:0;border:1px solid #c4d0dc;border-radius:5px;min-width:66px;min-height:44px;padding:10px 12px;background:white;color:var(--navy);font-size:13px;font-weight:600}
  .banner-window:hover .banner-track,.banner-window:focus-within .banner-track,.banner-strip.is-paused .banner-track{animation-play-state:paused}
  @keyframes banner-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
}
@media(min-width:1024px) and (prefers-reduced-motion:reduce){
  .banner-window{overflow-x:auto;mask-image:none}
  .banner-track{animation:none}
  .banner-group[aria-hidden="true"],.banner-motion{display:none}
}
