@charset "utf-8";
/* =========================================================
   ON:AIR PARKING — 공항 주차대행 홈페이지
   구조: good-place.kr 구조 명세 1:1 / 컬러만 컬러풀 유형으로 교체
   ========================================================= */

/* ---------- 토큰 ---------- */
:root{
  /* 스페이싱 4px 스케일 */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;
  /* gutter */
  --gutter:40px;
  /* 헤더 (레퍼런스 실측 101 / 스크롤 77) */
  --header-h:101px;
  --header-h-sticked:77px;
  /* 아이콘 */
  --icon:24px;
  /* 컬러 — 기본(밝은 배경) 세트 */
  --brand:#1B57E3;
  --brand-d:#12409F;
  --brand-soft:#E8F0FF;
  --hot:#CE400F;
  --hot-d:#9C300B;
  --hot-soft:#FFEDE6;
  /* 디자인 모드 편집기는 --accent 를 대표 색으로 읽는다 — 주색 --brand 를 가리키게 두고, 템플릿의 주황 보조색은 --hot 으로 쓴다 */
  --accent:var(--brand);
  --mint:#007358;
  --mint-soft:#E1F6F1;
  --ink:#151C2B;
  --text:#333B4D;
  --text-sub:#5A6478;
  --line:#D8DEEA;
  --line-strong:#7E88A2;
  --icon-color:#1B57E3;
  --bg:#FFFFFF;
  --soft:#F4F7FC;
  --danger:#C62828;
  --radius:6px;
  --shadow-card:0 2px 10px rgba(21,28,43,.06);
  --shadow-hdr:0 1px 12px rgba(0,0,0,.10);
  --ease:.25s ease;
}
@media (max-width:1023px){ :root{ --gutter:28px; --header-h:64px; --header-h-sticked:60px; } }
@media (max-width:767px){ :root{ --gutter:20px; } }
@media (max-width:479px){ :root{ --gutter:16px; --header-h:56px; --header-h-sticked:54px; } }

