/* 신평벽화마을 v6 — 골목 걷기 지도: 벽화 민트 초록 × 코랄 핑크 × 전선 같은 짙은 회색 선 · 둥근 손글씨 제목(Jua / 日 Yusei Magic / 中 ZCOOL KuaiLe, 쪽 글자만) + 고딕 본문(Pretendard) */
:root{
  --paper:#f6fbf9;--paper2:#e6f5f0;--white:#fff;
  --mint:#76d1c5;--mint2:#a8e3da;--mint-d:#1e7a6e;--green:#0b5544;
  --coral:#f0857a;--coral-l:#fce3df;--coral-d:#a93b32;--pink:#e4acb5;
  --ink:#3e3c3c;--ink2:#5b5858;--ink-t:#2b2a2a;--line:rgba(62,60,60,.2);
  --hd:68px;--wrap:1200px;
  --hand:'SPK','Pretendard Variable','Pretendard',sans-serif;
  --sans:'Pretendard Variable','Pretendard',-apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
}
html[data-lang=zh]{--hand:'SPK','SPC','Noto Sans SC',sans-serif;--sans:'Pretendard Variable','Noto Sans SC','Pretendard',sans-serif}
html[data-lang=ja]{--hand:'SPK','SPJ','Noto Sans JP',sans-serif;--sans:'Pretendard Variable','Noto Sans JP','Pretendard',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 12px);-webkit-text-size-adjust:100%;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.75 var(--sans);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
html[data-lang=ja] body{word-break:auto-phrase;line-break:strict}
html[data-lang=zh] body{word-break:normal;line-break:strict}
html[data-lang=en] body{word-break:normal}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure,table{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nw{white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}
:focus-visible{outline:3px solid var(--coral-d);outline-offset:3px}
.ic{width:20px;height:20px;flex:none}

/* 언어: 고른 언어만 */
.i{display:none}
html[data-lang=ko] .i[lang=ko],html[data-lang=en] .i[lang=en],html[data-lang=zh] .i[lang=zh-Hans],html[data-lang=ja] .i[lang=ja]{display:inline}
html[data-lang=ko] .only-fx{display:none}
html:not([data-lang=ko]) .only-ko{display:none}
.kn{word-break:keep-all}

/* 손글씨 제목 — 숫자는 얇은 고딕(손글씨 1 이 7·ㄱ 처럼 보인다) */
.hf{font-family:var(--hand);font-weight:400;letter-spacing:-.005em;text-wrap:balance}
html[data-lang=ja] .hf{letter-spacing:.03em}
.hf .dg,.hf .nw{font-family:var(--sans);font-weight:600;letter-spacing:-.01em}
.hf .dg{font-size:.9em}
.gk{display:block;font:500 max(12px,.32em)/1.4 var(--sans);color:var(--ink2);letter-spacing:.02em;margin-top:.35em}
html[data-lang=en] .i.gk-l[lang=en],html[data-lang=zh] .i.gk-l[lang=zh-Hans],html[data-lang=ja] .i.gk-l[lang=ja]{display:block;font:500 15px/1.4 var(--sans);color:var(--ink2);margin-top:8px;letter-spacing:.02em}

.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 16px;font:700 15px/1.3 var(--sans);border-radius:8px}
.skip:focus{top:10px}

