.location-page{padding-block:28px 64px}
.location-back{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#bdbdbd;margin-bottom:24px}
.location-back:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.location-heading{max-width:850px;margin-bottom:32px}
.location-heading>p:first-child{font-size:14px;color:#bdbdbd;margin:0 0 12px}
.location-heading h1{font-size:clamp(2rem,4.5vw,3.8rem);line-height:1.08;margin:0 0 20px;letter-spacing:-.035em;color:#f5f5f5}
.location-heading .location-intro{font-size:17px;line-height:1.7;color:#bdbdbd;margin:0;max-width:700px}
.location-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.location-page h2{font-size:22px;line-height:1.35;letter-spacing:-.02em;color:#f5f5f5;margin:0}
.location-details{padding:24px 20px;background:#151515;border:1px solid #444;border-radius:10px;min-width:0}
.location-details dl{display:grid;gap:22px;margin:26px 0}
.location-details dl>div{min-width:0}
.location-details dt{display:flex;align-items:center;gap:10px;font-size:13px;color:#bdbdbd;margin-bottom:8px}
.location-details dt .ui-icon{width:18px;height:18px}
.location-details dd{font-size:16px;line-height:1.65;margin:0;padding-left:28px;color:#f5f5f5;overflow-wrap:anywhere}
.location-details address{font-style:normal}
.location-details dd a{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.location-details dd .ui-icon{width:16px;height:16px;flex-shrink:0}
.location-contact{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 16px;min-height:50px;background:#f5f5f5;border:1px solid #fff;border-radius:6px;color:#171717;font-size:15px;font-weight:600;line-height:1.5}
.location-contact .ui-icon{width:20px;height:20px;flex-shrink:0}
.location-contact:hover{background:#ddd}
.location-map{min-width:0}
.location-map-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.location-map-heading>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.location-map-heading .ui-icon{width:18px;height:18px}
.location-map iframe{display:block;width:100%;height:340px;border:1px solid #555;border-radius:10px;background:#e5e5e5}
.location-map>p{font-size:13px;color:#bdbdbd;margin:14px 0 0;line-height:1.6}
.location-map>p a{text-decoration:underline;text-underline-offset:3px}
.location-before{display:grid;gap:16px;border-top:1px solid #444;margin-top:40px;padding-top:28px}
.location-before p{font-size:16px;line-height:1.75;color:#bdbdbd;margin:0 0 12px}
.location-before a,.location-other a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.location-before .ui-icon,.location-other .ui-icon{width:18px;height:18px}
.location-other{border-top:1px solid #444;margin-top:28px;padding-top:28px;display:grid;gap:14px}
.location-other h2{font-size:18px}
.location-other>div{display:flex;flex-wrap:wrap;gap:12px 32px}
.location-page :is(a,iframe):focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(min-width:650px){.location-page{padding-block:40px 80px}.location-map iframe{height:420px}.location-before{grid-template-columns:1fr 2fr;gap:32px}}
@media(min-width:1000px){.location-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px}.location-details{padding:28px}.location-map iframe{height:460px}.location-heading{margin-bottom:40px}.location-before{margin-top:48px;padding-top:32px}}
