/* 청운숲 수목원 — 사이트 CSS
   기준: analysis.json / STRUCTURE.md 실측(1424·1440px 데스크톱, 390px 모바일).
   원본처럼 글자·간격을 화면 폭에 비례(--r)시킨다: 데스크톱 1rem = 100vw/150, 모바일 = 100vw/39. */

:root{
  --c-main:#456A4B;
  --c-cream:#FFFBE7;
  --c-cream-50:#FFFBE780;
  --c-white:#FFFFFF;
  --c-offset:#A8A98F;
  --c-heavy:#686B58;
  --c-lightgreen:#EEECCF;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --font:"IBM Plex Sans KR", "IBM Plex Sans KR HM Fallback",system-ui,-apple-system,"Malgun Gothic","Apple SD Gothic Neo",sans-serif;
  --r:calc(100vw / 39);
  --header-h:72px;
  --safe-t:env(safe-area-inset-top,0px);
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-l:env(safe-area-inset-left,0px);
  --safe-r:env(safe-area-inset-right,0px);
}
@media (min-width:768px){ :root{ --r:clamp(8px, calc(100vw / 96), 10px); --header-h:calc(6.5 * var(--r)); } }
@media (min-width:1200px){ :root{ --r:calc(100vw / 150); --header-h:62px; } }

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--c-main)}
body{margin:0;min-height:100%;background:var(--c-main);color:var(--c-cream);font-family:var(--font);font-size:16px;line-height:1.5;font-weight:400;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p{margin:0}
:focus-visible{outline:2px solid var(--c-cream);outline-offset:3px}
.cw-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ───────── 머리글 (STRUCTURE #1: 고정 · 62px · 투명 · 1행 3칸) ───────── */
.cw-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:calc(var(--header-h) + var(--safe-t));
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:calc(21px + var(--safe-t)) calc(17px + var(--safe-r)) 0 calc(17px + var(--safe-l));
  color:var(--c-cream);background:transparent;
  transition:background-color .5s var(--ease-out);
}
.cw-header.is-scrolled{background:var(--c-main)}
.cw-header__menu{width:44px;height:44px;margin-left:-10px;display:grid;place-items:center;color:var(--c-cream)}
.cw-wave{width:24px;height:auto}
.cw-header__logo{position:absolute;left:50%;top:calc(20px + var(--safe-t));width:82px;transform:translateX(-50%);color:var(--c-cream);text-decoration:none}
.cw-header__logo svg{width:100%;height:auto;overflow:visible}
.cw-header__logo text{font-family:var(--font)}
.cw-header__logo-main--pc{display:none}   /* 휴대폰은 원래 자리 '청운숲' */
.cw-header__logo-sub--pc{display:none}   /* 휴대폰은 원래 자리 '수목원 · 식물원' */
.cw-header__right{display:flex;align-items:center;gap:8px;margin-top:-3px}
.cw-header__actions{display:flex;align-items:center;gap:8px}
.cw-header__inquire{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin-right:-4px;padding:0 4px;
  font-size:14px;font-weight:500;letter-spacing:.1em;line-height:1.5;text-decoration:none;color:var(--c-cream)}

@media (min-width:768px){
  .cw-header{padding:calc(1.7 * var(--r) + var(--safe-t)) calc(1.9 * var(--r) + var(--safe-r)) 0 calc(1.9 * var(--r) + var(--safe-l))}
  .cw-header__menu{margin:-8.5px 0 0 -8.5px}
  .cw-wave{width:calc(2.8 * var(--r));min-width:24px}
  .cw-header__logo{top:calc(1.7 * var(--r) + var(--safe-t) - 19px);width:calc(10.1 * var(--r))}   /* PC: 로고를 위로 19px */
  .cw-header__logo-sub{font-size:100.4px;letter-spacing:32.136px}   /* PC: '수목원 · 식물원' 글자 크기(SVG 단위) */
  .cw-header__logo-main--m{display:none}
  .cw-header__logo-main--pc{display:inline}   /* PC: '청운숲' 자리는 머리글 쪽 y 값으로 정함(지금은 원래보다 9px 아래) */
  .cw-header__logo-sub--m{display:none}
  .cw-header__logo-sub--pc{display:inline}   /* PC: '수목원 · 식물원' 아래로 4px */
  .cw-header__right{margin-top:-8.5px}
  .cw-header__inquire{font-size:15.162px;width:76.38px;min-height:50.16px;margin-right:0;padding:0}
}
/* 휴대폰 가로(폭 768 이상): PC 용 문의하기 크기가 번지지 않게 원래 값 유지 */
@media (max-height:620px) and (orientation:landscape) and (min-width:768px){
  .cw-header__inquire{font-size:calc(1.1 * var(--r));width:auto;min-height:44px}
}

/* ───────── 로딩 화면 (인트로 250~3500ms: 녹색 화면 → 잎 로고 + 점 달린 원호 회전) ───────── */
.cw-loader{display:none}
.js .cw-loader{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:var(--c-main);overflow:hidden}
.cw-loader__icon{width:56px;height:56px;grid-area:1/1;opacity:0;animation:cw-fade .6s .35s ease forwards}
.cw-loader__ring{grid-area:1/1;width:344px;height:344px;max-width:88vw;max-height:88vw;opacity:0;animation:cw-fade .6s .35s ease forwards}
.cw-loader__spin{width:100%;height:100%;animation:cw-spin 1s linear infinite}
.cw-loader__arc{width:100%;height:100%;transform-origin:50% 50%;animation:cw-rotate-fade 4s cubic-bezier(0.19,1,0.22,1) infinite}
@keyframes cw-spin{to{transform:rotate(1turn)}}
@keyframes cw-rotate-fade{0%{opacity:.3;transform:rotate(90deg)}25%{opacity:1;transform:rotate(0)}75%{opacity:1;transform:rotate(0)}100%{opacity:0;transform:rotate(0)}}
@keyframes cw-fade{to{opacity:1}}

/* 첫 화면 위 녹색 막(원본: 지도·구름·쿠키 카드까지 녹회색으로 덮였다가 서서히 걷힘) */
.cw-veil{position:fixed;inset:0;z-index:1500;background:var(--c-main);opacity:0;pointer-events:none}
.js .cw-veil{opacity:.72}

/* ───────── 히어로 (풀스크린 3D 장면 — three.js. 정지 사진은 첫 표시·움직임 줄이기용, 영상은 WebGL 불가 기기용) ───────── */
.page-home main{min-height:100svh}
/* 6쪽 구조: 장면(3D·사진·영상)과 그늘막은 화면에 고정 — 마지막 쪽까지 같은 숲 위로 글이 지나간다 */
.cw-hero{position:relative;height:100svh;min-height:540px;isolation:isolate}
.cw-hero__media{position:fixed;inset:0;z-index:0}
.cw-hero__poster,.cw-hero__video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
.cw-hero__video{opacity:0;transition:opacity .8s ease}
.cw-hero__video.is-playing{opacity:1}
.cw-hero__canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .6s ease}
.cw-hero__canvas.is-live{opacity:1}
/* 장면 색을 원본 지도 톤(짙은 숲 초록)으로 맞추는 막 — 영상·캔버스 자체엔 필터를 걸지 않는다 */
.cw-hero__tint{position:absolute;inset:0;background:var(--c-main);mix-blend-mode:soft-light;opacity:.85}
.cw-hero__marker{position:absolute;left:50%;top:49.4%;width:56px;height:56px;margin:-28px 0 0 -28px;opacity:0}
.js .cw-hero__marker{opacity:1}
.cw-hero__shade{position:fixed;inset:0;z-index:1;background:#000;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.is-ready .cw-hero__shade{opacity:.14}
.is-deep .cw-hero__shade{opacity:.24} /* 2쪽부터 글이 잘 읽히게 조금 더 어둡게 */

.cw-hero__content{position:absolute;left:0;right:0;top:37.2%;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 calc(16px + var(--safe-l)) 0 calc(16px + var(--safe-r))}
.cw-hero__eyebrow{font-size:14px;line-height:1.1;font-weight:500;letter-spacing:.2em;color:var(--c-white);padding-left:.2em}
.cw-hero__sup{display:inline-block;font-size:.62em;letter-spacing:.1em;transform:translateY(-.55em);margin-left:.1em}
.cw-hero__title{margin-top:calc(2 * var(--r));max-width:calc(30 * var(--r));font-size:calc(3.4 * var(--r));line-height:1.1;font-weight:400;letter-spacing:.2em;padding-left:.2em;color:var(--c-white)}
.cw-hero__lead{margin-top:calc(4.6 * var(--r));font-size:16px;line-height:1.25;color:var(--c-cream);text-shadow:0 1px 8px rgba(0,0,0,.35)}
.cw-hero__cta{margin-top:calc(4.7 * var(--r))}
@media (min-width:768px){
  .cw-hero__eyebrow{font-size:calc(1.4 * var(--r))}
  .cw-hero__title{margin-top:calc(3.2 * var(--r));max-width:calc(60 * var(--r));font-size:calc(4.8 * var(--r));line-height:1.12}
  .cw-hero__lead{margin-top:calc(3.5 * var(--r) - 58px);font-size:19.9px}
  .cw-hero__cta{margin-top:calc(4.8 * var(--r) - 32px)}
  .cw-hero__marker{width:calc(5.9 * var(--r));height:calc(5.9 * var(--r));margin:calc(-2.95 * var(--r)) 0 0 calc(-2.95 * var(--r))}
}
@media (min-width:1200px){ .cw-hero__title{font-size:calc(5.2 * var(--r))} }
/* 히어로 제목(글자 나눈 보이는 줄): Do Hyeon 글꼴, PC 에서 한 줄(117% 크기) — 제목 칸보다 넓어도 화면 가운데로 */
.cw-hero__title > span[aria-hidden="true"]{font-family:"Do Hyeon",var(--font)}
@media (min-width:768px){
  .cw-hero__title > span[aria-hidden="true"]{--hero-line-w:min(1621.62px,calc(100vw - 32px));display:block;width:var(--hero-line-w);height:167.31px;
    margin:12.87px calc((100% - var(--hero-line-w)) / 2) 0;font-size:83.655px}
}
/* 휴대폰 가로(낮은 화면): 글이 화면 밖으로 밀리지 않게 위로 올린다 */
@media (max-height:620px) and (orientation:landscape){
  .cw-hero{min-height:100svh}
  .cw-hero__content{top:calc(var(--header-h) + 30px)}
  .cw-hero__title{font-size:28px;margin-top:12px;max-width:none}
  .cw-hero__title > span[aria-hidden="true"]{display:inline;width:auto;height:auto;margin:0;font-size:inherit}
  .cw-hero__lead{margin-top:16px}
  .cw-hero__cta{margin-top:20px}
}
/* 휴대폰 가로(폭 768 이상): PC 용 소개 글·버튼 글자 크기가 번지지 않게 원래 값 유지 */
@media (max-height:620px) and (orientation:landscape) and (min-width:768px){
  .cw-hero__lead{font-size:calc(1.6 * var(--r))}
}

/* ───────── 2~10쪽 (히어로와 같은 숲 장면 위, 쪽마다 글·사진 자리를 달리) ─────────
   휴대폰(≤767): 한 칸 — 글 → 사진 순서, 사진 모음은 옆으로 넘기는 줄, 쪽 높이는 화면 높이 이상(글이 길면 늘어남)
   768~: 쪽 = 화면 한 장(100svh) · 스크롤 붙임 · 쪽마다 자리
     2 글(제목|설명) + 세로 사진 오른쪽 · 3 사진 왼쪽 + 글 오른쪽 · 4 가로 사진 위 + 글 아래 가운데 · 5 글 왼쪽 위 + 사진 오른쪽 아래
     6 글 위 + 사진 3장(높이 엇갈림) · 7 사진 3장 + 글 오른쪽 아래 · 8 가운데 · 9 왼쪽 · 10 오른쪽 */
.cw-panel{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:24px;
  padding:calc(var(--header-h) + var(--safe-t) + 24px) calc(16px + var(--safe-r)) calc(40px + var(--safe-b)) calc(16px + var(--safe-l));
  color:var(--c-cream)}
.cw-panel__inner{width:100%;max-width:640px;text-shadow:0 1px 14px rgba(0,0,0,.28)}
.cw-panel__title{font-family:"Do Hyeon",var(--font);font-weight:400;font-size:34px;line-height:1.15;letter-spacing:.08em;color:var(--c-white)}
.cw-panel p{font-size:16px;line-height:1.7}
.cw-panel__title + p,.cw-panel__title + .cw-panel__body,.cw-panel__title + .cw-visit__addr{margin-top:16px}
.cw-panel__q{margin-top:28px;font-size:17px;line-height:1.4;font-weight:500;color:var(--c-lightgreen)}
.cw-panel__q + p{margin-top:8px}
.cw-panel__display{margin-top:14px;font-family:"Do Hyeon",var(--font);font-size:26px!important;line-height:1.3!important;letter-spacing:.04em;color:var(--c-white)}
.cw-trees{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0 0;padding:0;list-style:none;font-size:16px;line-height:1.5}
.cw-trees li{padding-top:10px;border-top:1px solid rgba(255,251,231,.55);min-width:72px}
.cw-visit__note{margin-top:6px;font-size:14px!important;color:var(--c-lightgreen)}
.cw-visit__addr{font-style:normal;font-size:18px;line-height:1.6}
.cw-panel .cw-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:1.5;color:var(--c-cream);text-decoration:underline;text-underline-offset:3px}
.cw-contact-big{display:flex;flex-direction:column;margin-top:18px}
.cw-contact-big__tel{display:inline-flex;align-items:center;min-height:44px;font-family:"Do Hyeon",var(--font);font-size:36px;line-height:1.2;letter-spacing:.06em;color:var(--c-white);text-decoration:none}
.cw-contact-big__tel:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.cw-contact-big__when{font-size:14px;color:var(--c-lightgreen)}
.cw-visit__biz{margin-top:28px;padding-top:14px;border-top:1px solid rgba(255,251,231,.35);font-size:14px!important;line-height:1.7;color:var(--c-cream)}
.cw-visit__biz a{color:inherit;display:inline-block;padding:10px 0;margin:-10px 0}
/* 쪽마다 세부 안내로 가는 버튼 */
.cw-panel .cw-panel__more{margin-top:24px}
.cw-panel .cw-btn{font-size:14px;text-shadow:none}
/* 쪽마다 세부 안내 버튼 글자(9곳): Do Hyeon — 호버 때 말려 올라오는 같은 글자도 같은 글꼴 */
.cw-panel__more .cw-btn__a,.cw-panel__more .cw-btn__b{font-family:"Do Hyeon",var(--font)}

