@charset "utf-8";
/* ===========================================================
   블루오션투어 BLUE OCEAN — 공통 스타일시트
   토큰 근거 : _스펙_2팀_모두투어.md (모두투어 CSS 전수 실측)
   =========================================================== */

:root{
  /* 색 */
  --brand:#028267;            /* 주조색 (흰 글자 대비 4.78:1 — AA 통과) */
  --brand-light:#009c75;      /* 큰 제목·아이콘·장식 전용 (흰 글자 3.49:1 이므로 배경 금지) */
  --brand-accent:#00d9a3;
  --brand-dark:#046450;
  --brand-tint:#eef7f4;
  --brand-tint-2:#dcefe9;

  --ink:#111111;
  --ink-2:#555555;
  --ink-3:#727272;
  --ink-4:#8f9f9b;

  --line:#eaeaea;
  --line-card:#d3dbd9;
  --line-strong:#d3d3d3;

  --bg:#ffffff;
  --bg-soft:#f8f8f8;
  --bg-2:#fafafa;
  --surface:#f5f6f6;

  --danger:#ed4949;
  --info:#3683d1;

  /* 형태 */
  --r-card:10px;
  --r-input:5px;
  --r-chip:50px;
  --r-panel:16px;

  --container:1200px;
  --gutter:20px;

  --sh-card:0 3px 6px 0 rgba(17,17,17,.10);
  --sh-thin:0 2px 6px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.07);
  --sh-menu:0 0 2px 2px #dfdfdf;

  --ease:cubic-bezier(.2,0,0,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:"Pretendard","Pretendard Variable",-apple-system,BlinkMacSystemFont,system-ui,
              "Malgun Gothic","맑은 고딕","Apple SD Gothic Neo",sans-serif;
  font-size:14px;
  line-height:1.65;
  color:var(--ink);
  background:var(--bg);
  overflow-x:hidden;
  word-break:keep-all;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
a:hover{text-decoration:none;}
button{font:inherit;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
h1,h2,h3,h4,h5{margin:0;line-height:1.35;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}

.wrap{max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.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;}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--brand);color:#fff;padding:10px 16px;border-radius:0 0 var(--r-input) 0;}
.skip:focus{left:0;}

/* ---------- 헤더 ---------- */
.util{background:var(--ink);color:#e8ecea;font-size:12px;}
.util .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;flex-wrap:wrap;}
.util-l{color:#c9d4d0;}
.util-r{display:flex;gap:18px;flex-wrap:wrap;}
.util-r a:hover{color:var(--brand-accent);}

.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);}
.hd{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px;}
.logo{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.logo svg{display:block;}
.logo-tx{display:flex;flex-direction:column;line-height:1.1;}
.logo-ko{font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);}
.logo-en{font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--brand);}

.gnb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.gnb > li > a{display:block;padding:12px 14px;font-size:16px;font-weight:600;color:var(--ink);border-radius:var(--r-input);transition:color .15s var(--ease),background .15s var(--ease);}
.gnb > li > a:hover,.gnb > li > a:focus-visible{color:var(--brand);background:var(--brand-tint);}
.gnb > li.on > a{color:var(--brand);}
.gnb > li.on > a::after{content:"";display:block;height:2px;background:var(--brand);border-radius:2px;margin-top:6px;}

