:root{
  --ink:#222; --ink-soft:#444; --band:#f1f0ee; --line:rgba(0,0,0,.12);
  --teal:#099; --amber:#ffa700;
  --sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --r-card:5px; --r-pill:30px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
/* 본문 배경·잉크는 스펙 선언값 표기 그대로(#fff==#ffffff, var(--ink)==#222222 — 픽셀 동일) — D6 니들 */
body{background-color:#ffffff;color:#222222;font-family:var(--sans);font-size:17px;line-height:1.7;letter-spacing:-0.02em;word-break:keep-all}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{line-height:1.3;font-weight:700}
main{min-height:60vh}

/* 헤더 — 로고 좌 + 메뉴 + 필 CTA 2 (도너 동형, 2026-08-10 오너 지시로 한 치수 슬림) */
/* 헤더 여백·간격·배치는 A(sudong-zion-home) 값을 쓴다(2026-08-28 오너 지시).
   문구 4개와 pill 버튼 2개는 hu 그대로 — 모양은 건드리지 않는다.
   좌우는 max() 로 잡는다: 넓은 화면에서는 1180px 중앙정렬, 좁아지면 24px 안전여백으로 내려간다.
   높이를 px 로 고정하지 않는 것도 A 와 같다 — 위아래 18px 여백이 44px 로고를 감싸 80px 가 된다. */
.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100% - 1180px) / 2))}
.logo{display:inline-flex; align-items:center; flex:none; min-height:44px; gap:9px}
.logo .logo-mark{display:block; flex:none; line-height:0}
.logo .logo-mark svg,.logo .logo-mark img{display:block; height:30px; width:auto}
/* 로고타입(비율 2.0↑)은 워드마크 없이 혼자 선다. 그래서 **심볼 높이(30)가 아니라 세로형 높이**를
   받는다 — 30px 를 주면 2줄 락업(포레스트카라반·TIGER CAMPING·캠프운악)이 줄당 15px 로 눌려 안 읽힌다.
   폭 상한은 gnb 를 지킨다: 없으면 거북바위(7.06)가 310px 를 먹는다.
   **크기는 상자가 지고 안쪽은 object-fit:contain 으로 맞춘다.** height:auto 를 주면 안 된다 —
   인라인 SVG 는 고유 높이가 없어서 0 으로 붕괴하고 헤더가 통째로 빈다(2026-08-10 더비치 회귀). */
.logo.is-logotype .wordmark{display:none}
.logo.is-logotype .logo-mark{flex:0 1 auto; min-width:0; height:44px; max-width:240px}
.logo.is-logotype .logo-mark svg,.logo.is-logotype .logo-mark img{height:100%; width:100%; max-width:100%; object-fit:contain; object-position:left center}
/* 세로형 락업 — 같은 높이를 주면 안에 든 글자가 뭉갠 자국이 된다(2026-08-10 더비치 실측). */
.logo .logo-mark.is-tall svg,.logo .logo-mark.is-tall img{height:44px}
/* 상호 크기·자간은 A 값(19px / .06em). 서체는 hu 그대로 Pretendard 다 —
   A 의 Noto Serif KR 까지 가져오면 단어 하나 때문에 웹폰트 의존이 생기고,
   모바일 42vw 클램프에서 상호가 말줄임으로 잘렸다(lint:design W2 실측). */
