.page-main:has(.location-editorial){overflow:hidden}
.location-editorial .source-content{overflow:visible;color:#102b4a}
.location-page{font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif}
.location-heading{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(320px,1.28fr);gap:clamp(34px,8vw,112px);align-items:end;padding:8px 0 32px}
.location-heading .title-sub{margin:0 0 6px;color:#71869c;font-family:"DM Sans",Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:2.4px}
.location-heading .page-title{margin:0;color:#102b4a;font-family:Georgia,"Noto Serif KR","Times New Roman",serif;font-size:clamp(34px,4vw,46px);font-weight:700;line-height:1.18;letter-spacing:-2px}
.location-heading>p{max-width:520px;margin:0 0 3px;color:#657991;font-size:15px;line-height:1.85}
.location-map-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,390px);width:100vw;max-width:none!important;min-height:520px;margin-left:calc(50% - 50vw);background:#edf1f6}
.location-map-frame{display:block;width:100%;height:100%;min-height:520px;border:0;filter:saturate(.82) contrast(.96)}
.location-pin-panel{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;width:auto;padding:54px 42px 42px;background:rgba(255,255,255,.98);border:0;border-left:1px solid rgba(198,207,221,.92);box-shadow:-18px 0 44px rgba(24,39,69,.1);transform:none}
.location-pin-panel::before{position:absolute;top:46px;left:-29px;width:58px;height:58px;border:5px solid #fff;border-radius:50% 50% 50% 0;background:#6046ae;box-shadow:0 10px 24px rgba(49,34,104,.28);content:"";transform:rotate(-45deg)}
.location-pin-panel::after{position:absolute;top:63px;left:-12px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22);content:""}
.location-pin-panel>strong{display:block;color:#102b4a;font-size:19px;font-weight:850;line-height:1.4}
.location-pin-panel>span{display:block;margin-top:2px;color:#8291a4;font-family:"DM Sans",Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em}
.location-panel-rule{height:1px;margin:18px 0;background:#d9e2ec}
.location-pin-panel small{display:block;margin-bottom:6px;color:#6750b7;font-size:11px;font-weight:850;letter-spacing:.08em}
.location-pin-panel address{margin:0;color:#334b67;font-size:14px;font-style:normal;line-height:1.75}
.location-directions,.location-copy{display:flex;min-height:48px;align-items:center;justify-content:center;width:100%;border-radius:4px;font:inherit;font-size:14px;font-weight:800;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.location-directions{margin-top:22px;background:#5f43ad;color:#fff!important;text-decoration:none!important}
.location-directions:hover,.location-directions:focus-visible{background:#4b318f;transform:translateY(-1px)}
.location-copy{margin-top:10px;border:1px solid #d8dfeb;background:#fff;color:#31475e;cursor:pointer}
.location-copy:hover,.location-copy:focus-visible{border-color:#a899cf;background:#f8f6fc;color:#513992}
.location-copy-status{min-height:18px;margin:7px 0 -7px!important;color:#5f43ad;font-size:12px;line-height:1.5;text-align:center}
.location-directory{padding:28px 0 18px}
.location-directory h3{margin:0 0 12px;color:#102b4a;font-family:Georgia,"Noto Serif KR","Times New Roman",serif;font-size:24px;line-height:1.4;letter-spacing:-1px}
.location-directory dl{margin:0;border-top:1px solid #ccd8e5}
.location-directory dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;min-height:50px;padding:10px 0;border-bottom:1px solid #dbe4ed}
.location-directory dt{color:#172d49;font-size:14px;font-weight:850}
.location-directory dd{display:flex;align-items:center;gap:20px;margin:0;color:#52677f;font-size:14px;line-height:1.65}
.location-directory dd strong{color:#172d49;font-size:14px}
.location-directory dd span{color:#8090a3;font-family:"DM Sans",Arial,sans-serif;font-size:12px}
.location-directory a{color:#5f43ad;text-decoration:none}
.location-directory a:hover,.location-directory a:focus-visible{text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.location-heading{grid-template-columns:1fr;gap:14px}.location-map-stage{grid-template-columns:1fr;min-height:0}.location-map-frame{height:440px;min-height:440px}.location-pin-panel{padding:48px 32px 32px;border-top:1px solid rgba(198,207,221,.92);border-left:0;box-shadow:0 -14px 34px rgba(24,39,69,.08)}.location-pin-panel::before{top:-29px;left:32px}.location-pin-panel::after{top:-12px;left:49px}.location-pin-panel address br{display:none}}
@media(max-width:640px){.location-heading{padding:4px 0 24px}.location-heading .page-title{font-size:34px}.location-heading>p{font-size:14px}.location-map-frame{height:380px;min-height:380px}.location-pin-panel{padding:46px 22px 24px}.location-pin-panel::before{left:22px}.location-pin-panel::after{left:39px}.location-directory{padding-top:30px}.location-directory dl>div{grid-template-columns:94px minmax(0,1fr);align-items:start;padding:14px 0}.location-directory dd{align-items:flex-start;flex-direction:column;gap:2px}.location-directory h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.location-directions,.location-copy{transition:none}}