/* ── 머리 ── */
.hd{position:sticky;top:0;z-index:60;height:var(--hd);background:rgba(246,251,249,.96);border-bottom:2px solid var(--ink)}
.hd-in{max-width:1648px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:18px}
.logo{flex:none;min-height:44px;display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center;text-decoration:none;color:var(--green)}
.logo-h{grid-row:1/3;width:30px;height:27px;color:var(--coral)}
.logo-t{font:400 25px/1.05 var(--hand);white-space:nowrap}
.logo-s{font:600 12px/1.2 var(--sans);color:var(--ink2);letter-spacing:.02em;white-space:nowrap;margin-top:2px}
.gnb{flex:1 1 auto;min-width:0;display:flex;justify-content:center}
.gnb .navl{display:flex;gap:4px}
.gn{display:block;padding:10px 14px;border-radius:999px;text-decoration:none;font:600 16px/1.3 var(--sans);color:var(--ink);white-space:nowrap;transition:background .2s}
.gn:hover{background:var(--paper2)}
.gn.on{background:var(--mint2);box-shadow:inset 0 0 0 2px var(--ink)}
.gl{display:inline-block;white-space:nowrap}
.lang{position:relative;flex:none}
.lang-cur{display:none;align-items:center;gap:6px;height:42px;padding:0 12px;border:2px solid var(--ink);border-radius:999px;background:var(--white);cursor:pointer;font:700 14px/1 var(--sans)}
.lang-cur .ic{width:18px;height:18px}
.lang-list{display:flex;border:2px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--white)}
.lang-list li+li{border-left:1.5px solid var(--line)}
.lang-list button{display:block;min-width:44px;height:40px;padding:0 11px;border:0;background:none;cursor:pointer;font:700 13.5px/1 var(--sans);white-space:nowrap}
.lang-list button:hover{background:var(--paper2)}
.lang-list button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.hd-call{flex:none;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 16px;border:2px solid var(--ink);border-radius:999px;background:var(--coral);color:var(--ink-t);text-decoration:none;font:800 15px/1 var(--sans);white-space:nowrap}
.hd-call .ic{width:18px;height:18px}
.burger{display:none;flex:none;width:44px;height:44px;border:2px solid var(--ink);border-radius:12px;background:var(--white);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger i{display:block;width:20px;height:2.5px;border-radius:2px;background:var(--ink);transition:transform .25s,opacity .2s}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){opacity:0}
.burger[aria-expanded=true] i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.fold .gnb{display:none}
.fold .burger{display:flex}
.fold .hd-in{justify-content:flex-end}
.fold .logo{margin-right:auto}
@media (max-width:1180px){.hd-call{width:44px;height:44px;padding:0;justify-content:center}.hd-call span{display:none}}

.mnav{position:fixed;top:var(--hd);left:0;right:0;bottom:0;z-index:55;background:var(--paper);overflow:auto;padding:16px 20px 32px;border-top:2px solid var(--ink)}
.mnav[hidden]{display:none}
.mnl a{display:flex;align-items:center;gap:14px;min-height:60px;padding:8px 4px;border-bottom:2px dashed var(--line);text-decoration:none;font:700 20px/1.35 var(--sans)}
.mn-n{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--coral);border:2px solid var(--ink);font:800 15px/1 var(--sans)}
.cta-m{margin-top:24px}
body.menu-open{overflow:hidden}

/* ── 버튼 ── */
.cta{display:grid;gap:12px}
.cta-dir{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.cta-dl{font:400 18px/1 var(--hand);color:var(--green);margin-right:2px}
.bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink-t);text-decoration:none;font:700 15.5px/1.2 var(--sans);transition:transform .18s,box-shadow .18s;cursor:pointer}
.bt:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--ink)}
.bt .ic{width:18px;height:18px}
.bt-call{background:var(--coral);justify-content:flex-start;flex-wrap:wrap;padding:8px 20px}
.bt-num{font-weight:800;white-space:nowrap;margin-left:auto}
.bt-sm{min-height:40px;padding:0 14px;font-size:14.5px}

/* ── 첫 화면: gumi-01(하트 벽화) 크게 — 칸 폭 1600 상한(원본보다 크게 늘리지 않는다) ── */
.hero{position:relative;max-width:1648px;margin:0 auto;padding:16px 24px 0}
.hero-frame{position:relative;height:min(calc((100vw - 48px) * .5206), calc(100svh - var(--hd) - 44px), 833px);min-height:440px;border:3px solid var(--ink);border-radius:28px;overflow:hidden;background:var(--mint2)}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:20% 62%}
.hero-card{position:absolute;right:64px;bottom:36px;width:min(500px,44%);background:var(--paper);border:3px solid var(--ink);border-radius:24px;padding:26px 30px 28px;box-shadow:10px 10px 0 var(--mint)}
.badge{text-wrap:balance;display:inline-flex;align-items:center;gap:7px;padding:6px 13px 6px 10px;border-radius:999px;background:var(--coral-l);color:var(--coral-d);font:700 13.5px/1.35 var(--sans)}
.badge-h{width:17px;height:15px;flex:none}
.hero-h{margin:14px 0 8px;font-size:clamp(44px,4.2vw,62px);line-height:1.08;color:var(--green)}
html:not([data-lang=ko]) .hero-h{font-size:clamp(34px,3.2vw,48px)}
.hero-lead{font:500 18px/1.6 var(--sans);color:var(--ink);margin-bottom:20px}