.hd-cta{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.hd-tel{display:flex;flex-direction:column;line-height:1.2;text-align:right;}
.hd-tel b{font-size:19px;font-weight:700;color:var(--brand);letter-spacing:-.01em;}
.hd-tel span{font-size:11px;color:var(--ink-3);}
.navtoggle{display:none;border:1px solid var(--line-strong);background:#fff;border-radius:var(--r-input);padding:9px 11px;}

/* ---------- 버튼 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:52px;padding:0 26px;border-radius:var(--r-input);border:1px solid transparent;
  font-size:16px;font-weight:600;letter-spacing:-.01em;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);}
.btn-primary{background:var(--brand);color:#fff;}
.btn-primary:hover{background:var(--brand-dark);}
.btn-ghost{background:#fff;color:var(--brand);border-color:var(--brand);}
.btn-ghost:hover{background:var(--brand-tint);}
.btn-line{background:#fff;color:var(--ink);border-color:var(--line-strong);}
.btn-line:hover{border-color:var(--ink-3);}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px;}
.btn-white{background:#fff;color:var(--brand);}
.btn-white:hover{background:#eef7f4;}
.btn-block{width:100%;}

.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:var(--r-chip);
  border:1px solid var(--line-card);background:#fff;font-size:13px;font-weight:600;color:var(--ink-2);}
.chip:hover{border-color:var(--brand);color:var(--brand);}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;}

.badge{display:inline-block;padding:4px 10px;border-radius:var(--r-input);font-size:12px;font-weight:700;letter-spacing:-.01em;}
.badge-brand{background:var(--brand-tint-2);color:#04624c;}
.badge-hot{background:#fde9e9;color:#b32626;}
.badge-info{background:#e6f0fa;color:#1f5c96;}
.badge-dark{background:#1d2926;color:#fff;}

/* ---------- 섹션 공통 ---------- */
.sec{padding:64px 0;}
.sec-soft{background:var(--bg-soft);}
.sec-tint{background:var(--brand-tint);}
.sec-hd{margin-bottom:28px;}
.sec-hd .eyebrow{display:block;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--brand-light);margin-bottom:8px;text-transform:uppercase;}
.sec-hd h2{font-size:30px;font-weight:700;letter-spacing:-.03em;}
.sec-hd h3{font-size:22px;font-weight:700;letter-spacing:-.02em;}
.sec-hd p{margin-top:10px;font-size:15px;color:var(--ink-2);max-width:760px;}
.sec-hd.center{text-align:center;}
.sec-hd.center p{margin-left:auto;margin-right:auto;}

.lead{font-size:16px;line-height:1.85;color:var(--ink-2);}
.lead + .lead{margin-top:14px;}
.muted{color:var(--ink-3);font-size:13px;}

/* ---------- 페이지 히어로 / 브레드크럼 ---------- */
.phero{position:relative;color:#fff;background:linear-gradient(135deg,#04624c 0%,#028267 45%,#009c75 100%);overflow:hidden;}
.phero::after{content:"";position:absolute;inset:0;background:
  radial-gradient(700px 320px at 88% -10%,rgba(0,217,163,.38),transparent 62%),
  radial-gradient(520px 260px at 6% 118%,rgba(0,0,0,.30),transparent 60%);pointer-events:none;}
.phero .wrap{position:relative;z-index:1;padding-top:52px;padding-bottom:52px;}
.phero h1{font-size:38px;font-weight:700;letter-spacing:-.035em;}
.phero .sub{margin-top:12px;font-size:16px;color:#dff0ea;max-width:820px;}
.phero .kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.18em;color:#9fe9d2;margin-bottom:12px;}
.phero-photo{background:#0b2a23;}
.phero-photo .ph-img{position:absolute;inset:0;}
.phero-photo .ph-img img{width:100%;height:100%;object-fit:cover;opacity:.42;}
.phero-photo::after{background:linear-gradient(90deg,rgba(3,45,36,.86) 0%,rgba(3,45,36,.55) 55%,rgba(3,45,36,.25) 100%);}

.crumb{background:var(--bg-2);border-bottom:1px solid var(--line);}
.crumb .wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px;font-size:12px;color:var(--ink-3);}
.crumb a:hover{color:var(--brand);}
.crumb .sep{color:var(--ink-3);} /* 대비 4.6:1 — 옅은 #c2cbc8(1.59:1)에서 상향 */
.crumb strong{color:var(--ink-2);font-weight:600;}

/* ---------- 그리드 ---------- */
.grid{display:grid;gap:24px;}
.g2{grid-template-columns:repeat(2,minmax(0,1fr));}
.g3{grid-template-columns:repeat(3,minmax(0,1fr));}
.g4{grid-template-columns:repeat(4,minmax(0,1fr));}
.g-side{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;}

/* ---------- 카드 ---------- */
.card{background:#fff;border:1px solid var(--line-card);border-radius:var(--r-card);overflow:hidden;
  transition:box-shadow .2s var(--ease),transform .2s var(--ease);}
.card:hover{box-shadow:var(--sh-card);transform:translateY(-2px);}
.card .thumb{position:relative;aspect-ratio:4/3;background:var(--surface);overflow:hidden;}
.card .thumb img{width:100%;height:100%;object-fit:cover;}
.card .thumb .tag{position:absolute;left:10px;top:10px;}
.card .body{padding:16px 18px 20px;}
.card .body h3{font-size:17px;font-weight:700;letter-spacing:-.02em;}
.card .body .place{font-size:12px;font-weight:600;color:var(--brand);margin-bottom:6px;}
.card .body .desc{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.7;}
.card .tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;}
.card .tags span{font-size:11px;color:var(--ink-3);background:var(--surface);border-radius:var(--r-chip);padding:4px 9px;}
.card .price{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.card .price .num{font-size:22px;font-weight:700;color:var(--ink);}
.card .price .unit{font-size:12px;color:var(--ink-3);}
.card .price .from{font-size:12px;color:var(--ink-3);}

.tile{display:block;background:#fff;border:1px solid var(--line-card);border-radius:var(--r-card);padding:22px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease);height:100%;}
.tile:hover{border-color:var(--brand);box-shadow:var(--sh-card);}
.tile .ico{width:44px;height:44px;border-radius:var(--r-input);background:var(--brand-tint);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.tile h3{font-size:16px;font-weight:700;}
.tile p{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.75;}

.panel{background:#fff;border:1px solid var(--line-card);border-radius:var(--r-panel);padding:28px;}
.panel-soft{background:var(--bg-soft);border-color:var(--line);}
.panel + .panel{margin-top:20px;}
.panel h3{font-size:19px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px;}
.panel h4{font-size:15px;font-weight:700;margin:18px 0 8px;}

/* ---------- 표 ---------- */
.tbl{font-size:13.5px;}
.tbl caption{text-align:left;font-size:13px;color:var(--ink-3);padding-bottom:8px;}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top;line-height:1.7;}
.tbl thead th{background:var(--surface);border-top:2px solid var(--ink);font-weight:700;color:var(--ink);white-space:nowrap;}
.tbl tbody th{background:var(--bg-2);font-weight:600;color:var(--ink-2);width:170px;}
.tbl td .yes{color:var(--brand);font-weight:700;}
.tbl td .no{color:var(--danger);font-weight:700;}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ---------- 리스트 ---------- */
.dots li{position:relative;padding-left:15px;font-size:14px;color:var(--ink-2);line-height:1.85;}
.dots li + li{margin-top:5px;}
.dots li::before{content:"";position:absolute;left:2px;top:11px;width:4px;height:4px;border-radius:50%;background:var(--brand-light);}
.checks li{position:relative;padding-left:26px;font-size:14px;color:var(--ink-2);line-height:1.8;}
.checks li + li{margin-top:8px;}
.checks li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--brand-tint-2);
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.6' fill='none' stroke='%23028267' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.nos li{position:relative;padding-left:26px;font-size:14px;color:var(--ink-2);line-height:1.8;}
.nos li + li{margin-top:8px;}
.nos li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:#fde9e9;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' fill='none' stroke='%23c0392b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");}
.num-list{counter-reset:n;}
.num-list li{counter-increment:n;position:relative;padding-left:34px;font-size:14px;color:var(--ink-2);line-height:1.8;}
.num-list li + li{margin-top:12px;}
.num-list li::before{content:counter(n);position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;
  background:var(--brand);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.num-list li b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:2px;}

/* ---------- 일정표 ---------- */
.itin{position:relative;padding-left:28px;}
.itin::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--brand-tint-2);}
.itin li{position:relative;}
.itin li + li{margin-top:22px;}
.itin li::before{content:"";position:absolute;left:-24px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--brand);}
.itin .day{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--brand);background:var(--brand-tint);border-radius:var(--r-chip);padding:3px 11px;margin-bottom:6px;}
.itin h4{font-size:16px;font-weight:700;letter-spacing:-.02em;}
.itin p{margin-top:6px;font-size:13.5px;color:var(--ink-2);line-height:1.8;}
.itin .meal{margin-top:8px;font-size:12px;color:var(--ink-3);background:var(--bg-soft);border-radius:var(--r-input);padding:6px 10px;display:inline-block;}