/* 쪽 들어올 때 글이 아래에서 천천히 올라옴(움직임 줄이기면 없음) */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 1.3s var(--ease-out) .25s,transform 1.6s var(--ease-out) .25s}
.js [data-reveal].is-in{opacity:1;transform:none}

/* 휴대폰: 글·사진이 아래 풀숲(화면 아래 30%)에 묻히지 않게 위로 올리고, 7쪽은 글을 사진보다 먼저 */
@media (max-width:767px){
  .cw-panel{padding-bottom:calc(18svh + var(--safe-b))}
  .cw-panel--gallery-b .cw-panel__inner{order:-1}
}


/* 오른쪽 쪽 번호 점(768~) */
.cw-pager{display:none}

@media (min-width:768px){
  html{scroll-snap-type:y mandatory}
  .cw-hero,.cw-panel{scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:calc(-1 * var(--header-h))}
  .cw-panel{height:100svh;min-height:540px;flex-direction:row;justify-content:flex-start;align-items:center;gap:calc(5 * var(--r));
    padding:calc(var(--header-h) + var(--safe-t) + 4 * var(--r)) calc(9 * var(--r) + var(--safe-r)) calc(6 * var(--r) + var(--safe-b)) calc(9 * var(--r) + var(--safe-l))}
  .cw-panel__title{font-size:calc(4.6 * var(--r))}
  .cw-panel p,.cw-trees,.cw-panel .cw-link{font-size:max(16px,calc(1.8 * var(--r)))}
  .cw-panel .cw-panel__more{margin-top:calc(2.6 * var(--r))}
  .cw-panel .cw-btn{font-size:max(14px,calc(1.5 * var(--r)))}
  .cw-visit__addr{font-size:max(18px,calc(2.4 * var(--r)))}
  .cw-panel__q{font-size:max(17px,calc(1.9 * var(--r)))}
  .cw-panel__display{font-size:max(26px,calc(3.6 * var(--r)))!important}
  .cw-contact-big__tel{font-size:calc(6 * var(--r))}
  .cw-contact-big__when{font-size:max(14px,calc(1.5 * var(--r)))}

  /* 2 계곡 숲길: 제목 | 세로 선 | 설명 */
  .cw-panel--split .cw-panel__inner{flex:1 1 auto;max-width:none;display:grid;grid-template-columns:auto minmax(0,34ch);justify-content:start;align-items:end;gap:calc(4 * var(--r))}
  .cw-panel--split .cw-panel__title + .cw-panel__body{margin-top:0}
  .cw-panel--split .cw-panel__body{padding-left:calc(3 * var(--r));border-left:1px solid rgba(255,251,231,.55)}
  .cw-panel--right .cw-panel__inner{max-width:calc(52 * var(--r));margin-left:auto;text-align:right}
  /* 3 고산식물 온실: 오른쪽 정렬 · 4 습지 정원: 가운데 */
  .cw-panel--low{flex-direction:column;justify-content:center;align-items:center;gap:calc(3.2 * var(--r))}
  .cw-panel--low .cw-panel__inner{max-width:calc(62 * var(--r));text-align:center}
  /* 5 침엽수원: 왼쪽 위 */
  .cw-panel--high{align-items:flex-start}
  .cw-panel--high .cw-panel__inner{max-width:calc(56 * var(--r));margin-top:calc(6 * var(--r))}
  .cw-panel--high .cw-panel__title{font-size:calc(5.6 * var(--r))}
  /* 6 가운데 위 · 7 오른쪽 위 (아래 꽃밭이 잘 보이게 글을 위쪽에) */
  .cw-panel--gallery{flex-direction:column;justify-content:flex-start;align-items:center;padding-top:calc(var(--header-h) + var(--safe-t) + 14 * var(--r))}
  .cw-panel--gallery .cw-panel__inner{max-width:calc(64 * var(--r));text-align:center}
  .cw-panel--gallery-b{flex-direction:row;justify-content:flex-end;align-items:flex-start;padding-top:calc(var(--header-h) + var(--safe-t) + 9 * var(--r))}
  .cw-panel--gallery-b .cw-panel__inner{max-width:calc(54 * var(--r));margin-right:calc(4 * var(--r));text-align:right}
  /* 8 관람 시간: 가운데 */
  .cw-panel--hours{justify-content:center}
  .cw-panel--hours .cw-panel__inner{max-width:calc(80 * var(--r));text-align:center}
  /* 9 문의: 왼쪽, 전화번호 크게 */
  .cw-panel--contact .cw-panel__inner{max-width:calc(60 * var(--r));margin-left:calc(6 * var(--r))}
  /* 10 오시는 길: 오른쪽 */
  .cw-panel--visit{justify-content:flex-end}
  .cw-panel--visit .cw-panel__inner{max-width:calc(62 * var(--r));text-align:right}
  .cw-panel--visit .cw-visit__biz{text-align:left}

  .cw-pager{display:flex;flex-direction:column;position:fixed;z-index:900;right:calc(1.2 * var(--r) + var(--safe-r));top:50%;transform:translateY(-50%)}
  .cw-pager a{display:grid;place-items:center;width:44px;height:44px}
  .cw-pager span{display:block;width:7px;height:7px;border-radius:50%;background:var(--c-cream);opacity:.45;transition:opacity .4s var(--ease-out),height .4s var(--ease-out)}
  .cw-pager a[aria-current="true"] span{opacity:1;height:22px;border-radius:4px}
  .cw-pager a:hover span{opacity:.85}
}
/* 낮은 화면(PC 창을 낮게 줄였을 때): 점 사이를 좁혀 화면 안에 들어오게 */
@media (min-width:768px) and (max-height:760px){ .cw-pager a{height:36px} }
/* 휴대폰 가로·낮은 화면: 붙임 스크롤을 풀고 쪽 높이를 글에 맞춤(글이 잘리지 않게) */
@media (max-height:620px) and (orientation:landscape){
  html{scroll-snap-type:none}
  .cw-panel{height:auto;min-height:100svh;padding-top:calc(var(--header-h) + 16px);padding-bottom:24px}
  .cw-pager{display:none}
}
@media (prefers-reduced-motion:no-preference){ html{scroll-behavior:smooth} }
/* PC 마우스: 쪽 넘김을 site.js 가 천천히 부드럽게 옮기므로 브라우저 붙임·부드러운 스크롤은 끈다(둘이 겹치면 튐) */
html.cw-paged{scroll-snap-type:none;scroll-behavior:auto}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1;transform:none;transition:none}
}

