@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#243e32;--muted:#6c776b;--paper:#fafbf3;--line:rgba(50,70,50,.15);font-family:'DM Sans',sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#e4e9de;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #97724c;outline-offset:5px}button{border:0;background:none}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}#viewport{position:fixed;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(244,246,233,.92),transparent 22%,transparent 65%,rgba(222,229,211,.62))}header{position:fixed;z-index:5;top:0;left:0;width:100%;padding:30px 38px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:38px;stroke:currentColor;fill:none;stroke-width:1.6}.brand>span{font-family:'Manrope',sans-serif;font-size:31px;letter-spacing:-1.5px;font-weight:600;line-height:1.1}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:2px;margin-top:8px}.view-switch{display:flex;gap:3px;padding:5px;border:1px solid rgba(255,255,255,.7);background:#fcfff373;backdrop-filter:blur(18px);border-radius:30px}.view-switch button{padding:11px 20px;font-size:12px;border-radius:25px;transition:.2s}.view-switch button.active{background:var(--ink);color:#fff}.view-switch button span{margin-left:6px}.location{font-size:10px;letter-spacing:1.7px;font-weight:600}.location small{display:block;font-size:10px;letter-spacing:.7px;font-weight:400;margin:9px 0 0 13px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#547252;margin-right:7px;vertical-align:middle}.intro{position:fixed;top:145px;left:42px;pointer-events:none}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px}.intro h1{font-family:Georgia,serif;font-weight:400;font-size:65px;line-height:1.02;letter-spacing:-2.8px;margin:23px 0 20px}.intro h1 em{font-weight:400}.intro>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#546b56}.site-facts{display:flex;gap:9px;align-items:center;font-size:9px;margin-top:23px}.site-facts i{width:3px;height:3px;background:#82927a;border-radius:50%}.scene-tools{position:fixed;right:35px;top:136px;display:flex;flex-direction:column;align-items:flex-end;gap:7px;z-index:4}.scene-tools button{padding:10px 13px;background:#fcfdf3c9;border:1px solid #ffffff9c;border-radius:6px;backdrop-filter:blur(14px);font-size:16px;min-width:38px;box-shadow:0 4px 16px #243e3207;transition:.2s}.scene-tools button span{font-size:10px;margin-left:7px;display:inline-block;width:55px;text-align:left}.scene-tools button:hover,.scene-tools button[aria-pressed=true]{background:var(--ink);color:white}#light-toggle{font-size:16px}.compass{position:fixed;right:56px;bottom:300px;text-align:center;pointer-events:none}.compass span{display:block;font-size:9px}.compass svg{width:36px;height:36px;fill:#294734}.view-caption{position:fixed;left:42px;bottom:262px;display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.5px;font-weight:600}.caption-divider{margin:0 9px;opacity:.4}#camera-hint{font-size:10px;letter-spacing:.2px;font-weight:400}.journey{position:fixed;bottom:48px;left:28px;right:28px;padding:22px 27px 20px;background:rgba(251,252,244,.94);backdrop-filter:blur(20px);border:1px solid #ffffffe0;box-shadow:0 8px 30px #304a3310;border-radius:12px}.journey-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.journey-heading .eyebrow{font-size:8px;color:var(--muted)}.journey-heading h2{font-family:Georgia,serif;font-size:23px;font-weight:400;letter-spacing:-.4px;margin:6px 0 0}.journey-heading>button{border:1px solid var(--line);border-radius:30px;font-size:10px;padding:11px 17px}.journey-heading>button span{margin-right:8px}.programs{display:grid;grid-template-columns:repeat(6,1fr)}.program{text-align:left;padding:0 17px;border-left:1px solid var(--line);transition:.2s}.program:first-child{border-left:0;padding-left:0}.program:last-child{padding-right:0}.program-time{display:flex;justify-content:space-between;font-size:9px;color:#6f7c6d;letter-spacing:.5px}.program-time i{font-style:normal;font-size:8px;opacity:.5}.program strong{display:block;font-size:12px;font-weight:500;margin:12px 0 6px;white-space:nowrap}.program strong span{float:right;opacity:0;transition:.2s}.program small{font-size:9px;color:var(--muted)}.program:hover strong span,.program.selected strong span{opacity:1}.program.selected strong,.program:hover strong{color:#9c6d40}.program.selected .program-time{color:#9c6d40}footer{position:fixed;bottom:0;left:0;width:100%;padding:17px 39px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#4d634f}footer>span:nth-child(2){letter-spacing:.2px}.footer-dash{margin:0 8px}#labels{position:fixed;inset:0;pointer-events:none;overflow:hidden}.map-label{position:absolute;left:0;top:0;pointer-events:auto;transform:translate(-50%,-100%);white-space:nowrap;display:flex;align-items:center;gap:7px;padding:7px 10px;background:#fcfff0e8;border-radius:4px;font-size:9px;box-shadow:0 2px 8px #233a3422;border:1px solid #fff8;transition:background .2s;will-change:left,top}.map-label::after{content:'';position:absolute;top:100%;left:50%;height:13px;width:1px;background:#e6ecd0}.map-label b{font-size:8px;color:#728369}.map-label.selected{background:var(--ink);color:#fff}.map-label.selected b{color:#bdd0ab}.map-label:hover{background:#fff}.map-label.selected:hover{background:#395443}.place-panel{position:fixed;z-index:4;left:36px;top:134px;width:270px;padding:24px;background:#fafbf3f2;border:1px solid #fff;border-radius:10px;box-shadow:0 12px 50px #243e3215;backdrop-filter:blur(20px)}.place-panel .close-panel{position:absolute;right:12px;top:10px;font-size:23px;color:#73816e}.place-panel h2{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.1;margin:19px 0 7px}.place-panel .korean{font-size:11px;color:#7c846f;margin:0 0 20px}.place-panel p:not(.eyebrow):not(.korean){font-size:12px;line-height:1.8;color:#5e6d5b}.place-meta{border-top:1px solid var(--line);padding-top:14px;margin-top:17px;font-size:10px;line-height:1.9}.place-panel>button:last-child{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--ink);color:#fff;padding:12px 15px;border-radius:5px;font-size:11px;margin-top:17px}.place-panel[hidden],#walk-help[hidden]{display:none}body.has-selection .intro{display:none}dialog{border:1px solid #fff;border-radius:14px;padding:26px;max-width:1100px;width:90vw;background:#f8faef;color:var(--ink);box-shadow:0 20px 100px #172c3477}dialog::backdrop{background:#1d3429b0;backdrop-filter:blur(9px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top h2{font-family:Georgia,serif;font-weight:400;font-size:27px;margin:10px 0 20px}.dialog-top button{font-size:30px}.dialog-top .eyebrow{font-size:8px}dialog img{display:block;width:100%;border-radius:6px}dialog>p{font-size:11px;color:#697864;line-height:1.6;margin-bottom:0}#loading{position:fixed;inset:0;z-index:20;background:#e9edde;display:grid;place-content:center;text-align:center;transition:opacity .5s}.loading-brand{font-family:Georgia,serif;font-size:60px;letter-spacing:-3px}#loading p{font-size:11px;letter-spacing:1px}#loading.loaded{opacity:0;pointer-events:none}#toast{position:fixed;top:104px;left:50%;transform:translateX(-50%);z-index:25;background:#263f34;color:#fff;padding:11px 19px;font-size:11px;border-radius:30px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}#walk-help{position:fixed;bottom:268px;left:50%;transform:translateX(-50%);background:#f7faeceb;backdrop-filter:blur(10px);border:1px solid white;padding:12px 20px;border-radius:8px;text-align:center;z-index:5}#walk-help strong{display:block;font-size:12px;font-weight:500}#walk-help>span{display:block;font-size:10px;color:#72816d;margin-top:5px}.walk-pad{display:none}body.walking .intro,body.walking .place-panel,body.walking .view-caption{display:none}body.walking .map-label{opacity:.85}body.evening{--ink:#263a32}body.evening .vignette{background:linear-gradient(180deg,rgba(231,230,218,.8),transparent 23%,transparent 65%,rgba(53,66,63,.3))}
@media(min-width:1600px){.intro{top:165px}.intro h1{font-size:80px}.journey{bottom:52px;padding:26px 34px}.journey-heading{margin-bottom:26px}.program{padding:0 25px}.program strong{font-size:14px}.program small{font-size:11px}.view-caption{bottom:283px}.compass{bottom:320px}}
@media(max-height:760px) and (min-width:901px){header{padding-top:23px}.intro{top:116px}.intro h1{font-size:49px;margin:14px 0}.intro>p:not(.eyebrow){font-size:11px}.site-facts{margin-top:12px}.journey{padding:15px 24px;bottom:39px}.journey-heading{margin-bottom:14px}.journey-heading h2{font-size:20px}.view-caption{bottom:222px}.compass{bottom:252px}.place-panel{top:110px;padding:19px;width:248px}.place-panel h2{font-size:25px;margin-top:13px}.place-panel p:not(.eyebrow):not(.korean){font-size:11px}.place-panel .korean{margin-bottom:12px}.place-meta{padding-top:10px;margin-top:10px}#walk-help{bottom:231px}}
@media(max-width:900px){header{padding:22px}.location{display:none}.intro{left:25px;top:115px}.intro h1{font-size:52px}.intro .eyebrow{font-size:7px}.scene-tools{right:21px;top:114px}.scene-tools button span{display:none}.scene-tools button{width:36px;padding:8px}.journey{left:16px;right:16px;padding:18px;bottom:44px}.programs{overflow-x:auto;grid-template-columns:repeat(6,155px);padding-bottom:6px;scrollbar-width:thin}.program{padding:0 14px}.program strong{font-size:11px}.journey-heading h2{font-size:22px}.journey-heading>button{font-size:9px;padding:10px}.view-caption{left:24px;bottom:264px;letter-spacing:1px}.compass{right:20px;bottom:275px}footer{padding:16px 23px;font-size:7px}footer>span:nth-child(2){display:none}.place-panel{left:22px;top:112px;width:245px;padding:20px}.place-panel h2{font-size:25px}.place-panel p:not(.eyebrow):not(.korean){font-size:11px}.map-label{font-size:8px;padding:6px 8px}.walk-pad{display:flex;gap:7px;justify-content:center;margin-top:10px}.walk-pad button{width:36px;height:32px;border:1px solid var(--line);border-radius:5px;background:white;touch-action:none}#walk-help{width:270px;bottom:258px}#walk-help>span{font-size:9px}}
@media(max-width:580px){header{align-items:flex-start;padding:18px}.brand>span{font-size:25px}.brand svg{width:30px}.brand{gap:7px}.brand small{font-size:6px;letter-spacing:1.3px}.view-switch{padding:3px;gap:0}.view-switch button{font-size:9px;padding:9px 10px}.view-switch button span{display:none}.view-switch button:last-child{font-size:0;padding:9px 10px}.view-switch button:last-child:after{content:'Ref ↗';font-size:9px}.intro{top:108px;left:22px}.intro h1{font-size:44px;margin:16px 0 13px}.intro>p:not(.eyebrow){font-size:10px}.site-facts{font-size:8px;margin-top:13px}.intro .eyebrow{font-size:6px;letter-spacing:1.3px}.scene-tools{top:105px;right:17px;gap:5px}.scene-tools button{padding:6px;width:34px;min-width:34px;font-size:15px}.journey{bottom:38px;padding:16px 16px 13px;left:10px;right:10px;border-radius:10px}.journey-heading{margin-bottom:17px}.journey-heading h2{font-size:20px}.journey-heading .eyebrow{font-size:6px;letter-spacing:1.5px}.journey-heading>button{font-size:8px;padding:9px 11px}.journey-heading>button span{margin-right:4px}.programs{grid-template-columns:repeat(6,143px)}.program small{font-size:8px}.program-time{font-size:8px}.view-caption{bottom:235px;left:21px;font-size:7px}.view-caption #camera-hint,.caption-divider{display:none}.compass{bottom:243px;right:15px}.compass svg{width:27px;height:27px}.compass span{font-size:8px}footer{padding:14px 18px;font-size:6px;letter-spacing:.6px}.footer-dash{margin:0 3px}.map-label{font-size:7px;gap:4px;padding:5px 6px}.map-label b{font-size:6px}.place-panel{left:18px;top:99px;width:230px;padding:18px}.place-panel .eyebrow{font-size:7px}.place-panel h2{font-size:23px;margin:13px 0 7px}.place-panel .korean{font-size:10px;margin-bottom:13px}.place-panel p:not(.eyebrow):not(.korean){font-size:10px;line-height:1.7}.place-meta{font-size:9px;margin-top:12px;padding-top:10px}.place-panel>button:last-child{padding:10px 13px;margin-top:12px;font-size:10px}#walk-help{bottom:235px}dialog{padding:18px}.dialog-top h2{font-size:22px}}
/* Keep the introduction legible against the forest without covering the model. */
body:not(.has-selection):not(.walking) .intro::before{content:'';position:absolute;z-index:-1;inset:-50px -45px -38px -50px;background:radial-gradient(ellipse at 35% 42%,rgba(239,242,224,.91),rgba(239,242,224,.6) 49%,transparent 73%);filter:blur(16px)}
body:not(.has-selection):not(.walking) .intro{isolation:isolate}