/* ---------- 스펙바 ---------- */
.specbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;}
.specbar div{background:#fff;padding:16px 18px;}
.specbar dt{font-size:12px;color:var(--ink-3);margin-bottom:4px;}
.specbar dd{margin:0;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.02em;}

/* ---------- sticky 예약카드 ---------- */
.bookcard{position:sticky;top:96px;background:#fff;border:1px solid var(--line-card);border-radius:var(--r-panel);box-shadow:var(--sh-card);padding:22px;}
.bookcard .pr{display:flex;align-items:baseline;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.bookcard .pr .n{font-size:26px;font-weight:700;letter-spacing:-.03em;}
.bookcard .pr .u{font-size:13px;color:var(--ink-3);}
.bookcard dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:16px 0 18px;font-size:13px;}
.bookcard dt{color:var(--ink-3);}
.bookcard dd{margin:0;text-align:right;font-weight:600;color:var(--ink-2);}
.bookcard .note{margin-top:12px;font-size:12px;color:var(--ink-3);line-height:1.7;}

/* ---------- 갤러리 ---------- */
.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,1fr);gap:8px;border-radius:var(--r-card);overflow:hidden;}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;}
.gal figure{margin:0;overflow:hidden;background:var(--surface);}
.gal figure:first-child{grid-row:span 2;aspect-ratio:4/3;}
.gal figure:not(:first-child){aspect-ratio:4/3;}