/* 글자·낱말 나눔(인트로에서 아래→위로 올라옴) */
.js [data-split]{visibility:hidden}
.js [data-split].is-split{visibility:visible}
.cw-w{display:inline-block;vertical-align:top}
.cw-w--mask{overflow:hidden;padding:.06em 0 .1em;margin:-.06em 0 -.1em}
.cw-w__i,.cw-ch{display:inline-block;will-change:transform}

/* 버튼: 크림 바탕 + 올리브 테두리, 호버 때 글자가 위로 말려 올라감(0.5s cubic-bezier(.23,1,.32,1)) */
.cw-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;
  background:var(--c-cream);color:var(--c-main);border:2px solid rgba(104,107,88,.88);border-radius:2px;
  font-size:14px;font-weight:500;letter-spacing:.1em;line-height:1.5;text-decoration:none;overflow:hidden}
.cw-btn__roll{position:relative;display:block;overflow:hidden;height:1.5em}
.cw-btn__a,.cw-btn__b{display:block;padding-left:.1em;transition:transform .5s var(--ease-out)}
.cw-btn__b{position:absolute;left:0;right:0;top:100%}
.cw-btn::before{content:"";position:absolute;inset:0;background:var(--c-lightgreen);transform:translateY(101%);transition:transform .5s var(--ease-out);z-index:0}
.cw-btn > *{position:relative;z-index:1}
@media (hover:hover){
  .cw-btn:hover .cw-btn__a,.cw-btn:hover .cw-btn__b{transform:translateY(-100%)}
  .cw-btn:hover::before{transform:translateY(0)}
}
.cw-btn:focus-visible{outline-color:var(--c-cream)}
@media (min-width:768px){ .cw-btn{min-height:max(44px,calc(3.8 * var(--r)));padding:0 calc(2.4 * var(--r));font-size:max(12px,calc(1.1 * var(--r)))} }
/* 첫 화면 "숲길 안내 보기" 버튼만: 연두 바탕 + 밝은 글자 */
.cw-hero__cta .cw-btn{background:#8eaf6c;color:#f8f8f8;font-weight:400;transition:color .5s var(--ease-out)}
/* 호버 때 연한 크림 바탕이 차오르므로 글자는 짙은 초록으로 바꿔 보이게 */
@media (hover:hover){ .cw-hero__cta .cw-btn:hover{color:var(--c-main)} }
@media (min-width:768px){ .cw-hero__cta .cw-btn{font-size:17.1px;min-height:max(50.16px,calc(4.332 * var(--r)));padding:0 calc(2.736 * var(--r));border-width:2.28px} }
@media (max-height:620px) and (orientation:landscape) and (min-width:768px){ .cw-hero__cta .cw-btn{font-size:max(12px,calc(1.1 * var(--r)));min-height:max(44px,calc(3.8 * var(--r)));padding:0 calc(2.4 * var(--r));border-width:2px} }
/* 글이 한 번만 있는 버튼: 호버 때 글자 말림 없이 바탕만 차오름 */
.cw-btn__label{display:block;padding-left:.1em}
.cw-hero__cta .cw-btn__label{font-family:"Do Hyeon",var(--font)}

/* ───────── 안내 창(메뉴) ───────── */
.cw-menu{position:fixed;inset:0;z-index:1800;background:var(--c-main);color:var(--c-cream);overflow-y:auto;overscroll-behavior:contain;
  opacity:0;transition:opacity .5s var(--ease-out)}
.cw-menu.is-open{opacity:1}
/* 닫힌 안내 창: 보이지도 눌리지도 않게 하되 크기는 남겨 둔다 — 안의 카카오 지도(map 슬롯)가 처음 그려질 때 0×0 이 되면 창을 열었을 때 빈 지도·구석에 붙은 표시가 된다 */
.cw-menu[hidden]{display:block;visibility:hidden;pointer-events:none;clip-path:inset(50%)}
.cw-menu__bar{position:sticky;top:0;z-index:2;height:calc(var(--header-h) + var(--safe-t));padding:calc(21px + var(--safe-t)) 17px 0 calc(17px + var(--safe-l));background:var(--c-main)}
.cw-menu__close{width:44px;height:44px;margin-left:-10px;display:grid;place-items:center}
.cw-menu__inner{max-width:1180px;margin:0 auto;padding:16px calc(20px + var(--safe-r)) calc(56px + var(--safe-b)) calc(20px + var(--safe-l));display:grid;gap:40px}
.cw-menu__title{font-size:28px;line-height:1.2;font-weight:400;letter-spacing:.04em}
.cw-menu__lead{margin-top:16px;font-size:17px;line-height:1.7;color:var(--c-cream)}
.cw-menu__block{border-top:1px solid rgba(255,251,231,.28);padding-top:24px}
.cw-menu__block p{font-size:16px;line-height:1.7}
.cw-menu__block p + p{margin-top:12px}
.cw-menu__head{font-size:15px;line-height:1.4;font-weight:500;letter-spacing:.02em;color:var(--c-lightgreen);margin-bottom:14px}
.cw-menu__block p + .cw-menu__head,.cw-contact-links + .cw-menu__head{margin-top:28px}
.cw-menu__note{display:inline-block;margin-left:6px;font-size:14px;color:var(--c-lightgreen)}
.cw-places{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.cw-places strong{display:block;font-size:18px;font-weight:500;line-height:1.4}
.cw-places span{display:block;margin-top:4px;font-size:16px;line-height:1.65;color:rgba(255,251,231,.9)}
.cw-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.cw-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s ease}
.cw-link:hover{color:var(--c-lightgreen)}
.cw-address{font-style:normal;font-size:16px;line-height:1.7}
.cw-map{margin-top:16px}
/* 지도가 못 뜨면(도메인 미등록 등) 지도 상자는 숨고 [카카오맵에서 보기] 링크만 남는다 — 빈 자리 높이(320px)를 접는다 */
.cw-map:has(.kakao-map[hidden]){min-height:0}
.cw-biz{border-top:1px solid rgba(255,251,231,.28);padding-top:20px;font-size:14px;line-height:1.8;color:rgba(255,251,231,.85)}
.cw-biz a{display:inline-block;padding:10px 0;margin:-10px 0}
.cw-legal{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;margin-top:8px}
.cw-legal a,.cw-legal__slot a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:inherit;text-decoration:underline;text-underline-offset:2px}
.cw-legal__slot{display:flex;flex-wrap:wrap;gap:4px 20px}
@media (min-width:768px){
  .cw-menu__bar{padding:calc(1.7 * var(--r) + var(--safe-t)) 0 0 calc(1.9 * var(--r))}
  .cw-menu__close{margin:-8.5px 0 0 -8.5px}
  .cw-menu__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:64px;row-gap:40px;padding:40px 40px 80px}
  .cw-menu__intro{grid-row:span 3;align-self:start;position:sticky;top:calc(var(--header-h) + 40px)}
  .cw-menu__title{font-size:36px}
  .cw-biz{grid-column:1 / -1}
}