/* 다크 섹션 토큰 세트 */
.sec--dark{
  --text:#FFFFFF; --text-sub:#C9D4E8; --line:rgba(255,255,255,.26); --line-strong:rgba(255,255,255,.44);
  --icon-color:#8FB6FF; --bg:#12203A; --soft:#1B2B48;
  background:#12203A; color:#FFFFFF;
}
/* 포인트(브랜드) 섹션 토큰 세트 */
.sec--accent{
  --text:#FFFFFF; --text-sub:#E2EBFF; --line:rgba(255,255,255,.32); --line-strong:rgba(255,255,255,.5);
  --icon-color:#FFFFFF; --bg:#1B57E3; --soft:#2C66EC;
  background:linear-gradient(100deg,#1B57E3 0%,#3D3BD0 58%,#6B2FC4 100%); color:#FFFFFF;
}
.sec--soft{ background:#F4F7FC; }

/* ---------- 리셋 ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{
  margin:0; background:#fff; color:var(--text);
  font-family:"Pretendard","Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px; line-height:1.75; word-break:keep-all; overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;
}
img,video,iframe,svg,table{max-width:100%;}
img{height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
input,select,textarea{font:inherit;color:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,h5,h6,p,dl,dd,figure{margin:0;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
.sec--dark :focus-visible,.sec--accent :focus-visible{outline-color:#FFD9A0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
[hidden]{display:none !important;}
.num{font-variant-numeric:tabular-nums;}

/* ---------- 레이아웃 ---------- */
.container{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.sec{padding-top:var(--s-9);padding-bottom:var(--s-9);}
@media (max-width:1023px){ .sec{padding-top:72px;padding-bottom:72px;} }
@media (max-width:767px){ .sec{padding-top:56px;padding-bottom:56px;} }
@media (max-width:479px){ .sec{padding-top:40px;padding-bottom:40px;} }

/* 섹션 타이틀 블록 (중앙) — 레퍼런스: 중앙 타이틀 + 연회색 긴 선 + 진한 짧은 선 */
.sec-head{text-align:center;margin-bottom:var(--s-7);}
@media (max-width:1023px){ .sec-head{margin-bottom:var(--s-6);} }
@media (max-width:767px){ .sec-head{margin-bottom:var(--s-5);} }
.sec-head__title{font-size:clamp(24px,2.4vw,34px);font-weight:800;line-height:1.35;color:var(--ink);letter-spacing:-.02em;}
.sec--dark .sec-head__title,.sec--accent .sec-head__title{color:var(--text);}
.sec-head__rule{width:120px;height:3px;margin:var(--s-4) auto 0;background:var(--line);position:relative;}
.sec-head__rule::after{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:44px;height:3px;background:var(--brand);}
.sec--dark .sec-head__rule::after,.sec--accent .sec-head__rule::after{background:#fff;}
.sec-head__desc{margin-top:var(--s-4);font-size:16px;line-height:1.8;color:var(--text-sub);max-width:56ch;margin-left:auto;margin-right:auto;}
/* 좌측 정렬 타이틀 블록 (레퍼런스 4번 2열 섹션) */
.sec-head--left{text-align:left;}
.sec-head--left .sec-head__rule{margin-left:0;}
.sec-head--left .sec-head__desc{margin-left:0;}

/* ---------- 아이콘 ---------- */
.icon{width:var(--icon);height:var(--icon);flex:0 0 auto;display:block;color:var(--icon-color);}
.icon--16{--icon:16px;}
.icon--20{--icon:20px;}
.icon--24{--icon:24px;}
.icon--40{--icon:40px;}
.icon--48{--icon:48px;}
.ico-txt{display:inline-flex;align-items:center;gap:var(--s-2);}
.ico-txt--top{align-items:flex-start;}
.ico-txt--top .icon{margin-top:calc((1lh - var(--icon)) / 2);}
.icon-circle{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);flex:0 0 auto;}
.icon-circle .icon{--icon:24px;}
.sec--dark .icon-circle{background:rgba(255,255,255,.12);}
.sec--accent .icon-circle{background:rgba(255,255,255,.18);}

/* ---------- 버튼 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);
  height:44px;padding-left:20px;padding-right:20px;
  line-height:1;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius);
  font-size:15px;font-weight:700;letter-spacing:-.01em;
  background:var(--brand);color:#fff;transition:background var(--ease),color var(--ease),border-color var(--ease);
}
.btn .icon{--icon:20px;color:currentColor;}
.btn--sm{height:38px;padding-left:16px;padding-right:16px;font-size:14px;}
.btn--lg{height:52px;padding-left:28px;padding-right:28px;font-size:16px;}
.btn--accent{background:var(--hot);color:#fff;}
.btn--dark{background:var(--ink);color:#fff;}
.btn--ghost{background:transparent;color:var(--brand);border-color:var(--brand);}
.btn--line{background:#fff;color:var(--ink);border-color:var(--line-strong);}
.btn--white{background:#fff;color:var(--brand);}
.btn[disabled],.btn[aria-disabled="true"]{background:#8B93A5;color:#fff;cursor:not-allowed;}
@media (hover:hover){
  .btn:hover{background:var(--brand-d);}
  .btn--accent:hover{background:var(--hot-d);}
  .btn--dark:hover{background:#000;}
  .btn--ghost:hover{background:var(--brand);color:#fff;}
  .btn--line:hover{background:var(--soft);border-color:var(--brand);color:var(--brand);}
  .btn--white:hover{background:var(--brand-soft);}
}
.btn-group{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center;}
@media (max-width:767px){ .btn-group{flex-direction:column;align-items:stretch;} .btn-group>.btn{width:100%;} }
.btn-icon{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;}
.btn-icon .icon{--icon:20px;color:var(--ink);}

.chip{display:inline-flex;align-items:center;gap:var(--s-2);height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--text);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;transition:all var(--ease);}
.chip[aria-selected="true"],.chip.is-on{background:var(--brand);border-color:var(--brand);color:#fff;}
@media (hover:hover){ .chip:hover{border-color:var(--brand);color:var(--brand);} .chip[aria-selected="true"]:hover,.chip.is-on:hover{color:#fff;} }
.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:4px;font-size:13px;font-weight:700;line-height:1;white-space:nowrap;background:var(--brand);color:#fff;}
.badge .icon{--icon:16px;color:currentColor;}
.badge--accent{background:var(--hot);}
.badge--mint{background:var(--mint);}
.badge--line{background:#fff;color:var(--brand);border:1px solid var(--brand);}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;background:var(--brand-soft);color:var(--brand-d);font-size:13px;font-weight:700;line-height:1;}

/* ---------- 헤더 ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:200;background:transparent;transition:background var(--ease);}
.hdr__inner{display:flex;align-items:center;height:var(--header-h);width:100%;max-width:1440px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);transition:height var(--ease);}
.hdr.is-sticked{background:rgba(12,25,50,.94);box-shadow:var(--shadow-hdr);}
.hdr.is-sticked .hdr__inner{height:var(--header-h-sticked);}
.hdr--solid{background:rgba(12,25,50,.94);box-shadow:var(--shadow-hdr);}
@media (prefers-reduced-motion:reduce){ .hdr,.hdr__inner{transition:none;} }
.logo{display:inline-flex;align-items:center;flex:0 0 auto;}
.logo svg{height:40px;width:auto;display:block;}
.hdr.is-sticked .logo svg{height:40px;}
.hdr-right{margin-left:auto;display:flex;align-items:center;gap:var(--s-4);}
.gnb{display:flex;align-items:center;gap:var(--s-2);}
.gnb__item{position:relative;}
.gnb__link{display:inline-flex;align-items:center;height:44px;padding:0 14px;font-size:16px;font-weight:600;color:#fff;line-height:1;border-radius:var(--radius);transition:color var(--ease),background var(--ease);}
.gnb__link[aria-current="page"]{color:#FFC9B4;}
@media (hover:hover){ .gnb__item:hover>.gnb__link{background:rgba(255,255,255,.14);} }
.gnb__sub{position:absolute;top:100%;left:0;min-width:176px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.14);padding:var(--s-2) 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--ease);}
@media (hover:hover){ .gnb__item:hover>.gnb__sub{opacity:1;visibility:visible;transform:translateY(0);} }
.gnb__item:focus-within>.gnb__sub{opacity:1;visibility:visible;transform:translateY(0);}
.gnb__sub a{display:block;padding:10px 16px;font-size:15px;color:var(--text);line-height:1.5;}
@media (hover:hover){ .gnb__sub a:hover{background:var(--soft);color:var(--brand);} }
@media (max-width:1199px){ .gnb__link{padding:0 10px;font-size:15px;} .hdr-right{gap:var(--s-3);} }
.hdr-link{display:inline-flex;align-items:center;height:44px;padding:0 4px;font-size:16px;font-weight:700;color:#fff;line-height:1;border-bottom:2px solid transparent;transition:border-color var(--ease);}
@media (hover:hover){ .hdr-link:hover{border-bottom-color:#FFC9B4;} }
.hamburger{display:none;width:44px;height:44px;align-items:center;justify-content:center;}
.hamburger .icon{--icon:24px;color:#fff;}
@media (max-width:1023px){ .gnb,.hdr-link{display:none;} .hamburger{display:inline-flex;} }
.page-top{padding-top:var(--header-h);}

/* ---------- 모바일 드로어 ---------- */
.dim{position:fixed;inset:0;background:rgba(8,14,28,.6);z-index:290;opacity:0;visibility:hidden;transition:opacity var(--ease);}
.dim.is-open{opacity:1;visibility:visible;}
.mmenu{position:fixed;top:0;right:0;bottom:0;width:min(100%,400px);background:#101B33;color:#fff;z-index:300;
  opacity:0;visibility:hidden;transform:translateY(-14px);pointer-events:none;
  transition:opacity var(--ease),transform var(--ease),visibility var(--ease);display:flex;flex-direction:column;overflow-y:auto;}
.mmenu.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto;}
@media (prefers-reduced-motion:reduce){ .mmenu,.dim{transition:none;} }
.mmenu__bar{display:flex;align-items:center;justify-content:space-between;height:64px;padding-left:var(--s-5);padding-right:var(--s-3);border-bottom:1px solid rgba(255,255,255,.18);flex:0 0 auto;}
.mmenu__bar svg{height:32px;width:auto;}
.mmenu__close{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;}
.mmenu__close .icon{--icon:24px;color:#fff;}
.mmenu__body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-5);flex:1 1 auto;}
.mmenu__main a:not(.btn):not(.chip):not(.badge){display:flex;align-items:center;min-height:52px;padding:var(--s-3) 0;font-size:17px;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.16);line-height:1.5;}
.mmenu__main a[aria-current="page"]{color:#FFC9B4;}
.mmenu__sub-title{font-size:13px;font-weight:700;letter-spacing:.08em;color:#9FB2D6;padding-top:var(--s-5);border-top:1px solid rgba(255,255,255,.2);}
.mmenu__sub a:not(.btn):not(.chip):not(.badge){display:flex;align-items:center;min-height:44px;padding:var(--s-2) 0;font-size:15px;font-weight:500;color:#DCE5F5;line-height:1.6;}
.mmenu__act{padding:var(--s-5);padding-top:var(--s-5);border-top:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:var(--s-3);flex:0 0 auto;}
.mmenu__act a.btn{width:100%;height:48px;padding-left:var(--s-5);padding-right:var(--s-5);font-size:15px;}
.mmenu__hours{font-size:13px;line-height:1.7;color:#B7C6E0;}

/* ---------- 히어로 ---------- */
.hero{position:relative;width:100%;aspect-ratio:16/9;min-height:560px;display:flex;align-items:center;overflow:clip;background:#0D1729;}
@media (min-width:1441px){ .hero{aspect-ratio:21/9;} }
@media (max-width:767px){ .hero{aspect-ratio:4/5;min-height:520px;} }
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,12,26,.86) 0%,rgba(6,12,26,.7) 42%,rgba(6,12,26,.42) 100%);}
.hero__inner{position:relative;z-index:2;width:100%;padding-top:var(--header-h);}
.hero__eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);height:32px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:14px;font-weight:700;line-height:1;}
.hero__eyebrow .icon{color:currentColor;}
.hero__title{margin-top:var(--s-5);font-size:clamp(28px,4vw,52px);font-weight:800;line-height:1.28;color:#fff;letter-spacing:-.03em;}
.hero__title em{font-style:normal;color:#FFB38F;}
.hero__desc{margin-top:var(--s-5);font-size:clamp(15px,1.2vw,18px);line-height:1.8;color:#E4EBF8;max-width:52ch;}
.hero__cta{margin-top:var(--s-7);}
.hero__scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);color:#fff;font-size:12px;font-weight:700;letter-spacing:.16em;}
.hero__scroll .icon{--icon:20px;color:#fff;animation:bob 1.8s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){ .hero__scroll .icon{animation:none;} }
@media (max-width:767px){ .hero__scroll{display:none;} }

/* 서브 히어로 */
.shero{position:relative;width:100%;height:335px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:clip;background:#0D1729;}
@media (max-width:767px){ .shero{height:240px;} }
.shero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.shero__scrim{position:absolute;inset:0;background:rgba(8,16,32,.66);}
.shero__inner{position:relative;z-index:2;padding-top:var(--header-h);padding-left:var(--gutter);padding-right:var(--gutter);max-width:1440px;margin:0 auto;}
.shero__title{font-size:clamp(26px,3vw,40px);font-weight:800;color:#fff;line-height:1.35;letter-spacing:-.02em;}
.shero__desc{margin-top:var(--s-3);font-size:15px;color:#D9E3F5;line-height:1.7;}
.crumb{background:#fff;border-bottom:1px solid var(--line);}
.crumb__inner{display:flex;align-items:center;min-height:56px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.crumb__inner::-webkit-scrollbar{display:none;}
.crumb__home{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.crumb__home .icon{--icon:20px;color:var(--text-sub);}
.crumb__cell{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--s-3);height:56px;padding:0 20px;border-right:1px solid var(--line);font-size:14px;color:var(--text-sub);white-space:nowrap;}
.crumb__cell:last-child{color:var(--ink);font-weight:700;}
@media (max-width:479px){ .crumb__cell{padding:0 12px;font-size:13px;} }

/* ---------- 카드 ---------- */
.grid{display:grid;gap:var(--s-5);}
.grid--4{grid-template-columns:repeat(4,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--2{grid-template-columns:repeat(2,1fr);}
@media (max-width:1200px){ .grid--4{grid-template-columns:repeat(3,1fr);} }
@media (max-width:1023px){ .grid--3{grid-template-columns:repeat(2,1fr);} }
@media (max-width:767px){ .grid--4,.grid--3,.grid--2{grid-template-columns:repeat(2,1fr);} }
@media (max-width:479px){ .grid--4,.grid--3,.grid--2{grid-template-columns:1fr;} }
.grid>*{min-width:0;}

/* 비박스형 카드 — 섹션 배경 위에 텍스트가 그대로 얹힘 */
.card{display:flex;flex-direction:column;height:100%;background:transparent;min-width:0;}
.card__media{position:relative;width:100%;aspect-ratio:4/3;overflow:clip;border-radius:var(--radius);background:var(--soft);}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
@media (hover:hover){ .card:hover .card__media img{transform:scale(1.05);} }
.card__body{flex:1 1 auto;display:flex;flex-direction:column;padding-top:var(--s-4);min-width:0;}
.card__title{font-size:18px;font-weight:700;color:var(--ink);line-height:1.5;min-height:2lh;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sec--dark .card__title,.sec--accent .card__title{color:var(--text);}
.card__desc{margin-top:var(--s-3);font-size:15px;line-height:1.75;color:var(--text-sub);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.card__foot{margin-top:auto;padding-top:var(--s-5);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);}
.card__price{font-size:18px;font-weight:800;color:var(--brand);}

/* 박스형 카드 — 배경색/테두리 있음, 텍스트 블록만 padding 24(모바일 16) */
.card--boxed{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:clip;box-shadow:var(--shadow-card);}
.card--boxed .card__media{border-radius:0;}
.card--boxed .card__body{padding:var(--s-5);}
@media (max-width:767px){ .card--boxed .card__body{padding:var(--s-4);} }
.sec--dark .card--boxed{background:#1B2B48;border-color:rgba(255,255,255,.2);box-shadow:none;}
.sec--accent .card--boxed{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.34);box-shadow:none;}

/* 일반 패널(박스) */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-5);box-shadow:var(--shadow-card);}
@media (max-width:767px){ .panel{padding:var(--s-4);} }
.panel--soft{background:var(--soft);box-shadow:none;}
.panel--plain{box-shadow:none;}
.sec--dark .panel{background:#1B2B48;border-color:rgba(255,255,255,.2);box-shadow:none;}
.panel__title{font-size:18px;font-weight:800;color:var(--ink);line-height:1.5;}
.sec--dark .panel__title{color:var(--text);}
.panel__title + *{margin-top:var(--s-3);}

/* 안내 박스 */
.note{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-5);}
@media (max-width:767px){ .note{padding:var(--s-4);} }
.note__list li{position:relative;padding-left:18px;font-size:14px;line-height:1.8;color:var(--text-sub);}
.note__list li + li{margin-top:var(--s-2);}
.note__list li::before{content:"※";position:absolute;left:0;top:0;color:var(--hot);font-size:12px;}

/* ---------- 리스트(예약확인·공지) ---------- */
.tlist li + li{margin-top:var(--s-2);}
.tlist a:not(.btn):not(.chip):not(.badge){display:flex;align-items:center;gap:var(--s-4);min-height:44px;padding:var(--s-2) 0;border-bottom:1px solid var(--line);}
.tlist__txt{flex:1 1 auto;min-width:0;font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (hover:hover){ .tlist a:hover .tlist__txt{color:var(--brand);} }
.tlist__meta{flex:0 0 auto;font-size:14px;color:var(--text-sub);}

/* ---------- 표 ---------- */
.tbl-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tbl{min-width:640px;font-size:15px;}
.tbl th,.tbl td{padding:var(--s-4) var(--s-3);text-align:center;border-bottom:1px solid var(--line);line-height:1.7;}
.tbl thead th{background:var(--soft);color:var(--ink);font-weight:700;border-top:2px solid var(--ink);white-space:nowrap;}
.tbl tbody th{font-weight:700;color:var(--ink);background:var(--soft);white-space:nowrap;}
.tbl td.al{text-align:left;}
.tbl a:not(.btn):not(.chip):not(.badge){color:var(--text);}
@media (hover:hover){ .tbl tbody tr:hover{background:var(--brand-soft);} }
.tbl-hint{display:none;margin-top:var(--s-3);font-size:13px;color:var(--text-sub);}
@media (max-width:767px){ .tbl-hint{display:block;} }

/* ---------- 폼 ---------- */
.form-row + .form-row{margin-top:var(--s-4);}
.form-label{display:block;margin-bottom:var(--s-2);font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;}
.form-label .req{color:var(--danger);margin-left:2px;}
.input,.select,.textarea{
  width:100%;height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);
  background:#fff;color:var(--ink);font-size:15px;line-height:1.5;transition:border-color var(--ease);
}
.textarea{height:auto;min-height:140px;padding:12px 14px;resize:vertical;}
.select{appearance:none;padding-right:40px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333B4D' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:20px 20px;}
.input::placeholder,.textarea::placeholder{color:#77819A;}
.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);}
@media (max-width:767px){ .input,.select{height:44px;} }
.form-err{margin-top:var(--s-1);font-size:12px;line-height:1.6;color:var(--danger);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);}
@media (max-width:767px){ .form-grid{grid-template-columns:1fr;} }
.form-grid .full{grid-column:1 / -1;}
.check{display:flex;align-items:center;gap:var(--s-2);min-height:44px;}
.check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--brand);margin:0;}
.check label{font-size:15px;color:var(--text);line-height:1.6;}
.check a:not(.btn){text-decoration:underline;color:var(--brand);}

/* 스텝 인디케이터 (보조 레퍼런스 ③) */
.steps{display:flex;align-items:flex-start;gap:0;}
.step{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);position:relative;text-align:center;min-width:0;}
.step::before{content:"";position:absolute;top:16px;left:calc(-50% + 20px);width:calc(100% - 40px);height:2px;background:var(--line);}
.step:first-child::before{display:none;}
.step.is-done::before{background:var(--brand);}
.step__num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line-strong);color:var(--text-sub);font-size:14px;font-weight:800;line-height:1;position:relative;z-index:1;}
.step.is-on .step__num,.step.is-done .step__num{background:var(--brand);border-color:var(--brand);color:#fff;}
.step__label{font-size:14px;font-weight:700;color:var(--text-sub);line-height:1.5;}
.step.is-on .step__label{color:var(--brand);}
.step.is-done .step__label{color:var(--ink);}
@media (max-width:479px){ .step__num{width:28px;height:28px;font-size:13px;} .step::before{top:14px;} .step__label{display:none;} }

/* 달력 */
.cal{width:100%;}
.cal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4);}
.cal__month{font-size:18px;font-weight:800;color:var(--ink);}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s-1);}
.cal__dow{text-align:center;font-size:13px;font-weight:700;color:var(--text-sub);padding:var(--s-2) 0;}
.cal__dow:first-child{color:var(--danger);}
.cal__dow:last-child{color:var(--brand);}
.cal-day{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font-size:15px;font-weight:600;color:var(--ink);line-height:1;transition:all var(--ease);}
.cal-day[disabled]{background:var(--soft);color:#7A8399;border-color:var(--line);cursor:not-allowed;}
.cal-day.is-sel{background:var(--brand);border-color:var(--brand);color:#fff;}
.cal-day.is-empty{border-color:transparent;background:transparent;}
@media (hover:hover){ .cal-day:not([disabled]):not(.is-sel):hover{border-color:var(--brand);color:var(--brand);} }
@media (max-width:479px){ .cal-day{min-height:38px;font-size:14px;} }
.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-2);}
@media (min-width:480px){ .slots{grid-template-columns:repeat(3,1fr);} }
@media (min-width:768px){ .slots{grid-template-columns:repeat(4,1fr);} }
.slot{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font-size:15px;font-weight:600;color:var(--ink);line-height:1;transition:all var(--ease);}
.slot[disabled]{background:var(--soft);color:#7A8399;cursor:not-allowed;text-decoration:line-through;}
.slot.is-sel{background:var(--brand);border-color:var(--brand);color:#fff;}
@media (hover:hover){ .slot:not([disabled]):not(.is-sel):hover{border-color:var(--brand);color:var(--brand);} }

/* 요약 패널 */
.sum__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px dashed var(--line);}
.sum__row:last-of-type{border-bottom:0;}
.sum__k{font-size:14px;color:var(--text-sub);flex:0 0 auto;}
.sum__v{font-size:15px;font-weight:700;color:var(--ink);text-align:right;min-width:0;}
.sum__total{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-top:var(--s-5);padding-top:var(--s-5);border-top:2px solid var(--ink);}
.sum__total .sum__k{font-size:16px;font-weight:700;color:var(--ink);}
.sum__total .sum__v{font-size:24px;font-weight:800;color:var(--brand);}

/* ---------- 아코디언 ---------- */
.acc__item{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.acc__item + .acc__item{margin-top:var(--s-3);}
.acc__btn{width:100%;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-5);text-align:left;font-size:16px;font-weight:700;color:var(--ink);line-height:1.6;}
@media (max-width:767px){ .acc__btn{padding:var(--s-4);} }
.acc__btn .icon{--icon:24px;}
.acc__btn .acc__chev{margin-left:auto;transition:transform var(--ease);color:var(--text-sub);}
.acc__btn[aria-expanded="true"] .acc__chev{transform:rotate(180deg);}
.acc__panel{padding:0 var(--s-5) var(--s-5);}
@media (max-width:767px){ .acc__panel{padding:0 var(--s-4) var(--s-4);} }
.acc__panel p{font-size:15px;line-height:1.85;color:var(--text-sub);max-width:80ch;}

/* ---------- 탭 ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:var(--s-2);justify-content:center;margin-bottom:var(--s-7);}
@media (max-width:767px){ .tabs{margin-bottom:var(--s-5);} }

/* ---------- 지표(보조 레퍼런스 ②) ---------- */
.stat{display:flex;flex-direction:column;gap:var(--s-2);}
.stat__label{display:inline-flex;align-items:center;gap:var(--s-2);font-size:16px;font-weight:700;color:var(--text);}
.stat__num{font-size:clamp(32px,3.6vw,52px);font-weight:800;color:var(--brand);line-height:1.15;letter-spacing:-.02em;}
.sec--dark .stat__num,.sec--accent .stat__num{color:#fff;}
.stat__unit{font-size:16px;font-weight:700;color:var(--text-sub);margin-left:var(--s-1);}
.sec--dark .stat__unit,.sec--accent .stat__unit{color:var(--text-sub);}

/* ---------- 2열 미디어 ---------- */
.media2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);align-items:center;}
@media (max-width:1023px){ .media2{gap:var(--s-6);} }
@media (max-width:767px){ .media2{grid-template-columns:1fr;gap:var(--s-5);} }
.media2>*{min-width:0;}
.media2--aside{grid-template-columns:1fr 380px;gap:var(--s-6);align-items:start;}
@media (max-width:1199px){ .media2--aside{grid-template-columns:1fr;} }
.card__foot--block{display:block;}
.media2__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);}

