@charset "utf-8";
/* =================================================================
   고급형 식당 1 (dining1) — 한식 코스 다이닝
   모든 선택자는 .dn- 로 시작한다. 게시판 스킨과 겹치지 않는다.
   먹빛(숯) 바탕과 한지빛 아이보리를 번갈아 두고, 제목은 명조, 선과 숫자는 금빛, 강조는 단청 주홍 한 가지.
   ================================================================= */

:root{
  --dn-ink:#141110;
  --dn-ink2:#1d1916;
  --dn-ink3:#27211d;
  --dn-hanji:#f5f0e8;
  --dn-hanji2:#ebe3d6;
  --dn-gold:#c4a26a;
  --dn-red:#b8412e;
  --dn-text:#3d3530;
  --dn-mute:#8c8178;
  --dn-line-d:rgba(255,255,255,.12);
  --dn-line-l:#dcd2c3;
  --dn-serif:'Nanum Myeongjo','Noto Serif KR','바탕',Batang,serif;
  --dn-wrap:1200px;
}

.dn-wrap{ max-width:var(--dn-wrap); margin:0 auto; padding:0 28px; }
#dn-main [hidden]{ display:none !important; }
body{
  font-family:'Pretendard','Noto Sans KR','맑은 고딕',Malgun Gothic,sans-serif; font-size:16px;
  color:var(--dn-text); background:var(--dn-hanji); letter-spacing:-.015em; word-break:keep-all;
  padding-top:var(--dn-fixedh, 84px);
}
body:has(.dn-fixed.is-main){ padding-top:0; }
.dn-skip{ position:absolute; left:-9999px; }
.dn-skip:focus{ left:10px; top:10px; z-index:999; background:#fff; padding:10px 16px; }
img{ max-width:100%; }
.dn-ico{ width:22px; height:22px; flex:none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{ outline:2px solid var(--dn-gold); outline-offset:3px; }
.dn-label{ margin:0; font-size:12px; font-weight:700; letter-spacing:.32em; color:var(--dn-gold); }
.dn-empty{ padding:30px; text-align:center; border:1px dashed var(--dn-line-l); color:var(--dn-mute); }
.dn-empty a{ color:var(--dn-red); text-decoration:underline; }
.dn-note{ margin:10px 0 0; font-size:13.5px; color:var(--dn-mute); }
.dn-btn{ display:inline-flex; align-items:center; gap:8px; padding:14px 30px; border:1px solid var(--dn-red); background:var(--dn-red); color:#fff; font-weight:700; letter-spacing:.04em; text-decoration:none; transition:background .2s, color .2s; }
.dn-btn:hover{ background:#9a3424; border-color:#9a3424; }
.dn-btn.is-ghost{ background:transparent; border-color:rgba(255,255,255,.55); color:#fff; }
.dn-btn.is-ghost:hover{ background:#fff; color:var(--dn-ink); }
.dn-more{ margin:44px 0 0; text-align:center; }
.dn-more .dn-btn{ border-radius:999px; padding:12px 34px; }

/* ---------------------------------------------------------- 헤더 */
.dn-fixed{ position:fixed; top:0; left:0; right:0; z-index:100; background:var(--dn-ink); transition:background .3s, box-shadow .3s; }
.dn-fixed.is-main{ background:linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,0)); }
.dn-fixed.is-stuck{ background:rgba(20,17,16,.96); box-shadow:0 10px 26px -18px rgba(0,0,0,.8); }
.dn-demo{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px 18px; padding:7px 16px; background:#000; color:#a99f96; font-size:12.5px; }
.dn-demo b{ color:#fff; }
.dn-demo a{ color:#fff; font-weight:700; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.5); }
.dn-header__in{ display:flex; align-items:center; gap:28px; height:84px; }
.dn-logo{ display:flex; align-items:baseline; gap:10px; color:#fff; text-decoration:none; flex:none; }
.dn-logo strong{ font-family:var(--dn-serif); font-size:30px; font-weight:800; letter-spacing:.06em; }
.dn-logo small{ font-size:11px; letter-spacing:.42em; color:var(--dn-gold); }
.dn-gnb{ flex:1; }
.dn-gnb > ul{ display:flex; justify-content:flex-end; gap:6px; margin:0; padding:0; list-style:none; }
.dn-gnb li{ position:relative; }
.dn-gnb a{ display:block; padding:10px 14px; font-size:15px; letter-spacing:.04em; color:rgba(255,255,255,.86); text-decoration:none; }
.dn-gnb a:hover, .dn-gnb a.is-on{ color:var(--dn-gold); }
.dn-gnb li ul{ position:absolute; left:50%; top:100%; min-width:150px; transform:translateX(-50%); margin:0; padding:8px 0; list-style:none; background:var(--dn-ink2); border:1px solid var(--dn-line-d); opacity:0; visibility:hidden; transition:opacity .15s; }
.dn-gnb li:hover > ul, .dn-gnb li:focus-within > ul{ opacity:1; visibility:visible; }
.dn-gnb li ul a{ font-size:14px; white-space:nowrap; padding:9px 18px; }
.dn-gnb__empty{ font-size:13px; color:#a99f96; text-align:right; }
.dn-headcta{ flex:none; padding:10px 22px; border:1px solid var(--dn-gold); color:var(--dn-gold); font-size:14.5px; letter-spacing:.08em; text-decoration:none; }
.dn-headcta:hover{ background:var(--dn-gold); color:var(--dn-ink); }
.dn-burger{ display:none; width:44px; height:44px; border:0; background:none; cursor:pointer; flex:none; margin-left:auto; }
.dn-burger span{ display:block; width:24px; height:1.5px; margin:6px auto; background:#fff; }
.dn-drawer{ position:fixed; inset:0; z-index:200; }
.dn-drawer__bg{ position:absolute; inset:0; background:rgba(0,0,0,.6); }
.dn-drawer__panel{ position:absolute; right:0; top:0; bottom:0; width:min(320px,86vw); overflow:auto; padding:60px 26px 30px; background:var(--dn-ink); color:#fff; }
.dn-drawer__close{ position:absolute; right:12px; top:12px; width:40px; height:40px; border:0; background:none; color:#fff; font-size:20px; cursor:pointer; }
.dn-drawer__brand{ margin:0 0 18px; font-family:var(--dn-serif); font-size:26px; font-weight:800; }
.dn-drawer__brand small{ font-family:inherit; font-size:11px; letter-spacing:.4em; color:var(--dn-gold); }
.dn-drawer ul{ margin:0; padding:0; list-style:none; }
.dn-drawer li a{ display:block; padding:13px 0; border-bottom:1px solid var(--dn-line-d); font-size:17px; color:#fff; text-decoration:none; }
.dn-drawer li li a{ padding:9px 0 9px 14px; font-size:15px; border-bottom:0; color:#cfc5bb; }
.dn-drawer__tel{ display:flex; justify-content:center; gap:8px; margin-top:20px; padding:15px; background:var(--dn-red); color:#fff; font-weight:700; text-decoration:none; }

.dn-sbanner{ padding:56px 0 46px; background:var(--dn-ink2); color:#fff; }
.dn-sbanner p{ margin:0 0 8px; font-size:12px; letter-spacing:.4em; color:var(--dn-gold); }
.dn-sbanner h1{ margin:0; font-family:var(--dn-serif); font-size:34px; font-weight:800; color:#fff; }
.dn-sub{ padding:56px 0 110px; }

/* ---------------------------------------------------------- 1. 히어로 */
.dn-hero{ position:relative; display:flex; align-items:center; min-height:min(100vh, 860px); padding:140px 0 110px; color:#fff;
  background:linear-gradient(90deg, rgba(10,8,7,.88) 0%, rgba(10,8,7,.55) 42%, rgba(10,8,7,.1) 72%), var(--dn-hero, none) 65% center / cover no-repeat, var(--dn-ink); }
.dn-hero__in{ width:100%; }
.dn-hero__kicker{ margin:0 0 22px; font-size:12.5px; letter-spacing:.42em; color:var(--dn-gold); }
.dn-hero h1{ margin:0; font-family:var(--dn-serif); font-size:clamp(40px, 5.6vw, 76px); font-weight:800; line-height:1.3; letter-spacing:-.02em; color:#fff; }
.dn-hero__desc{ max-width:28em; margin:26px 0 38px; font-size:17px; line-height:1.8; color:#d6cdc4; }
.dn-hero__btns{ display:flex; flex-wrap:wrap; gap:12px; }
.dn-hero__scroll{ position:absolute; left:50%; bottom:28px; width:26px; height:42px; margin-left:-13px; border:1.5px solid rgba(255,255,255,.6); border-radius:14px; }
.dn-hero__scroll span{ position:absolute; left:50%; top:8px; width:2px; height:8px; margin-left:-1px; background:#fff; border-radius:1px; animation:dn-scroll 1.8s infinite; }
@keyframes dn-scroll{ 0%{ transform:translateY(0); opacity:1; } 70%{ transform:translateY(12px); opacity:0; } 100%{ opacity:0; } }
@media (prefers-reduced-motion:reduce){ .dn-hero__scroll span{ animation:none; } }

/* ---------------------------------------------------------- 공통 구역 */
.dn-sec{ padding:120px 0; }
.dn-head{ margin:0 auto 54px; max-width:720px; text-align:center; }
.dn-head.is-left{ margin-left:0; text-align:left; }
.dn-head h2{ margin:14px 0 0; font-family:var(--dn-serif); font-size:40px; font-weight:800; letter-spacing:-.02em; line-height:1.3; color:var(--dn-ink); }
.dn-head p:not(.dn-label){ margin:14px 0 0; font-size:16px; line-height:1.8; color:var(--dn-mute); }

/* ---------------------------------------------------------- 2. 소개 */
.dn-story{ background:var(--dn-hanji); }
.dn-story__in{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.dn-story__head h2{ margin:18px 0 0; font-family:var(--dn-serif); font-size:clamp(32px, 3.4vw, 46px); font-weight:800; line-height:1.4; letter-spacing:-.02em; color:var(--dn-ink); }
.dn-story__head h2 em{ font-style:normal; color:var(--dn-red); }
.dn-story__body > p{ margin:0 0 18px; font-size:16.5px; line-height:1.95; }
.dn-chef{ display:grid; grid-template-columns:180px 1fr; gap:22px; align-items:end; margin:36px 0 0; padding-top:30px; border-top:1px solid var(--dn-line-l); }
.dn-chef img{ width:100%; aspect-ratio:1; height:auto; object-fit:cover; display:block; }
.dn-chef small{ display:block; font-size:12px; letter-spacing:.24em; color:var(--dn-gold); }
.dn-chef strong{ display:block; margin:4px 0 12px; font-family:var(--dn-serif); font-size:24px; color:var(--dn-ink); }
.dn-chef ul{ margin:0; padding:0; list-style:none; font-size:14.5px; line-height:1.9; color:var(--dn-mute); }
.dn-chef li::before{ content:'— '; color:var(--dn-gold); }

/* ---------------------------------------------------------- 3. 전면 슬라이드 */
.dn-slides{ position:relative; background:#000; }
.dn-slides__track{ position:relative; height:min(78vh, 720px); min-height:420px; overflow:hidden; }
.dn-slides__item{ position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity var(--dn-speed, .5s) ease, visibility 0s linear var(--dn-speed, .5s); }
.dn-slides__item.is-on{ opacity:1; visibility:visible; transition:opacity var(--dn-speed, .5s) ease; }
.dn-slides__item img{ width:100%; height:100%; object-fit:cover; display:block; }
.dn-slides__item::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.12) 55%); }
.dn-slides figcaption{ position:absolute; left:0; right:0; bottom:18%; z-index:1; padding:0 24px; text-align:center; font-family:var(--dn-serif); font-size:clamp(24px, 2.8vw, 38px); font-weight:700; line-height:1.5; color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.5); }
.dn-slides__ctrl{ position:absolute; left:0; right:0; bottom:28px; z-index:2; display:flex; justify-content:center; align-items:center; gap:10px; }
.dn-slides__ctrl [data-go]{ width:9px; height:9px; padding:0; border:1px solid #fff; border-radius:50%; background:transparent; cursor:pointer; }
.dn-slides__ctrl [data-go][aria-pressed="true"]{ background:#fff; }
.dn-slides__pause{ display:grid; place-items:center; width:28px; height:28px; margin-left:6px; padding:0; border:1px solid rgba(255,255,255,.6); border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
.dn-slides__pause .dn-ico{ width:13px; height:13px; }
.dn-slides__pause .dn-ico + .dn-ico, .dn-slides__pause.is-paused .dn-ico:first-child{ display:none; }
.dn-slides__pause.is-paused .dn-ico + .dn-ico{ display:block; }
@media (prefers-reduced-motion:reduce){ .dn-slides__item{ transition:none !important; } }

/* ---------------------------------------------------------- 4. 코스 */
.dn-course{ background:var(--dn-ink); color:#cfc5bb; }
.dn-course .dn-head h2{ color:#fff; }
.dn-course .dn-head p:not(.dn-label){ color:#9d9289; }
.dn-tabs{ display:flex; justify-content:center; margin:0 auto 50px; width:max-content; max-width:100%; border:1px solid var(--dn-line-d); }
.dn-tabs button{ min-width:140px; padding:15px 24px; border:0; background:transparent; font:inherit; font-size:15px; letter-spacing:.06em; color:#bdb2a8; cursor:pointer; }
.dn-tabs button + button{ border-left:1px solid var(--dn-line-d); }
.dn-tabs button:hover{ color:#fff; }
.dn-tabs button[aria-selected="true"]{ background:var(--dn-red); color:#fff; }
.dn-cc{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding:0 0 64px; }
.dn-cc + .dn-cc{ padding-top:64px; border-top:1px solid var(--dn-line-d); }
.dn-cc:nth-of-type(even) .dn-cc__img{ order:2; }
.dn-cc__img{ display:block; aspect-ratio:1; overflow:hidden; }
.dn-cc__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s; }
.dn-cc__img:hover img{ transform:scale(1.04); }
.dn-cc h3{ margin:0; font-family:var(--dn-serif); font-size:34px; font-weight:800; color:#fff; }
.dn-cc__price{ margin:10px 0 0; font-size:22px; font-weight:700; color:var(--dn-gold); font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.dn-cc__price small{ margin-left:8px; font-size:14px; font-weight:400; color:#9d9289; }
.dn-cc__desc{ margin:16px 0 0; font-size:16px; line-height:1.85; color:#cfc5bb; }
.dn-cc__dishes{ margin:26px 0 0; padding:0; list-style:none; counter-reset:dish; border-top:1px solid var(--dn-line-d); }
.dn-cc__dishes li{ counter-increment:dish; display:flex; gap:16px; padding:12px 0; border-bottom:1px solid var(--dn-line-d); font-size:15.5px; color:#e8dfd6; }
.dn-cc__dishes li::before{ content:counter(dish, decimal-leading-zero); flex:none; width:26px; font-size:12.5px; color:var(--dn-gold); font-variant-numeric:tabular-nums; padding-top:2px; }
.dn-strip{ margin-top:10px; }
.dn-strip__list{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px, 23%); gap:22px; margin:0; padding:0 0 18px; list-style:none; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-color:var(--dn-ink3) transparent; }
.dn-strip__list li{ scroll-snap-align:start; }
.dn-strip__list a{ display:block; color:inherit; text-decoration:none; }
.dn-strip__img{ display:block; aspect-ratio:1; overflow:hidden; border-radius:50%; }
.dn-strip__img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.dn-strip__list a:hover img{ transform:scale(1.06); }
.dn-strip strong{ display:block; margin-top:16px; text-align:center; font-family:var(--dn-serif); font-size:19px; color:#fff; }
.dn-strip small{ display:block; margin-top:6px; text-align:center; font-size:13.5px; line-height:1.55; color:#9d9289; }
.dn-strip b{ display:block; margin-top:6px; text-align:center; font-weight:700; color:var(--dn-gold); font-variant-numeric:tabular-nums; }

/* ---------------------------------------------------------- 5. 룸 */
.dn-rooms{ background:var(--dn-hanji2); }
.dn-rooms__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:0; padding:0; list-style:none; }
.dn-rooms__grid li{ background:var(--dn-hanji); }
.dn-rooms__grid img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; }
.dn-rooms__grid div{ padding:20px 20px 24px; }
.dn-rooms__grid h3{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin:0 0 8px; font-family:var(--dn-serif); font-size:20px; color:var(--dn-ink); }
.dn-rooms__grid h3 span{ display:inline-flex; align-items:center; gap:4px; font-family:'Pretendard','Noto Sans KR',sans-serif; font-size:13px; font-weight:700; color:var(--dn-red); }
.dn-rooms__grid h3 .dn-ico{ width:16px; height:16px; }
.dn-rooms__grid p{ margin:0; font-size:14.5px; line-height:1.7; color:var(--dn-mute); }
.dn-policy{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:36px 0 0; padding:0; list-style:none; }
.dn-policy li{ display:flex; gap:10px; padding:18px 18px; border-top:1px solid var(--dn-text); font-size:14.5px; line-height:1.65; }
.dn-policy .dn-ico{ width:18px; height:18px; color:var(--dn-red); margin-top:2px; }

/* ---------------------------------------------------------- 6. 예약 */
.dn-reserve{ background:var(--dn-ink2); color:#cfc5bb; }
.dn-reserve__in{ display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; }
.dn-reserve__side h2{ margin:14px 0 0; font-family:var(--dn-serif); font-size:40px; font-weight:800; color:#fff; }
.dn-reserve__side > p:not(.dn-label):not(.dn-note){ margin:16px 0 28px; font-size:16px; line-height:1.8; }
.dn-hours{ margin:0; border-top:1px solid var(--dn-line-d); }
.dn-hours div{ display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--dn-line-d); }
.dn-hours dt{ color:#fff; }
.dn-hours dd{ margin:0; text-align:right; color:var(--dn-gold); font-variant-numeric:tabular-nums; }
.dn-hours dd small{ display:block; font-size:12.5px; color:#9d9289; }
.dn-reserve .dn-note{ color:#9d9289; }
.dn-reserve__tel{ display:inline-flex; align-items:center; gap:10px; margin:24px 0 16px; font-family:var(--dn-serif); font-size:30px; font-weight:800; color:#fff; text-decoration:none; font-variant-numeric:tabular-nums; }
.dn-reserve__tel .dn-ico{ width:26px; height:26px; color:var(--dn-gold); }
.dn-form{ display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; padding:36px; background:var(--dn-hanji); color:var(--dn-text); }
.dn-form__row{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.dn-form__row.is-wide, .dn-form__agree, .dn-form__err, .dn-form__submit, .dn-form__done{ grid-column:1 / -1; }
.dn-form label, .dn-form__lb{ font-size:14px; font-weight:700; letter-spacing:.02em; color:var(--dn-ink); }
.dn-form label b, .dn-form__lb b{ color:var(--dn-red); }
.dn-form input[type="text"], .dn-form input[type="tel"], .dn-form input[type="date"], .dn-form select, .dn-form textarea{ width:100%; box-sizing:border-box; height:50px; padding:0 14px; border:0; border-bottom:1px solid #b9ad9d; border-radius:0; background:transparent; font:inherit; font-size:16px; color:var(--dn-ink); }
.dn-form textarea{ height:auto; padding:12px 0; }
.dn-form input:focus, .dn-form select:focus, .dn-form textarea:focus{ border-bottom-color:var(--dn-red); outline:none; }
.dn-form__seg{ display:flex; flex-wrap:wrap; gap:8px; }
.dn-form__seg label{ position:relative; font-weight:500; cursor:pointer; }
.dn-form__seg input{ position:absolute; opacity:0; }
.dn-form__seg span{ display:block; padding:9px 16px; border:1px solid #b9ad9d; font-size:14.5px; }
.dn-form__seg input:checked + span{ border-color:var(--dn-ink); background:var(--dn-ink); color:#fff; }
.dn-form__seg input:focus-visible + span{ outline:2px solid var(--dn-gold); outline-offset:2px; }
.dn-form__captcha #captcha legend{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.dn-form__captcha fieldset{ margin:0; padding:0; border:0; }
.dn-form__agree{ padding:14px 16px; background:var(--dn-hanji2); font-size:14px; }
.dn-form__agree label{ display:inline-flex; gap:6px; align-items:center; font-weight:600; }
.dn-form__agree a{ margin-left:8px; color:var(--dn-red); font-size:13.5px; }
.dn-form__agree p{ margin:6px 0 0; font-size:12.5px; color:var(--dn-mute); }
.dn-form__err{ margin:0; padding:10px 14px; background:#fbe9e5; color:#8e2a1b; font-weight:700; }
.dn-form__done{ display:flex; gap:10px; align-items:center; margin:0; padding:14px 16px; background:#e8f1ea; color:#1d5b36; font-weight:700; }
.dn-form__submit{ height:58px; border:0; background:var(--dn-red); color:#fff; font:inherit; font-size:17px; font-weight:700; letter-spacing:.1em; cursor:pointer; }
.dn-form__submit:hover{ background:#9a3424; }
.dn-form__submit:disabled{ opacity:.6; cursor:wait; }

/* ---------------------------------------------------------- 7. 사진 격자 */
.dn-gallery{ background:var(--dn-hanji); }
.dn-gallery .dn-head h2{ color:var(--dn-red); }
.dn-gallery__grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin:0; padding:0; list-style:none; }
.dn-gallery__grid a{ position:relative; display:block; aspect-ratio:1; overflow:hidden; }
.dn-gallery__grid img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.dn-gallery__grid span{ position:absolute; inset:auto 0 0 0; padding:26px 10px 10px; font-size:13px; color:#fff; background:linear-gradient(0deg, rgba(0,0,0,.6), transparent); opacity:0; transition:opacity .3s; }
.dn-gallery__grid a:hover img{ transform:scale(1.06); }
.dn-gallery__grid a:hover span, .dn-gallery__grid a:focus-visible span{ opacity:1; }

/* ---------------------------------------------------------- 8. 오시는 길 */
.dn-visit{ padding:90px 0; background:var(--dn-hanji2); }
.dn-visit__in{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.dn-visit h2{ margin:14px 0 22px; font-family:var(--dn-serif); font-size:34px; font-weight:800; color:var(--dn-ink); }
.dn-visit__list{ display:grid; gap:14px; margin:0; padding:0; list-style:none; font-size:15.5px; line-height:1.7; }
.dn-visit__list li{ display:flex; gap:12px; }
.dn-visit__list .dn-ico{ width:20px; height:20px; color:var(--dn-red); margin-top:3px; }
.dn-visit__list a{ color:var(--dn-red); font-weight:700; }
.dn-news h3{ display:flex; justify-content:space-between; align-items:baseline; margin:0 0 6px; font-family:var(--dn-serif); font-size:22px; color:var(--dn-ink); }
.dn-news h3 a{ font-family:'Pretendard','Noto Sans KR',sans-serif; font-size:13px; color:var(--dn-mute); }
.dn-news ul{ margin:0; padding:0; list-style:none; border-top:1px solid var(--dn-text); }
.dn-news li{ display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--dn-line-l); }
.dn-news li a{ flex:1; min-width:0; color:inherit; text-decoration:none; }
.dn-news strong{ display:block; font-size:15.5px; color:var(--dn-ink); }
.dn-news small{ display:block; margin-top:4px; font-size:13.5px; color:var(--dn-mute); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dn-news time{ flex:none; font-size:13px; color:var(--dn-mute); font-variant-numeric:tabular-nums; }

/* ---------------------------------------------------------- 푸터 */
.dn-footer{ padding:54px 0 60px; background:var(--dn-ink); color:#8f847b; font-size:13.5px; }
.dn-footer__in{ display:grid; grid-template-columns:auto 1fr auto; gap:48px; align-items:start; }
.dn-footer__brand strong{ display:block; font-family:var(--dn-serif); font-size:28px; font-weight:800; color:#fff; letter-spacing:.06em; }
.dn-footer__brand small{ font-family:'Pretendard','Noto Sans KR',sans-serif; font-size:10.5px; letter-spacing:.4em; color:var(--dn-gold); }
.dn-footer__brand p{ margin:6px 0 0; }
.dn-footer__nav{ display:flex; flex-wrap:wrap; gap:6px 18px; margin:0 0 14px; padding:0; list-style:none; }
.dn-footer__nav a{ color:#cfc5bb; text-decoration:none; }
.dn-footer__co{ line-height:1.9; }
.dn-footer__co p{ margin:0; }
.dn-footer__copy{ margin:12px 0 0; font-size:12px; color:#6c625a; }
.dn-footer__tel{ color:#fff; text-decoration:none; font-family:var(--dn-serif); font-size:26px; font-weight:800; font-variant-numeric:tabular-nums; text-align:right; }
.dn-footer__tel small{ display:block; font-family:'Pretendard','Noto Sans KR',sans-serif; font-size:12px; font-weight:400; color:var(--dn-gold); letter-spacing:.1em; }
.dn-dock{ display:none; }

/* ---------------------------------------------------------- 반응형 */
@media (max-width:1024px){
  .dn-gnb, .dn-headcta{ display:none; }
  .dn-burger{ display:block; }
  .dn-header__in{ height:68px; }
  .dn-story__in, .dn-reserve__in, .dn-visit__in{ grid-template-columns:1fr; gap:40px; }
  .dn-cc{ grid-template-columns:1fr; gap:28px; }
  .dn-cc:nth-of-type(even) .dn-cc__img{ order:0; }
  .dn-rooms__grid{ grid-template-columns:repeat(2,1fr); }
  .dn-policy{ grid-template-columns:1fr; }
  .dn-gallery__grid{ grid-template-columns:repeat(4,1fr); }
  .dn-footer__in{ grid-template-columns:1fr; gap:24px; }
  .dn-footer__tel{ text-align:left; }
}
@media (max-width:640px){
  body{ font-size:15.5px; padding-bottom:62px; }
  .dn-wrap{ padding:0 20px; }
  .dn-sec{ padding:76px 0; }
  .dn-head{ margin-bottom:36px; }
  .dn-head h2{ font-size:30px; }
  .dn-logo strong{ font-size:26px; }
  .dn-hero{ min-height:88vh; padding:120px 0 90px; background-position:0 0, 70% center, 0 0;
    background-image:linear-gradient(0deg, rgba(10,8,7,.92) 0%, rgba(10,8,7,.55) 55%, rgba(10,8,7,.25) 100%), var(--dn-hero, none); }
  .dn-hero__in{ align-self:flex-end; }
  .dn-hero h1{ font-size:40px; }
  .dn-hero__desc{ font-size:15.5px; margin:18px 0 26px; }
  .dn-chef{ grid-template-columns:120px 1fr; gap:16px; }
  .dn-chef strong{ font-size:20px; }
  .dn-slides__track{ height:62vh; }
  .dn-tabs{ width:100%; }
  .dn-tabs button{ flex:1; min-width:0; padding:13px 6px; font-size:14px; }
  .dn-cc h3{ font-size:28px; }
  .dn-strip__list{ grid-auto-columns:62%; gap:16px; }
  .dn-rooms__grid{ grid-template-columns:1fr; }
  .dn-form{ grid-template-columns:1fr; padding:24px 18px; }
  .dn-reserve__side h2, .dn-visit h2{ font-size:32px; }
  .dn-gallery__grid{ grid-template-columns:repeat(3,1fr); gap:6px; }
  .dn-dock{ position:fixed; left:0; right:0; bottom:0; z-index:90; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; background:var(--dn-ink); border-top:1px solid var(--dn-line-d); transition:transform .25s; }
  .dn-dock a{ display:flex; flex-direction:column; align-items:center; gap:3px; padding:9px 0 10px; color:#fff; text-decoration:none; font-size:12.5px; }
  .dn-dock a.is-key{ background:var(--dn-red); }
  .dn-dock .dn-ico{ width:20px; height:20px; }
  .dn-dock.is-off{ transform:translateY(110%); }
}