/* ───────── 문서 쪽(개인정보처리방침) ───────── */
.cw-doc{max-width:760px;margin:0 auto;padding:calc(var(--header-h) + 64px) calc(20px + var(--safe-r)) 96px calc(20px + var(--safe-l))}
.cw-doc__title{font-size:32px;line-height:1.25;font-weight:400;letter-spacing:.06em}
.cw-doc__date{margin-top:12px;font-size:14px;color:var(--c-lightgreen)}
.cw-doc h2{margin-top:44px;font-size:18px;line-height:1.4;font-weight:500;letter-spacing:.04em}
.cw-doc p{margin-top:12px;font-size:16px;line-height:1.8}
.cw-doc a{text-underline-offset:3px}
.cw-doc__back{margin-top:48px!important}
/* 세부 안내 쪽(숲길·온실·편의 시설 등) */
.cw-doc__lead{margin-top:20px!important;font-size:18px!important;line-height:1.8}
.cw-doc h3{margin-top:28px;font-size:17px;line-height:1.4;font-weight:500;color:var(--c-lightgreen)}
.cw-doc h3 + p{margin-top:8px}
.cw-doc ul,.cw-doc ol{margin:12px 0 0;padding-left:1.3em;font-size:16px;line-height:1.8}
.cw-doc li + li{margin-top:6px}
.cw-doc dl{margin:4px 0 0}
.cw-doc dt{margin-top:18px;font-size:16px;font-weight:500;color:var(--c-white)}
.cw-doc dd{margin:4px 0 0;font-size:16px;line-height:1.8}
.cw-doc__more{margin-top:56px;padding-top:8px;border-top:1px solid rgba(255,251,231,.35)}
.cw-doc__more ul{display:flex;flex-wrap:wrap;gap:0 24px;padding:0;list-style:none}
.cw-doc__more li + li{margin-top:0}
.cw-doc__more a{display:inline-flex;align-items:center;min-height:44px;color:var(--c-cream);text-decoration:underline;text-underline-offset:3px}
.cw-doc__more a[aria-current]{color:var(--c-lightgreen);text-decoration:none}