/* ---------- 갤러리 ---------- */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);}
@media (max-width:1023px){ .gal{grid-template-columns:repeat(2,1fr);} }
@media (max-width:479px){ .gal{grid-template-columns:1fr;} }
.gal__item{position:relative;width:100%;aspect-ratio:4/3;overflow:clip;border-radius:var(--radius);background:var(--soft);padding:0;border:0;display:block;}
.gal__item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
@media (hover:hover){ .gal__item:hover img{transform:scale(1.06);} }
.lightbox{position:fixed;inset:0;background:rgba(6,12,26,.92);z-index:320;display:flex;align-items:center;justify-content:center;padding:var(--s-5);}
.lightbox img{max-width:min(1100px,92vw);max-height:80vh;width:auto;border-radius:var(--radius);}
.lightbox__close{position:absolute;top:20px;right:20px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);background:rgba(255,255,255,.16);}
.lightbox__close .icon{--icon:24px;color:#fff;}
.lightbox__cap{position:absolute;left:0;right:0;bottom:28px;text-align:center;color:#EAF0FB;font-size:14px;padding:0 var(--s-5);}

/* ---------- 후기 ---------- */
.stars{display:inline-flex;align-items:center;gap:2px;}
.stars .icon{--icon:16px;color:#B5680D;}
.stars .icon.off{color:var(--line-strong);}

/* ---------- 페이지네이션 ---------- */
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s-2);margin-top:var(--s-7);}
.pager a,.pager span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);font-size:15px;font-weight:600;color:var(--text);background:#fff;line-height:1;}
.pager .is-on{background:var(--brand);border-color:var(--brand);color:#fff;}
.pager .icon{--icon:20px;color:var(--text-sub);}
@media (hover:hover){ .pager a:hover{border-color:var(--brand);color:var(--brand);} .pager a.is-on:hover{color:#fff;} }

/* 이전/다음 글 */
.prevnext{border-top:1px solid var(--line);margin-top:var(--s-7);}
.prevnext a:not(.btn){display:flex;align-items:center;gap:var(--s-4);min-height:64px;padding:var(--s-3) 0;border-bottom:1px solid var(--line);}
.prevnext__k{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--s-2);width:104px;font-size:14px;font-weight:700;color:var(--text-sub);}
.prevnext__t{flex:1 1 auto;min-width:0;font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (hover:hover){ .prevnext a:hover .prevnext__t{color:var(--brand);} }

/* ---------- 지도 자리 ---------- */
.mapbox{width:100%;aspect-ratio:16/9;background:
  repeating-linear-gradient(45deg,#EDF1F8 0 12px,#E4EAF5 12px 24px);
  border:1px solid var(--line);border-radius:var(--radius);display:grid;place-items:center;text-align:center;padding:var(--s-5);}
@media (max-width:767px){ .mapbox{aspect-ratio:4/3;} }
.mapbox__in{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);}
.mapbox__in .icon{--icon:48px;color:var(--brand);}
.mapbox__t{font-size:16px;font-weight:700;color:var(--ink);}
.mapbox__d{font-size:14px;color:var(--text-sub);max-width:40ch;}

/* ---------- 로고 슬라이더 ---------- */
.logos{display:flex;align-items:center;justify-content:space-between;gap:var(--s-6);flex-wrap:wrap;}
.logos__item{flex:1 1 140px;display:flex;align-items:center;justify-content:center;min-width:0;}
.logos__item svg{height:32px;width:auto;}
.dots{display:flex;align-items:center;justify-content:center;gap:var(--s-2);margin-top:var(--s-6);}
.dots button{width:10px;height:10px;border-radius:50%;background:var(--line-strong);padding:0;transition:background var(--ease),width var(--ease);}
.dots button.is-on{background:var(--brand);width:26px;border-radius:999px;}

/* ---------- 푸터 ---------- */
.ftr{background:var(--soft);border-top:1px solid var(--line);}
.ftr__grid{display:grid;grid-template-columns:200px 1fr 320px;gap:var(--s-8);padding-top:var(--s-9);padding-bottom:var(--s-7);}
@media (max-width:1023px){ .ftr__grid{grid-template-columns:1fr 1fr;gap:var(--s-6);padding-top:72px;} }
@media (max-width:767px){ .ftr__grid{grid-template-columns:1fr;gap:var(--s-6);text-align:left;padding-top:56px;} }
.ftr__grid>*{min-width:0;}
.ftr__logo svg{height:52px;width:auto;}
.ftr__title{font-size:18px;font-weight:800;color:var(--ink);padding-bottom:var(--s-3);border-bottom:1px solid var(--line-strong);letter-spacing:.02em;}
.ftr__links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);margin-top:var(--s-4);}
.ftr__links a:not(.btn){font-size:14px;color:var(--text-sub);}
.ftr__links span{color:var(--text-sub);}
@media (hover:hover){ .ftr__links a:hover{color:var(--brand);} }
.ftr__info{margin-top:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);}
.ftr__info li{font-size:14px;line-height:1.8;color:var(--text-sub);overflow-wrap:anywhere;}
.ftr__info b{color:var(--ink);font-weight:700;margin-right:var(--s-1);}
.ftr__info a:not(.btn):not(.chip):not(.badge){color:var(--text-sub);}
@media (hover:hover){ .ftr__info a:hover{color:var(--brand);} }
.ftr__desc{margin-top:var(--s-4);font-size:13px;line-height:1.85;color:var(--text-sub);max-width:80ch;}
.ftr__search{display:flex;gap:var(--s-2);margin-top:var(--s-4);}
.ftr__search .input{height:48px;}
.ftr__search .btn{height:48px;}
@media (max-width:767px){ .ftr__search .input,.ftr__search .btn{height:44px;} }
.sns{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-5);}
.sns a{width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;}
.sns a .icon{--icon:20px;color:currentColor;}
@media (hover:hover){ .sns a:hover{background:var(--brand-d);} }
.ftr__bar{border-top:1px solid var(--line-strong);}
.ftr__bar-in{display:flex;align-items:center;justify-content:center;gap:var(--s-4);flex-wrap:wrap;min-height:64px;padding:var(--s-3) 0;}
@media (max-width:767px){ .ftr__bar-in{padding-bottom:72px;} }
.ftr__copy{font-size:13px;color:var(--text-sub);text-align:center;}
.ftr__license{font-size:12px;color:var(--text-sub);text-align:center;line-height:1.7;}

