@charset "UTF-8";
@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/noto-sans-kr-regular.woff2") format("woff2")}
@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/noto-sans-kr-bold.woff2") format("woff2")}
:root{--paper:#f6f4ef;--ink:#292e2b;--muted:#747a73;--line:#dedfd6;--pink:#d36c88;--accent:#edb6c3;--green:#445b47;--white:#fffefa;font-family:Arial,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--pink);outline-offset:4px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-60px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.site-header{height:88px;padding:0 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px}.wordmark{font-size:36px;letter-spacing:-3px;font-weight:900;display:flex;align-items:center}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--pink);margin:17px 0 0 5px}.header-caption{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--muted);padding-left:24px;border-left:1px solid var(--line)}nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:12px;font-weight:700}.text-button{background:none;padding:10px 0}.text-button span{margin-left:10px}.header-apply{padding:13px 20px;background:var(--ink);color:var(--white);border-radius:5px}.header-apply span{margin-left:18px}main{padding:0 4%}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:37px 0 29px;gap:24px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;margin:0 0 13px;display:flex;align-items:center;gap:8px}.eyebrow>span{width:5px;height:5px;background:var(--pink);border-radius:50%}h1{font-size:clamp(25px,2.7vw,42px);font-weight:700;letter-spacing:-1.8px;margin:0;line-height:1.3}.pink{color:var(--pink)}.intro-description{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 3px}.experience{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:660px;border:1px solid #d9dacf;border-radius:12px;overflow:hidden;background:#fbfaf6}.map-wrap{position:relative;min-width:0;min-height:660px;overflow:hidden;background:#e9e9df;isolation:isolate;touch-action:none}canvas{display:block;width:100%;height:100%;position:absolute;inset:0;cursor:grab}canvas:active{cursor:grabbing}.map-top{position:absolute;left:24px;top:23px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;gap:10px}.map-title{font-size:9px;letter-spacing:1.3px;font-weight:700;display:flex;align-items:center;gap:8px}.map-title-sub{font-size:8px;color:#83887d}.live-dot{height:6px;width:6px;border-radius:50%;background:#667d60;box-shadow:0 0 0 4px #667d6010}.map-chip{pointer-events:auto;background:#fbfaf6be;border:1px solid #d5d7c9;padding:7px 10px;border-radius:20px;font-size:9px;backdrop-filter:blur(6px)}.map-note{position:absolute;left:26px;bottom:86px;display:flex;align-items:center;gap:12px;color:#93988a;pointer-events:none}.north-arrow{font-size:35px;font-weight:300}.map-note>span:last-child{font-size:8px;letter-spacing:1px;line-height:1.8}.map-note strong{font-size:9px}.map-bottom{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}.controls-hint{font-size:9px;color:#70786a;display:flex;flex-wrap:wrap;align-items:center;gap:9px}.keyboard-button{pointer-events:auto;font-size:9px;background:#fbfaf6df;border:1px solid #cfd4c4;padding:9px 10px;border-radius:5px}.keyboard-button.is-active{background:var(--green);color:white}.controls-hint>span{font-size:8px}kbd{font:8px Arial;background:#ffffff85;border:1px solid #cdd1c4;border-radius:2px;padding:2px;margin:0 1px}.hint-divider{padding:0 6px;color:#b1b7a9}.zoom-controls{display:flex;flex-shrink:0;background:#fffdf8;border:1px solid #d7d9cc;border-radius:6px;pointer-events:auto;overflow:hidden;box-shadow:0 3px 10px #34403007}.zoom-controls button{width:33px;height:33px;background:none;font-size:20px}.zoom-controls button+button{border-left:1px solid #e6e7df}.zoom-controls button:hover{background:#eeeede}.map-labels{position:absolute;inset:0;pointer-events:none}.map-label{position:absolute;pointer-events:auto;transform:translate(-50%,-100%);border:1px solid #ffffffc0;border-radius:4px;background:#fffdf3eb;padding:6px 8px;font-size:9px;white-space:nowrap;box-shadow:0 3px 8px #343c2e15;display:flex;align-items:center;gap:5px;transition:background .15s,box-shadow .15s}.map-label::after{content:"";position:absolute;bottom:-4px;left:calc(50% - 3px);width:6px;height:6px;background:inherit;transform:rotate(45deg)}.map-label::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--team-color)}.map-label:hover,.map-label.is-selected{background:#2e4234;color:white;border-color:#2e4234;box-shadow:0 4px 15px #25392925;z-index:2}.map-label.is-visited .label-check{display:inline;color:#5b805e}.map-label.is-selected .label-check{color:#b8d2b1}.label-check{display:none}.sidebar{border-left:1px solid var(--line);padding:25px 24px;display:flex;flex-direction:column;max-height:760px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d0d4c9 transparent;background:#fcfbf7}.sidebar-top{display:flex;justify-content:space-between;align-items:center}.sidebar-top .eyebrow{margin:0;font-size:9px;letter-spacing:1.5px}.visited-counter{font-size:10px;color:#93988d}.visited-counter b{color:var(--ink);font-size:13px;font-weight:500}.progress-track{height:2px;background:#e9e9e0;margin:15px 0 0}.progress-track span{display:block;height:100%;width:0;background:var(--green);transition:width .35s}.welcome-panel{padding:30px 0 22px}.welcome-icon{color:var(--pink);font-size:56px;line-height:1;display:block;margin-bottom:22px}.welcome-panel h2{font-size:26px;letter-spacing:-1px;line-height:1.5;margin:0 0 14px;font-weight:500}.welcome-panel>p{font-size:12px;color:var(--muted);line-height:1.9}.welcome-tip{font-size:10px;line-height:2.7;color:#747b71;margin-top:25px}.welcome-tip span{font-size:8px;letter-spacing:1px;color:#a4aa9a;margin-right:12px}.team-index{margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}.team-index-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.team-index h3{font-size:10px;margin:0;font-weight:500;color:#6e756a}.team-index-heading button{font-size:9px;color:#92988b;background:none;text-decoration:underline;padding:3px}.team-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.team-list-button{display:flex;align-items:center;justify-content:space-between;gap:4px;text-align:left;border:1px solid #e0e3d8;border-radius:4px;padding:8px 7px;background:transparent;font-size:9px;line-height:1.2;min-height:33px}.team-list-button:hover{background:#eef0e6}.team-list-button.is-selected{background:#e9ede2;border-color:#9eaf98}.team-list-button .visit-mark{font-size:10px;opacity:0;color:#56734d}.team-list-button.is-visited .visit-mark{opacity:1}.team-panel{padding:17px 0 22px}.back-button{font-size:10px;color:var(--muted);background:transparent;padding:0;margin:0 0 17px}.team-art{height:120px;position:relative;overflow:hidden;border-radius:5px;background:var(--team-light,#ead8de);display:flex;align-items:center;justify-content:center}.team-art>span:first-child{font-family:Georgia,serif;font-size:85px;line-height:1;color:var(--team-color);transform:rotate(-12deg);z-index:1}.art-orbit{position:absolute;border:1px solid #ffffff60;width:190px;height:190px;border-radius:50%;right:-45px;top:-75px;box-shadow:0 0 0 28px #ffffff16,0 0 0 57px #ffffff10}.art-word{position:absolute;bottom:10px;left:12px;font-size:8px;letter-spacing:2px;font-weight:700;color:var(--team-color)}.team-category{font-size:8px;letter-spacing:1.3px;color:var(--muted);margin:20px 0 9px}.team-panel h2{font-size:23px;line-height:1.3;letter-spacing:-.7px;margin:0 0 12px}.team-description{font-size:11px;line-height:1.9;color:#697063;margin:0}.team-questions{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.team-questions h3{font-size:10px;margin:0 0 9px}.team-questions ul{padding-left:14px;margin:0;font-size:10px;line-height:1.8;color:#666e60}.team-questions li+li{margin-top:6px}.team-questions li::marker{color:var(--pink)}.editorial-note{font-size:8px;color:#969d8d;margin:14px 0}.team-apply{padding:13px 14px;display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#fffdf3;border-radius:4px;font-size:11px;width:100%}.team-apply:hover{background:#354a38}.map-toast{position:absolute;left:50%;bottom:73px;max-width:85%;transform:translateX(-50%) translateY(10px);background:#2d4035ed;color:#fffdf1;padding:11px 18px;border-radius:30px;font-size:11px;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;text-align:center;z-index:10}.map-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}.loading{position:absolute;inset:0;background:#e9e9df;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;gap:16px;transition:opacity .4s;z-index:20;pointer-events:none}.loading span{font-size:9px;letter-spacing:4px;color:#7c856f}.loading.is-ready{opacity:0}.closing{padding:27px 1px 29px;display:flex;align-items:center;justify-content:space-between}.closing p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.closing strong{font-weight:500;color:var(--ink)}.closing>a{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:8px}.closing>a span{margin-left:25px}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:22px 4%;font-size:8px;letter-spacing:1px;color:#92998c;gap:16px}footer>span:first-child{font-weight:700;color:#737b6e}footer p{letter-spacing:0;margin:0}.footer-divider{margin:0 10px;color:#bcc0b4}.joystick{display:none}dialog{border:1px solid #d5dbca;padding:40px;max-width:480px;width:calc(100% - 36px);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #10241830}dialog::backdrop{background:#1b2e2666;backdrop-filter:blur(4px)}dialog h2{font-size:28px;letter-spacing:-1px;margin:0 0 20px}dialog p{font-size:12px;line-height:1.9;color:var(--muted)}dialog ul{padding-left:18px;font-size:11px;line-height:2.2}.dialog-close{position:absolute;right:17px;top:13px;font-size:25px;background:none;color:var(--muted)}dialog .guide-footnote{font-size:10px;padding:15px 0;border-top:1px solid var(--line)}
@media(min-width:1700px){main,.site-header,footer{padding-left:max(4%,calc((100vw - 1700px)/2));padding-right:max(4%,calc((100vw - 1700px)/2))}.experience{grid-template-columns:minmax(0,1fr) 350px}.map-wrap{min-height:740px}}
@media(max-width:1100px){.experience{grid-template-columns:minmax(0,1fr) 285px}.sidebar{padding:22px 18px}.controls-hint>span{display:none}.intro-description{font-size:11px}.map-top{left:16px;right:16px}.map-title-sub{display:none}.map-label{font-size:8px;padding:5px 6px}.header-caption{display:none}.team-panel h2{font-size:21px}}
@media(max-width:760px){.site-header{height:68px;padding:0 5%}.wordmark{font-size:29px}.brand-dot{height:6px;width:6px}nav{gap:18px;font-size:10px}.header-apply{padding:11px 12px}.header-apply span{margin-left:8px}.text-button span{margin-left:3px}main{padding:0 4%}.intro{padding:27px 0 23px;display:block}.intro .eyebrow{font-size:8px;margin-bottom:12px}h1{font-size:26px;letter-spacing:-1.2px}.intro-description{font-size:10px;margin-top:14px;line-height:1.8}.intro-description br{display:none}.experience{display:block;min-height:0}.map-wrap{height:470px;min-height:0}.sidebar{border-left:0;border-top:1px solid var(--line);max-height:none;padding:22px}.welcome-panel{padding:20px 0}.welcome-icon{float:right;margin:0;font-size:55px}.welcome-panel h2{font-size:22px;line-height:1.4}.welcome-panel h2 br{display:none}.welcome-panel>p{font-size:11px}.welcome-tip{display:none}.team-list{grid-template-columns:repeat(2,1fr)}.team-list-button{font-size:10px;padding:10px}.map-top{top:18px;left:15px;right:15px}.map-title{font-size:8px}.map-chip{font-size:8px}.map-bottom{bottom:16px;left:16px;right:16px}.map-note{display:none}.map-label{padding:5px;font-size:8px}.controls-hint{display:none}.zoom-controls{margin-left:auto}.joystick{position:absolute;left:15px;bottom:15px;display:grid;grid-template-columns:repeat(3,29px);grid-template-rows:repeat(2,29px);gap:3px}.joystick button{background:#fffdf3d9;border:1px solid #ccd4c1;color:var(--green);border-radius:4px;font-size:16px;touch-action:none}.joystick [data-direction=up]{grid-column:2}.joystick [data-direction=left]{grid-column:1;grid-row:2}.joystick [data-direction=down]{grid-column:2;grid-row:2}.joystick [data-direction=right]{grid-column:3;grid-row:2}.map-toast{font-size:10px;bottom:95px;max-width:90%;width:max-content;padding:10px 15px}.closing{padding:24px 0;gap:18px}.closing p{font-size:10px}.closing>a{font-size:10px}.closing>a span{margin-left:12px}footer{flex-wrap:wrap;font-size:7px;padding:18px 4%}footer p{order:3;width:100%;font-size:8px}footer>span:last-child{margin-left:auto}.team-art{height:140px}.team-description{font-size:12px}.team-questions li{font-size:11px}.team-index{padding-top:18px}.team-panel{padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* 지도와 부서 카드만 화면 전체에 표시 */
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #343540;
}

/* 홈페이지용 바깥 요소 숨기기 */
.site-header,
.intro,
.closing,
footer {
  display: none !important;
}

/* 바깥 여백 제거 */
body > main {
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
}

/* 오피스 화면 전체 크기 */
.experience {
  display: block !important;
  position: relative;
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
}

/* 지도 영역을 부모 화면에 맞추기 */
.experience .map-wrap {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* 지도 캔버스 */
#office-canvas {
  width: 100%;
  height: 100%;
}

/* 부서 카드가 화면 아래로 넘치지 않도록 */
.sidebar {
  max-height: calc(100% - 104px) !important;
  overflow-y: auto;
}

@media (max-width: 760px) {
  .sidebar {
    max-height: min(340px, calc(100% - 180px)) !important;
  }
}