/* ---------- 통계 ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-card);border:1px solid var(--line-card);border-radius:var(--r-card);overflow:hidden;}
.stats div{background:#fff;padding:22px 18px;text-align:center;}
.stats b{display:block;font-size:28px;font-weight:700;color:var(--brand);letter-spacing:-.03em;}
.stats span{display:block;margin-top:4px;font-size:13px;color:var(--ink-2);}

/* ---------- FAQ ---------- */
.faq{border-top:2px solid var(--ink);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;padding:18px 44px 18px 34px;position:relative;font-size:15px;font-weight:600;color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q";position:absolute;left:4px;top:18px;font-weight:700;color:var(--brand);}
.faq summary::after{content:"";position:absolute;right:12px;top:24px;width:9px;height:9px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);transition:transform .18s var(--ease);}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq .a{padding:0 20px 20px 34px;font-size:14px;color:var(--ink-2);line-height:1.85;position:relative;}
.faq .a::before{content:"A";position:absolute;left:4px;top:0;font-weight:700;color:var(--ink-3);}

/* ---------- 폼 ---------- */
.form-row{margin-bottom:18px;}
.form-row label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:7px;}
.form-row .req{color:var(--danger);margin-left:2px;}
.inp,.sel,.txt{width:100%;border:1px solid var(--line-strong);border-radius:var(--r-input);padding:0 14px;height:52px;font-size:16px;color:var(--ink);background:#fff;font-family:inherit;}
.txt{height:auto;min-height:150px;padding:14px;line-height:1.7;resize:vertical;}
.inp:focus,.sel:focus,.txt:focus{outline:none;border-color:var(--brand-light);box-shadow:0 0 0 3px rgba(0,156,117,.15);}
.inp::placeholder,.txt::placeholder{color:#999999;}
.form-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;}
.agree{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-2);line-height:1.7;}
.agree input{margin-top:4px;width:16px;height:16px;accent-color:var(--brand);}

/* ---------- 후기 ---------- */
.rev{background:#fff;border:1px solid var(--line-card);border-radius:var(--r-card);padding:22px;height:100%;}
.rev .top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.rev .stars{color:#f2a33c;font-size:13px;letter-spacing:1px;font-weight:700;}
.rev h3{font-size:15px;font-weight:700;margin-bottom:8px;letter-spacing:-.02em;}
.rev p{font-size:13.5px;color:var(--ink-2);line-height:1.85;}
.rev .who{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;}

/* ---------- 게시판 ---------- */
.board{border-top:2px solid var(--ink);}
.board li{border-bottom:1px solid var(--line);}
.board a,.board .row{display:flex;gap:16px;align-items:baseline;padding:17px 6px;}
.board .no{width:44px;flex:0 0 44px;font-size:12px;color:var(--ink-3);}
.board .ti{flex:1 1 auto;font-size:15px;font-weight:600;color:var(--ink);}
.board .ti .ex{display:block;margin-top:5px;font-size:13px;font-weight:400;color:var(--ink-2);line-height:1.7;}
.board .dt{flex:0 0 96px;text-align:right;font-size:12px;color:var(--ink-3);}
.board a:hover .ti{color:var(--brand);}

/* ---------- CTA 밴드 ---------- */
.cta{position:relative;color:#fff;background:#0b2a23;overflow:hidden;}
.cta .bg{position:absolute;inset:0;}
.cta .bg img{width:100%;height:100%;object-fit:cover;opacity:.45;}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,58,46,.90),rgba(2,58,46,.45));}
.cta .wrap{position:relative;z-index:2;padding-top:58px;padding-bottom:58px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.cta h2{font-size:28px;font-weight:700;letter-spacing:-.03em;}
.cta p{margin-top:10px;font-size:15px;color:#dbeee7;max-width:640px;}
.cta .acts{display:flex;gap:10px;flex-wrap:wrap;}

/* ---------- 링크 리스트(하위 페이지) ---------- */
.linklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.linklist a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--line-card);border-radius:var(--r-card);background:#fff;font-size:14px;font-weight:600;color:var(--ink-2);}
.linklist a:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-tint);}
.linklist a svg{flex:0 0 auto;}