/* ---------- 고정 요소 ---------- */
.totop{position:fixed;right:20px;bottom:20px;z-index:180;width:48px;height:48px;border-radius:50%;background:var(--brand);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(21,28,43,.22);opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--ease);}
.totop.is-on{opacity:1;visibility:visible;transform:translateY(0);}
.totop .icon{--icon:24px;color:#fff;}
@media (hover:hover){ .totop:hover{background:var(--brand-d);} }
.mbar{display:none;}
@media (max-width:767px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:190;background:#fff;border-top:1px solid var(--line);padding:var(--s-2) var(--gutter);gap:var(--s-2);box-shadow:0 -2px 14px rgba(21,28,43,.1);}
  .mbar .btn{flex:1 1 0;min-width:0;}
  .mbar .btn-icon{flex:0 0 44px;}
  body.has-mbar{padding-bottom:76px;}
  .totop{bottom:88px;}
}

/* ---------- 스크롤 등장 ---------- */
.reveal{opacity:1;transform:none;}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.js .reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){ .js .reveal{opacity:1;transform:none;transition:none;} }

/* ---------- 본문 프로즈 ---------- */
.prose{max-width:80ch;}
.prose h3{margin-top:var(--s-7);font-size:20px;font-weight:800;color:var(--ink);line-height:1.5;}
.prose h3:first-child{margin-top:0;}
.prose p{margin-top:var(--s-3);font-size:15px;line-height:1.9;color:var(--text-sub);}
.prose ul{margin-top:var(--s-3);}
.prose li{position:relative;padding-left:14px;font-size:15px;line-height:1.9;color:var(--text-sub);}
.prose li::before{content:"";position:absolute;left:0;top:calc(.95lh - 3px);width:5px;height:5px;border-radius:50%;background:var(--brand);}
.prose a:not(.btn):not(.chip):not(.badge){color:var(--brand);text-decoration:underline;}

/* 스크롤 앵커 여백 */
[id]{scroll-margin-top:calc(var(--header-h) + var(--s-4));}

/* 유틸 */
.mt-4{margin-top:var(--s-4);} .mt-5{margin-top:var(--s-5);} .mt-6{margin-top:var(--s-6);} .mt-7{margin-top:var(--s-7);}
.tc{text-align:center;} .tl{text-align:left;}
.listhead{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5);}
.listhead__total{font-size:14px;color:var(--text-sub);}
.listhead__total b{color:var(--brand);font-weight:800;}
