/* The tile geography and pin coordinates stay fixed; only the HI5 overlay moves. */
#hi5-flow .campus-summary{flex-wrap:wrap;gap:10px 22px}
#hi5-flow .campus-summary .count{flex:0 0 auto;white-space:nowrap;line-height:1.15;letter-spacing:-2px}
#hi5-flow .campus-summary .count>span{display:inline!important;white-space:nowrap;letter-spacing:-.5px}
#hi5-flow .songdo-local-map{isolation:isolate;border-color:#e8e5e1;background:#f5f3ef;box-shadow:0 8px 32px #27211c08}
#hi5-flow .songdo-geographic-map{position:absolute;inset:0;z-index:0;filter:grayscale(1) contrast(.82) brightness(1.09);opacity:.8}
#hi5-flow .songdo-local-map::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,#faf9f7b8,transparent 38%,#fff7f63b 82%,#faf9f799)}
#hi5-flow .songdo-map-brand{position:absolute;left:24px;top:23px;z-index:2;pointer-events:none;text-align:left}
#hi5-flow .songdo-map-brand>span{display:block;font-size:10px;font-weight:750;letter-spacing:1.6px;color:#b91c25;margin-bottom:9px}
#hi5-flow .songdo-map-brand>strong{display:block;font-size:22px;font-weight:750;letter-spacing:-1px;line-height:1.35;color:#232932}
#hi5-flow .songdo-network-lines{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}
#hi5-flow .songdo-network-path{fill:none;stroke:#c61925;stroke-width:1.8;stroke-linecap:round;opacity:.2;stroke-dasharray:1;stroke-dashoffset:0;transition:opacity .25s,stroke-width .25s}
#hi5-flow .map-motion-ready:not(.is-map-visible) .songdo-network-path{stroke-dashoffset:1}
#hi5-flow .is-map-visible .songdo-network-path{transition:stroke-dashoffset 1.25s cubic-bezier(.22,.65,.25,1),opacity .25s,stroke-width .25s;transition-delay:calc(.2s + var(--line-index)*.15s),0s,0s}
#hi5-flow .songdo-network-path.is-link-active{opacity:.65;stroke-width:2.7}
#hi5-flow .songdo-network-dot{fill:#d71920;stroke:white;stroke-width:1.3;opacity:.8;filter:drop-shadow(0 0 4px #d7192055)}
#hi5-flow .songdo-map-note{position:absolute;left:12px;bottom:8px;z-index:3;max-width:55%;font-size:9px!important;line-height:1.5!important;color:#68717a!important;text-align:left}
#hi5-flow .songdo-map-pin{z-index:4;min-height:44px;outline-offset:4px}
#hi5-flow .songdo-pin-number{position:relative;z-index:1;background:#c61925;border-color:#fff;box-shadow:0 2px 12px #a6132038;transition:background .2s,box-shadow .2s}
#hi5-flow .songdo-pin-number::after{content:"";position:absolute;inset:-9px;border:1px solid #c6192545;border-radius:50%;pointer-events:none;animation:songdo-pin-wave 3.8s ease-out infinite;animation-delay:calc(var(--pin-index)*.65s);animation-play-state:paused}
#hi5-flow .is-map-active .songdo-pin-number::after{animation-play-state:running}
#hi5-flow .songdo-pin-label{border:1px solid #ffffffd9;background:#fffffff2;backdrop-filter:blur(9px);box-shadow:0 3px 16px #18212c14;transition:opacity .35s,translate .35s,box-shadow .2s,border-color .2s}
#hi5-flow .map-motion-ready:not(.is-map-visible) .songdo-pin-label{opacity:0;translate:0 10px}
#hi5-flow .is-map-visible .songdo-pin-label{transition-delay:calc(.2s + var(--pin-index)*.12s),calc(.2s + var(--pin-index)*.12s),0s,0s}
#hi5-flow .is-pin-active .songdo-pin-label{border-color:#c6192545;box-shadow:0 5px 20px #c6192520;color:#b81816;translate:0 -3px}
#hi5-flow .is-pin-active .songdo-pin-number{background:#a8121c;box-shadow:0 2px 18px #c6192555}
#hi5-flow .songdo-map-pin:focus-visible{outline:2px solid #b81816;border-radius:9px}
@keyframes songdo-pin-wave{0%{opacity:.7;scale:.65}60%,100%{opacity:0;scale:1.45}}
@media(max-width:640px){#hi5-flow .songdo-map-brand{left:14px;top:14px}#hi5-flow .songdo-map-brand>span{font-size:8px;letter-spacing:1px;margin-bottom:5px}#hi5-flow .songdo-map-brand>strong{font-size:14px;letter-spacing:-.5px}#hi5-flow .songdo-map-note{font-size:7px!important;left:8px;bottom:4px;max-width:50%}#hi5-flow .songdo-network-path{stroke-width:2.4}#hi5-flow .songdo-network-dot{r:4.5}#hi5-flow .songdo-pin-number::after{inset:-7px}#hi5-flow .campus-summary .count{font-size:46px}#hi5-flow .campus-summary .count>span{font-size:14px}}
@media(prefers-reduced-motion:reduce){#hi5-flow .songdo-pin-number::after{animation:none;opacity:0}#hi5-flow .songdo-network-travelers{display:none}#hi5-flow .songdo-network-path,#hi5-flow .songdo-pin-label{transition:none!important;opacity:1!important;translate:none!important;stroke-dashoffset:0!important}#hi5-flow .is-pin-active .songdo-pin-label{translate:none}}
#hi5-flow .songdo-map-pin{transform:translate(-17px,-50%)}#hi5-flow .songdo-map-pin[data-label-side="left"]{transform:translate(calc(-100% + 17px),-50%)}#hi5-flow .songdo-map-pin.is-pin-active{z-index:5}@media(max-width:640px){#hi5-flow .songdo-map-pin{transform:translate(-13px,-50%)}#hi5-flow .songdo-map-pin[data-label-side="left"]{transform:translate(calc(-100% + 13px),-50%)}}
@media(max-width:480px){#hi5-flow .songdo-map-brand>strong{display:none}}@media(prefers-reduced-motion:reduce){#hi5-flow .songdo-network-path{opacity:.2!important}#hi5-flow .songdo-network-path.is-link-active{opacity:.65!important}}
/* Keep the map title outside the coordinate canvas so pins cannot obscure it. */
#hi5-flow .campus{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);column-gap:32px}
#hi5-flow .campus-network{min-width:0}
#hi5-flow .songdo-map-brand{position:relative;left:auto;top:auto;z-index:auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin:20px 0 12px}
#hi5-flow .songdo-map-brand>span{font-size:11px;letter-spacing:1.2px;margin:0}
#hi5-flow .songdo-map-brand>strong{display:block;font-size:23px;line-height:1.3;letter-spacing:-.04em}
#hi5-flow .songdo-local-map{margin-top:0}
#hi5-flow .songdo-network-path{stroke-width:2.2;vector-effect:non-scaling-stroke;opacity:.55}
#hi5-flow .songdo-network-path.is-link-active{opacity:.9;stroke-width:3.2}
#hi5-flow .songdo-network-dot{r:7;opacity:1;stroke-width:1.8;filter:drop-shadow(0 0 6px #c6192570)}
#hi5-flow .songdo-pin-number{width:40px;height:40px;font-size:16px}
#hi5-flow .songdo-pin-number::after{inset:-12px;border:2px solid #c6192575;animation-duration:2.8s}
#hi5-flow .songdo-pin-label{position:relative;z-index:2;font-size:15px;padding:11px 14px;line-height:1.4}
#hi5-flow .songdo-pin-label small{font-size:11px}
#hi5-flow .songdo-map-pin{width:max-content;max-width:none;transform:translate(-20px,-50%)}
#hi5-flow .songdo-map-pin[data-label-side="left"]{transform:translate(calc(-100% + 20px),-50%)}
#hi5-flow .songdo-map-pin[aria-label*="입시본원"] .songdo-pin-number{font-size:12px}
@media(max-width:1100px){#hi5-flow .campus{grid-template-columns:minmax(0,1fr);row-gap:0}#hi5-flow .campus>*{grid-area:auto!important;min-width:0}#hi5-flow .campus .campus-network{grid-column:1!important;width:100%;margin-bottom:20px}}
@media(max-width:640px){#hi5-flow .songdo-map-brand{margin-top:16px;gap:8px 12px}#hi5-flow .songdo-map-brand>strong{display:block;font-size:20px}#hi5-flow .songdo-map-brand>span{font-size:10px}#hi5-flow .songdo-pin-number{width:32px;height:32px;font-size:13px}#hi5-flow .songdo-map-pin[aria-label*="입시본원"] .songdo-pin-number{font-size:10px}#hi5-flow .songdo-pin-label{font-size:12px;padding:6px 9px;max-width:122px;white-space:normal}#hi5-flow .songdo-pin-label small{font-size:9px}#hi5-flow .songdo-map-pin{gap:6px;transform:translate(-16px,-50%)}#hi5-flow .songdo-map-pin[data-label-side="left"]{transform:translate(calc(-100% + 16px),-50%)}#hi5-flow .songdo-pin-number::after{inset:-10px}}
#hi5-flow .songdo-map-planned{position:absolute;z-index:6;transform:translate(-50%,-50%);width:max-content;max-width:180px;padding:10px 14px;border:2px dashed #c61925;border-radius:12px;background:#fff8f3f5;box-shadow:0 4px 16px #7a18251f;text-align:center;line-height:1.35}
#hi5-flow .songdo-map-planned>span{display:block;color:#8d4148;font-size:12px;font-weight:650;margin-bottom:4px}
#hi5-flow .songdo-map-planned>strong{display:block;font-size:17px;font-weight:800;color:#bf1222;letter-spacing:-.04em}
@media(max-width:640px){#hi5-flow .songdo-map-planned{max-width:144px;padding:7px 9px;border-radius:9px}#hi5-flow .songdo-map-planned>span{font-size:10px;margin-bottom:2px}#hi5-flow .songdo-map-planned>strong{font-size:13px}}
/* Labels may move around their geographic anchors; the campus dots do not. */
#hi5-flow .songdo-map-pin[aria-label*="입시본원"] .songdo-pin-label{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);width:max-content}
#hi5-flow .songdo-map-planned{transform:translate(calc(-100% - 12px),calc(-100% - 18px))}
#hi5-flow .songdo-map-planned::after{content:"";position:absolute;right:-23px;bottom:-13px;width:25px;height:1px;background:#c61925;transform:rotate(54deg);transform-origin:left center}@media(max-width:360px){#hi5-flow .songdo-map-planned{transform:translate(calc(-100% - 22px),calc(-100% + 8px))}#hi5-flow .songdo-map-planned::after{right:-32px;bottom:8px;width:32px;transform:none}#hi5-flow .songdo-map-pin[aria-label^="송도 3캠퍼스"] .songdo-pin-label{top:6px;padding-top:4px;padding-bottom:4px}}
@media(max-width:360px){#hi5-flow .songdo-map-planned>strong{font-size:12px}}