/* 세부 안내 쪽 — 흰 바탕 · 짙은 회색 글 · 녹색은 선·글머리·링크 같은 포인트에만
   휴대폰: 한 칸, 위 사진 4:3, 본문 사진은 위아래로 · 600~: 본문 사진 두 장 나란히 · 768~: 위 사진 16:7, 글 폭 720 */
html:has(body.page-guide){background:#fff}
.page-guide{--g-ink:#262923;--g-sub:#5f645b;--g-line:#e3e6df;background:#fff;color:var(--g-ink)}
.page-guide :focus-visible{outline-color:var(--c-main)}
.page-guide .cw-header,.page-guide .cw-header.is-scrolled{background:#fff;color:var(--c-main);box-shadow:0 1px 0 var(--g-line)}
.page-guide .cw-header__logo,.page-guide .cw-header__menu,.page-guide .cw-header__inquire{color:var(--c-main)}
.cw-guide.cw-doc{max-width:1120px;padding:calc(var(--header-h) + var(--safe-t) + 48px) calc(16px + var(--safe-r)) 96px calc(16px + var(--safe-l))}
.cw-guide > *{max-width:720px;margin-left:auto;margin-right:auto}
.cw-guide > .cw-guide__hero,.cw-guide > .cw-guide__pair{max-width:none}
.cw-guide > ul,.cw-guide > ol,.cw-guide > dl{margin-left:auto;margin-right:auto}   /* 문서 쪽 목록 여백(왼쪽 0)을 덮어 글 폭에 맞춤 */
.cw-guide .cw-doc__title{position:relative;padding-top:20px;font-family:"Do Hyeon",var(--font);font-size:34px;line-height:1.2;letter-spacing:.04em;color:var(--g-ink)}
.cw-guide .cw-doc__title::before{content:"";position:absolute;left:0;top:0;width:36px;height:3px;background:var(--c-main)}
.cw-guide .cw-doc__lead{color:var(--g-sub)}
.cw-guide p,.cw-guide ul,.cw-guide ol,.cw-guide dd{color:var(--g-ink)}
.cw-guide h2{margin-top:56px;padding-left:12px;border-left:3px solid var(--c-main);font-size:20px;font-weight:600;color:var(--g-ink)}
.cw-guide h3{color:var(--c-main);font-weight:600}
.cw-guide li::marker{color:var(--c-main)}
.cw-guide dt{color:var(--g-ink);font-weight:600}
.cw-guide dd{color:var(--g-sub)}
.cw-guide .cw-doc__date{color:var(--g-sub)}
.cw-guide a{color:var(--c-main);text-decoration-color:rgba(69,106,75,.45)}
.cw-guide a:hover{text-decoration-color:currentColor}
/* 사진 */
.cw-guide__hero{margin-top:32px;margin-bottom:0}
.cw-guide__hero img,.cw-guide__pair img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px;background:var(--g-line)}
.cw-guide figcaption{margin-top:8px;font-size:14px;line-height:1.5;color:var(--g-sub)}
.cw-guide__pair{display:grid;grid-template-columns:1fr;gap:20px;margin-top:40px}
.cw-guide__pair figure{margin:0}
@media (min-width:600px){ .cw-guide__pair{grid-template-columns:1fr 1fr;gap:16px} }
@media (min-width:768px){
  .cw-guide.cw-doc{padding:calc(var(--header-h) + var(--safe-t) + 72px) calc(32px + var(--safe-r)) 120px calc(32px + var(--safe-l))}
  .cw-guide .cw-doc__title{font-size:44px}
  .cw-guide .cw-doc__lead{font-size:19px!important}
  .cw-guide p,.cw-guide ul,.cw-guide ol,.cw-guide dd{font-size:17px}
  .cw-guide__hero{margin-top:44px}
  .cw-guide__hero img{aspect-ratio:16/7}
  .cw-guide__pair{gap:24px;margin-top:56px}
}
/* 다른 안내·돌아가기 */
.cw-guide .cw-doc__more{border-top-color:var(--g-line)}
.cw-guide .cw-doc__more h2{margin-top:24px;padding-left:0;border-left:0;font-size:16px;color:var(--g-sub);font-weight:500}
.cw-guide .cw-doc__more a{color:var(--g-ink);text-decoration-color:var(--g-line)}
.cw-guide .cw-doc__more a:hover{color:var(--c-main)}
.cw-guide .cw-doc__more a[aria-current]{color:var(--c-main);font-weight:600;text-decoration:none}
.cw-guide .cw-doc__back .cw-link{color:var(--c-main)}

/* ───────── 없는 주소(404) ───────── */
.cw-missing{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--header-h) + 24px) 20px 64px}
.cw-missing__title{font-size:calc(3.4 * var(--r));line-height:1.1;font-weight:400;letter-spacing:.2em;padding-left:.2em;color:var(--c-white)}
.cw-missing__text{margin:24px 0 40px;max-width:28em;font-size:16px;line-height:1.6}
@media (min-width:768px){ .cw-missing__title{font-size:calc(4.8 * var(--r))} }
@media (min-width:1200px){ .cw-missing__title{font-size:calc(5.2 * var(--r))} }

