@charset "utf-8";
/* ==========================================================================
   단양패러글라이딩 dypara.com

     본문        Pretendard 16px · 줄간격 1.6 · 자간 기본값
     주메뉴      18px 600 · 높이 60px · 마우스를 올리면 전체 하위메뉴가 펼쳐짐(옅은 바탕 + 위 3px 선)
     머리        높이 100px · 오른쪽 둥근 아이콘 60px
     메인 사진   높이 930px · 윗글 30px 600 · 큰 제목 80px 나눔명조 700 · 버튼 200×50
     섹션 제목   영문 25px 500(자간 .1em, 강조색) · 제목 50px 700 · 제목 앞 70px 옅은 원
     카드        사진 464:420 · 아래로 흐려지는 바탕 · 이름 35px 600 · 강조줄 22px 600 · 설명 18px 500
     바로가기    높이 150px · 아이콘 90px(모서리 40px) · 이름 17px · 흐린 QUICK MENU 80px 800
     서브 비주얼 높이 350px · 영문 25px · 제목 50px 나눔명조
     위치 표시줄 높이 60px · 홈 네모 60px · 칸 270px · 펼침 목록 18px
     화면 제목   30px 600 · 앞에 50px 원
     게시판      머리줄 66px 15px 600 옅은 회색 둥근 띠 · 줄 74px 15px #666
     푸터        회색 바탕 #e0e0e0 · 링크 16px · 정보 17px · Top 67×45
   색 : 서울지방항공청 3색 조합 (2026-10-25 사용자 결정) — 메인 블루 #0079CD · 딥 블루 #00479D · 라이트 스카이 #C9E8F6
        #0079CD 는 흰 바탕 글자 4.55:1 이라 옅은 파랑 바탕 위 글자에는 #00479D 를 씁니다
   규칙 : 본문 굵기 400 이상, 글자 크기는 clamp(), :hover 는 @media(hover:hover) 안에만
   ========================================================================== */

/* 롯데자이언츠체 — 화면에 쓰인 글자만 잘라 둔 파일 (make.py 가 fonts-src/ 원본에서 만듦) */
@font-face{font-family:"Giants";src:url("/assets/fonts/giants-bold.woff2") format("woff2");font-weight:700;font-display:swap;}

/* ---------- 1. 토큰 ---------- */
:root{
  --pt:         #0079CD;   /* 메인 블루 — 버튼·링크·강조 (흰 바탕 4.55:1) */
  --pt-deep:    #00479D;   /* 딥 블루 — 날짜 상자·강조·로고 글자, 옅은 바탕 위 글자 */
  --pt-light:   #3D9BDC;   /* 장식용 (글자에는 쓰지 않음) */
  --pt-lighter: #C9E8F6;   /* 라이트 스카이 — 바로가기 띠·화면 제목 원·영상 테두리 */
  --pt-pale:    #DDF0FA;   /* 섹션 제목 원 */
  --pt-tint:    #EAF6FC;   /* 메뉴·안내 상자 바탕 (라이트 스카이를 옅게) */

  --text:       #212121;
  --text-light: #424242;
  --text-lighter:#616161;
  --border:     #E0E0E0;
  --line:       #DDDDDD;
  --bg:         #EEEEEE;
  --bg-soft:    #F6F6F6;

  --width: 1480px;
  --pad:   20px;
  --hd-h:  160px;          /* 머리 100 + 주메뉴 60 */
  --ease:  cubic-bezier(.22,.72,.24,1);

  /* 본문 HTML 안에 남아 있는 예전 이름 (같은 값으로 연결) */
  --t1: var(--text); --t2: var(--text-light); --t3: var(--text-lighter); --t4: #757575;
  --f-xs: 15px; --f-sm: 16px; --f-lead: 18px; --f-h4: 20px; --f-h2: clamp(24px,1vw + 18px,30px);

  --font:  "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Malgun Gothic", "맑은 고딕", sans-serif;
  --sport: "Giants", var(--font);              /* 큰 제목 (스포츠 느낌) */
}