/* ── 한눈에(지도 범례) ── */
.glance{padding:28px 0 0}
.glance .wrap{position:relative;max-width:1648px;padding:0 24px}
.gl-l{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.25fr) repeat(3,minmax(0,1fr));gap:4px;border:2px dashed var(--ink);border-radius:22px;background:var(--white);padding:8px}
.gl-i{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:start;align-content:start;padding:14px 16px;border-radius:16px;min-width:0}
.gl-ic{grid-row:1/3;width:40px;height:40px;padding:8px;border-radius:50%;background:var(--paper2);border:2px solid var(--ink);color:var(--ink)}
.gl-k{font:700 13px/1.4 var(--sans);color:var(--mint-d);letter-spacing:.02em}
.gl-v{font:600 15.5px/1.45 var(--sans);color:var(--ink-t);text-wrap:pretty}
.rom{font:500 13.5px/1.45 var(--sans);color:var(--ink2)}
.gl-v .rom,.addr+.rom{display:block;margin-top:2px}
.gl-no{background:var(--coral-l)}
.gl-no .gl-ic{background:var(--coral);color:var(--ink-t)}
.gl-no .gl-k{color:var(--coral-d);font-size:15px}

/* ── 섹션 공통: 지도 핀 번호 + 손글씨 제목, 넓은 화면은 왼쪽에 걷는 길(점선) ── */
.sec{position:relative;padding:112px 0 120px}
.wires{position:absolute;left:0;width:100%;height:76px;color:var(--ink);opacity:.5;pointer-events:none}
.w-top{top:10px}
.sh{position:relative;display:flex;align-items:center;gap:18px;margin-bottom:44px}
.pin{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--coral);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.pin b{transform:rotate(45deg);font:800 21px/1 var(--sans);color:var(--ink-t)}
.sh-h{min-width:0;font-size:clamp(34px,3.6vw,50px);line-height:1.18;color:var(--green)}
@media (min-width:1320px){
  .route::before{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 560px - 64px);border-left:3px dashed var(--coral);opacity:.75}
  .sh .pin{position:absolute;left:-91px;top:50%;margin-top:-27px}
  .sh{min-height:60px}
}

/* ── ① 마을 이야기 ── */
.story{background:var(--paper)}
.st-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:center}
.st-lead{font-size:clamp(28px,2.6vw,38px);line-height:1.32;color:var(--ink-t);margin-bottom:22px}
html[data-lang=en] .st-lead{font-size:clamp(26px,2.3vw,34px)}
.st-txt p+p{margin-top:10px}
.st-txt p:not(.st-lead){font-size:18px}
.st-art{display:grid;gap:30px;padding:34px 30px;border:3px solid var(--ink);border-radius:26px;background:var(--white);box-shadow:10px 10px 0 var(--coral-l)}
.mk{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}
.mk-a,.mk-b{display:inline-flex;align-items:center;min-height:52px;padding:8px 20px;border:2.5px solid var(--ink);border-radius:999px;background:var(--mint2);font:700 18px/1.25 var(--sans);text-align:center}
.mk-b{background:var(--coral-l)}
.mk-and{display:inline-flex;flex-direction:column;align-items:center;gap:2px;font:600 13px/1.2 var(--sans);color:var(--coral-d)}
.mk-h{width:26px;height:23px;color:var(--coral)}
.yr{display:flex;align-items:center;gap:14px}
.yr-y{font:800 34px/1 var(--sans);color:var(--green);letter-spacing:-.02em}
.yr-line{position:relative;flex:1;min-width:90px;height:56px;display:flex;align-items:flex-end}
.yr-line i{position:absolute;left:0;right:0;bottom:12px;height:0;border-top:3px solid var(--ink)}
.yr-line i::before,.yr-line i::after{content:'';position:absolute;top:-8px;width:13px;height:13px;border-radius:50%;background:var(--coral);border:2.5px solid var(--ink)}
.yr-line i::before{left:-4px}.yr-line i::after{right:-4px}
.yr-line b{position:absolute;left:50%;top:0;transform:translateX(-50%);white-space:nowrap;padding:4px 12px;border-radius:999px;background:var(--ink);color:var(--paper);font:700 13.5px/1.3 var(--sans)}
.al{margin-top:80px;padding-top:52px;border-top:2.5px dashed var(--line)}
.al-h{font-size:clamp(26px,2.4vw,34px);color:var(--green);margin-bottom:14px}
.al-p{font-size:18px;max-width:860px}
.al-l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.al-l li{display:flex;align-items:center;gap:12px;padding:16px 18px;border:2px solid var(--ink);border-radius:18px;background:var(--white);font:700 16px/1.4 var(--sans)}
.al-l li>span::first-letter{text-transform:uppercase}
.k-ic{width:46px;height:46px;padding:10px;border-radius:14px;background:var(--paper2);color:var(--green)}
.al-l li:nth-child(even) .k-ic{background:var(--coral-l);color:var(--coral-d)}
.al-walk{margin-top:26px;padding-left:16px;border-left:4px solid var(--coral);font:500 17px/1.6 var(--sans);color:var(--ink2)}