/* ───────── 움직임 줄이기 ───────── */
@media (prefers-reduced-motion:reduce){
  .js .cw-loader,.js .cw-veil,.js .cw-hero__marker{display:none}
  .js [data-split]{visibility:visible}
  .cw-hero__video,.cw-hero__canvas{display:none}
  .cw-hero__shade{opacity:.14;transition:none}
  .cw-btn__a,.cw-btn__b,.cw-btn::before,.cw-menu,.cw-header{transition:none}
  .cw-loader__spin,.cw-loader__arc{animation:none}
}

/* 로딩 원호 — 끝으로 갈수록 흐려지는 꼬리 + 앞끝의 작은 점 */
.cw-loader__arc{position:relative}
.cw-loader__band{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(255,251,231,0) 0deg,rgba(255,251,231,.18) 150deg,rgba(255,251,231,.55) 300deg,rgba(255,251,231,.85) 359deg,rgba(255,251,231,0) 360deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.4px),#000 calc(100% - 1px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 1.4px),#000 calc(100% - 1px))}
.cw-loader__arc::after{content:"";position:absolute;top:-2px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--c-cream)}

/* 카카오 상담 버튼(앱 모듈 그대로) — 아이폰 홈 막대·가로 화면 노치 안쪽으로만 띄움. 색·크기·자리는 모듈 값 유지 */
.cw-footer .kakao-float{bottom:calc(24px + var(--safe-b));right:calc(24px + var(--safe-r))}
@media (max-width:640px){ .cw-footer .kakao-float{bottom:calc(16px + var(--safe-b));right:calc(16px + var(--safe-r))} }

/* 문의 폼(앱 모듈 HM-CONTACT) — 칸 이름·숨은 칸·동의 문구는 모듈 그대로, 모양만 사이트(초록 바탕·크림 글자·2px 모서리)에 맞춘다.
   폼은 /contact/ 쪽 하나. 첫 화면 문의 쪽·안내 창·404 에는 그 쪽으로 가는 링크만 둔다. */
/* 숨은 칸(website) — 키트 contact.css 와 같은 방식(화면 밖으로만, display:none 아님). 키트 CSS 를 못 불러와도 사람에게 보이지 않게 한 번 더 */
.hm-contact .hm-contact__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cw-missing__contact{margin-top:16px}
/* 문의 쪽 본문 — 고정 머리글 아래에서 시작(다른 안내 쪽 .cw-doc 와 같은 폭·여백) */
[data-hm-page="/contact/"] .hm-module-page{max-width:760px;margin:0 auto;padding:calc(var(--header-h) + var(--safe-t) + 64px) calc(20px + var(--safe-r)) calc(96px + var(--safe-b)) calc(20px + var(--safe-l))}
[data-hm-page="/contact/"] .hm-module-page h1{font-size:32px;line-height:1.25;font-weight:400;letter-spacing:.06em}
[data-hm-page="/contact/"] .hm-module-page [data-hm-slot="content"]{margin-top:32px}
[data-hm-page="/contact/"] .hm-contact{max-width:none;display:grid;gap:22px;font-family:var(--font);color:var(--c-cream)}
[data-hm-page="/contact/"] .hm-contact label{display:grid;gap:8px;font-size:16px;line-height:1.5;color:var(--c-cream)}
[data-hm-page="/contact/"] .hm-contact input[type=text],[data-hm-page="/contact/"] .hm-contact input[type=tel],[data-hm-page="/contact/"] .hm-contact input[type=email],[data-hm-page="/contact/"] .hm-contact input[type=date],[data-hm-page="/contact/"] .hm-contact textarea{
  width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:16px;line-height:1.5;color:var(--c-cream);background:rgba(255,251,231,.06);border:1px solid rgba(255,251,231,.55);border-radius:2px}