/* ---------- 푸터 ---------- */
.site-footer{background:#111d1a;color:#a9bbb6;font-size:13px;margin-top:0;}
.foot-top{border-bottom:1px solid #24332f;}
.foot-top .wrap{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:32px;padding-top:46px;padding-bottom:40px;}
.foot-brand .logo-ko{color:#fff;}
.foot-brand .logo-en{color:var(--brand-accent);}
.foot-brand p{margin-top:14px;line-height:1.8;color:#8fa39e;font-size:13px;}
.foot-col h3{font-size:14px;font-weight:700;color:#fff;margin-bottom:12px;}
.foot-col li + li{margin-top:8px;}
.foot-col a:hover{color:var(--brand-accent);}
.foot-tel{margin-top:16px;}
.foot-tel b{display:block;font-size:24px;font-weight:700;color:#fff;letter-spacing:-.02em;}
.foot-tel span{font-size:12px;color:#8fa39e;}
.foot-bot .wrap{padding-top:26px;padding-bottom:34px;}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:16px;}
.foot-links a{font-size:12.5px;color:#c3d2ce;}
.foot-links a:hover{color:var(--brand-accent);}
.biz{font-size:12px;line-height:1.9;color:#7e908c;}
.biz .sep{color:#6b807a;margin:0 7px;} /* 대비 4.10:1 — 어두운 #3d4f4a(1.99:1)에서 상향 */
.sample-notice{margin-top:18px;padding:14px 16px;border:1px solid #2d4b42;border-radius:var(--r-input);background:#16241f;color:#bcd6cd;font-size:12.5px;line-height:1.8;}
.sample-notice b{color:var(--brand-accent);}
.copy{margin-top:16px;font-size:11.5px;letter-spacing:.08em;color:#5d6d69;}

/* ---------- 플로팅 ---------- */
.totop{position:fixed;right:18px;bottom:18px;z-index:70;width:46px;height:46px;border-radius:50%;
  background:var(--brand);border:none;box-shadow:var(--sh-card);display:none;align-items:center;justify-content:center;}
.totop.show{display:flex;}
.totop:hover{background:var(--brand-dark);}

/* ---------- 반응형 ---------- */
@media (max-width:1200px){
  .btn{min-height:44px;}
  .g-side{grid-template-columns:minmax(0,1fr);}
  .bookcard{position:static;}
}
@media (max-width:1024px){
  .gnb{gap:0;}
  .gnb > li > a{padding:10px 9px;font-size:14.5px;}
  .hd-tel{display:none;}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .specbar{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .foot-top .wrap{grid-template-columns:repeat(2,minmax(0,1fr));}
  .linklist{grid-template-columns:repeat(2,minmax(0,1fr));}
  .phero h1{font-size:31px;}
  .sec-hd h2{font-size:25px;}
}
@media (max-width:768px){
  :root{--gutter:16px;}
  .navtoggle{display:inline-flex;}
  .gnb{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);
    box-shadow:var(--sh-menu);flex-direction:column;align-items:stretch;padding:8px 16px 16px;}
  .gnb.open{display:flex;}
  .gnb > li > a{padding:13px 6px;border-radius:0;border-bottom:1px solid var(--line);}
  .gnb > li.on > a::after{display:none;}
  .site-header .wrap{position:relative;}
  .sec{padding:44px 0;}
  .g2,.g3,.g4{grid-template-columns:minmax(0,1fr);}
  .gal{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;}
  .gal figure:first-child{grid-column:span 2;grid-row:auto;}
  .form-2{grid-template-columns:minmax(0,1fr);}
  .linklist{grid-template-columns:minmax(0,1fr);}
  .foot-top .wrap{grid-template-columns:minmax(0,1fr);gap:26px;}
  .phero h1{font-size:26px;}
  .phero .wrap{padding-top:38px;padding-bottom:38px;}
  .sec-hd h2{font-size:22px;}
  .cta h2{font-size:22px;}
  .util-l{display:none;}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tbl tbody th{width:110px;}
  .panel{padding:20px;}
}
@media (max-width:480px){
  .specbar,.stats{grid-template-columns:minmax(0,1fr);}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto !important;}
}