/* ── ② 골목 벽화: 전선에 매단 사진 다섯 장 ── */
.murals{background:var(--paper2);overflow-x:hidden;overflow-x:clip}
.murals .sh{margin-bottom:12px}
.mu-tip{margin:0 0 30px;font:500 15px/1.5 var(--sans);color:var(--ink2)}
html .sh+.mu-tip{padding-left:72px}
@media (min-width:1320px){html .sh+.mu-tip{padding-left:0}}
.lines{display:grid;gap:52px}
.line{position:relative;display:grid;gap:clamp(24px,4vw,60px)}
.line-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.line-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wire{position:absolute;left:0;top:0;width:100%;height:60px;color:var(--ink);overflow:visible}
.ph{position:relative;padding-top:calc(var(--y) + 12px);transform:rotate(var(--r));transform-origin:50% 0;transition:transform .9s cubic-bezier(.3,1.5,.5,1)}
.js .ph:not(.in){transform:rotate(calc(var(--r) * -3)) translateY(-6px)}
.ph:hover{transform:rotate(0deg) translateY(-3px);transition-duration:.35s}
.clip{position:absolute;left:50%;top:calc(var(--y) - 12px);z-index:2;width:16px;height:32px;margin-left:-8px;border:2px solid var(--ink);border-radius:4px;background:var(--coral)}
.line-3 .ph:nth-child(3) .clip,.line-2 .ph:nth-child(3) .clip{background:var(--mint)}
.ph-b{position:relative;display:block;width:100%;padding:10px;border:2px solid var(--ink);border-radius:8px;background:var(--white);cursor:zoom-in;box-shadow:6px 8px 0 rgba(62,60,60,.13)}
.ph-nz{cursor:default}
.ph-b img{width:100%;aspect-ratio:1600/833;object-fit:cover;border-radius:3px;background:var(--mint2)}
.ph-z{position:absolute;right:20px;bottom:20px;width:38px;height:38px;padding:8px;border-radius:50%;background:rgba(246,251,249,.92);border:2px solid var(--ink);color:var(--ink)}
.ph figcaption{margin-top:12px;text-align:center;font-size:21px;line-height:1.3;color:var(--green)}
.vo{margin-top:84px;padding:28px 32px 30px;border:2.5px solid var(--ink);border-radius:22px;background:var(--paper)}
.vo-h{font:800 19px/1.4 var(--sans);color:var(--ink-t)}
.vo-sub{margin-top:2px;font:500 14px/1.5 var(--sans);color:var(--ink2)}
.vo-l{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.vo-l li{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:6px 8px 6px 16px;border:2px solid var(--ink);border-radius:999px;background:var(--white);font:600 15.5px/1.35 var(--sans)}
.kw-n{display:inline-grid;place-items:center;min-width:46px;height:30px;padding:0 9px;border-radius:999px;background:var(--paper2);color:var(--mint-d);font:800 13.5px/1 var(--sans);white-space:nowrap}

/* ── ③ 갈뫼루까지 도보 5분: 선 그림 ── */
.gal{background-color:var(--paper);background-image:linear-gradient(rgba(118,209,197,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(118,209,197,.2) 1px,transparent 1px);background-size:36px 36px}
.rt{max-width:880px;margin:0 auto;padding:40px 48px 34px;border:3px solid var(--ink);border-radius:30px;background:var(--white);box-shadow:12px 12px 0 var(--mint)}
.rt-way{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr) 200px;align-items:start}
.rt-end{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.rt-art{display:grid;place-items:end center;height:110px}
.rt-heart{width:92px;height:82px;color:var(--coral)}
.pav{width:130px;height:104px;color:var(--ink)}
.rt-n{margin-top:12px;font-size:25px;line-height:1.25;color:var(--green)}
.rt-n .gk{font-size:13px}
.rt-s{margin-top:6px;font:600 13.5px/1.3 var(--sans);color:var(--ink2)}
.rt-mid{position:relative;height:110px}
/* 하트 끝(첫 칸 가운데, 아래 y≈106) → 정자 바닥 왼끝(셋째 칸 오른쪽에서 140px) — svg 끝점 y=76/72 */
.rt-path{position:absolute;left:100px;top:30px;width:calc(100% - 240px);height:80px;color:var(--coral)}
.rt-walk{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-3deg);padding:8px 20px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:24px;line-height:1.2;white-space:nowrap;box-shadow:4px 4px 0 var(--coral)}
.ga-what{margin-top:26px;padding-top:22px;border-top:2.5px dashed var(--line);text-align:center;font:500 18px/1.7 var(--sans);color:var(--ink-t);text-wrap:pretty}

/* ── ④ 이용 안내 · 주차 ── */
.visit{background:var(--white)}
.vi-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-rows:auto 1fr;gap:0 56px;align-items:start}
.vi-a{grid-area:1/1}.vi-b{grid-area:1/2/3/3}.near{grid-area:2/1}
.notice{display:flex;gap:16px;align-items:flex-start;padding:24px 26px;border:3px solid var(--ink);border-radius:22px;background:var(--coral-l);box-shadow:8px 8px 0 var(--coral)}
.no-ic{width:52px;height:52px;padding:10px;border-radius:50%;background:var(--white);border:2.5px solid var(--ink);color:var(--coral-d)}
.no-t{font-size:clamp(24px,2.1vw,30px);line-height:1.25;color:var(--coral-d)}
.no-p{margin-top:6px;font:600 17px/1.6 var(--sans);color:var(--ink-t)}
.sm-h{margin:40px 0 14px;font:800 19px/1.4 var(--sans);color:var(--ink-t);display:flex;align-items:center;gap:10px}
.sm-h::before{content:'';width:14px;height:14px;border-radius:50%;background:var(--mint);border:2.5px solid var(--ink)}
.vi-b>.sm-h:first-child{margin-top:0}
.tb{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--white)}
.tb th,.tb td{padding:15px 18px;vertical-align:top;text-align:left}
.tb tr+tr th,.tb tr+tr td{border-top:1.5px solid var(--line)}
.tb th{width:9.5em;white-space:nowrap;background:var(--paper2);font:700 15px/1.45 var(--sans);color:var(--ink-t)}
.tb th .ic{width:18px;height:18px;vertical-align:-3px;margin-right:7px;color:var(--mint-d)}
.tb td{font-size:16px;line-height:1.6}
.hi{font:800 17px/1.4 var(--sans);color:var(--green)}
.vi-note{margin-top:10px;font:500 14px/1.55 var(--sans);color:var(--ink2)}
.addr{display:block;font:700 17px/1.5 var(--sans);color:var(--ink-t)}
.addr-show{display:block;margin-top:2px;font:500 13.5px/1.45 var(--sans);color:var(--ink2)}
.addr-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.copy{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border:2px dashed var(--ink);border-radius:999px;background:var(--paper);cursor:pointer;font:700 14.5px/1.2 var(--sans)}
.copy .ic{width:17px;height:17px}
.copy-ok{font-weight:600;color:var(--mint-d)}
.bus-stop b{font-weight:800;color:var(--ink-t)}
.bus-l{display:inline-block;margin-right:6px;font:700 13px/1.4 var(--sans);color:var(--mint-d)}
.bus-r{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px}
.routes{display:flex;flex-wrap:wrap;gap:6px}
.routes li{display:inline-grid;place-items:center;min-width:46px;height:32px;padding:0 9px;border:2px solid var(--ink);border-radius:9px;background:var(--paper2);font:800 15px/1 var(--sans)}
.routes .r-tail{min-width:0;border:0;background:none;padding:0 2px;font-weight:600}
.park-none{font-weight:600;color:var(--ink-t)}
.lots{margin:8px 0}
.lots li{position:relative;padding-left:18px}
.lots li::before{content:'';position:absolute;left:2px;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--coral);border:2px solid var(--ink)}
.park-walk b{color:var(--green)}
.tl{display:inline-block;padding:9px 0;font-weight:800;color:var(--ink-t);text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px;white-space:nowrap}
.near-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.near-l li{padding:15px 18px;border:2px dashed var(--ink);border-radius:16px;background:var(--paper)}
.near-n{display:block;font:700 16px/1.45 var(--sans);color:var(--ink-t)}
.near-d{display:block;margin-top:2px;font:500 14px/1.45 var(--sans);color:var(--ink2)}

