.location-hero{padding:0;background:#fff;color:#454545}.location-hero-heading{margin:0;padding:25px 4vw;display:flex;align-items:center;justify-content:space-between;gap:24px}.location-hero .location-eyebrow{font-size:clamp(17px,1.8vw,26px);font-weight:500;line-height:1.6;margin:0;letter-spacing:0;color:#555}.location-contact{flex-shrink:0;border:1px solid #ccc;border-radius:40px;padding:12px 20px;font-size:13px;display:flex;gap:20px;align-items:center}.neighborhood-map{position:relative;width:100%;height:clamp(580px,73vh,830px);margin:0;isolation:isolate;overflow:hidden;border-block:1px solid #d5d5d5;direction:ltr}.neighborhood-drawing{z-index:0;position:absolute;width:100%;height:100%;inset:0}.map-landmark{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;line-height:1.4;padding:20px;box-sizing:border-box;border:2px solid #777;background:#fff;color:#555}.map-landmark strong{font-size:clamp(24px,2.4vw,40px);font-weight:600;overflow-wrap:anywhere}.map-terminal{left:25%;top:6%;width:39%;height:39%;gap:12px;border-color:#858585}.map-terminal>svg{width:clamp(110px,10vw,155px);height:clamp(110px,10vw,155px);fill:none;stroke:#555;stroke-width:1.7;flex-shrink:0}.terminal-bays{position:absolute;bottom:-15px;display:flex;gap:12px;background:#fafafa;padding:0 8px}.terminal-bays i{height:23px;width:18px;background:#fff;border:1px solid #999;border-radius:3px}.map-store{z-index:2;left:43%;top:55%;width:37%;height:23%;background:#ededed;border:2px solid #777;padding:30px 18px;gap:8px}.map-store strong{font-size:clamp(22px,2.1vw,36px);color:#555}.store-floor{position:absolute;top:-19px;right:16px;background:#fff;color:#555;font-size:clamp(15px,1.5vw,22px);padding:5px 12px;border:2px solid #777;font-weight:600}.map-pin{position:absolute;top:-35px;left:18px;width:30px;height:38px}.map-pin svg{width:100%;height:100%;fill:#777}.map-pin circle{fill:#fff}.store-ground{position:absolute;right:-2px;bottom:-27px;max-width:90%;padding:10px 15px;background:#fff;border:2px solid #777;color:#555;font-size:clamp(15px,1.5vw,23px);display:flex;align-items:center;justify-content:center;gap:10px;line-height:1.35}.store-ground i{width:19px;height:16px;border-block:2px solid #888;flex-shrink:0}.map-road{position:absolute;left:49%;top:84%;color:#777;font-size:14px;padding:3px 10px;background:#fff}.map-river{position:absolute;right:3%;top:34%;color:#999;writing-mode:vertical-rl;letter-spacing:4px;font-size:14px}.map-note{position:absolute;bottom:12px;left:4vw;right:4vw;font-size:11px;color:#888;text-align:left}.location-hero-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 4vw 28px}.location-hero-footer p{margin:0;font-size:15px;line-height:1.7}.location-hero-footer p span{display:block;color:#888;font-size:13px}.location-hero-footer a{font-size:13px;text-decoration:underline;text-underline-offset:5px}.map-home{min-height:0}html[dir=rtl] .map-landmark strong,html[dir=rtl] .store-ground,html[dir=rtl] .map-note{direction:rtl}html[dir=rtl] .map-note{text-align:right}
@media(max-width:700px){.location-hero-heading{padding:20px 18px;gap:15px;align-items:flex-start}.location-hero .location-eyebrow{font-size:17px;line-height:1.6}.location-contact{padding:10px 12px;font-size:12px;gap:8px}.neighborhood-map{height:590px}.map-terminal{left:8%;width:65%;top:6%;height:39%;padding:15px 12px;gap:8px}.map-terminal>svg{width:105px;height:105px}.map-terminal strong{font-size:23px}.map-store{left:30%;width:58%;top:56%;height:23%;padding:25px 12px}.map-store strong{font-size:22px}.store-ground{font-size:16px;right:-2px;bottom:-28px;padding:9px 12px}.store-floor{font-size:15px;max-width:70%}.map-road{left:45%;top:86%;font-size:12px}.map-river{font-size:11px;right:2%;letter-spacing:1px}.map-note{font-size:10px;line-height:1.4;bottom:9px}.location-hero-footer{align-items:flex-start;flex-direction:column;gap:12px;padding:18px}.location-hero-footer p{font-size:14px}html:not([lang=ko]) .map-landmark strong{font-size:20px}}
@media(max-width:380px){.location-contact{display:none}.map-terminal strong,.map-store strong{font-size:20px}html:not([lang=ko]) .map-landmark strong{font-size:18px}.store-ground{font-size:14px}.map-store{width:62%;left:26%}}

/* Stronger schematic outlines and readable store labels. */
.neighborhood-map{border-block-width:2px}
.map-landmark,.map-store,.store-ground{border-width:3px}
.map-terminal>svg{stroke-width:2.8}
.terminal-bays i{border-width:2px}
.store-ground i{border-block-width:3px}
.map-store .store-name{font-size:clamp(26px,2.6vw,44px);line-height:1.4}
.map-store .store-floor{position:static;display:inline;max-width:none;background:none;border:0;padding:0;font-size:inherit;font-weight:700;color:inherit;white-space:nowrap}
.store-ground{font-size:clamp(21px,2vw,32px);font-weight:600;padding:12px 18px;right:-3px;bottom:-32px}
@media(max-width:700px){.map-store{height:25%;padding:20px 12px}.map-store .store-name{font-size:25px}.store-ground{font-size:22px;padding:10px 14px;right:-3px;bottom:-30px}html:not([lang=ko]) .map-store .store-name{font-size:21px}}
@media(max-width:380px){.map-store .store-name{font-size:22px}.store-ground{font-size:20px}html:not([lang=ko]) .map-store .store-name{font-size:19px}}

/* Prominent address and directions below the map. */
.location-hero-footer{padding:32px 4vw 38px;gap:28px}
.location-hero-footer p{font-size:clamp(23px,2.2vw,34px);font-weight:650;line-height:1.5}
.location-hero-footer p span{font-size:clamp(19px,1.6vw,25px);font-weight:500;color:#666;margin-top:8px}
.location-hero-footer a{display:flex;align-items:center;justify-content:center;min-height:72px;padding:20px 30px;background:#454545;color:#fff;border:2px solid #454545;border-radius:12px;font-size:clamp(19px,1.5vw,24px);font-weight:650;line-height:1.5;text-decoration:none;text-align:center;max-width:48%;flex-shrink:0}
.location-hero-footer a:hover{background:#292929;border-color:#292929}
.location-hero-footer a:focus-visible{outline:3px solid #777;outline-offset:5px}
@media(max-width:700px){.location-hero-footer{padding:26px 20px 30px;gap:22px}.location-hero-footer p{font-size:24px}.location-hero-footer p span{font-size:20px}.location-hero-footer a{width:100%;max-width:none;box-sizing:border-box;min-height:70px;padding:18px 20px;font-size:21px}}

/* Main buildings have a stronger outline than the surrounding roads. */
.map-terminal,.map-store{border-width:5px}
.store-ground{right:-5px}

/* Bold landmark outlines; extend the terminal upward to cover the background. */
.map-terminal,.map-store{border-width:10px;border-radius:10px}
.map-terminal{top:3%;height:42%}
.store-ground{right:-10px}
@media(max-width:700px){.map-terminal{top:3%;height:42%}}

/* Keep the location pin beside the store name, inside the building. */
.map-store .store-name{position:relative;padding-left:42px;max-width:100%;box-sizing:border-box}
.map-store .map-pin{position:absolute;left:0;top:50%;transform:translateY(-50%);width:30px;height:38px}
@media(max-width:700px){.map-store .store-name{padding-left:33px}.map-store .map-pin{width:25px;height:32px}}

/* Larger map labels and store location marker. */
.map-store .store-name{padding-left:70px}
.map-store .map-pin{width:52px;height:65px}
.map-road{font-size:clamp(23px,2vw,32px);font-weight:650;padding:4px 14px;top:83%}
.map-river{font-size:clamp(20px,1.7vw,28px);font-weight:600;letter-spacing:2px}
.map-note{font-size:14px;line-height:1.5}
@media(max-width:700px){.map-store .store-name{padding-left:47px}.map-store .map-pin{width:38px;height:48px}.map-road{font-size:22px;top:85%}.map-river{font-size:18px;letter-spacing:1px}.map-note{font-size:12px}}

/* Clear contact action and a restrained locator pulse. */
.location-contact{display:flex;justify-content:center;min-width:190px;min-height:68px;max-width:48%;box-sizing:border-box;padding:18px 28px;border:2px solid #444;border-radius:12px;background:#444;color:#fff;font-size:clamp(21px,1.8vw,28px);font-weight:700;line-height:1.4;text-align:center;gap:24px}
.location-contact:hover{background:#222;border-color:#222}
.location-contact:focus-visible{outline:3px solid #777;outline-offset:5px}
.map-store{box-shadow:0 8px 22px #00000016}
.map-store::before{content:"";position:absolute;inset:-17px;border:2px solid #777;border-radius:17px;pointer-events:none;opacity:.3}
.map-store .map-pin svg{fill:#444}
@media(prefers-reduced-motion:no-preference){
 .map-store::before{animation:store-location-pulse 3s ease-out infinite}
 .map-store .map-pin svg{animation:store-location-pin 3s ease-in-out infinite}
 @keyframes store-location-pulse{0%{box-shadow:0 0 0 0 #77777740;opacity:.65}75%,100%{box-shadow:0 0 0 15px #77777700;opacity:.12}}
 @keyframes store-location-pin{0%,65%,100%{transform:translateY(0)}30%{transform:translateY(-7px)}}
}
@media(max-width:700px){.location-hero-heading{flex-wrap:wrap;gap:16px}.location-contact{display:flex;width:100%;max-width:none;min-width:0;min-height:62px;font-size:23px;padding:16px 22px}.map-store::before{inset:-15px;border-radius:16px}}

/* Full service directory below the location hero. */
.home-services{padding:64px 4vw 70px;background:#f5f5f3;color:#444}
.home-services-heading{margin-bottom:32px}
.home-services-heading h2{font-size:clamp(28px,3vw,44px);line-height:1.4;margin:0 0 14px;font-weight:650}
.home-services-heading p{font-size:clamp(16px,1.4vw,21px);line-height:1.7;color:#666;margin:0}
.home-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-service-card{display:flex;position:relative;flex-direction:column;align-items:flex-start;padding:28px 24px;gap:22px;border:2px solid #ddd;border-radius:12px;background:#fff;color:#444;min-width:0;text-decoration:none;transition:border-color .2s,background .2s}
.home-service-card>svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-service-card h3{font-size:clamp(18px,1.6vw,25px);font-weight:600;line-height:1.5;margin:0;padding-inline-end:18px;overflow-wrap:anywhere}
.service-card-arrow{position:absolute;inset-inline-end:20px;top:26px;font-size:23px;color:#999}
.home-service-card:hover{border-color:#777;background:#fafafa}
.home-service-card:focus-visible{outline:3px solid #555;outline-offset:4px}
.home-services-note{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:30px;padding-top:24px;border-top:1px solid #d5d5d5}
.home-services-note p{max-width:950px;font-size:16px;line-height:1.8;color:#666;margin:0}
.home-services-note>a{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px 26px;background:#444;color:#fff;border-radius:10px;font-size:20px;font-weight:600;flex-shrink:0;text-decoration:none}
@media(max-width:1200px){.home-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.home-services{padding:40px 18px}.home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-service-card{padding:22px 16px;gap:16px}.home-service-card h3{font-size:18px}.home-service-card>svg{width:36px;height:36px}.service-card-arrow{inset-inline-end:14px;top:20px}.home-services-note{align-items:stretch;flex-direction:column;gap:20px}.home-services-note>a{font-size:21px}}
@media(max-width:360px){.home-service-card{padding:18px 12px}.home-service-card h3{font-size:16px}}

.map-page-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#454545;color:#fff;padding:14px 20px;border-radius:10px;font-size:18px;font-weight:650;white-space:nowrap}.header-contact:hover{background:#292929;color:#fff}
@media(min-width:1001px){.map-home-header .header-main{gap:24px;padding-inline:32px}.map-home-header .desktop-nav{position:static;transform:none;flex:1;justify-content:center;gap:clamp(18px,2.5vw,44px)}.map-home-header .header-actions{gap:12px}.map-home-header .desktop-nav .nav-link{font-size:clamp(16px,1.5vw,22px)}}
@media(max-width:1000px){.header-contact{display:none}}

.hero-map-switch{display:flex;gap:0;margin:18px 4vw;width:fit-content;border:1px solid #bbb;border-radius:12px;overflow:hidden}.hero-map-switch button{padding:14px 24px;font-size:18px;font-weight:650;background:#fff;color:#555}.hero-map-switch button[aria-pressed="true"]{background:#454545;color:#fff}.hero-map-switch button:focus-visible{outline:3px solid #6694bb;outline-offset:-4px}.hero-google{height:clamp(580px,73vh,830px);width:100%;background:#f5f5f5}.hero-google iframe{width:100%;height:100%;border:0;display:block}.hero-google[hidden],.neighborhood-map[hidden]{display:none!important}@media(max-width:700px){.hero-map-switch{margin:14px 18px}.hero-map-switch button{font-size:16px;padding:12px 20px}.hero-google{height:590px}}

/* Keep the map switch over both map views without adding a row. */
.location-hero{position:relative}
.location-hero .hero-map-switch{position:absolute;top:20px;left:24px;margin:0;z-index:10;background:#fff;box-shadow:0 4px 16px #0002}
@media(max-width:700px){.location-hero .hero-map-switch{top:12px;left:12px}.hero-map-switch button{padding:10px 14px;font-size:14px}}

.schematic-viewport{overflow:hidden;width:100%}
@media(max-width:700px){
 .schematic-viewport .neighborhood-map{width:130%;max-width:none;margin-left:-15%}
}

/* Preserve the schematic palette when the browser requests automatic darkening. */
:root{color-scheme:only light}
.location-hero,.location-hero *{color-scheme:only light}
.schematic-viewport,.neighborhood-map{background-color:#fff}