[data-hm-page="/contact/"] .hm-contact textarea{min-height:168px;resize:vertical}
[data-hm-page="/contact/"] .hm-contact input:focus-visible,[data-hm-page="/contact/"] .hm-contact textarea:focus-visible{outline:2px solid var(--c-cream);outline-offset:2px;border-color:var(--c-cream)}
[data-hm-page="/contact/"] .hm-contact .hm-contact__consent{padding:16px;border:1px solid rgba(255,251,231,.35);border-radius:2px;font-size:14px;line-height:1.75;color:rgba(255,251,231,.9)}
[data-hm-page="/contact/"] .hm-contact .hm-contact__consent strong{font-weight:500;color:var(--c-lightgreen)}
[data-hm-page="/contact/"] .hm-contact .hm-contact__consent label{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,251,231,.2);font-size:15px;line-height:1.6;cursor:pointer}
[data-hm-page="/contact/"] .hm-contact .hm-contact__consent input[type=checkbox]{flex:none;width:22px;height:22px;min-height:22px;margin:1px 0 0;accent-color:var(--c-lightgreen);cursor:pointer}
[data-hm-page="/contact/"] .hm-contact .hm-contact__consent a{color:var(--c-cream);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
[data-hm-page="/contact/"] .hm-contact button[type=submit]{justify-self:start;min-width:200px;min-height:48px;padding:0 28px;font-family:var(--font);font-size:16px;font-weight:500;letter-spacing:.1em;
  color:var(--c-main);background:var(--c-cream);border:2px solid rgba(104,107,88,.88);border-radius:2px;cursor:pointer;transition:background-color .3s var(--ease-out)}
@media (hover:hover){ [data-hm-page="/contact/"] .hm-contact button[type=submit]:hover{background:var(--c-lightgreen)} }
[data-hm-page="/contact/"] .hm-contact button[type=submit]:focus-visible{outline:2px solid var(--c-cream);outline-offset:3px}
[data-hm-page="/contact/"] .hm-contact button[disabled]{opacity:.55;cursor:default}
[data-hm-page="/contact/"] .hm-contact [data-hm-ok]{padding:12px 14px;border-left:3px solid var(--c-lightgreen);font-size:16px;color:var(--c-lightgreen)}
[data-hm-page="/contact/"] .hm-contact [data-hm-msg]{padding:12px 14px;border-left:3px solid #FFB4A8;background:rgba(226,44,44,.16);font-size:16px;color:var(--c-cream)}
@media (max-width:479px){ [data-hm-page="/contact/"] .hm-contact button[type=submit]{justify-self:stretch} }

/* 문의 게시판(앱 모듈 HM-QNA) — 칸 이름·숨은 칸·동의 문구·스크립트는 모듈 그대로, 색·글꼴·간격만 사이트(초록 바탕·크림 글자·2px 모서리)와 문의 쪽(/contact/)에 맞춘다.
   게시판은 /qna/ 쪽 하나. 안내 창 문의 칸·404 에는 그 쪽으로 가는 링크만 둔다.
   모듈 CSS(qna.hm.css·qna.css)가 이 파일보다 뒤에 읽히므로 [data-hm-page="/qna/"] 를 앞에 붙여 이긴다(디자인 변수의 크림 글자 + 크림 입력칸 = 글자 안 보임 문제를 여기서 막음) */
[data-hm-page="/qna/"] .hm-qna [hidden]{display:none!important}
.hm-qna .hm-qna__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
[data-hm-page="/qna/"] .hm-module-page{max-width:860px;margin:0 auto;padding:calc(var(--header-h) + var(--safe-t) + 64px) calc(20px + var(--safe-r)) calc(96px + var(--safe-b)) calc(20px + var(--safe-l))}
[data-hm-page="/qna/"] .hm-module-page h1{font-size:32px;line-height:1.25;font-weight:400;letter-spacing:.06em}
[data-hm-page="/qna/"] .hm-module-page [data-hm-slot="content"]{margin-top:16px}
[data-hm-page="/qna/"] .hm-qna{max-width:none;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--c-cream)}
/* 쪽 제목(h1)이 이미 '문의 게시판' — 조각 안 같은 제목은 화면에서만 감춤(읽기 프로그램에는 남김) */
[data-hm-page="/qna/"] .hm-qna .hm-qna__heading{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
[data-hm-page="/qna/"] .hm-qna .hm-qna__lead{margin:0 0 28px;font-size:16px;line-height:1.7}
[data-hm-page="/qna/"] .hm-qna :focus-visible{outline:2px solid var(--c-cream);outline-offset:2px}
/* 글자·링크 — 모듈 기본(대표 색 링크 = 초록 위 초록)을 크림으로 */
[data-hm-page="/qna/"] .hm-qna a:not(.hm-qna__write-link){color:var(--c-cream)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__no,[data-hm-page="/qna/"] .hm-qna .hm-qna__date,[data-hm-page="/qna/"] .hm-qna .hm-qna__author,
[data-hm-page="/qna/"] .hm-qna .hm-qna__meta,[data-hm-page="/qna/"] .hm-qna .hm-qna__note,[data-hm-page="/qna/"] .hm-qna .hm-qna__noreply,
[data-hm-page="/qna/"] .hm-qna .hm-qna__rdate,[data-hm-page="/qna/"] .hm-qna .hm-qna__empty,[data-hm-page="/qna/"] .hm-qna .hm-qna__write small{font-size:14px;color:var(--c-lightgreen)}
/* 입력칸 — 문의 쪽과 같은 모양(옅은 크림 바탕·크림 테두리·크림 글자) */
[data-hm-page="/qna/"] .hm-qna input:not([type=checkbox]),[data-hm-page="/qna/"] .hm-qna textarea{
  width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:16px;line-height:1.5;color:var(--c-cream);background:rgba(255,251,231,.06);border:1px solid rgba(255,251,231,.55);border-radius:2px}
[data-hm-page="/qna/"] .hm-qna input::placeholder{color:rgba(255,251,231,.7)}
[data-hm-page="/qna/"] .hm-qna textarea{min-height:180px;resize:vertical}
[data-hm-page="/qna/"] .hm-qna input:not([type=checkbox]):focus-visible,[data-hm-page="/qna/"] .hm-qna textarea:focus-visible{border-color:var(--c-cream)}
[data-hm-page="/qna/"] .hm-qna input[type=checkbox]{flex:none;width:22px;height:22px;min-height:22px;margin:1px 0 0;accent-color:var(--c-lightgreen);cursor:pointer}
/* 버튼 — 보조(찾기·쪽 번호·고치기·지우기·그만두기·목록)는 크림 테두리, 주 버튼(글쓰기·글 올리기·확인)은 문의 쪽 [보내기] 와 같은 크림 바탕 */
[data-hm-page="/qna/"] .hm-qna button,[data-hm-page="/qna/"] .hm-qna .hm-qna__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 18px;
  font-family:var(--font);font-size:16px;line-height:1.4;color:var(--c-cream);background:transparent;border:1px solid rgba(255,251,231,.55);border-radius:2px;text-decoration:none;cursor:pointer;transition:background-color .3s var(--ease-out),color .3s var(--ease-out)}
[data-hm-page="/qna/"] .hm-qna a.hm-qna__write-link,[data-hm-page="/qna/"] .hm-qna button[type=submit]{min-height:48px;padding:0 28px;font-size:16px;font-weight:500;letter-spacing:.1em;
  color:var(--c-main);background:var(--c-cream);border:2px solid rgba(104,107,88,.88);border-radius:2px;text-decoration:none}
[data-hm-page="/qna/"] .hm-qna .hm-qna__search button[type=submit]{min-height:48px;padding:0 18px;font-weight:400;letter-spacing:0;color:var(--c-cream);background:transparent;border:1px solid rgba(255,251,231,.55)}
@media (hover:hover){
  [data-hm-page="/qna/"] .hm-qna button:hover,[data-hm-page="/qna/"] .hm-qna .hm-qna__actions a:hover,[data-hm-page="/qna/"] .hm-qna .hm-qna__search button[type=submit]:hover{background:rgba(255,251,231,.12)}
  [data-hm-page="/qna/"] .hm-qna a.hm-qna__write-link:hover,[data-hm-page="/qna/"] .hm-qna .hm-qna__write button[type=submit]:hover,[data-hm-page="/qna/"] .hm-qna .hm-qna__unlock button[type=submit]:hover{background:var(--c-lightgreen)}
}
[data-hm-page="/qna/"] .hm-qna button[disabled]{opacity:.55;cursor:default}
/* 목록 */
[data-hm-page="/qna/"] .hm-qna .hm-qna__bar{gap:12px;margin-bottom:16px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__search{gap:8px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__rows{border-top:2px solid var(--c-cream)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__row{border-bottom:1px solid rgba(255,251,231,.28)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__link{min-height:56px;padding:14px 4px;text-decoration:none}
[data-hm-page="/qna/"] .hm-qna .hm-qna__title{font-size:16px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__status{font-size:14px;line-height:1.5;padding:2px 8px;color:var(--c-cream);border:1px solid rgba(255,251,231,.55);border-radius:2px;white-space:nowrap}
[data-hm-page="/qna/"] .hm-qna .hm-qna__status.is-answered{font-weight:500;color:var(--c-main);background:var(--c-lightgreen);border-color:var(--c-lightgreen)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__pager{gap:8px;margin-top:20px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__page.is-current{font-weight:500;color:var(--c-main);background:var(--c-cream);border-color:var(--c-cream)}
/* 글 보기 · 답변 */
[data-hm-page="/qna/"] .hm-qna .hm-qna__view{border-top:2px solid var(--c-cream);padding-top:16px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__vtitle{font-size:22px;line-height:1.4;font-weight:500}
[data-hm-page="/qna/"] .hm-qna .hm-qna__content{border-bottom:1px solid rgba(255,251,231,.28)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__reply{margin:16px 0;padding:16px 18px;background:rgba(255,251,231,.08);border-left:3px solid var(--c-lightgreen);border-radius:2px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__rlabel{margin-right:8px;font-weight:500;color:var(--c-lightgreen)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__unlock{max-width:480px;gap:10px;margin:16px 0}
[data-hm-page="/qna/"] .hm-qna .hm-qna__unlock label{font-size:16px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__unlock .hm-qna__unlock-row{gap:8px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__actions{gap:8px;margin-top:20px}
/* 글쓰기 */
[data-hm-page="/qna/"] .hm-qna .hm-qna__write{max-width:none;gap:22px}
[data-hm-page="/qna/"] .hm-qna .hm-qna__write label{gap:8px;font-size:16px;line-height:1.5;color:var(--c-cream)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__write .hm-qna__check{display:flex;gap:12px;align-items:flex-start;min-height:44px;cursor:pointer}
[data-hm-page="/qna/"] .hm-qna .hm-qna__consent{padding:16px;border:1px solid rgba(255,251,231,.35);border-radius:2px;font-size:14px;line-height:1.75;color:rgba(255,251,231,.9)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__consent strong{font-weight:500;color:var(--c-lightgreen)}
[data-hm-page="/qna/"] .hm-qna .hm-qna__consent label{display:flex;gap:12px;align-items:flex-start;min-height:44px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,251,231,.2);font-size:15px;line-height:1.6;cursor:pointer}
[data-hm-page="/qna/"] .hm-qna .hm-qna__consent a{display:inline-block;padding:11px 0;margin:-11px 0;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}   /* 문장 속 링크 — 줄 높이는 그대로, 누르는 자리만 44px */
[data-hm-page="/qna/"] .hm-qna .hm-qna__buttons{gap:10px}
/* 알림 문구 — 문의 쪽과 같게 */
[data-hm-page="/qna/"] .hm-qna [data-hm-ok]{padding:12px 14px;border-left:3px solid var(--c-lightgreen);font-size:16px;color:var(--c-lightgreen)}
[data-hm-page="/qna/"] .hm-qna [data-hm-msg]{padding:12px 14px;border-left:3px solid #FFB4A8;background:rgba(226,44,44,.16);font-size:16px;color:var(--c-cream)}
@media (max-width:479px){
  [data-hm-page="/qna/"] .hm-qna .hm-qna__bar > a.hm-qna__write-link{flex:1 1 100%}
  [data-hm-page="/qna/"] .hm-qna .hm-qna__buttons > button{flex:1 1 100%}
}

/* ── 간편 관리자(HM-SITEADMIN 1.0.0) — 사이트 모양 맞추기(키트 파일은 그대로, 여기서만 덮음) ── */
/* 사진 자리: 표준 틀 hm-base.css 의 [data-hm-slot]:empty{display:none!important}(빈 슬롯 그릇 숨김)가
   자식이 없는 img 까지 숨긴다 → 사진 자리 img 만 다시 보이게(특정도가 더 높아 이김). 안내 쪽 큰 사진 8곳 */
img[data-hm-slot]:empty{display:block!important}
/* 허용 목록 도구가 표준 슬롯 그릇(header-actions·footer-legal·floating·content)도 사진 자리로 잡는다 —
   관리자 화면에서 실수로 사진을 넣어도 머리글·바닥글·떠 있는 버튼·모듈 본문에 배경 사진이 깔리지 않게 막음 */
[data-hm-slot="header-actions"],[data-hm-slot="footer-legal"],[data-hm-slot="floating"],[data-hm-slot="content"]{background-image:none!important}

/* 공지 목록·보기 — 공지 쪽(/notice/)과 첫 화면 '공지사항' 쪽 공통. 모듈 CSS 가 뒤에 읽혀 앞에 쪽·패널 선택자를 붙여 이긴다 */
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice{font-family:var(--font);color:var(--c-cream)}
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__list{border-top:2px solid var(--c-cream)}
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__row{gap:4px 16px;padding:6px 0;border-bottom:1px solid rgba(255,251,231,.28)}
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__title{display:inline-flex;flex-wrap:wrap;align-items:center;min-height:44px;font-size:16px;line-height:1.5;font-weight:500;color:var(--c-cream);text-decoration:none;overflow-wrap:anywhere}
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__title:hover{text-decoration:underline;text-underline-offset:3px}
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__pin{font-size:14px;line-height:1.4;padding:1px 8px;border-radius:2px;color:var(--c-main);background:var(--c-lightgreen);border-color:var(--c-lightgreen);text-shadow:none}
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__date,
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__empty{font-size:14px;color:var(--c-lightgreen)}
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__empty{font-size:16px}
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__more,
:is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__back{min-height:44px;margin-top:8px;font-size:16px;font-weight:500;color:var(--c-cream);text-decoration:underline;text-underline-offset:3px}
:is([data-hm-page="/notice/"],.cw-panel--notice) :focus-visible{outline:2px solid var(--c-cream);outline-offset:2px}
@media (max-width:479px){
  :is([data-hm-page="/notice/"],.cw-panel--notice) .hm-notice__row{flex-direction:column;align-items:flex-start;padding:4px 0 10px}
}
/* 공지 쪽: 쪽 제목(h1)이 이미 '공지사항' — 조각 안 같은 제목은 화면에서만 감춤(읽기 프로그램에는 남김) */
[data-hm-page="/notice/"] .hm-notice{max-width:none;margin:32px 0 0;padding:0}
[data-hm-page="/notice/"] .hm-notice__heading{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
[data-hm-page="/notice/"] .hm-notice__pager{gap:8px;margin-top:20px}
[data-hm-page="/notice/"] .hm-notice__pager button{min-width:44px;min-height:44px;padding:0 12px;font-family:var(--font);font-size:16px;color:var(--c-cream);background:transparent;border:1px solid rgba(255,251,231,.55);border-radius:2px}
[data-hm-page="/notice/"] .hm-notice__pager .is-current{font-weight:500;color:var(--c-main);background:var(--c-cream);border-color:var(--c-cream)}
[data-hm-page="/notice/"] .hm-notice__view{padding:16px 0 0;border-top:2px solid var(--c-cream)}
[data-hm-page="/notice/"] .hm-notice__vtitle{font-size:22px;line-height:1.4;font-weight:500;color:var(--c-white)}
[data-hm-page="/notice/"] .hm-notice__view .hm-notice__date{margin-top:4px}
[data-hm-page="/notice/"] .hm-notice__text{margin:20px 0;padding-bottom:20px;border-bottom:1px solid rgba(255,251,231,.28);font-size:16px;line-height:1.8}
[data-hm-page="/notice/"] .hm-notice__p{margin:0 0 10px}
[data-hm-page="/notice/"] .hm-notice__link{color:var(--c-cream);text-decoration:underline;text-underline-offset:3px}
[data-hm-page="/notice/"] .hm-notice__img{margin:16px 0;border-radius:2px}
/* 첫 화면 '공지사항' 쪽(관람 시간 다음): 제목은 다른 쪽 제목과 같은 글꼴·크기, PC 에서는 오른쪽에 둠 */
.cw-panel--notice .hm-notice{max-width:none;margin:0;padding:0}
.cw-panel--notice .hm-notice__heading{margin:0 0 20px;font-family:"Do Hyeon",var(--font);font-weight:400;font-size:34px;line-height:1.15;letter-spacing:.08em;color:var(--c-white)}
@media (min-width:768px){
  .cw-panel--notice{justify-content:flex-end}
  .cw-panel--notice .cw-panel__inner{max-width:calc(60 * var(--r));margin-right:calc(4 * var(--r))}
  .cw-panel--notice .hm-notice__heading{margin-bottom:calc(2.4 * var(--r));font-size:calc(4.6 * var(--r))}
  .cw-panel--notice .hm-notice__title{font-size:max(16px,calc(1.8 * var(--r)))}
  .cw-panel--notice .hm-notice__date{font-size:max(14px,calc(1.5 * var(--r)))}
}