/* ── 맨 아래 ── */
.ft{position:relative;background:var(--ink);color:#eef5f3;padding-top:20px}
.w-ft{top:-8px;color:var(--mint);opacity:.45}
.ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;padding-top:60px;padding-bottom:36px;border-bottom:1.5px solid rgba(238,245,243,.18)}
.ft-name{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center;color:var(--mint2)}
.ft-name>span[lang=ko]{font:400 40px/1.1 var(--hand)}
.ft-h{grid-row:1/3;width:40px;height:36px;color:var(--coral)}
.ft-rom{font:600 14px/1.3 var(--sans);color:#cfdcd8}
.cta-ft{grid-template-columns:auto auto;align-items:center;gap:12px 14px}
.cta-ft .cta-dl{color:var(--mint2)}
.cta-ft .bt{background:transparent;color:#f6fbf9;border-color:#f6fbf9}
.cta-ft .bt:hover{box-shadow:3px 3px 0 var(--mint)}
.cta-ft .bt-call{background:var(--coral);color:var(--ink-t);border-color:var(--coral)}
.ft-info{padding-top:26px;padding-bottom:48px;font:500 14.5px/1.7 var(--sans);color:#d9e3e0}
.ft-lines{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 28px}
.ft-lines .tl{color:#fff}
.ft-lines .rom{font:inherit;color:#c5d1cd}
.ft-tags ul{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--mint2)}
.ft-credit{margin-top:16px;font-size:13.5px;color:#c5d1cd}
.ft-note{margin-top:4px;font-size:13px;color:#aebbb7}

/* ── 사진 크게 보기 ── */
.lbx{width:100vw;height:100vh;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#201f1f;color:#f6fbf9}
.lbx::backdrop{background:transparent}
.lbx-in{position:relative;height:100%;display:grid;place-items:center;padding:60px 84px}
.lbx-f{display:flex;flex-direction:column;align-items:center;max-width:min(1600px,100%)}
.lbx-img{width:auto;max-width:100%;max-height:calc(100svh - 170px);border:6px solid #fff;border-radius:6px;background:#fff}
.lbx-c{margin-top:14px;font-size:24px;color:var(--mint2);text-align:center}
.lbx-x,.lbx-p,.lbx-n{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:2.5px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer}
.lbx-x{top:16px;right:16px}
.lbx-p,.lbx-n{top:50%;margin-top:-26px}
.lbx-p{left:16px}.lbx-n{right:16px}
.lbx-p .ic{transform:rotate(180deg)}
.lbx .ic{width:22px;height:22px}

/* ── 반응형 ── */
@media (max-width:1199px){
  .gl-l{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gl-no{grid-column:1/-1}
}
@media (max-width:1100px){
  .hero-card{right:40px;width:min(470px,52%)}
  .al-l{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vi-grid{grid-template-columns:1fr;grid-template-rows:none;gap:12px}
  .vi-a,.vi-b,.near{grid-area:auto}
  .rt{padding:36px 28px 30px}
}
@media (max-width:899px){
  :root{--hd:62px}
  .hd-in{padding:0 14px;gap:8px}
  .logo-t{font-size:22px}
  .logo-h{width:26px;height:23px}
  .gnb{display:none}
  .burger{display:flex}
  .logo{margin-right:auto}
  .lang-cur{display:inline-flex}
  .lang-list{display:none;position:absolute;right:0;top:calc(100% + 8px);flex-direction:column;border-radius:16px;min-width:150px;box-shadow:6px 6px 0 var(--mint)}
  .lang.open .lang-list{display:flex}
  .lang-list li+li{border-left:0;border-top:1.5px solid var(--line)}
  .lang-list button{width:100%;height:46px;text-align:left;padding:0 18px;font-size:15px}
  .hd-call{display:inline-flex;width:44px;height:44px;padding:0;justify-content:center}
  .hd-call span{display:none}
  .wrap{padding-left:20px;padding-right:20px}
  .hero{padding:0}
  .hero-frame{height:min(46svh,520px);min-height:260px;border:0;border-bottom:3px solid var(--ink);border-radius:0}
  .hero-img{object-position:5% 62%}
  .hero-card{position:relative;right:auto;bottom:auto;width:auto;margin:-40px 16px 0;padding:20px 20px 22px;box-shadow:7px 7px 0 var(--mint)}
  .badge{font-size:12.5px}
  .hero-h{margin-top:12px}
  .hero-h{font-size:clamp(40px,11vw,52px)}
  html:not([data-lang=ko]) .hero-h{font-size:clamp(30px,8.4vw,40px)}
  .hero-lead{font-size:16.5px;margin-bottom:16px}
  .cta-dir .bt-map{flex:1 1 0;min-width:0;padding:0 10px;gap:6px}
  .bt-map .bt-l{white-space:nowrap}
  .cta-hero .cta-dl{display:none}
  .cta-dl{flex-basis:100%}
  .glance .wrap{padding-left:16px;padding-right:16px}
  .gl-l{grid-template-columns:1fr;padding:6px}
  .gl-i{padding:12px}
  .sec{padding:84px 0 88px}
  .sh{gap:14px;margin-bottom:32px}
  .pin{width:44px;height:44px;box-shadow:3px 3px 0 var(--ink)}
  .pin b{font-size:18px}
  html .sh+.mu-tip{padding-left:0}
  .st-grid{grid-template-columns:1fr;gap:36px}
  .st-art{padding:26px 18px;box-shadow:7px 7px 0 var(--coral-l)}
  .yr-y{font-size:28px}
  .al{margin-top:56px;padding-top:40px}
  .rt{padding:30px 20px 26px;box-shadow:8px 8px 0 var(--mint)}
  .rt-way{grid-template-columns:1fr}
  .rt-mid{height:130px}
  .rt-path{display:none}
  .rt-mid::before{content:'';position:absolute;left:50%;top:10px;bottom:10px;border-left:4px dotted var(--coral)}
  .tb th{width:7.2em;padding:13px 12px}
  .tb td{padding:13px 14px}
  .notice{padding:20px 18px;box-shadow:6px 6px 0 var(--coral)}
  .ft-top{padding-top:52px}
  .cta-ft{grid-template-columns:1fr}
}
@media (max-width:759px){
  .line,.line-2,.line-3{grid-template-columns:1fr;gap:34px}
  .lines{gap:34px}
  .wire{display:none}
  .ph{--y:0px !important;padding-top:16px}
  .clip{top:0}
  .ph figcaption{font-size:20px}
  .vo{padding:22px 18px 24px;margin-top:64px}
  .near-l{grid-template-columns:1fr}
  .lbx-in{padding:64px 10px 88px}
  .lbx-p,.lbx-n{top:auto;bottom:18px;margin-top:0}
  .lbx-p{left:calc(50% - 64px)}.lbx-n{right:calc(50% - 64px)}
  .lbx-img{max-height:calc(100svh - 220px)}
}
@media (max-width:560px){
  .al-l{gap:10px}
  .al-l li{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;font-size:15px}
  .k-ic{width:40px;height:40px;padding:8px}
  .st-lead{font-size:28px}
  .tb,.tb tbody,.tb tr,.tb th,.tb td{display:block;width:auto}
  .tb tr+tr th{border-top:1.5px solid var(--line)}
  .tb tr+tr td{border-top:0}
  .tb th{padding:10px 14px 8px}
  .tb td{padding:10px 14px 14px}
  .ft-name>span[lang=ko]{font-size:34px}
}
@media (max-width:400px){.logo-s{display:none}}
@media (max-width:380px){
  .hd-call{display:none}
  .lang-cur{padding:0 10px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js .ph:not(.in){transform:rotate(var(--r))}
}