/* ---------- 2. 기본 ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd-h) + 10px);}
body{margin:0;background:#fff;color:var(--text);font-family:var(--font);font-size:16px;font-weight:400;line-height:1.6;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;}
img,svg,video,iframe{max-width:100%;display:block;border:0;}
img{height:auto;}
h1,h2,h3,h4,h5{margin:0;font-weight:700;line-height:1.4;color:var(--text);}
p{margin:0 0 1em;}
ul,ol{margin:0;padding:0;list-style:none;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;}
table{border-collapse:collapse;width:100%;}
strong,b{font-weight:700;}
:focus-visible{outline:3px solid var(--pt);outline-offset:3px;}
.blind,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip{position:absolute;left:0;top:-120px;z-index:9999;padding:16px 28px;background:var(--pt-deep);color:#fff;font-weight:700;}
.skip:focus{top:0;}

.cont{position:relative;width:100%;max-width:var(--width);margin:0 auto;padding:0 var(--pad);}
.cont-n{position:relative;width:100%;max-width:1140px;margin:0 auto;padding:0 var(--pad);}
main{overflow-x:clip;}
.sec{position:relative;padding:clamp(70px,6.8vw,130px) 0;}
.sec-tint{background:var(--bg-soft);}

/* 섹션 뒤 큰 반원 (오른쪽 아래 / 왼쪽 아래) */
.sec-shape::before{content:"";position:absolute;right:0;bottom:0;width:74.8%;height:min(688px,70%);background:#E0E0E0;border-radius:20em 0 0 20em;opacity:.5;z-index:-1;}
.sec-shape-l::before{left:0;right:auto;border-radius:0 20em 20em 0;}
.sec-shape{isolation:isolate;}

/* ---------- 3. 등장 효과 (: 아래 40px 에서 1초) — 스크립트가 있을 때만 숨김 ---------- */
.js [data-reveal]{position:relative;opacity:0;top:40px;transition:opacity 1s,top 1s;}
.js [data-reveal].show{opacity:1;top:0;}

/* ---------- 4. 머리 ---------- */
.hd{position:sticky;top:0;z-index:900;background:#fff;}
.hd__top{height:100px;border-bottom:1px solid var(--border);}
.hd__top .cont{display:flex;align-items:center;justify-content:space-between;height:100%;}
/* 로고 — 확정 로고 그림(날개 + 글자, 가로세로 1.93:1) 하나. 파일은 tools/logo_images.py 가 design-src/logo-final.webp 에서 만듦 */
.hd__logo,.ft__logo{display:flex;align-items:center;flex:none;}
.hd__logo img,.ft__logo img{width:auto;flex:none;}
.hd__logo img{height:82px;}
.hd__util{display:flex;align-items:center;gap:20px;}
.hd__icons{display:flex;align-items:center;gap:10px;}
.ic{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:#fff;}
.ic svg{width:26px;height:26px;fill:currentColor;}
.ic-insta{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
.ic-yt{background:#FF0000;}
.ic-face{background:#3B5998;}
.ic-kakao{background:#FEE500;color:#3A1D1D;}
.ic-lang{background:var(--pt);}
.ic-lang svg{fill:none;}
.ic-menu{background:var(--pt);}
.ic-menu svg{width:24px;height:24px;}

/* ---------- 5. 주메뉴 (전체 펼침) ---------- */
.gnb{position:relative;height:60px;border-bottom:1px solid var(--border);background:#fff;}
.gnb__list{display:flex;height:100%;}
.gnb__i{position:relative;flex:1;}
.gnb__a{position:relative;display:flex;align-items:center;justify-content:center;height:60px;font-size:18px;font-weight:600;color:var(--text-light);transition:background-color .3s ease-out,color .3s;}
.gnb__a::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--pt);opacity:0;transition:opacity .3s ease-out;}
.gnb__i.on .gnb__a{color:var(--pt);}
.gnb__sub{display:none;position:absolute;left:0;top:59px;width:100%;height:240px;background:#fff;border-top:1px solid var(--border);transition:background-color .3s ease-out;}
.gnb__sub ul{position:relative;padding-top:22px;}
.gnb__sub li{padding-left:12%;font-size:17px;line-height:2.1;color:var(--text-light);}
.gnb__sub a{transition:color .3s;}
.gnb__sub a small{margin-left:6px;font-size:12px;color:var(--text-lighter);}
@media (min-width:961px){
  .gnb__list::before{content:"";position:absolute;left:0;right:0;top:59px;height:240px;background:#fff;border-bottom:1px solid var(--border);display:none;z-index:-1;}
  .gnb__list:hover::before,.gnb__list:focus-within::before,.hd.on .gnb__list::before{display:block;}
  .gnb__list:hover .gnb__sub,.gnb__list:focus-within .gnb__sub,.hd.on .gnb__sub{display:block;}
  .gnb__list{position:relative;z-index:1;}
}
@media (hover:hover) and (min-width:961px){
  .gnb__i:hover .gnb__a,.gnb__i:hover .gnb__sub{background:var(--pt-tint);}
  .gnb__i:hover .gnb__a::before{opacity:1;}
  .gnb__sub a:hover{color:var(--pt);font-weight:700;}
}

/* ---------- 6. 메인 사진 (main_visual) ---------- */
.mv{position:relative;overflow:hidden;background:#1d2b33;}
.mv__s{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s,visibility 1s;}
.mv__s:first-child{position:relative;}
.mv__s.on,.mv:not(.started) .mv__s:first-child{opacity:1;visibility:visible;}
.mv__bg{height:calc(100vh - var(--hd-h));height:calc(100svh - var(--hd-h));min-height:440px;   /* 머리말 아래 첫 화면을 꽉 채움 (지질공원과 같게) */background-size:cover;background-position:center;transform:scale(1);transition:transform 2s ease-out;}
.mv__s.on .mv__bg{transform:scale(1.1);}
.mv__s::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3);}
.mv__t{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);width:96%;max-width:var(--width);padding:0 var(--pad);color:#fff;}
.mv__sub{margin:0 0 20px;font-size:clamp(20px,1.6vw + 7px,30px);font-weight:600;color:#EEEEEE;}
.mv__h{margin:0 0 50px;font-family:var(--sport);font-size:clamp(38px,5.6vw,82px);font-weight:700;line-height:1.25;color:#fff;letter-spacing:.01em;}
.mv__ctrl{position:absolute;left:50%;bottom:clamp(30px,3.5vw,50px);transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:15px;}
.mv__dots{display:flex;gap:15px;}
.mv__dots button{width:12px;height:12px;border-radius:2em;background:#EEEEEE;transition:width .3s;}
.mv__dots button.on{width:40px;background:var(--pt-lighter);}
.mv__pause{width:40px;height:15px;border-radius:2em;background:var(--pt-lighter);}
.mv__pause.is-paused{background:#EEEEEE;}

/* btn_more — 알약, 오른쪽 원 화살표, 마우스를 올리면 흰색이 차오름 */
.more{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;width:200px;height:50px;padding:0 5px 0 25px;border-radius:50px;background:var(--pt);overflow:hidden;isolation:isolate;}
.more::before{content:"";position:absolute;left:0;top:0;width:0;height:100%;background:#fff;border-radius:2em;transition:width .3s ease-out;z-index:-1;}
.more span{font-size:16px;font-weight:500;color:#fff;transition:color .3s ease-out;}
.more i{position:relative;width:40px;height:40px;border-radius:50%;background:var(--pt-light);flex:none;}
.more i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:#fff;transform:translate(-50%,-50%);}
.more i::before{content:"";position:absolute;left:58%;top:50%;width:8px;height:8px;border-top:2px solid #fff;border-right:2px solid #fff;transform:translate(-50%,-50%) rotate(45deg);}
@media(hover:hover){.more:hover::before{width:100%;}.more:hover span{color:var(--pt);}}

/* ---------- 7. 서브 비주얼 · 위치 표시줄 · 화면 제목 ---------- */
.sv{position:relative;height:350px;display:flex;align-items:center;justify-content:center;text-align:center;background:#1d2b33 center/cover no-repeat;}
.sv::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28);}
.sv__t{position:relative;z-index:1;}
.sv__en{margin:0 0 15px;font-size:25px;color:#fff;}
.sv__h{margin:0;font-family:var(--sport);font-size:52px;font-weight:700;line-height:1.3;color:#fff;letter-spacing:.01em;}

.navi{border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:50;}
.navi .cont>ul{display:flex;}
.navi .cont>ul>li{position:relative;width:270px;height:60px;border-right:1px solid var(--line);}
.navi__home{width:60px!important;background:var(--pt);}
.navi__home a{display:grid;place-items:center;height:100%;color:#fff;}
.navi__home svg{width:22px;height:22px;}
.navi__dd summary{list-style:none;cursor:pointer;display:flex;align-items:center;height:60px;padding:0 50px 0 30px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.navi__dd summary::-webkit-details-marker{display:none;}
.navi__dd summary::after{content:"";position:absolute;right:28px;top:26px;width:8px;height:8px;border-right:1.5px solid var(--text-light);border-bottom:1.5px solid var(--text-light);transform:rotate(45deg);transition:transform .2s;}
.navi__dd[open] summary::after{transform:rotate(-135deg);top:30px;}
.navi__dd ul{position:absolute;left:0;top:60px;width:100%;padding:20px 30px;background:#fff;border:1px solid var(--pt);z-index:100;}
.navi__dd li{margin-bottom:10px;}
.navi__dd li:last-child{margin-bottom:0;}
.navi__dd a{font-size:18px;font-weight:500;color:var(--text-light);}
.navi__dd a[aria-current]{color:var(--pt);font-weight:700;}
@media(hover:hover){.navi__dd a:hover{color:var(--pt);}}

.pg-ttl{text-align:center;padding-top:max(4.17vw,40px);margin-bottom:max(2.6vw,20px);}
.pg-ttl__h{display:inline-block;font-size:30px;font-weight:600;line-height:2;}
.pg-ttl__h span{position:relative;display:inline-block;padding-left:25px;isolation:isolate;}
.pg-ttl__h span::before{content:"";position:absolute;left:0;top:50%;z-index:-1;width:50px;height:50px;border-radius:50%;background:var(--pt-lighter);transform:translateY(-50%);}
.pg-ttl + .sec,.pg-ttl + section{padding-top:clamp(20px,2vw,40px);}

/* ---------- 8. 섹션 제목 (title_area) ---------- */
.hd2{margin-bottom:clamp(40px,5.5vw,80px);}
.hd2__en{display:block;margin-bottom:clamp(12px,1.3vw,25px);font-size:clamp(17px,.8vw + 13.5px,25px);font-weight:500;letter-spacing:.1em;color:var(--pt);}
.hd2 h2{position:relative;display:inline-block;font-size:clamp(28px,2.4vw + 15px,50px);font-weight:700;color:var(--text);line-height:1.4;}
.hd2 h2::before{content:"";position:absolute;left:-.7em;top:0;width:1.4em;height:1.4em;border-radius:50%;background:var(--pt-pale);z-index:-1;}
.hd2 h2{isolation:isolate;z-index:0;}
.hd2 h2 .dot{display:none;}
.hd2 p{margin:20px 0 0;font-size:18px;color:var(--text-lighter);max-width:56em;}
.hd2-c{text-align:center;}
.hd2-c p{margin-left:auto;margin-right:auto;}
.ghost{display:none;}

/* 본문 제목 (section_header: 체크 표시 + 27px) */
.ptitle{display:flex;align-items:center;gap:10px;margin:0 0 clamp(20px,2.1vw,40px);font-size:clamp(22px,.6vw + 18px,27px);font-weight:700;color:var(--text);}
.ptitle::before{content:"";width:30px;height:30px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M6 15.5l6 6L24 9' fill='none' stroke='%230079CD' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
.ptitle2{margin:clamp(40px,3.8vw,64px) 0 16px;font-size:clamp(19px,.4vw + 16px,22px);font-weight:700;color:var(--text);}
.ptitle2:first-child{margin-top:0;}
.lead{font-size:18px;color:var(--text-light);}

/* ---------- 9. 버튼 ---------- */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 32px;border-radius:32px;font-size:16px;font-weight:500;border:1px solid transparent;transition:background-color .3s ease-out,color .3s,border-color .3s;}
.bt-fill{background:var(--pt);color:#fff;}
.bt-line{background:#fff;color:var(--text-light);border-color:#838383;}
.bt-line::after{content:"+";font-size:18px;line-height:1;color:var(--text-lighter);}
.bt-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.8);}
.bt-lg{min-height:56px;padding:0 40px;font-size:17px;}
.bt-full{width:100%;}
.bt-wide{min-width:300px;}
.bt.no-arrow::after{display:none;}
/* 단추 묶음 — 가로로 나란히, 휴대폰에서는 한 줄에 하나씩 꽉 차게 (아래 @media max-width:600px) */
.bts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 8px;}
.bts.bts-c{justify-content:center;}
@media(hover:hover){
  .bt-fill:hover{background:var(--pt-deep);}
  .bt-line:hover{border-color:var(--pt);color:var(--pt);}
  .bt-white:hover{background:#fff;color:var(--text);}
}
.txt-more{display:inline-flex;align-items:center;padding:0 5px;font-size:15px;font-weight:600;color:var(--pt);border-bottom:1px solid var(--pt);}
.txt-more::after{content:"+";margin-left:6px;font-size:17px;}

/* ---------- 10. 바로가기 (main_quick_menu) ---------- */
.quick{position:relative;height:150px;}
.quick::before{content:"";position:absolute;left:0;top:0;width:66%;height:100%;background:var(--pt-lighter);border-radius:0 20em 20em 0;}
.quick .cont{display:flex;align-items:center;height:100%;}
.quick__ghost{position:absolute;right:var(--pad);bottom:0;font-family:var(--sport);font-size:80px;font-weight:700;line-height:1;color:var(--pt);opacity:.2;white-space:nowrap;pointer-events:none;}
.quick__list{position:relative;display:flex;align-items:center;gap:24px;height:100%;}
.quick__list a{position:relative;display:flex;align-items:center;gap:20px;padding-right:20px;border-radius:20em;overflow:hidden;isolation:isolate;}
.quick__list a::before{content:"";position:absolute;left:0;top:0;width:0;height:100%;background:#fff;border-radius:20em;transition:width .3s ease-out;z-index:-1;}
.quick__ic{display:grid;place-items:center;width:90px;height:90px;border-radius:40px;background:#fff;flex:none;}
.quick__ic svg{width:40px;height:40px;fill:none;stroke:var(--pt);stroke-width:1.5;}
.quick__list b{font-size:17px;font-weight:500;color:var(--text);white-space:nowrap;}
@media(hover:hover){.quick__list a:hover::before{width:100%;}}

/* ---------- 11. 카드 (spot_list) ---------- */
.tiles{display:grid;gap:clamp(36px,3.4vw,60px) 24px;}
.tiles-2{grid-template-columns:repeat(2,1fr);}
.tiles-3{grid-template-columns:repeat(3,1fr);}
.tiles-4{grid-template-columns:repeat(4,1fr);}
.tiles>a,.tiles>div{display:block;}
.tile__img{position:relative;z-index:1;overflow:hidden;aspect-ratio:464/420;background:var(--bg-soft) center/cover no-repeat;}
.tile__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease-out;}
.tile__img::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:50%;background:linear-gradient(rgba(232,240,245,0) 0%,rgb(232,240,245) 100%);}
.tile__b{position:relative;z-index:2;margin-top:-20px;padding:0 clamp(16px,2.8vw,40px);}
.tile__b h3{margin-bottom:clamp(16px,2vw,30px);font-size:clamp(26px,.9vw + 22px,35px);font-weight:600;line-height:1.2;color:var(--text-light);}
.tile__price{margin:0 0 10px;font-size:clamp(18px,.3vw + 16.5px,22px);font-weight:600;color:var(--pt);}
.tile__price del{margin-left:8px;font-size:15px;font-weight:400;color:var(--text-lighter);}
.tile__price small{font-size:15px;font-weight:500;color:var(--text-lighter);margin-left:4px;}
.tile__sub{margin:0 0 10px;font-size:clamp(18px,.3vw + 16.5px,22px);font-weight:600;color:var(--pt);}
.tile__d{margin:0;font-size:clamp(16px,.2vw + 15px,18px);font-weight:500;line-height:1.6;color:var(--text-lighter);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tile__tag{display:none;}
.tiles-plain .tile__img{border-radius:20px;aspect-ratio:330/270;}
.tiles-plain .tile__img::after{display:none;}
.tiles-plain .tile__b{margin-top:20px;padding:0;}
.tiles-plain .tile__b h3{margin-bottom:12px;font-size:18px;font-weight:500;color:var(--text);}
@media(hover:hover){.tiles a:hover .tile__img img{transform:scale(1.06);}.tiles a:hover h3{color:var(--pt);}}

/* ---------- 12. 표 (개요 표 · 게시판) ---------- */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tb{min-width:560px;border-top:1px solid var(--text-lighter);font-size:17px;}
.tb caption{caption-side:top;text-align:left;padding-bottom:12px;font-size:15px;color:var(--text-lighter);}
.tb th,.tb td{height:70px;padding:10px clamp(16px,2.4vw,40px);border-bottom:1px solid var(--line);color:var(--text-light);line-height:1.65;text-align:center;vertical-align:middle;font-weight:400;}
.tb thead th{background:var(--bg-soft);font-size:15px;font-weight:600;color:var(--text);height:66px;}
.tb tbody th{width:22%;border-right:1px solid var(--line);font-weight:600;color:var(--text);text-align:left;}
.tb td.L,.tb th.L{text-align:left;}
.tb .em{font-weight:700;color:var(--pt);}
.tb a{color:var(--pt);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

/* 옛 게시판 목록 (notice_list) */
.bl__n{margin:0 0 14px;font-size:15px;color:var(--text-light);}
.bl__n b{font-weight:600;}
.tb.bl{min-width:0;border-top:0;font-size:15px;}
.tb.bl thead th{background:var(--bg-soft);height:66px;font-size:15px;font-weight:600;color:#000;border:0;}
.tb.bl thead th:first-child{border-radius:10px 0 0 10px;}
.tb.bl thead th:last-child{border-radius:0 10px 10px 0;}
.tb.bl td{height:74px;padding:0 10px;font-size:15px;color:#666;border-bottom:1px solid var(--line);}
.tb.bl .bl__no{width:10%;}
.tb.bl .bl__d{width:12%;white-space:nowrap;}
.tb.bl .bl__h{width:10%;}
.tb.bl .bl__w{width:12%;white-space:nowrap;}
.tb.bl td.L a{color:#666;text-decoration:none;font-weight:400;}
/* 관리자 모드 띠 (site.js — 관리자 로그인 쿠키가 있을 때만 생김) */
.adm-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:96%;max-width:var(--width);margin:14px auto 0;padding:10px 16px;border:1px solid #F5D77A;border-radius:12px;background:#FFF8E1;font-size:14px;font-weight:600;color:#6B4E00;}
.adm-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;background:var(--pt);color:#fff;font-size:13px;font-weight:600;}
.adm-note{font-weight:400;color:#8A6D1E;}
.adm-link{color:var(--pt)!important;text-decoration:underline!important;}
/* 쪽 번호 (예약 접수 현황 목록) */
.pg{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:28px 0 0;}
.pg a,.pg strong,.pg span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-light);}
.pg strong{background:var(--pt);border-color:var(--pt);color:#fff;}
.pg span{border-color:transparent;}
@media (hover:hover){.pg a:hover{border-color:var(--pt);color:var(--pt);}}
@media(hover:hover){.tb.bl tbody tr:hover td{background:#FAFAFA;}.tb.bl td.L a:hover{color:var(--pt);text-decoration:underline;}}

/* ---------- 13. 목록·상자 ---------- */
.dl li{position:relative;margin-bottom:8px;padding-left:14px;font-size:17px;color:var(--text-light);}
.dl li::before{content:"·";position:absolute;left:0;top:0;font-weight:700;color:var(--text-lighter);}
.dl li:last-child{margin-bottom:0;}
.dl strong{color:var(--text);}
.dl a{color:var(--pt);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.nl{counter-reset:n;}
.nl li{position:relative;margin-bottom:20px;padding-left:44px;font-size:17px;color:var(--text-light);}
.nl li::before{counter-increment:n;content:counter(n,decimal-leading-zero);position:absolute;left:0;top:0;font-size:17px;font-weight:700;color:var(--pt);}
.nl strong{display:block;margin-bottom:4px;font-size:18px;color:var(--text);}
.box{padding:clamp(24px,2.4vw,40px);border-radius:20px;background:#F5F5F5;}
.box h2,.box h3{margin-bottom:14px;font-size:20px;font-weight:700;}
.box-line{background:var(--pt-tint);}
.box-warn{background:#F5F5F5;}
.box p:last-child,.box ul:last-child{margin-bottom:0;}
.notice-bar{margin-bottom:clamp(30px,3vw,50px);padding:clamp(20px,2vw,30px) clamp(24px,2.4vw,40px);border-radius:20px;background:var(--pt-tint);}
.notice-bar .tag{display:none;}
.notice-bar p{margin:0;font-size:17px;color:var(--text-light);}
.notice-bar p strong{font-size:18px;color:var(--text);}
.notice-bar p+p{margin-top:6px;}
.notice-bar a{color:var(--pt-deep);font-weight:600;text-decoration:underline;}
.times{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px;}
.times span{padding:8px 22px;border-radius:30px;background:#fff;border:1px solid var(--line);font-size:18px;font-weight:600;color:var(--pt);}

/* 절차 (홈) */
.steps{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--text-lighter);}
.step{padding:30px 16px;text-align:center;border-bottom:1px solid var(--line);}
.step+.step{border-left:1px solid var(--line);}
.step b{display:block;margin-bottom:12px;font-size:17px;font-weight:700;color:var(--pt);}
.step h3{margin-bottom:6px;font-size:19px;font-weight:600;}
.step p{margin:0;font-size:15px;color:var(--text-lighter);}

/* ---------- 14. 자주 묻는 질문 ---------- */
.faq details{border-bottom:1px solid var(--line);}
.faq details:first-child{border-top:1px solid var(--text-lighter);}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:22px 60px 22px 54px;font-size:17px;font-weight:600;color:var(--text);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q";position:absolute;left:16px;top:20px;font-size:20px;font-weight:700;color:var(--pt);}
.faq summary::after{content:"";position:absolute;right:24px;top:30px;width:9px;height:9px;border-right:1.5px solid var(--text-lighter);border-bottom:1.5px solid var(--text-lighter);transform:rotate(45deg);transition:transform .2s;}
.faq details[open] summary::after{transform:rotate(-135deg);top:34px;}
.faq__a{margin:0;padding:20px 30px 24px 54px;background:var(--bg-soft);font-size:16px;color:var(--text-light);}
.faq__a a{color:var(--pt);font-weight:600;text-decoration:underline;}
@media(hover:hover){.faq summary:hover{color:var(--pt);}}

/* ---------- 15. 알림 목록 (info_section notice_list) ---------- */
.bd{border-top:1px solid var(--text-lighter);}
.bd li{border-bottom:1px solid var(--border);}
.bd a,.bd span.row{display:flex;align-items:center;gap:12px;padding:22px 20px;}
.bd em{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:55px;height:30px;padding:0 10px;border-radius:50px;background:var(--pt);font-style:normal;font-size:14px;font-weight:700;color:#fff;}
.bd b{flex:1;min-width:0;font-size:17px;font-weight:500;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease-out;}
.bd time{font-size:16px;font-weight:500;color:var(--text-lighter);flex:none;}
@media(hover:hover){.bd a:hover b{color:var(--pt);}}
.info-ttl{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;}
.info-ttl h2{display:flex;align-items:center;gap:14px;font-size:clamp(24px,.6vw + 20px,30px);font-weight:600;}
.info-ttl h2 svg{width:36px;height:36px;fill:none;stroke:var(--text);stroke-width:1.5;}

/* ---------- 16. 옛 글 상세 ---------- */
.post__hd{padding:0 0 30px;border-bottom:1px solid var(--line);text-align:center;}
.post__cat{display:none;}
.post__t{font-size:clamp(20px,.4vw + 17px,23px);font-weight:700;color:#333;}
.post__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px;margin:14px 0 0;font-size:15px;color:var(--text-lighter);}
.post__meta div{display:flex;gap:8px;}
.post__meta dt{font-weight:600;}
.post__meta dd{margin:0;}
.post__old{margin-top:30px;}
.post__old h2{margin-bottom:6px;font-size:16px;}
.post__old p{font-size:16px;color:var(--text-light);}
.post__old a,.post__body a{color:var(--pt);font-weight:600;text-decoration:underline;overflow-wrap:anywhere;}
.post__body{padding:40px 0;color:var(--text-light);font-size:16px;overflow-wrap:break-word;}
.post__body p,.post__body div{margin:0 0 .4em;}
.post__body img{max-width:100%;height:auto!important;}
/* 옛 객실 글 사진 — 대표 사진 크게(원본 500px, 누르면 크게) + 아래 작은 사진들 가로로 (원본 70px 그대로 — 키우면 깨짐) (archive.gallery) */
.post__main{margin:0 0 10px!important;}
.post__main a{display:block;width:min(100%,500px);border-radius:16px;overflow:hidden;background:#EEF1F3;}
.post__body .post__main img{width:100%;display:block;}
.post__thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;}
.post__body .post__thumbs img{width:70px;height:70px!important;object-fit:cover;border-radius:8px;}
.post__body table{width:100%!important;border-top:1px solid var(--text-lighter);margin:16px 0;font-size:15px;}
.post__body td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;}
.post__body h5{margin:1em 0 .4em;font-size:18px;color:var(--text);}
/* 관리자 화면에서 쓴 공지 — 문단 사이를 띄우고 '- ' 목록에 점 */
.post__body--txt{font-size:17px;line-height:1.8;}
.post__body--txt p{margin:0 0 1em;}
.post__body--txt ul{margin:0 0 1em;padding-left:1.4em;list-style:disc;}
.post__body--txt li{margin:.25em 0;}
.post__empty{color:var(--text-lighter);}
.post__nav{border-top:1px solid var(--line);}
.post__nav li{display:flex;gap:20px;padding:16px 10px;border-bottom:1px solid var(--line);font-size:15px;}
.post__nav span{flex:none;font-weight:600;color:var(--text-light);}
.post__nav a{min-width:0;color:var(--text-lighter);}
@media(hover:hover){.post__nav a:hover{color:var(--pt);}}
.post__back{margin-top:50px;text-align:center;}
.post__back .bt{min-width:220px;border-radius:5px;border-color:var(--pt);color:var(--pt);}
.post__back .bt::after{display:none;}

/* ---------- 17. 사진+글 ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,3.3vw,60px);align-items:center;}
.duo-r>:first-child{order:2;}
.duo img,.ph{width:100%;aspect-ratio:4/3;object-fit:cover;}
.ph-wrap{overflow:hidden;}
.cap{margin:12px 0 0;font-size:15px;color:var(--text-lighter);}

/* 협력업체·제휴 */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px;}
.card{position:relative;display:block;padding:30px;border-radius:20px;background:#fff;border:1px solid var(--border);}
.card small{display:block;margin-bottom:10px;font-size:15px;font-weight:600;color:var(--pt);}
.card h3{margin-bottom:8px;font-size:22px;font-weight:600;}
.card p{margin:0;font-size:16px;color:var(--text-lighter);}
.card .pct{position:absolute;right:30px;top:28px;font-size:30px;font-weight:700;color:var(--pt);}
.card-main{background:var(--pt-tint);border-color:var(--pt-tint);}
@media(hover:hover){a.card:hover{border-color:var(--pt);}}

/* ---------- 18. 예약 신청 ---------- */
.rv{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(24px,3vw,50px);align-items:start;}
.rv__step{padding:clamp(24px,2.4vw,36px) 0;border-bottom:1px solid var(--line);}
.rv__step:first-child{border-top:1px solid var(--text-lighter);}
.rv__step h3{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:20px;font-weight:700;}
.rv__step h3 b{font-size:20px;font-weight:700;color:var(--pt);}
.rv__step h3 b::after{content:".";}
.rv__help{margin:0 0 16px;font-size:15px;color:var(--text-lighter);}
.rv__chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:52px;padding:10px 20px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:16px;font-weight:500;color:var(--text);text-align:left;transition:border-color .2s,background-color .2s,color .2s;}
.chip small{font-size:14px;font-weight:400;color:var(--text-lighter);}
.chip[aria-pressed="true"]{border-color:var(--pt);background:var(--pt);color:#fff;}
.chip[aria-pressed="true"] small{color:#D5E4EE;}
.chip:disabled{opacity:.4;cursor:not-allowed;}
@media(hover:hover){.chip:not(:disabled):hover{border-color:var(--pt);}}
.chip-course{flex:1 1 200px;min-height:82px;}
.chip-course strong{font-size:17px;font-weight:600;}
.chip-course em{margin-top:2px;font-style:normal;font-weight:700;}
.cal__hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cal__hd strong{font-size:20px;font-weight:600;}
.cal__nav{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);font-size:20px;color:var(--text-light);}
.cal__nav:disabled{opacity:.3;cursor:not-allowed;}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.cal__w{padding:6px 0;text-align:center;font-size:14px;font-weight:600;color:var(--text-lighter);}
.cal__w:first-child{color:#C0392B;}.cal__w:last-child{color:var(--pt);}
.cal__d{aspect-ratio:1.3;border-radius:8px;background:var(--bg-soft);font-size:16px;font-weight:500;transition:background-color .2s,color .2s;}
.cal__d.sun{color:#C0392B;}.cal__d.sat{color:var(--pt);}
.cal__d.today{box-shadow:inset 0 0 0 1px var(--pt-lighter);}
.cal__d[aria-pressed="true"]{background:var(--pt);color:#fff;}
.cal__d:disabled{background:transparent;color:#C7C7C7;cursor:not-allowed;}
@media(hover:hover){.cal__d:not(:disabled):hover{background:var(--pt-tint);}}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.stepper button{width:54px;height:50px;font-size:22px;color:var(--pt);}
.stepper button:disabled{color:#C7C7C7;}
.stepper output{min-width:70px;text-align:center;font-size:18px;font-weight:600;}
.rv__in{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.rv__in label{display:block;margin-bottom:6px;font-size:15px;font-weight:600;color:var(--text-light);}
.rv__in input{width:100%;height:52px;padding:0 14px;border:1px solid var(--line);border-radius:5px;font:inherit;font-size:16px;background:#fff;}
.rv__in input:focus{outline:0;border-color:var(--pt);}
.rv__in textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:5px;font:inherit;font-size:16px;line-height:1.6;background:#fff;resize:vertical;}
.rv__in textarea:focus{outline:0;border-color:var(--pt);}
.rv__in select{width:100%;height:52px;padding:0 14px;border:1px solid var(--line);border-radius:5px;font:inherit;font-size:16px;background:#fff;}
.rv__in select:focus{outline:0;border-color:var(--pt);}
.agree{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:16px;border-radius:10px;background:var(--bg-soft);font-size:15px;color:var(--text-light);cursor:pointer;}
.agree input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--pt);flex:none;}
.rv__sum{position:sticky;top:calc(var(--hd-h) + 20px);padding:30px;border-radius:20px;background:var(--bg-soft);}
.rv__sum h3{margin-bottom:14px;font-size:20px;}
.rv__sum dl{margin:0 0 18px;border-top:1px solid var(--text-lighter);}
.rv__sum dl div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;}
.rv__sum dt{color:var(--text-lighter);}
.rv__sum dd{margin:0;font-weight:600;text-align:right;}
.rv__sum .total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.rv__sum .total b{font-size:28px;font-weight:700;color:var(--pt);}
.rv__sum .note{margin:0 0 18px;font-size:14px;color:var(--text-lighter);}
.rv__sum .bt{width:100%;border-radius:5px;}
.rv__sum .bt[disabled]{opacity:.5;cursor:not-allowed;}
.rv__msg{margin:12px 0 0;min-height:1.5em;font-size:15px;font-weight:600;color:var(--pt);}
.rv__msg.err{color:#B3261E;}
.rv__done{padding:clamp(40px,5vw,70px) 20px;border-radius:20px;background:var(--pt-tint);text-align:center;}
/* 접수 직후 팝업 — 예약금·계좌번호를 크게 (reserve.js depositPopup) */
.pop{position:fixed;inset:0;z-index:2100;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.62);}
.pop__box{width:min(540px,100%);max-height:100%;overflow:auto;padding:clamp(28px,4vw,44px) clamp(20px,3vw,36px);border-radius:24px;background:#fff;text-align:center;}
.pop__ok{margin:0;font-size:var(--f-sm);font-weight:700;color:var(--pt);}
.pop__box h2{margin:6px 0 12px;font-size:clamp(24px,2.6vw,30px);font-weight:800;color:var(--text);}
.pop__amt{margin:0;font-size:clamp(17px,1.4vw,19px);color:var(--text-light);}
.pop__amt b{font-size:clamp(22px,2vw,26px);color:var(--pt-deep);}
.pop__note{margin:8px 0 0;font-size:var(--f-sm);color:var(--text-lighter);}
.pop__acct{margin:18px 0 16px;padding:18px 14px;border-radius:16px;background:var(--pt-tint);}
.pop__acct small{display:block;margin-bottom:4px;font-size:16px;font-weight:600;color:var(--text-light);}
.pop__acct b{display:block;font-size:clamp(30px,4.2vw,40px);line-height:1.2;letter-spacing:.04em;font-weight:800;font-variant-numeric:tabular-nums;color:var(--pt-deep);user-select:all;-webkit-user-select:all;}
.pop .bt-lg{width:100%;max-width:360px;}
.pop__sub{margin:16px 0 14px;font-size:var(--f-sm);color:var(--text-lighter);}
.rv__done b{display:block;margin:8px 0 14px;font-size:26px;color:var(--pt);}
.rv__nojs{padding:16px 20px;border-radius:10px;background:var(--bg-soft);}
.js .rv__nojs{display:none;}

/* ---------- 19. 푸터 (footer) ---------- */
.ft{position:relative;overflow:hidden;background:var(--border);}
.ft__deco{position:absolute;inset:0;pointer-events:none;}   /* 산줄기·패러글라이더 바탕 그림 (build.py FT_DECO) */
.ft__deco svg{display:block;position:absolute;left:0;bottom:0;width:100%;height:auto;max-height:100%;}
.ft__wave{position:absolute;left:0;top:0;width:100%;height:clamp(28px,4vw,60px);color:#fff;z-index:1;}   /* 흰 화면과 회색 바닥글의 경계 — 물결 */
.ft__wave svg{display:block;width:100%;height:100%;}
.ft__top,.ft__info{position:relative;z-index:1;}
.ft__top{padding-top:calc(clamp(28px,4vw,60px) + 36px);}
.ft__top .cont{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.ft__menu{display:flex;flex-wrap:wrap;}
.ft__menu li{display:flex;align-items:center;}
.ft__menu li::after{content:"/";width:34px;text-align:center;color:#9E9E9E;}
.ft__menu li:last-child::after{display:none;}
.ft__menu a{font-size:16px;font-weight:500;color:var(--text-light);}
.ft__menu b{font-weight:700;color:var(--text);}
@media(hover:hover){.ft__menu a:hover{color:var(--pt);}}
.totop{display:grid;place-items:center;flex:none;width:67px;height:45px;border-radius:10px;background:var(--text-light);font-size:16px;font-weight:500;color:#fff;}
.ft__info{padding:30px 0 36px;}
.ft__info .cont{display:flex;align-items:center;gap:clamp(28px,3vw,44px);}
.ft__logo{width:auto;margin:0;}
.ft__logo img{height:96px;}
.ft__biz{font-style:normal;}
.ft__biz p{margin:0 0 2px;font-size:13px;line-height:1.7;color:#444;}   /* 산줄기(#B6B6B6) 위에서도 4.8:1 */
.ft__biz a{color:inherit;}
.ft__copy{margin-top:8px!important;font-size:12px!important;letter-spacing:.02em;}

/* 모바일 고정 바 */
.fix{display:none;position:fixed;left:0;right:0;bottom:0;z-index:800;background:#fff;border-top:1px solid var(--border);}
.fix div{display:grid;grid-template-columns:1fr 1fr;}
.fix a{display:flex;align-items:center;justify-content:center;gap:8px;height:56px;font-size:16px;font-weight:600;}
.fix__tel{background:var(--pt-deep);color:#fff;}   /* 짙은 파랑 + 전화기 (2026-10-26 사용자 요청) */
.fix__tel svg{width:20px;height:20px;fill:currentColor;flex:none;}
.fix__book{background:var(--pt);color:#fff;}

.dim{position:fixed;inset:0;z-index:980;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.dim.on{opacity:1;visibility:visible;}

/* ---------- 20. 반응형 (기준점 1200 · 960 · 768) ---------- */
br.mo{display:none;}
@media (max-width:1200px){
  .tiles-3,.tiles-4{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(3,1fr);}
  .step:nth-child(4){border-left:0;}
  .quick__ghost{display:none;}
  .quick::before{width:90%;}
  .rv{grid-template-columns:1fr;}
  .rv__sum{position:static;}
  .ft__logo{width:auto;}
}
@media (max-width:960px){
  :root{--hd-h:100px;}
  .hd__top{height:100px;}
  .hd__icons{display:none;}
  .gnb{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(340px,88vw);height:auto;border:0;transform:translateX(100%);transition:transform .35s var(--ease);overflow-y:auto;z-index:990;padding-top:100px;background:#fff;}
  .gnb.on{transform:none;}
  .gnb__list{flex-direction:column;height:auto;}
  .gnb__i{border-bottom:1px solid var(--border);}
  .gnb__a{justify-content:flex-start;height:auto;padding:16px 24px;}
  .gnb__a::before{display:none;}
  .gnb__sub{display:block;position:static;height:auto;border:0;background:var(--bg-soft);}
  .gnb__sub ul{padding:6px 0 10px;}
  .gnb__sub li{padding-left:36px;font-size:16px;line-height:2.2;}
  .hd{z-index:1000;}
  .sv{height:260px;}
  .duo{grid-template-columns:1fr;}
  .duo-r>:first-child{order:0;}
  .tiles-2,.tiles-3{grid-template-columns:1fr;}
  .ft__info .cont{display:block;}
  .ft__logo{margin-bottom:20px;}
  .ft__deco svg{width:220%;max-width:none;left:-60%;}   /* 좁은 화면에서는 그림 가운데 부분을 크게 (svg max-width:100% 해제) */
  .fix{display:block;}
  body{padding-bottom:56px;}
  .quick{height:auto;padding:40px 0;}
  .quick::before{width:100%;border-radius:0;}
  .quick__list{flex-wrap:wrap;justify-content:center;}
  br.mo{display:inline;}
}
@media (max-width:768px){
  :root{--hd-h:70px;}
  .hd__top{height:70px;}
  .hd__logo img{height:54px;}
  .ic{width:40px;height:40px;}
  .ic svg{width:20px;height:20px;}
  .gnb{padding-top:70px;}
  .sv__en{font-size:20px;}
  .sv__h{font-size:32px;}
  .navi .cont{padding:0;}
  .navi .cont>ul>li{flex:1;width:auto;min-width:0;}
  .navi .cont>ul>li.navi__home{flex:none;width:56px!important;}
  .navi__dd summary{padding:0 34px 0 14px;font-size:15px;}
  .navi__dd summary::after{right:14px;}
  .navi__dd ul{padding:16px 18px;}
  .navi__dd a{font-size:16px;}
  .pg-ttl__h{font-size:24px;}
  .mv__h{margin-bottom:30px;}
  .mv__bg{height:clamp(440px,60vh,640px);height:clamp(440px,60svh,640px);}   /* 휴대폰은 지질공원처럼 화면의 6할쯤 */
  /* 넓은 표 → 카드 (build.py _stack_tables 가 data-label·tb-stack 을 붙임) */
  .tw:has(.tb-stack){overflow:visible;}
  .tb-stack{display:block;width:100%;min-width:0;border-top:0;font-size:15px;}
  .tb-stack caption{display:block;width:100%;}
  .tb-stack tr>:first-child{width:auto;}
  .tb-stack thead{display:none;}
  .tb-stack tbody,.tb-stack tr{display:block;}
  .tb-stack tr{margin:0 0 12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;}
  .tb-stack td,.tb-stack tbody th{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;height:auto;min-height:0;padding:10px 16px;text-align:right;line-height:1.55;border-bottom:1px solid var(--line);}
  .tb-stack tr>:last-child{border-bottom:0;}
  .tb-stack td::before,.tb-stack tbody th::before{content:attr(data-label);flex:none;max-width:40%;font-size:14px;font-weight:600;color:var(--text);text-align:left;}
  .tb-stack tr>:first-child{display:block;padding:12px 16px;background:var(--pt-tint);font-size:16px;font-weight:700;color:var(--text);text-align:left;}
  .tb-stack tr>:first-child::before{display:none;}
  .tb-stack td.L,.tb-stack tbody th.L{text-align:right;}
  .more{width:150px;height:44px;padding-left:20px;}
  .more i{width:34px;height:34px;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .step{border-left:0!important;}
  .step:nth-child(odd){border-right:1px solid var(--line);}
  .quick__list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 4px;width:100%;}
  .quick__list a{flex-direction:column;gap:8px;padding:0;border-radius:0;text-align:center;}
  .quick__list a::before{display:none;}
  .quick__ic{width:60px;height:60px;border-radius:26px;}
  .quick__ic svg{width:30px;height:30px;}
  .quick__list b{font-size:14px;white-space:normal;}
  .tiles-4{grid-template-columns:1fr;}
  .tb{font-size:15px;}
  .tb th,.tb td{height:auto;padding:12px 14px;}
  .tb.bl .bl__no,.tb.bl .bl__h,.tb.bl .bl__w{display:none;}
  .tb.bl td{height:auto;padding:14px 8px;}
  .post__nav li{flex-direction:column;gap:2px;}
  .post__body table{table-layout:fixed;font-size:14px;}
  .post__body td{padding:10px 6px;overflow-wrap:anywhere;}
  .bd a{flex-wrap:wrap;padding:18px 10px;}
  .bd b{flex-basis:100%;order:2;white-space:normal;}
  .rv__in{grid-template-columns:1fr;}
  .chip-course{flex-basis:100%;}
  .ft__top .cont{flex-direction:column;align-items:flex-start;}
  .ft__menu li::after{width:20px;}
  .hd2 h2::before{left:-.4em;}
}

@media print{
  .hd,.fix,.quick,.mv__ctrl,.navi,.ft__deco,.ft__wave,.lb,.pop,.adm-bar{display:none!important;}
  .js [data-reveal]{opacity:1;top:0;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  html{scroll-behavior:auto;}
  .js [data-reveal]{opacity:1;top:0;}
  .mv__s.on .mv__bg{transform:none;}
}

/* 서브 화면 안의 섹션 제목은 메인처럼 크게 쓰지 않고 서브 화면 크기로 */
.pg-ttl ~ * .hd2{margin-bottom:clamp(24px,2.6vw,44px);}
.pg-ttl ~ * .hd2__en{margin-bottom:8px;font-size:16px;}
.pg-ttl ~ * .hd2 h2{font-size:clamp(22px,.6vw + 18px,27px);}
.pg-ttl ~ * .hd2 h2::before{display:none;}
.pg-ttl ~ * .hd2 p{font-size:17px;}

/* 스포츠 느낌은 큰 제목에만 — 메인 사진, 서브 비주얼, 메인 화면 섹션 제목.
   본문·표·메뉴·서브 화면 제목은 Pretendard 그대로 두어 공공기관 홈페이지의 차분함을 지킵니다. */
.mv ~ .sec .hd2 h2{font-family:var(--sport);font-weight:700;letter-spacing:.01em;}
.mv ~ .sec .hd2__en{font-family:var(--sport);letter-spacing:.14em;}
/* 서브 비주얼 아래쪽 비스듬한 속도선 두 줄 */
.sv::before{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;z-index:1;
  background:linear-gradient(100deg,transparent 0 58%,var(--pt) 58% 76%,var(--pt-lighter) 76% 84%,transparent 84%);}

/* 연혁 (연혁 표와 같은 짜임: 연도 · 내용) */
.hist{border-top:1px solid var(--text-lighter);}
.hist>li{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:22px 10px;border-bottom:1px solid var(--line);}
.hist>li>b{font-size:22px;font-weight:700;color:var(--pt);line-height:1.4;}
.hist ul li{position:relative;padding-left:14px;font-size:17px;color:var(--text-light);line-height:1.7;}
.hist ul li::before{content:"·";position:absolute;left:0;color:var(--text-lighter);font-weight:700;}
@media (max-width:768px){.hist>li{grid-template-columns:70px 1fr;gap:12px;}.hist>li>b{font-size:18px;}.hist ul li{font-size:15px;}}

/* 영문 전환 버튼 — 지구본 대신 글자 */
.ic-lang{font-size:17px;font-weight:700;letter-spacing:.02em;color:#fff;}

/* 픽업 안내 — 사진을 글 옆에 작게 */
.pick{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:clamp(20px,2.4vw,36px);align-items:start;}
.pick__ph{margin:0;}
.pick__ph img{width:100%;aspect-ratio:900/319;object-fit:cover;border-radius:12px;}
.pick__ph figcaption{margin-top:8px;font-size:14px;color:var(--text-lighter);}
/* 크게 보기 (.zoom) — 픽업 장소 사진처럼 저장해 가도 되는 사진. data-free 는 저장 막기에서 제외 (site.js) */
.zoom{display:block;cursor:zoom-in;}
img[data-free]{-webkit-user-drag:auto;-webkit-touch-callout:default;user-select:auto;}
.lb{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.82);cursor:zoom-out;}
.lb img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.5);}
.lb__x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;background:#fff;color:#222;font-size:28px;line-height:1;cursor:pointer;}
@media (max-width:768px){.pick{grid-template-columns:1fr;}}

/* 영문 Contact 버튼 — 카카오톡 노랑 · 클룩 주황 */
.bt-naver{background:#03C75A;color:#fff;border-color:#03C75A;font-weight:700;}   /* 네이버 지도 — 네이버 초록 (2026-10-26 사용자 요청) */
.bt-naver::after{content:"↗";font-size:18px;line-height:1;}
.bt-kakao{background:#FEE500;color:#191919;}
.bt-klook{background:#FF5B00;color:#fff;}
@media(hover:hover){.bt-kakao:hover{background:#F2D900;}.bt-klook:hover{background:#E85200;}.bt-naver:hover{background:#02B04F;border-color:#02B04F;}}

/* 전체메뉴 (점 4개 버튼) — 옅은 바탕 위 강조색 띠 + 메뉴 묶음별 카드 */
.tm{position:fixed;inset:0;z-index:2000;overflow:auto;background:var(--pt-tint);padding:100px 0 50px;}
.tm__close{position:absolute;right:var(--pad);top:-76px;width:40px;height:40px;}
.tm__close::before,.tm__close::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:1.5px;background:#333;}
.tm__close::before{transform:translate(-50%,-50%) rotate(45deg);}
.tm__close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.tm__sns{display:none;}   /* 휴대폰 전체메뉴에서만 — 머리의 SNS 단추(.hd__icons)가 숨는 너비에서 대신 보여 줌 (2026-10-26 사용자 요청) */
@media (max-width:960px){
  .tm__sns{display:flex;justify-content:center;gap:12px;margin:0 0 16px;list-style:none;padding:0;}
  .tm__sns .ic{width:44px;height:44px;}
  .tm__sns .ic svg{width:22px;height:22px;}
}
.tm__bar{display:flex;justify-content:center;flex-wrap:wrap;padding:20px;border-radius:10px;background:var(--pt);}
.tm__bar a{position:relative;padding:0 20px;font-size:18px;color:#fff;}
.tm__bar a+a::before{content:"";position:absolute;left:0;top:50%;width:1px;height:12px;background:rgba(255,255,255,.6);transform:translateY(-50%);}
.tm__list{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;padding-top:50px;}
.tm__list>li{min-height:500px;border:1px solid var(--pt-lighter);border-radius:10px;background:#fff;}
.tm__h{display:block;padding:20px;border-bottom:1px solid var(--line);font-size:24px;font-weight:700;color:var(--text);}
.tm__list ul{padding:16px 20px;}
.tm__list ul a{display:block;padding:10px 0;font-size:18px;color:var(--text-light);}
.tm__list ul a small{margin-left:6px;font-size:13px;color:var(--text-lighter);}
@media(hover:hover){.tm__list a:hover,.tm__h:hover{color:var(--pt);}.tm__bar a:hover{text-decoration:underline;text-underline-offset:4px;}}
@media (max-width:1200px){.tm__list{grid-template-columns:repeat(3,1fr);}.tm__list>li{min-height:300px;}}
@media (max-width:960px){.gnb{display:none;}}
@media (max-width:768px){
  .tm{padding:76px 0 40px;}
  .tm__close{top:-60px;width:32px;height:32px;}
  .tm__bar a{padding:0 12px;font-size:16px;}
  .tm__list{grid-template-columns:repeat(2,1fr);gap:12px;padding-top:24px;}
  .tm__list>li{min-height:0;}
  .tm__h{padding:14px 16px;font-size:19px;}
  .tm__list ul{padding:8px 16px 12px;}
  .tm__list ul a{padding:7px 0;font-size:16px;}
}

/* 메인 홍보 영상 — 지질공원 메인처럼 옅은 색 두꺼운 테두리 안에 영상, 가운데 큰 재생 단추 */
.film__box{position:relative;max-width:1120px;margin:0 auto;padding:clamp(8px,1vw,16px);border-radius:clamp(16px,1.4vw,24px);background:var(--pt-lighter);}
.film__v{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:clamp(10px,.8vw,14px);background:#0b2233;object-fit:cover;}
.film__yt{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:clamp(10px,.8vw,14px);background:#000;}
.film__play{display:none;position:absolute;left:50%;top:50%;width:clamp(68px,7vw,100px);height:clamp(68px,7vw,100px);border-radius:50%;background:var(--pt);color:#fff;transform:translate(-50%,-50%);box-shadow:0 10px 30px rgba(0,71,157,.3);transition:background-color .3s ease-out,transform .3s ease-out;}
.film__play svg{width:44%;height:44%;margin-left:6%;fill:currentColor;}
html.js .film__play{display:grid;place-items:center;}
html.js .film.is-on .film__play{display:none;}
.film__play:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.film__cap{margin:20px 0 0;text-align:center;font-size:16px;color:var(--text-lighter);}
@media(hover:hover){.film__play:hover{background:var(--pt-deep);transform:translate(-50%,-50%) scale(1.06);}}

/* 단양 관광지 — 그림 기호·번호·종류 표시가 있는 카드, 카드 전체를 누르면 안내로 이동 */
.spots-g+.spots-g{margin-top:clamp(50px,5vw,80px);}
.spots-g .ptitle small{margin-left:6px;font-size:.6em;font-weight:600;letter-spacing:.12em;color:var(--pt);}
.spots{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.7vw,24px);}
.spot{position:relative;display:flex;flex-direction:column;padding:clamp(24px,2.1vw,32px) clamp(22px,2vw,30px);border:1px solid var(--pt-lighter);border-radius:20px;background:#fff;transition:border-color .3s ease-out,box-shadow .3s ease-out,transform .3s ease-out;}
.spot__top{display:flex;align-items:center;justify-content:space-between;}
.spot__ic{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--pt-tint);color:var(--pt);transition:background-color .3s ease-out,color .3s ease-out;}
.spot__ic svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.spot__no{font-family:var(--sport);font-size:30px;line-height:1;color:var(--pt-lighter);}
.spot__cat{align-self:flex-start;margin:20px 0 0;padding:4px 12px;border-radius:999px;background:var(--pt-tint);font-size:14px;font-weight:600;color:var(--pt-deep);}
.spot h3{margin:12px 0 0;font-size:clamp(21px,.5vw + 17px,25px);font-weight:800;color:var(--text);}
.spot__a::after{content:"";position:absolute;inset:0;border-radius:20px;}
.spot__a:focus-visible{outline:none;}
.spot:focus-within{border-color:var(--pt);box-shadow:0 0 0 3px var(--pt-lighter);}
.spot__d{flex:1;margin:10px 0 0;font-size:16px;color:var(--text-light);}
.spot__act{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
.spot__go{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--pt);}
.spot__go::after{content:"→";transition:transform .3s ease-out;}
.spot__go-map::after{content:"↗";}
.spot__map{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid var(--pt-lighter);border-radius:999px;font-size:14px;font-weight:500;color:var(--text-light);background:#fff;}
@media(hover:hover){
  .spot:hover{border-color:var(--pt);box-shadow:0 14px 30px rgba(0,121,205,.14);transform:translateY(-4px);}
  .spot:hover .spot__ic{background:var(--pt);color:#fff;}
  .spot:hover .spot__go::after{transform:translateX(4px);}
  .spot__map:hover{border-color:var(--pt);color:var(--pt);}
}
@media (max-width:1200px){.spots{grid-template-columns:repeat(2,1fr);}}
@media (max-width:768px){
  .spots{grid-template-columns:1fr;}
  .spot__ic{width:54px;height:54px;}
  .spot__ic svg{width:28px;height:28px;}
  .spot__cat{margin-top:16px;}
  .film__cap{font-size:15px;text-align:left;}
}

/* 운영 알림 띠 (관리자 화면에서 켬) — 머리말 위, 스크롤해도 머리말과 함께 남지 않음 */
.nbar{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 56px;background:var(--pt-deep);color:#fff;text-align:center;font-size:16px;font-weight:600;line-height:1.5;}
.nbar-warn{background:#FFB74D;color:#3A2400;}
.nbar-stop{background:#B3261E;color:#fff;}
.nbar__t{margin:0;color:inherit;}
a.nbar__t{text-decoration:underline;text-underline-offset:3px;}
.nbar__x{position:absolute;right:12px;top:50%;width:36px;height:36px;border-radius:50%;font-size:24px;line-height:1;color:inherit;transform:translateY(-50%);}
@media(hover:hover){.nbar__x:hover{background:rgba(255,255,255,.18);}}
@media (max-width:768px){.nbar{padding:10px 48px 10px 16px;font-size:15px;text-align:left;justify-content:flex-start;}}

/* 사진·영상 저장 막기 — 끌어다 놓기·iOS 길게 눌러 저장 메뉴 끄기 (스크립트의 오른쪽 클릭 막기와 함께) */
img,video{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;}
.film__v{-webkit-user-select:none;user-select:none;}

/* 옅은 파랑 바탕(안내 상자) 위 링크는 딥 블루 — 메인 블루는 옅은 바탕에서 4.5:1 이 안 됨 */
.box-line a:not(.bt),.post__old a:not(.bt){color:var(--pt-deep);}

/* 휴대폰: 단추는 한 줄에 하나씩, 화면 너비에 맞게 — 긴 글자도 잘리지 않게 (2026-10-26 사용자 요청) */
@media (max-width:600px){
  .bt{max-width:100%;padding:0 22px;white-space:normal;text-align:center;line-height:1.3;}
  .bt-lg{padding:0 26px;}
  .bt-wide{min-width:0;width:100%;}
  .bts{flex-direction:column;align-items:stretch;}
  .bts .bt{width:100%;}
  .bts > span{width:100%;}
  /* 두 칸짜리 표(환불 비율 등)는 옆으로 밀리지 않고 화면에 맞게 */
  .tb:not(.tb-stack):not(.bl){min-width:0;width:100%;font-size:15px;}
  .tb:not(.tb-stack):not(.bl) th,.tb:not(.tb-stack):not(.bl) td{height:auto;min-height:0;padding:14px 12px;line-height:1.5;}
  .tb:not(.tb-stack):not(.bl) tbody th{width:auto;}
}