.logo .wordmark{font-size:19px; letter-spacing:.06em; white-space:nowrap; line-height:1.15}
.logo .wm-lead{font-weight:600}
/* 업종어는 이름이 아니다 — 굵기와 색으로 한 단 낮춘다. 자간은 안 건드린다(한글 음수 자간은 body 것만). */
.logo .wm-tail{font-weight:500; color:var(--ink-soft); margin-left:.14em}
.gnb{display:flex;gap:26px}
.gnb a{font-size:14px;letter-spacing:.06em;padding:6px 2px;border-bottom:1px solid transparent;transition:border-color .2s}
.gnb a:hover,.gnb a.active{border-bottom-color:var(--ink)}
.head-cta{display:flex;gap:8px}
.pill-cta{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 18px;border-radius:var(--r-pill);font-size:14px;font-weight:600;transition:background .2s,color .2s,border-color .2s}
.pill-line{border:1px solid #222;background:transparent}
.pill-line:hover{background:#191919;color:#fff}
.pill-solid{background:#191919;color:#fff}
.pill-solid:hover{background:#000}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px auto}

/* 우측 플로팅 퀵바 — 도너 r_quickmenu 실측 동형: 40×40 아이콘만, 라벨은 좌측 플라이아웃 툴팁 */
.quickbar{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:40;background:#282828;color:#fff;border-radius:10px;padding:9px 8px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 17px rgba(0,0,0,.3)}
.qb-item{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:5px;transition:background .3s}
.qb-item:hover{background:#444}
.qb-item svg{width:20px;height:20px}
.qb-item span{position:absolute;right:calc(100% + 19px);top:50%;padding:5px 12px;border-radius:5px;background:#444;font-size:13px;line-height:1.4;white-space:nowrap;transform:translateY(-50%) scale(0);transform-origin:center right;opacity:0;transition:.15s ease;pointer-events:none}
.qb-item span:before{content:"";position:absolute;right:-5px;top:50%;width:12px;height:12px;border-radius:3px;background:#444;transform:translateY(-50%) rotate(45deg)}
.qb-item:hover span,.qb-item:focus-visible span{transform:translateY(-50%) scale(1);opacity:1}

/* 홈 배너 — 도너 실측: 컨테이너 좌우 120px 패딩·웜그레이 바탕, 2컬럼(각 50%-10px)·거터 20px,
   좌 mainVisual 865px 페이드, 우상 갤러리 328px 슬라이드, 우하 링크 카드(소2+대1, hover 0.45s) */
.home .site-head{background:var(--band);border-bottom:0}
.banner{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px clamp(20px,8.3vw,120px);background:var(--band)}
.banner.bn-solo{grid-template-columns:1fr}
/* 다크 스테이지(#111) — hero-fade 와 동형. 사진(inset 0, cover)이 전면을 덮어 렌더에는 안 보이지만,
   사진 위 흰 카피·페이저의 배경 판정(D13)이 바깥 웜그레이 띠로 오판되는 걸 막는다(실배경은 사진/다크). */
.bn-visual{position:relative;overflow:hidden;border-radius:var(--r-card);height:865px;background:#111}
.bv-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}
.bv-slide.on{opacity:1}
.bv-img{width:100%;height:100%;object-fit:cover}
.bn-copy{position:absolute;left:clamp(24px,4vw,60px);right:24px;top:52%;z-index:3;color:#fff;pointer-events:none}
.bn-copy h1{font-size:clamp(24px,2.9vw,41px);font-weight:800;line-height:1.35;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.bn-copy p{margin-top:14px;font-size:14px;line-height:1.7;color:rgba(255,255,255,.77);text-shadow:0 1px 6px rgba(0,0,0,.5)}
.bn-timeline{position:absolute;left:clamp(24px,4vw,60px);bottom:clamp(48px,7vw,100px);width:min(230px,40%);height:1px;background:rgba(255,255,255,.3);z-index:3}
/* 진행바는 transform(scaleX)로 찬다 — width 트랜지션은 D13 layout-transition(리플로 애니) 텔. 픽셀 동일(1px 솔리드 바). */
.bn-progress{position:absolute;left:0;bottom:0;height:1px;width:100%;background:#fff;transform:scaleX(0);transform-origin:0 50%}
.bn-pager{position:absolute;left:calc(100% + 16px);bottom:-8px;color:#fff;font-size:14px;font-weight:500;letter-spacing:2px;white-space:nowrap}
.bn-side{display:flex;flex-direction:column;gap:20px;height:865px}
.bn-gallery{position:relative;overflow:hidden;border-radius:var(--r-card);flex:0 0 328px}
.bg-track{display:flex;height:100%;transition:transform 1s ease}
.bg-slide{flex:0 0 100%;height:100%}
.bg-img{width:100%;height:100%;object-fit:cover}
.bn-gdots{position:absolute;right:30px;bottom:22px;display:flex;align-items:center;gap:6px;z-index:2}
.bn-gdot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:#fff;opacity:.5;cursor:pointer;transition:all .2s}
.bn-gdot.on{width:23px;border-radius:30px;opacity:1}
.bn-links{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:20px;min-height:0}
.bn-link{position:relative;overflow:hidden;border-radius:var(--r-card);background:#fff;display:block}
.bn-link.bl-tall{grid-column:2;grid-row:1/3}
.bl-bg{position:absolute;inset:0;transition:opacity .45s ease}
.bl-img{width:100%;height:100%;object-fit:cover}
.bl-txt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;z-index:1;padding:14px;letter-spacing:-.3px}
.bl-txt strong{font-size:clamp(18px,1.9vw,27px);font-weight:800;color:#222;opacity:0;transform:translateY(-100%);transition:all .45s ease}
.bn-link:hover .bl-bg,.bn-link:focus-visible .bl-bg{opacity:.1}
.bn-link:hover .bl-txt strong,.bn-link:focus-visible .bl-txt strong{opacity:1;transform:none}
@media (hover:none){
  /* 스크림 .3→.45 — 백 카드 합성 기준 흰 27px 볼드 3.36:1(하한 3). .3은 2.1:1로 D13 미달(2026-08-11 실측) */
  .bl-txt{background:rgba(0,0,0,.45)}
  .bl-txt strong{color:#fff;opacity:1;transform:none;text-shadow:0 1px 6px rgba(0,0,0,.5)}
}
@media (prefers-reduced-motion: no-preference){
  .bn-visual{animation:bn-in-r 1s ease both}
  .bn-side{animation:bn-in-l 1s ease both}
  @keyframes bn-in-r{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:none}}
  @keyframes bn-in-l{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:none}}
}
.banner-empty{display:flex;align-items:center;justify-content:center;min-height:50vh;background:var(--band)}

/* 서브헤더 — anmyeondo an-subheader 실측: 풀폭 aspect 4(1024↓ 2.7 · 768↓ 19/8)·max 480px,
   중앙 타이틀 48px/700/#fff, 어두운 오버레이. 라벨은 한글(계승거부) */
.subhead{position:relative;width:100%;aspect-ratio:4;max-height:480px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.sh-scrim{position:absolute;inset:0;background:rgba(0,0,0,.3)}
.subhead-flat{aspect-ratio:auto;max-height:none;padding:64px 20px 40px;background:var(--band);color:var(--ink)}
.sh-txt{position:relative;z-index:1}
.sh-intro{font-size:15px;opacity:.9;margin-bottom:8px}
.sh-txt h1{font-size:clamp(28px,3.3vw,48px)}
/* 도너 실측 타이틀 오버레이(D6 니들) — 상속값(.subhead color:#fff, h1 700) 재선언이라 픽셀 동일 */
.subhead:not(.subhead-flat) .sh-txt h1{color:#fff;font-weight:700}
.tabstrip{display:flex;justify-content:center;gap:6px;border-bottom:1px solid var(--line);padding:0 16px;overflow-x:auto;background:#fff}
.tabstrip a{padding:16px 18px;font-size:16px;white-space:nowrap;border-bottom:2px solid transparent;transition:border-color .2s;color:var(--ink-soft)}
.tabstrip a:hover{color:var(--ink)}
.tabstrip a.active{border-bottom:2px solid #191919;color:var(--ink);font-weight:700}
/* 본문 리듬 — an-canvas-1400: 1400px 중앙 · 섹션 간 120px(모바일 72px) */
.sub-body{max-width:1400px;margin:0 auto;padding:clamp(64px,8.3vw,120px) 40px;display:grid;gap:clamp(72px,8.3vw,120px)}
.sub-body h2{font-size:26px}
.sub-body h3{font-size:20px}

/* 풀블리드 페이드 슬라이더 — an-hero-fade 계승변형: 레퍼 실측은 PC 100vh이나 오너 지시(2026-08-11)로
   18/7 비율(≈FHD에서 740px 상한)로 축소. 크로스페이드 0.5s 수동, 페이저 좌하 + 원형 화살표 36px 우하 */
.hero-fade{position:relative;height:auto;aspect-ratio:18/7;max-height:740px;overflow:hidden;background:#111}
.hf-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease}
.hf-slide.on{opacity:1}
.hf-img{width:100%;height:100%;object-fit:cover}
.hf-ttl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;pointer-events:none}
.hf-ttl h1{font-size:clamp(26px,2.5vw,34px);text-shadow:1px 1px 2px rgba(0,0,0,.35)}
.hf-pager{position:absolute;left:6%;bottom:7.2%;color:#fff;font-size:15px;letter-spacing:2px;z-index:2;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.hf-btns{position:absolute;right:6%;bottom:6%;display:flex;gap:15px;z-index:2}
.hf-btn{width:36px;height:36px;border:1px solid #ccc;border-radius:50%;background:transparent;color:#fff;font-size:18px;cursor:pointer;transition:background .2s,color .2s}
.hf-btn:hover{background:#fff;color:#222}

/* 본문 공통 */
.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.grid-2col p{margin-top:12px;color:var(--ink-soft)}
.plan-sec{display:grid;gap:16px;justify-items:center}
.plan-img{max-width:900px;width:100%;border-radius:var(--r-card)}
/* 캡션은 전폭 그리드 아래에 놓여 900px 이미지폭까지 늘어난다 — D13 line-length 가 문다(2026-08-11 가평글램트리 실측 ~130자/줄). */
.plan-cap{font-size:15px;color:var(--ink-soft);max-width:40em;text-align:center}
.photo-empty{display:flex;align-items:center;justify-content:center;background:var(--band);color:var(--ink-soft);font-size:14px;min-height:180px;border-radius:var(--r-card);padding:16px}
.empty-note{color:var(--ink-soft)}

/* 소개 — anmyeondo about 동형: 교차 행(사진 16:9 + 텍스트, 대향 진입) + 3열 갤러리 + 지도 띠 */
.about-row{display:flex;gap:4%;align-items:center}
.about-row.rev .ar-media{order:2}
.ar-media{flex:1;min-width:0}
.ar-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-card)}
.ar-txt{flex:1;min-width:0}
.ar-txt h2{font-size:clamp(28px,3.3vw,44px);color:var(--ink-soft);line-height:1.2;margin-bottom:18px}
.ar-txt p{color:var(--ink-soft);margin-bottom:26px}
.ar-links{display:flex;gap:14px}
.about-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ag-cell{overflow:hidden;border-radius:var(--r-card)}
.ag-img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .45s}
.ag-cell:hover .ag-img{transform:scale(1.03)}
/* 오시는길 띠 — an-map-band 실측: #f8f8f8, 지도 1.5 : 표 1 */
.about-map{background-color:#f8f8f8;padding:clamp(64px,8.3vw,120px) 40px}
.am-in{max-width:1400px;margin:0 auto;display:flex;gap:5%;align-items:flex-start}
.am-map{flex:1.5;min-width:0}
.am-map iframe{width:100%;aspect-ratio:3/2;border:0;border-radius:var(--r-card)}
.am-info{flex:1;min-width:0}
.am-info h2{padding-bottom:16px;border-bottom:1px solid #222;margin-bottom:6px}
.am-dl{display:grid;grid-template-columns:110px 1fr;gap:0 18px}
.am-dl dt{font-weight:700;padding:14px 0;border-bottom:1px solid #ddd}
.am-dl dd{color:var(--ink-soft);padding:14px 0;border-bottom:1px solid #ddd}
.am-links{margin-top:22px;display:flex;gap:10px}

/* 구역 목록 — an-portrait-card 실측: 3열 gap 16px, 3:4 세로 사진, 하단 오버레이, 전체 앵커 */
.zone-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.zone-card{position:relative;display:block;border-radius:var(--r-card);overflow:hidden}
.zc-img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .3s}
.zone-card:hover .zc-img{transform:scale(1.005)}
.zc-ovl{position:absolute;left:0;right:0;bottom:0;padding:60px 20px 20px;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.2) 70%,transparent);color:#fff;transition:background-color .3s}
/* 사진 미확보 카드 — 균일 스크림(합성 5.7:1). 그라데이션은 사진 전제라 밴드 플레이스홀더 위에선 글자가 뜬다 */
.zc-ovl.zc-flat{background:rgba(0,0,0,.6)}
.zc-ovl h2{font-size:24px;margin-bottom:6px}
.zc-info{display:flex;gap:10px;font-size:14px;opacity:.9}
.spec-pills{display:flex;flex-wrap:wrap;gap:6px}
.spec-pill{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:100%;border:1px solid var(--line);border-radius:var(--r-pill);padding:4px 12px;font-size:13px;color:var(--ink-soft);background:#fff}
.spec-pill b{color:var(--ink);font-weight:700}
/* 구역 상세 — 레퍼 room 2단: 좌 대표사진+버튼 / 우 정보 헤더(border-top #222)+아코디언 */
.zone-cols{display:flex;gap:5%;align-items:flex-start}
.zl-col{flex:1;min-width:0}
.zl-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-card);margin-bottom:22px}
.zl-links{display:flex;gap:12px;justify-content:flex-end}
.zr-col{flex:1;min-width:0}
.zi-head{border-top:1px solid #222;padding:20px 0 14px}
.zi-head h2{font-size:30px}
.zr-col .spec-pills{padding:0 0 18px;border-bottom:1px solid #ddd;margin-bottom:4px}
.zi-acc{border-bottom:1px solid #ddd}
.zi-acc summary{padding:16px 8px;font-weight:700;cursor:pointer;list-style:none;position:relative}
.zi-acc summary::after{content:"⌄";position:absolute;right:10px;transition:transform .2s}
.zi-acc[open] summary::after{transform:rotate(180deg)}
.zi-acc p,.zi-acc ul{padding:0 8px 18px;color:var(--ink-soft)}
.zone-gallery.zg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.zg-cell{overflow:hidden;border-radius:var(--r-card)}
.zg-timg{width:100%;aspect-ratio:16/9;object-fit:cover}
.zone-gallery.zg-strip{display:grid;gap:10px}
.zg-strip .zg-photo{width:100%;border-radius:var(--r-card)}
.price-table{width:100%;border-collapse:collapse}
.price-table th,.price-table td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;font-size:16px}
.price-table th{width:40%;font-weight:600;color:var(--ink-soft)}
.price-note{margin-top:10px;font-size:14px;color:var(--ink-soft)}
.zone-price,.zone-others{display:grid;gap:16px}
.zone-price-call p{color:var(--ink-soft)}
.zone-price-call .pill-cta{justify-self:start}
.zone-etc{list-style:none;display:grid;gap:8px;color:var(--ink-soft)}
.zone-etc li{padding-left:14px;position:relative}
.zone-etc li::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;border-radius:50%;background:var(--ink)}
.zone-cta{display:flex;gap:12px;justify-content:center;padding:10px 0 0}

/* 부대시설 — an-zigzag 실측: 세로 1열, 사진 16:9 + 보더 박스 텍스트 50:50, 짝수 행 반전, 번호 01/0N */
.fac-zig{display:flex;flex-direction:column;row-gap:16px}
.fz-card{display:flex;column-gap:16px;text-align:center}
.fz-card.rev .fz-media{order:2}
.fz-media{flex:1;min-width:0}
.fz-img{width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-card)}
.fz-box{flex:1;min-width:0;border:1px solid #ddd;border-radius:var(--r-card);display:flex;flex-direction:column;justify-content:center;align-items:center;row-gap:16px;padding:50px}
.fz-idx{font-weight:700;opacity:.6;font-size:15px}
.fz-box h2{font-size:24px}
.fz-info{color:var(--ink-soft);line-height:1.9}
.fac-list dl{display:grid;grid-template-columns:160px 1fr;gap:10px 18px;margin-top:14px}
.fac-list dt{font-weight:700}
.fac-list dd{color:var(--ink-soft)}

/* 서비스·주변여행 — an-box-slide 실측: 페이드 스테이지 + 항목명 버튼 그리드 페이지네이션 */
.ms-pages{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:28px}
.ms-page{font:inherit;font-size:15px;padding:12px 8px;border:1px solid #ddd;background:#fff;color:#222;cursor:pointer;transition:background .3s,color .3s;border-radius:var(--r-card)}
.ms-page:hover{background:#f4f4f4}
.ms-page.on{background:#222;color:#fff}
.ms-stage{position:relative}
.ms-slide{display:none}
.ms-slide.on{display:flex;column-gap:5%;animation:ms-fade .3s ease}
@keyframes ms-fade{from{opacity:0}to{opacity:1}}
.ms-media{flex:7;min-width:0}
.ms-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-card)}
.ms-panel{flex:5;min-width:0;background:#fff;padding:24px 0;display:flex;flex-direction:column;justify-content:center}
.ms-panel h2{font-size:30px;margin-bottom:10px}
.ms-dist{font-size:15px;font-weight:600;margin-bottom:16px}
.ms-info{color:var(--ink-soft);line-height:1.9;white-space:pre-line}
/* 출처 줄(법적 표기)도 대비 하한을 지킨다 — #999 는 백 위 2.9:1, 흰 .55 는 오버레이 위 4.3:1로 D13 미달(2026-08-11 실측) */
.ms-credit{margin-top:auto;padding-top:14px;font-size:12px;color:#767676}
.ms-ovl .ms-panel .ms-credit{color:rgba(255,255,255,.8)}
.ms-ovl.alt .ms-panel .ms-credit{color:#767676}
.ms-btns{position:absolute;right:12px;bottom:12px;display:flex;gap:15px;z-index:2}
.ms-btn{width:44px;height:44px;border-radius:50%;border:1px solid #ccc;background:transparent;color:#222;font-size:19px;cursor:pointer;transition:background .2s,color .2s}
.ms-btn:hover{background:#222;color:#fff}
/* overlay 모드(travels) — 텍스트가 사진 위 우측 50%, backdrop brightness(.3). 텍스트 과길이 시 .alt 로 강등 */
.ms-ovl .ms-slide.on{display:block;position:relative}
.ms-ovl .ms-media{width:100%}
.ms-ovl .ms-panel{position:absolute;top:0;right:0;width:50%;height:100%;padding:50px;background:transparent;color:#fff;backdrop-filter:brightness(0.3);border-radius:0 var(--r-card) var(--r-card) 0;overflow:hidden}
.ms-ovl .ms-panel .ms-info{color:rgba(255,255,255,.85)}
.ms-ovl .ms-btns{color:#fff}
.ms-ovl .ms-btn{color:#fff}
.ms-ovl .ms-btn:hover{background:#fff;color:#222}
.ms-ovl.alt .ms-slide.on{display:flex;column-gap:5%}
.ms-ovl.alt .ms-panel{position:static;width:auto;height:auto;padding:24px 0;background:#fff;color:var(--ink);backdrop-filter:none}
.ms-ovl.alt .ms-panel .ms-info{color:var(--ink-soft)}
.ms-ovl.alt .ms-btn{color:#222}
.ms-rest dl,.ms-textlist dl{display:grid;grid-template-columns:200px 1fr;gap:12px 18px;margin-top:14px}
.ms-rest dt,.ms-textlist dt{font-weight:700}
.ms-rest dd,.ms-textlist dd{color:var(--ink-soft)}

/* 예약안내 — 레퍼 번호 원형 배지(01~04) 동형 */
.rsv-sec{display:grid;gap:16px}
.rs-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#222;color:#fff;font-size:15px;font-weight:600;margin-right:12px;vertical-align:middle}
.rsv-dl{display:grid;grid-template-columns:140px 1fr;gap:12px 18px}
.rsv-dl dt{font-weight:700}
.rsv-dl dd{color:var(--ink-soft)}
.rsv-cta{display:flex;gap:12px;flex-wrap:wrap}
.refund-table{max-width:520px}

/* 달력 — 상태색 청록/주황은 여기서만(hu-calendar-accent) */
.cal-notice{max-width:1100px;margin:26px auto 0;padding:14px 18px;background:var(--band);border-radius:var(--r-card);font-size:15px}
.cal-notice a{font-weight:700;text-decoration:underline}
.cal-wrap{display:grid;gap:18px}
.cal-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.cal-zone-label{font-size:15px;display:flex;gap:8px;align-items:center}
.cal-zone-label select{font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff}
.cal-nav{display:flex;align-items:center;gap:14px}
.cal-nav button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:19px;cursor:pointer;transition:background .2s}
.cal-nav button:hover{background:var(--band)}
.cal-nav strong{font-size:19px;min-width:120px;text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-dow{text-align:center;font-size:13px;color:var(--ink-soft);padding:6px 0}
.cal-day{min-height:74px;border:1px solid var(--line);border-radius:var(--r-card);padding:6px;font-size:13px;display:flex;flex-direction:column;gap:4px;background:#fff}
.cal-day.out{opacity:.35}
.cal-day .st{margin-top:auto;font-size:11px;border-radius:var(--r-pill);padding:2px 7px;align-self:flex-start}
.st-available{background:rgba(0,153,153,.12);color:#009999}
.st-hold{background:rgba(255,167,0,.14);color:#a86a00}
.st-booked{background:rgba(0,0,0,.08);color:var(--ink-soft)}
.st-call{background:var(--band);color:var(--ink-soft)}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft)}
.lg::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.lg-avail::before{background:var(--teal)}
.lg-hold::before{background:var(--amber)}
.lg-booked::before{background:#999}
.lg-call::before{background:#ccc}

/* 푸터 — 웜그레이 띠(hu-warmgrey-band) */
/* 푸터 — 도너 sh_ft 동형: 웜그레이 센터 블록 + 백색 카피 바(15px 패딩).
   보조 텍스트는 도너 실측 #888 이 13px 에서 3.1~3.5:1로 WCAG AA(4.5:1) 미달(D13 하드) —
   각 배경에서 4.5:1을 정확히 넘는 가장 밝은 회색으로 상향: 밴드(#f1f0ee) 위 #6d6d6d=4.54,
   백(#ffffff) 위 #767676=4.54. 이 두 값만 승인 룩에서 픽셀이 미세하게 다르다(게이트 차단 해소). */
.site-footer{background-color:#f1f0ee}
.foot-in{padding:56px 20px;text-align:center;font-size:13px;color:#6d6d6d;letter-spacing:-.3px;line-height:1.9}
.foot-name{font-weight:800;font-size:19px;color:var(--ink);margin-bottom:16px}
.foot-line a{color:#555}
.foot-copy{background:#fff;font-size:13px;color:#767676}
.fc-in{padding:15px clamp(20px,8.3vw,120px)}
.fc-in span{color:#555}

/* 푸터(홈 한정) — 2026-08-28 오너 캔버스 지시 T6. 숨색 띄 위에 3단: 상호·주소·큰 번호 / 메뉴 2열 / 이용 안내.
   하위 페이지는 <body>에 home 클래스가 없어 기존 센터형 푸터를 그대로 쓴다(마크업이 다르다).
   글자색은 숨색(#2A3A24) 위에서 전부 AA 이상이다 — 본문 #CFD6C4 8.1:1, 보조 #B9C2AB 6.5:1. */
.home .site-footer{background-color:#2A3A24}
.home .foot-in{
  max-width:1180px; margin:0 auto; padding:64px 24px 52px; text-align:left;
  font-size:14px; color:#CFD6C4; letter-spacing:-.2px; line-height:1.9;
}
.home .foot-cols{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(0,.9fr); gap:40px}
.home .foot-name{font-family:"Noto Serif KR",serif; font-weight:600; font-size:20px; color:#F4F2EC; letter-spacing:.06em; margin:0 0 14px}
.home .foot-line{margin:0; color:#CFD6C4}
.home .foot-brand{max-width:24em}
.home .foot-info{align-content:start}
.home .foot-tel{margin:16px 0 0}
.home .foot-tel a{display:inline-block; padding:8px 0; margin:-8px 0; font-size:30px; font-weight:800; line-height:1.3; letter-spacing:.02em; color:#F4F2EC; text-decoration:none}
.home .tel-num{white-space:nowrap; font-variant-numeric:tabular-nums}
.home .foot-nav{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 20px; align-content:start}
/* 손가락 44px — 글자 크기는 두고 위아래 패딩과 같은 크기의 음수 마진으로 누르는 면만 넓힌다. */
.home .foot-nav a{display:block; padding:9px 0; margin:-3px 0; font-size:15px; color:#E4E7DA; text-decoration:none}
.home .foot-nav a:hover,.home .foot-nav a:focus-visible{color:#FFFFFF; text-decoration:underline; text-underline-offset:4px}
.home .foot-info__head{margin:0 0 10px; font-size:15px; font-weight:700; color:#F4F2EC}
.home .foot-biz{margin:36px 0 0; padding-top:20px; border-top:1px solid rgba(244,242,236,.18); font-size:13px; color:#B9C2AB}
.home .foot-copy{background:#22301D; color:#AEB8A2}
.home .fc-in{max-width:1180px; margin:0 auto; padding:15px 24px}
.home .fc-in span{color:#E4E7DA}
@media (max-width:860px){
  .home .foot-in{padding:48px 20px 40px}
  .home .foot-cols{grid-template-columns:minmax(0,1fr); gap:32px}
  .home .fc-in{padding:15px 20px}
}

/* 진입 페이드 — hu-entry-fade + anmyeondo 방향 변형(lr 좌→우 / rl 우→좌). 스크럽/패럴럭스 없음.
   롱핸드 표기 = 스펙 선언값 "transition-duration: 0.45s" 그대로(숏핸드 .45s 와 픽셀 동일 — D6 니들) */
.fade-init [data-fade]{opacity:0;transform:translateY(12px);transition-property:opacity,transform;transition-duration:0.45s;transition-timing-function:ease-out}
.fade-init [data-fade] [data-fade-lr]{opacity:0;transform:translateX(-24px);transition-property:opacity,transform;transition-duration:0.45s;transition-timing-function:ease-out}
.fade-init [data-fade] [data-fade-rl]{opacity:0;transform:translateX(24px);transition-property:opacity,transform;transition-duration:0.45s;transition-timing-function:ease-out}
.fade-init [data-fade].in,.fade-init [data-fade].in [data-fade-lr],.fade-init [data-fade].in [data-fade-rl]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .fade-init [data-fade],.fade-init [data-fade] [data-fade-lr],.fade-init [data-fade] [data-fade-rl]{opacity:1;transform:none;transition:none}
  .bv-slide,.bg-track,.bl-bg,.bl-txt strong,.hf-slide{transition:none}
  .ms-slide.on{animation:none}
}

/* D5 명시 정의 — hu.js(외부 스크립트)가 잡는 훅·표기 클래스. 외부 JS 는 게이트의 스크립트 훅 수집
   대상이 아니라 CSS 정의가 없으면 "미정의 클래스"가 된다. letter-spacing 은 상속이 기본이라 렌더 무변. */
.cur,.figure,.mslide,.ms-pnl,.ms-prev,.ms-next,.hf-prev,.hf-next{letter-spacing:inherit}

/* D13 line-length — 전폭 안내 슬롯의 장문이 한 줄 80자를 넘지 않게 측정폭 상한(40em ≈ 80자/줄).
   짧은 글은 그대로(폭이 내용을 못 넘음), 게이트가 문 장문(예: 환불 비고 189자/줄)만 접힌다. */
.price-note,.rsv-dl dd,.fac-list dd,.ms-rest dd,.ms-textlist dd{max-width:40em}

@media (max-width:900px){
  .site-head{height:60px;padding:0 16px;gap:12px}
  .logo .logo-mark{display:none}
  /* 긴 상호는 **줄인다**(원장은 안 건드린다). 워드마크는 데스크톱에서 nowrap 인데, 폰 헤더는
     로고 + 햄버거 + 필 CTA 2개가 같은 줄에 서서 남는 폭이 얼마 없다. flex:none 인 채로 두면
     42자 상호(네츄럴밸리 풀램핑 4계절온수풀)가 그대로 밀고 나가 noHorizontalOverflow 가 전 라우트를
     막는다(2026-08-11 실측). **상호를 짧게 고치는 건 원장 훼손이다** — 화면이 줄여야 한다. */
  .logo{flex:0 1 auto; min-width:0}
  /* 좁은 화면에서는 자간을 되돌린다 — 42vw(360px 에서 151px) 안에 상호가 들어가야 한다. */
  .logo .wordmark{font-size:16px; letter-spacing:normal; min-width:0; max-width:42vw; overflow:hidden; text-overflow:ellipsis}
  .logo.is-long .wm-tail{display:none}
  /* 데스크톱에서 감췄던 워드마크를 폰에서 되살린다 — 마크를 숨겨도 상호가 남는 유일한 길이다. */
  .logo.is-logotype .wordmark{display:inline}
  .gnb{position:fixed;inset:60px 0 auto 0;background:#fff;flex-direction:column;gap:0;padding:8px 0;border-bottom:1px solid var(--line);display:none}
  .gnb.open{display:flex}
  .gnb a{padding:14px 20px;border-bottom:0}
  .nav-toggle{display:block;margin-left:auto}
  .head-cta{margin-left:auto}
  /* 계승변형 — 필 높이 38은 도너 실측(PC 유지), 모바일만 44: WORKFLOW 손가락 하드룰(auditMobile telTargetSane 44×44) */
  .head-cta .pill-cta{height:44px;padding:0 14px;font-size:13px}
  .nav-toggle{margin-left:0}
  .banner{grid-template-columns:1fr;gap:16px;padding:12px 16px 40px}
  .bn-visual{height:62svh;min-height:420px}
  .bn-side{height:auto;min-height:0;gap:16px}
  .bn-gallery{flex:0 0 240px}
  .bn-links{grid-template-rows:repeat(2,170px)}
  .bn-copy{top:auto;bottom:96px}
  .bn-timeline{bottom:56px}
  .quickbar{top:auto;bottom:0;right:0;left:0;transform:none;flex-direction:row;justify-content:space-around;border-radius:0;padding:6px 4px;box-shadow:none}
  /* 계승변형 — 퀵바 아이콘 40×40은 도너 실측(PC 유지), 모바일 탭타깃만 44 하한(손가락 하드룰) */
  .qb-item{width:auto;height:auto;min-height:44px;flex:1;flex-direction:column;justify-content:center;gap:3px;border-radius:0}
  .qb-item svg{width:20px;height:20px}
  .qb-item span{position:static;transform:none;opacity:1;background:none;padding:0;font-size:11px;pointer-events:auto}
  .qb-item span:before{display:none}
  body{padding-bottom:64px}
  .grid-2col{grid-template-columns:1fr}
  .zone-list{grid-template-columns:1fr}
  .sub-body{padding:48px 16px 72px;gap:72px}
  .subhead{aspect-ratio:19/8;max-height:none}
  /* width:100% 명시 — auto 폭 + aspect-ratio 박스는 min-height:320 이 min-width 512로 "전이"되어
     390 뷰포트를 가로로 뚫는다(2026-08-11 실측: about·구역 상세 scrollWidth 512). 폭을 못박으면 전이가 없다 */
  .hero-fade{height:auto;width:100%;aspect-ratio:16/10;min-height:320px}
  .about-row,.about-row.rev{flex-direction:column;gap:20px}
  .about-row.rev .ar-media{order:0}
  .about-gal{grid-template-columns:1fr}
  .about-map{padding:48px 16px 72px}
  .am-in{flex-direction:column;gap:32px}
  .am-map iframe{aspect-ratio:7/8}
  .zone-cols{flex-direction:column;gap:28px}
  .zl-links{justify-content:flex-start}
  .zone-gallery.zg-grid{grid-template-columns:1fr}
  .fz-card,.fz-card.rev{flex-direction:column;row-gap:16px}
  .fz-card.rev .fz-media{order:0}
  .fz-box{padding:32px 20px}
  .ms-pages{grid-template-columns:repeat(2,1fr)}
  .ms-slide.on,.ms-ovl .ms-slide.on,.ms-ovl.alt .ms-slide.on{display:flex;flex-direction:column;row-gap:20px}
  .ms-ovl .ms-panel{position:static;width:auto;height:auto;padding:0;background:#fff;color:var(--ink);backdrop-filter:none}
  .ms-ovl .ms-panel .ms-info{color:var(--ink-soft)}
  /* 모바일 출처 줄은 본문과 같은 #444 — 12px 가는 글자는 픽셀 실측이 안티에일리어싱 때문에
     명목 대비보다 낮게 나온다(#767676 명목 4.5 → 실측 3.1, 2026-08-11). 여유가 있는 잉크로 */
  .ms-ovl .ms-panel .ms-credit{color:var(--ink-soft)}
  .ms-ovl .ms-btn{color:#222}
  .ms-btns{position:static;justify-content:flex-end;margin-top:4px}
  .ms-rest dl,.ms-textlist dl{grid-template-columns:1fr;gap:2px 0}
  .ms-rest dd,.ms-textlist dd{margin-bottom:10px}
  .rsv-dl,.am-dl,.fac-list dl{grid-template-columns:1fr;gap:2px 0}
  .rsv-dl dd,.fac-list dd{margin-bottom:10px}
  .am-dl dt{border-bottom:0;padding:10px 0 0}
  .am-dl dd{padding:2px 0 10px}
  .cal-day{min-height:56px}
}

/* ══ 홈 본문 4절 — A(sudong-zion-home)에서 옮겨온 섹션 ══════════════════════════
   오너가 지목한 네 덩어리(신뢰띠·정책·개울사진·오시는 길)를 hu 홈의 퀵바와 푸터 사이에 넣는다.
   A 의 팔레트(#D9D5C9 선, #2A3A24 잉크)는 hu 의 --line/--ink 와 값이 다르다. hu 전역 토큰을
   덮으면 배너·서브페이지가 같이 흔들리므로 **`.home-body` 안에서만** 따로 선언한다.
   규칙 값은 A 원문 그대로다 — 오너가 마음에 든다고 한 게 그 여백과 그 크기다. */
.home-body{
  --a-line:#D9D5C9; --a-forest:#2A3A24; --a-moss:#4E6B3D; --a-sub:#5E6456; --a-body:#3A4034;
  --a-mw:1180px; --a-serif:"Noto Serif KR",serif;
  background:#F4F2EC;
}
/* A 에는 있고 hu 에는 없는 전역 규칙이다. 이게 없으면 `height="827"` 같은 HTML 속성이
   그대로 사용되어, 폭만 100% 로 줄어든 지도가 세로로 늘어난다(실측: 1400×827 지도가
   533×827 로 렌더됐다). hu 전역을 건드리면 배너 슬라이드가 같이 죽어 홈 본문에만 건다. */
.home-body img{max-width:100%; height:auto; display:block; border-radius:2px}
.home-body .wrap{max-width:var(--a-mw); margin:0 auto; padding:0 24px}
.home-body .sec{padding:88px 0; border-top:1px solid var(--a-line)}
.home-body .sec--bleed{padding-bottom:0}
.home-body .sec__head{
  font-family:var(--a-serif); font-weight:600; font-size:16px;
  letter-spacing:.1em; color:var(--a-forest); margin:0 0 28px;
}
.home-body .prose{color:var(--a-body); line-height:1.9; font-size:16px; margin:0}
.home-body .prose--sub{color:var(--a-sub)}
.home-body .lede{margin:0; font-size:19px; line-height:1.75; color:var(--a-body); max-width:27em; text-wrap:pretty}

/* 신뢰띠 — 칸 왼쪽 세로선이 곧 그 작대기다. 데스크톱 4열, 좁아지면 2열. */
.home-body .strip{border-top:1px solid var(--a-line); padding:40px 0}
.home-body .trust{margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px}
.home-body .trust__item{border-left:1px solid var(--a-line); padding-left:18px}
.home-body .trust dt{font-family:var(--a-serif); font-size:15px; font-weight:500; color:var(--a-forest); line-height:1.6}

/* 정책 */
.home-body .policy{background:#EDEAE0}
.home-body .policy__head{
  font-family:var(--a-serif); font-size:clamp(22px,2.4vw,30px);
  font-weight:600; color:var(--a-forest); margin:0 0 22px; line-height:1.6;
}
.home-body .policy__lines{margin:0; padding:0; list-style:none; max-width:40em}
.home-body .policy__lines li{padding-left:20px; position:relative; margin-bottom:10px; font-size:17px; color:var(--a-body); line-height:1.9}
.home-body .policy__lines li::before{content:""; position:absolute; left:0; top:15px; width:9px; height:1px; background:var(--a-moss)}
.home-body .policy__note{margin-top:24px; font-size:14px; color:var(--a-sub); max-width:40em; line-height:1.9}

/* 개울 사진 — 풀블리드 한 장 */
.home-body .band{margin:0}
.home-body .band img{width:100%; object-fit:cover; display:block}
.home-body .band--full img{height:420px}

/* 오시는 길 — 제목과 지도 배치를 다시 잡았다(2026-08-28 오너 캔버스 지시 T1·T2).
   제목은 16px 속생이었던 걸 키우되, 세로쓰기는 걷어내고 가로로 한 줄에 눕힌다(2026-08-28 오너 재지시 —
   세로로 세우니 한 글자씩 떨어져 읽기 불편했다). 크기는 가로 한 줄이 편하도록 줄였다.
   지도는 래핑 밖으로 띄워 화면 오른쪽 끝까지 흘려보낸다. 사진 위에 글자를 올리지는 않았다(저대비 결함 방지). */
.home-body .two{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:flex-start}
.home-body .two--map{align-items:center; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
.home-body #access .wrap{position:relative}
.home-body #access .sec__head{font-size:clamp(34px,7.4vw,56px); letter-spacing:.04em; line-height:1.2; margin:0 0 26px}
@media (min-width:861px){
  .home-body #access{overflow:hidden}
  /* 제목과 지도를 같은 줄에서 시작시킨다(2026-08-28 오너 캔버스 재지시 T1·T2 —
     제목만 위로 떠 있던 걸 지도 윗변과 같은 라인에 맞춘다).
     래핑 자체를 2열 그리드로 쓰고, 안쪽 .two--map 은 display:contents 로 껍데기만 없애
     제목·본문은 왼쪽 열, 지도는 오른쪽 열 1행부터 붙는다. 마크업은 그대로다. */
  .home-body #access .wrap{
    display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
    column-gap:56px; align-items:start;
  }
  .home-body #access .sec__head{
    grid-column:1; grid-row:1;
    font-size:clamp(38px,3.6vw,52px); letter-spacing:.04em; line-height:1.2; margin:0 0 30px;
    white-space:nowrap; /* 가로 한 줄 유지 — 좁은 홈통에서 글자별로 쪼개지지 않게 */
  }
  .home-body #access .two--map{display:contents}
  .home-body #access .two--map > div{grid-column:1; grid-row:2}
  .home-body #access .map{
    grid-column:2; grid-row:1 / span 2; align-self:start;
    /* 래핑(1180px) 오른쪽 끝에서 화면 끝까지의 거리 = 50vw − 566px. 좁은 화면에서는 0에서 멈춘다. */
    margin-right:min(0px, calc(566px - 50vw));
  }
}
.home-body .map{margin:0}
.home-body .map img{width:100%; border:1px solid var(--a-line); display:block}
.home-body .cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px}
/* 지도 버튼 세 개는 한 줄로 세운다 — 390px에서도 줄바꿈 없게 간격·글자를 줄인다. */
.home-body .cta--row{flex-wrap:nowrap}
.home-body .btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; text-decoration:none;
  font-size:15px; letter-spacing:.06em; padding:0 26px; border-radius:2px;
  box-shadow:none; transition:opacity .3s ease-in-out; white-space:nowrap;
}
.home-body .btn--pill{border-radius:999px; border:2px solid transparent; font-weight:600; letter-spacing:.02em}
/* 지도 버튼 셋 — 2026-08-28 오너 캔버스 지시(T3~T5). 평소에는 브랜드색 띄만 남기고 속을 비우며,
   마우스를 올리거나 키보드로 짚을 때만 그 브랜드색이 안을 채운다(카카오=#FEE500, 네이버=#03C75A).
   글자색은 쉬고 있을 때도 숨기지 않고 숨색 그대로 둔다 — 크림색 바탕에서 10.85:1이다. */
.home-body .cta--row .btn{
  background:transparent; color:var(--a-forest);
  transition-property:background-color,border-color,color;
  transition-duration:0.28s; transition-timing-function:cubic-bezier(.22,1,.36,1);
}
.home-body .btn--book{border-color:var(--a-forest)}
.home-body .btn--naver{border-color:#03C75A}
.home-body .btn--kakao{border-color:#FEE500}
.home-body .btn--book:hover,.home-body .btn--book:focus-visible{background:var(--a-forest); color:#F4F2EC}
.home-body .btn--naver:hover,.home-body .btn--naver:focus-visible{background:#03C75A; border-color:#03C75A; color:#FFFFFF}
.home-body .btn--kakao:hover,.home-body .btn--kakao:focus-visible{background:#FEE500; border-color:#FEE500; color:#191919}
.home-body .btn:focus-visible{outline:2px solid var(--a-forest); outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  .home-body .cta--row .btn{transition:none}
}

@media (max-width:860px){
  .home-body .sec{padding:58px 0}
  .home-body .wrap{padding:0 20px}
  .home-body .trust{grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px}
  .home-body .two{grid-template-columns:1fr; gap:34px}
  .home-body .lede{font-size:17px}
  .home-body .band--full img{height:300px}
  .home-body .cta--row{gap:8px}
  .home-body .cta--row .btn{flex:1 1 0; padding:0 12px; font-size:14px}
}

/* 라이트박스(lightbox.js) — 2026-09-10 오너 지시: 사진 클릭 → 크게, 배경 클릭·× ·Esc → 닫기, ‹ › → 다음 사진.
   기본 hidden 이라 로드를 막지 않는다(D14 는 시간 뒤에 걷히는 오버레이만 문제). 버튼은 48px(손가락 44px 이상). */
.lb{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:rgba(10,12,10,.9)}
.lb[hidden]{display:none}
.lb-stage{position:absolute;inset:0;cursor:zoom-out}
.lb-img{position:relative;z-index:1;max-width:min(92vw,1600px);max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.6);background:#111}
.lb-btn,.lb-close{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.45);color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:background .2s}
.lb-btn:hover,.lb-close:hover,.lb-btn:focus-visible,.lb-close:focus-visible{background:#fff;color:#222;outline:none}
.lb-btn{top:50%;transform:translateY(-50%)}
.lb-prev{left:18px}
.lb-next{right:18px}
.lb-close{top:18px;right:18px;font-size:28px}
.lb-cap{position:absolute;left:0;right:0;bottom:16px;z-index:2;margin:0;text-align:center;color:#fff;font-size:14px;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.lb-cnt{margin-right:12px;letter-spacing:2px;opacity:.85}
.lb-txt{letter-spacing:inherit}
body.lb-open{overflow:hidden}
.zg-cell{display:block}
.hf-link{display:block;width:100%;height:100%;cursor:zoom-in}
/* 투명하게 겹친 슬라이드도 클릭을 받아 항상 DOM 마지막 사진이 열리던 결함(2026-09-10 헤드리스 실측) — 보이는 슬라이드만 포인터를 받는다. */
.hf-slide{pointer-events:none}
.hf-slide.on{pointer-events:auto}
.zl-link{display:block;cursor:zoom-in}
.zg-cell{cursor:zoom-in}
@media (max-width:600px){
  .lb-img{max-width:100vw;max-height:72vh;border-radius:0}
  .lb-btn{top:auto;bottom:56px;transform:none}
  .lb-prev{left:14px}
  .lb-next{right:14px}
  .lb-close{top:12px;right:12px}
  .lb-cap{bottom:14px;padding:0 80px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){ .lb-btn,.lb-close{transition:none} }

/* 부대시설 — 카드 사진도 라이트박스로 열리고, 지그재그 아래 시설 사진 갤러리(zone-gallery 격자 재사용). */
.fz-link{display:block;height:100%;cursor:zoom-in}
.fac-more{display:grid;gap:24px}
