#dp{
  --bg:#120c08;
  --bg2:#1a110b;
  --wood:#231710;
  --amber:#e0a458;
  --amber2:#f3c27a;
  --gold:#c9a45c;
  --gold-hi:#f4dca4;
  --cream:#f3e7d3;
  --mute:#bba98f;
  --dim:#8c7b64;
  --ox:#7b2d24;
  --line:rgba(224,164,88,.16);
  --line2:rgba(224,164,88,.32);
  --foil:linear-gradient(110deg,#a8803e 0%,#f4dca4 22%,#c9a45c 40%,#fff1c9 55%,#b38a45 75%,#e8c987 100%);
  --serif:"Noto Serif KR","Nanum Myeongjo",serif;
  --w:1140px;
}
#dp *{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;max-width:100%;overflow-x:hidden}
body{background:#120c08;max-width:100%;overflow-x:hidden}
#dp{
  position:relative;min-height:100vh;max-width:100%;
  font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  color:var(--cream);font-size:16.5px;line-height:1.8;
  word-break:keep-all;overflow-wrap:break-word;overflow-x:hidden;
  background:
    radial-gradient(70% 50% at 50% 0%,rgba(224,164,88,.16),transparent 70%),
    radial-gradient(60% 40% at 100% 40%,rgba(123,45,36,.18),transparent 70%),
    radial-gradient(60% 40% at 0% 75%,rgba(201,164,92,.08),transparent 70%),
    linear-gradient(180deg,#150e09 0%,var(--bg) 40%,#0f0a06 100%);
}
#dp a{color:inherit;text-decoration:none}
#dp table{border-collapse:collapse;width:100%}
#dp .wrap{max-width:var(--w);width:100%;min-width:0;margin:0 auto;padding:0 28px}

/* ── 질감 · 입자 · 게이지 ── */
#dp .grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;overflow:hidden;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{
  0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}
  60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
#dp #embers{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#dp main,#dp .foot{position:relative;z-index:2}

#dp .site-nav{position:sticky;top:0;z-index:55;border-bottom:1px solid var(--line);background:rgba(18,12,8,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#dp .site-nav .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 2px;padding-top:10px;padding-bottom:10px}
#dp .site-nav a{font-size:12.5px;letter-spacing:.08em;color:var(--mute);padding:8px 12px}
#dp .site-nav a:hover{color:var(--gold-hi)}

#dp .gauge{position:fixed;left:26px;top:50%;transform:translateY(-50%);z-index:40;width:8px;height:210px;border-radius:0 0 6px 6px;border:1px solid var(--line2);border-top:0;background:rgba(20,12,8,.6);overflow:hidden;display:flex;align-items:flex-end}
#dp .gauge::before{content:"";position:absolute;top:0;left:-4px;right:-4px;height:1px;background:var(--line2)}
#dp .gauge i{display:block;width:100%;height:0;background:linear-gradient(180deg,var(--amber2),#b86a24);box-shadow:0 0 14px rgba(224,164,88,.6);transition:height .15s linear}

/* ── 타이포 ── */
#dp h1,#dp h2,#dp h3{font-family:var(--serif);font-weight:700;letter-spacing:-.015em}
#dp h2{font-size:clamp(28px,3.6vw,42px);line-height:1.32;margin:12px 0 20px;color:var(--cream)}
#dp h3{font-size:20px;line-height:1.45;color:var(--cream)}
#dp h4{font-size:16px;font-weight:700;color:var(--gold-hi);letter-spacing:-.01em}
#dp p{color:var(--mute)}
#dp .lead{font-size:17.5px;color:#d8c8ae;max-width:780px}
#dp .gold{background:var(--foil);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:foil 7s ease-in-out infinite}
@keyframes foil{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
#dp .ch-no{font-family:var(--serif);font-style:italic;font-size:14px;letter-spacing:.14em;color:var(--gold);display:flex;align-items:center;gap:14px}
#dp .ch-no::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
#dp .ch-head{margin-bottom:48px}
#dp .ch-head.center{text-align:center}
#dp .ch-head.center .ch-no{justify-content:center}
#dp .ch-head.center .ch-no::before{content:"";width:56px;height:1px;background:linear-gradient(270deg,var(--gold),transparent)}
#dp .ch-head.center .lead{margin:0 auto}
#dp .sub-title{margin:64px 0 20px}
#dp .note{font-size:13.5px;color:var(--dim);margin-top:18px}
#dp .center{text-align:center}

/* ── 버튼 ── */
#dp .btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:4px;font-weight:700;font-size:15.5px;transition:transform .3s,box-shadow .3s,background .3s,border-color .3s}
#dp .btn svg{width:18px;height:18px;flex:none}
#dp .btn-amber{position:relative;overflow:hidden;background:linear-gradient(135deg,#f3c27a,#d18a3c);color:#1d1107;box-shadow:0 12px 36px -12px rgba(224,164,88,.8),inset 0 1px 0 rgba(255,255,255,.35)}
#dp .btn-amber::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sweep 4.5s ease-in-out infinite}
@keyframes sweep{0%,60%{left:-60%}100%{left:130%}}
#dp .btn-amber:hover{transform:translateY(-2px);box-shadow:0 18px 44px -12px rgba(224,164,88,.95)}
#dp .btn-line{border:1px solid var(--line2);color:var(--cream);background:rgba(35,23,16,.5)}
#dp .btn-line:hover{border-color:var(--amber);transform:translateY(-2px)}
#dp .btn-kakao{background:#fee500;color:#191600}
#dp .btn-tele{background:#2aabee;color:#fff}
#dp .btn-kakao:hover,#dp .btn-tele:hover{transform:translateY(-2px)}

/* ── HERO ── */
#dp .hero{--mx:50%;--my:40%;position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 24px 140px;overflow:hidden}
#dp .lamp{position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px 420px at var(--mx) var(--my),rgba(243,194,122,.14),transparent 70%);transition:background .2s}
#dp .crest{position:absolute;left:50%;top:44%;width:min(640px,92vw);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;opacity:.9}
#dp .ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 60s linear infinite}
#dp .ring text{font-family:var(--serif);font-size:11.5px;letter-spacing:.42em;fill:rgba(201,164,92,.38)}
@keyframes spin{to{transform:rotate(360deg)}}
#dp .crest::before{content:"";position:absolute;inset:16%;border-radius:50%;border:1px solid rgba(201,164,92,.14);box-shadow:inset 0 0 120px rgba(224,164,88,.08)}
#dp .scene{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;perspective:900px;opacity:.55}
#dp .cube{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:cube 22s linear infinite}
#dp .cube i{position:absolute;inset:0;border:1px solid rgba(255,226,170,.45);background:linear-gradient(135deg,rgba(255,214,150,.22),rgba(224,164,88,.05) 50%,rgba(255,240,210,.16));box-shadow:inset 0 0 40px rgba(255,200,120,.18);border-radius:10px}
#dp .cube i:nth-child(1){transform:translateZ(75px)}
#dp .cube i:nth-child(2){transform:rotateY(180deg) translateZ(75px)}
#dp .cube i:nth-child(3){transform:rotateY(90deg) translateZ(75px)}
#dp .cube i:nth-child(4){transform:rotateY(-90deg) translateZ(75px)}
#dp .cube i:nth-child(5){transform:rotateX(90deg) translateZ(75px)}
#dp .cube i:nth-child(6){transform:rotateX(-90deg) translateZ(75px)}
@keyframes cube{from{transform:rotateX(-22deg) rotateY(0) rotateZ(8deg)}to{transform:rotateX(-22deg) rotateY(360deg) rotateZ(8deg)}}

#dp .hero-copy{position:relative;z-index:2;max-width:880px}
#dp .kicker{display:inline-block;padding:8px 18px;border:1px solid var(--line2);border-radius:999px;font-size:13px;letter-spacing:.12em;color:var(--gold-hi);background:rgba(18,12,8,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#dp .hero h1{font-size:clamp(40px,7vw,86px);line-height:1.12;font-weight:900;letter-spacing:-.035em;margin:26px 0 24px;text-shadow:0 10px 60px rgba(0,0,0,.6)}
#dp .hero h1 small{display:block;margin-top:18px;font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:.26em;font-weight:600;letter-spacing:.08em;color:#e2d2b6}
#dp .hero-lead{font-size:17.5px;color:#d8c8ae;max-width:640px;margin:0 auto}
#dp .hero-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:36px}
#dp .hero-stats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin:64px auto 0;max-width:760px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#dp .hero-stats li{padding:22px 10px}
#dp .hero-stats li + li{border-left:1px solid var(--line)}
#dp .hero-stats strong{display:block;font-family:var(--serif);font-size:38px;font-weight:700;line-height:1.1;color:var(--gold-hi);font-variant-numeric:tabular-nums}
#dp .hero-stats span{font-size:13px;color:var(--dim)}

/* ── 공통 섹션 ── */
#dp .chapter{position:relative;padding:130px 0;scroll-margin-top:56px}
#dp .hero{scroll-margin-top:56px}
#dp .chapter::before{content:"";position:absolute;top:0;left:50%;width:min(var(--w),88%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--line2),transparent)}
#dp .chapter-dark{background:linear-gradient(180deg,rgba(10,6,4,.2),rgba(10,6,4,.65) 30%,rgba(10,6,4,.65) 70%,rgba(10,6,4,.2))}

#dp .tbl{margin-top:4px;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:6px;background:rgba(35,23,16,.45)}
#dp .tbl table{width:100%;min-width:0;font-variant-numeric:tabular-nums}
#dp .tbl caption{text-align:left;padding:18px 22px 4px;font-family:var(--serif);font-weight:700;color:var(--gold-hi);font-size:15.5px}
#dp .tbl th,#dp .tbl td{padding:15px 22px;text-align:left;font-size:15px;overflow-wrap:anywhere}
#dp .tbl thead th{font-size:12.5px;letter-spacing:.08em;color:var(--gold);font-weight:600;border-bottom:1px solid var(--line2)}
#dp .tbl tbody tr + tr > *{border-top:1px solid rgba(224,164,88,.08)}
#dp .tbl tbody th{color:var(--cream);font-weight:600}
#dp .tbl td{color:var(--mute)}
#dp .tbl tbody tr{transition:background .3s}
#dp .tbl tbody tr:hover{background:rgba(224,164,88,.06)}

/* ── 01 한눈에 보기 ── */
#dp .glance{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2)}
#dp .glance > div{padding:26px 28px;background:var(--bg2)}
#dp .glance dt{font-size:12.5px;letter-spacing:.1em;color:var(--gold);font-weight:600;margin-bottom:6px}
#dp .glance dd{color:var(--cream);font-size:16.5px;font-weight:600;line-height:1.55}
#dp .glance dd small{display:block;margin-top:4px;font-size:13.5px;font-weight:400;color:var(--dim)}

/* ── 이용 순서 · 규정 공용 ── */
#dp .assign{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:baseline;margin-top:40px;padding:26px 30px;border:1px solid var(--line);background:rgba(35,23,16,.35)}
#dp .tbl-note{padding:12px 22px 16px;font-size:13px;color:var(--dim);border-top:1px solid var(--line)}
#dp .proofs{list-style:none;counter-reset:p;display:grid;gap:14px}
#dp .proofs li{position:relative;padding:20px 24px 20px 74px;border:1px solid var(--line);border-radius:6px;background:rgba(35,23,16,.35);transition:border-color .3s,transform .3s}
#dp .proofs li:hover{border-color:var(--line2);transform:translateX(6px)}
#dp .proofs li::before{counter-increment:p;content:counter(p,upper-roman);position:absolute;left:24px;top:18px;font-family:var(--serif);font-size:24px;font-weight:700;color:var(--amber)}
#dp .proofs h4{margin-bottom:4px}
#dp .flags{list-style:none;border-left:3px solid var(--ox);background:rgba(123,45,36,.12)}
#dp .flags li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;padding:16px 22px;font-size:15px}
#dp .flags li + li{border-top:1px dashed rgba(123,45,36,.5)}
#dp .flags strong{color:#f0c7b4;font-weight:700}
#dp .flags span{color:var(--mute)}

/* ── 02 룸 ── */
#dp .rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
#dp .room{position:relative;padding:34px 26px 30px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(170deg,rgba(45,29,19,.7),rgba(22,14,9,.7));overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s}
#dp .room::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(243,194,122,.14) 50%,transparent 70%);transform:translateX(-110%);transition:transform .9s ease}
#dp .room:hover{transform:translateY(-8px);border-color:var(--line2);box-shadow:0 30px 60px -30px rgba(224,164,88,.45)}
#dp .room:hover::after{transform:translateX(110%)}
#dp .numeral{display:block;font-family:var(--serif);font-size:64px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,164,92,.6);margin-bottom:20px}
#dp .room h3{margin-bottom:6px}
#dp .spec{font-size:13.5px;color:var(--amber);letter-spacing:.04em;margin-bottom:14px}
#dp .room p:last-child{font-size:15px}
#dp .room-vip{border-color:rgba(201,164,92,.45);background:linear-gradient(170deg,rgba(90,58,28,.55),rgba(30,18,10,.8))}
#dp .room-vip::before{content:"VIP";position:absolute;top:18px;right:18px;padding:3px 10px;font-size:11.5px;font-weight:700;color:#1d1107;background:var(--foil);border-radius:2px}
#dp .facts{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
#dp .facts li{padding:22px 24px;border-top:2px solid var(--amber);background:rgba(35,23,16,.35);font-size:15px;color:var(--mute)}
#dp .facts strong,#dp .dots strong,#dp .menu-notes strong{display:block;color:var(--gold-hi);font-size:16px;margin-bottom:4px}

/* ── 03 위스키 메뉴 ── */
#dp .menu-board{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;max-width:1020px;margin:0 auto}
#dp .menu{position:relative;padding:44px 40px;border:1px solid var(--line2);background:rgba(20,12,8,.72)}
#dp .menu::before{content:"";position:absolute;inset:7px;border:1px solid var(--line);pointer-events:none}
#dp .menu h3{text-align:center;font-size:22px;color:var(--gold-hi);margin-bottom:26px;letter-spacing:.1em}
#dp .menu ul{list-style:none}
#dp .menu li{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px dotted rgba(224,164,88,.22);transition:padding .3s,background .3s}
#dp .menu li:hover{padding-left:8px;background:linear-gradient(90deg,rgba(224,164,88,.08),transparent)}
#dp .menu .nm{flex:1;min-width:0;color:var(--cream);font-weight:600;font-size:15.5px}
#dp .menu .nm em{display:block;font-style:normal;font-weight:400;font-size:13px;color:var(--dim);margin-top:2px}
#dp .menu .pr{font-family:var(--serif);font-weight:700;color:var(--amber2);font-variant-numeric:tabular-nums;white-space:nowrap}
#dp .menu-notes{margin-top:28px}
#dp .menu-notes p{font-size:14.5px}
#dp .menu-notes p + p{margin-top:14px}
#dp .serve{display:grid;grid-template-columns:repeat(3,1fr);max-width:1020px;margin:0 auto;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
#dp .serve > div{padding:24px 26px}
#dp .serve > div + div{border-left:1px solid var(--line)}
#dp .serve dt{font-family:var(--serif);font-weight:700;color:var(--gold-hi);font-size:17px;margin-bottom:6px}
#dp .serve dd{font-size:15px;color:var(--mute)}

/* ── 04 픽업 ── */
#dp .route{position:relative;height:120px;margin:0 0 40px}
#dp .route svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#dp .route-line{fill:none;stroke:var(--amber);stroke-width:2;stroke-dasharray:1400;stroke-dashoffset:1400;filter:drop-shadow(0 0 6px rgba(224,164,88,.7));transition:stroke-dashoffset 2.6s cubic-bezier(.4,0,.2,1)}
#dp .route.is-on .route-line{stroke-dashoffset:0}
#dp .stops{list-style:none;position:absolute;inset:0}
#dp .stops li{position:absolute;left:var(--x);bottom:-6px;transform:translateX(-50%);font-size:13px;font-weight:600;color:var(--gold-hi);padding-top:20px}
#dp .stops li::before{content:"";position:absolute;top:0;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--bg);border:2px solid var(--amber);box-shadow:0 0 12px rgba(224,164,88,.8)}
#dp .pickup{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:44px;align-items:start}
#dp .pickup > *{min-width:0}
#dp .pickup-text article + article{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
#dp .pickup-text h3{margin-bottom:8px}

/* ── 05 비즈니스 ── */
#dp .biz{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:center}
#dp .biz > *{min-width:0}
#dp .biz-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;margin-top:40px}
#dp .biz-list h3{font-size:18px;margin-bottom:6px;padding-left:16px;border-left:2px solid var(--amber)}
#dp .biz-list p{font-size:15px}
#dp .plan{text-align:center}
#dp .plan-room{position:relative;aspect-ratio:1/1.05;border:1px solid var(--line2);border-radius:6px;background:repeating-linear-gradient(90deg,rgba(224,164,88,.03) 0 1px,transparent 1px 28px),repeating-linear-gradient(0deg,rgba(224,164,88,.03) 0 1px,transparent 1px 28px),rgba(20,12,8,.6)}
#dp .door{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);padding:2px 14px;font-size:11.5px;color:var(--dim);background:var(--bg);border:1px solid var(--line2);border-bottom:0}
#dp .plan-table{position:absolute;left:30%;right:30%;top:22%;bottom:22%;border-radius:10px;border:1px solid rgba(224,164,88,.45);background:linear-gradient(160deg,rgba(90,58,28,.5),rgba(35,23,16,.6))}
#dp .seat{position:absolute;width:clamp(32px,11%,44px);height:clamp(32px,11%,44px);margin:0;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--line2);background:rgba(35,23,16,.9);font-style:normal;font-size:11px;font-weight:700;display:grid;place-items:center;color:var(--mute)}
#dp .seat.vip{border-color:var(--gold-hi);color:#1d1107;background:var(--foil);box-shadow:0 0 22px rgba(244,220,164,.5)}
#dp .seat.host{border-color:var(--amber);color:var(--amber2)}
#dp .s1{left:40%;top:12%}#dp .s2{left:60%;top:12%}
#dp .s3{left:18%;top:36%}#dp .s4{left:18%;top:64%}
#dp .s5{left:82%;top:36%}#dp .s6{left:82%;top:64%}
#dp .s7{left:40%;top:88%}#dp .s8{left:60%;top:88%}
#dp .plan.is-on .seat{animation:seat .7s cubic-bezier(.2,.8,.2,1) backwards}
#dp .plan.is-on .s2{animation-delay:.08s}#dp .plan.is-on .s3{animation-delay:.16s}#dp .plan.is-on .s4{animation-delay:.24s}
#dp .plan.is-on .s5{animation-delay:.32s}#dp .plan.is-on .s6{animation-delay:.4s}#dp .plan.is-on .s7{animation-delay:.48s}#dp .plan.is-on .s8{animation-delay:.56s}
@keyframes seat{from{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
#dp .plan figcaption{margin-top:14px;font-size:13.5px;color:var(--dim)}

/* ── 06 운영진 ── */
#dp .staff{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}
#dp .staff .sub-title{margin-top:0}
#dp .letter{position:relative;padding:40px 40px 30px;background:linear-gradient(170deg,#efe2c9,#e2cfad);color:#3a2616;border-radius:3px;box-shadow:0 40px 70px -35px rgba(0,0,0,.8);transform:rotate(-1.2deg)}
#dp .letter::before{content:"";position:absolute;inset:10px;border:1px solid rgba(90,58,28,.25);pointer-events:none}
#dp .letter-role{font-size:13px;letter-spacing:.08em;color:#8a5a2b}
#dp .letter h3{font-size:26px;color:#2a1a0e;margin:4px 0 12px}
#dp .letter p{color:#5a4330}
#dp .letter blockquote{margin-top:18px;padding-left:18px;border-left:2px solid #b3782f;font-family:var(--serif);font-size:16.5px;line-height:1.85;color:#3a2616}
#dp .sign{display:block;width:170px;margin:18px 0 0 auto}
#dp .sign path{fill:none;stroke:#6a3f1c;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2.8s ease .4s}
#dp .letter.is-on .sign path{stroke-dashoffset:0}
#dp .staff-note{margin-top:22px;padding:20px 22px;border-left:2px solid var(--gold);background:rgba(35,23,16,.4);font-size:15px}
#dp .biz .sub-title{margin-top:48px}
#dp .rules{list-style:none;counter-reset:r;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
#dp .rules li{position:relative;padding:28px 26px 28px 0;border-bottom:1px solid var(--line)}
#dp .rules li:nth-child(3n+2),#dp .rules li:nth-child(3n+3){padding-left:26px;border-left:1px solid var(--line)}
#dp .rules li::before{counter-increment:r;content:"0" counter(r);display:block;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gold);margin-bottom:8px}
#dp .rules strong{display:block;color:var(--gold-hi);font-size:16px;margin-bottom:6px}
#dp .rules p{font-size:15px}

/* ── 05 예상 비용 ── */
#dp .cost{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#dp .cost article{display:flex;flex-direction:column;padding:32px 28px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(170deg,rgba(45,29,19,.7),rgba(22,14,9,.7));transition:border-color .4s,transform .45s cubic-bezier(.2,.8,.2,1)}
#dp .cost article:hover{border-color:var(--line2);transform:translateY(-6px)}
#dp .cost .spec{margin-bottom:6px}
#dp .cost ul{list-style:none;margin:18px 0 14px;flex:1}
#dp .cost li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dotted rgba(224,164,88,.22);font-size:14.5px;color:var(--mute)}
#dp .cost li b{color:var(--cream);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
#dp .cost .total{display:flex;justify-content:space-between;align-items:baseline}
#dp .cost .total span{font-size:13.5px;color:var(--dim)}
#dp .cost .total strong{font-family:var(--serif);font-size:26px;color:var(--amber2);font-variant-numeric:tabular-nums}
#dp .cost .per{text-align:right;font-size:13.5px;color:var(--gold-hi)}
#dp .log{list-style:none;border-top:1px solid var(--line2)}
#dp .log li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--mute)}
#dp .log time{font-family:var(--serif);font-weight:700;color:var(--gold)}

/* ── 06 오시는 길 ── */
#dp .where{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
#dp .where h3{margin-bottom:22px}
#dp .walk{list-style:none;counter-reset:w}
#dp .walk li{position:relative;padding:0 0 26px 52px;font-size:15px;color:var(--mute)}
#dp .walk li::before{counter-increment:w;content:counter(w);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;border:1px solid var(--amber);display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:14px;color:var(--amber2);background:var(--bg)}
#dp .walk li::after{content:"";position:absolute;left:16px;top:38px;bottom:4px;width:1px;background:var(--line2)}
#dp .walk li:last-child::after{display:none}
#dp .walk strong{display:block;color:var(--gold-hi);font-size:16px}

/* ── 07 혼잡도 ── */
#dp .busy table,#dp .tbl-wide table{width:max-content;min-width:100%}
#dp .busy thead th:not(:first-child),#dp .busy td{text-align:center}
#dp .lv{display:inline-block;min-width:68px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
#dp .lv1{background:rgba(130,170,110,.16);color:#bcd8a9}
#dp .lv2{background:rgba(224,164,88,.16);color:var(--amber2)}
#dp .lv3{background:rgba(160,70,50,.32);color:#f0c7b4}
#dp .lv4{background:#7b2d24;color:#fff1e6}
#dp #policy .flags{margin-top:4px}

/* ── 08 CTA (라벨) ── */
#dp .label-cta{position:relative;max-width:860px;margin:0 auto;padding:80px 56px;text-align:center;
  background:radial-gradient(120% 90% at 50% 0%,rgba(224,164,88,.18),rgba(20,12,8,.85) 65%);
  border:1px solid var(--gold);outline:1px solid var(--line2);outline-offset:10px}
#dp .label-cta::before,#dp .label-cta::after{content:"◆";position:absolute;left:50%;transform:translateX(-50%);color:var(--gold);font-size:14px;background:var(--bg);padding:0 12px}
#dp .label-cta::before{top:-11px}
#dp .label-cta::after{bottom:-11px}
#dp .label-cta .ch-no{justify-content:center}
#dp .label-cta h2{font-size:clamp(28px,4vw,46px)}
#dp .label-cta p{max-width:620px;margin:0 auto}
#dp .cta-sla{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:34px auto 0;max-width:640px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
#dp .cta-sla li{padding:18px 10px}
#dp .cta-sla li + li{border-left:1px solid var(--line)}
#dp .cta-sla h3{font-size:16px;color:var(--gold-hi);margin-bottom:2px}
#dp .cta-sla p{font-size:13.5px}
#dp .cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:36px}

/* ── 09 FAQ ── */
#dp .faq-wrap{max-width:900px}
#dp .faq{counter-reset:q;border-top:1px solid var(--line2)}
#dp .faq details{border-bottom:1px solid var(--line)}
#dp .faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px 1fr 22px;align-items:center;gap:10px;padding:24px 0}
#dp .faq summary::-webkit-details-marker{display:none}
#dp .faq summary::before{counter-increment:q;content:"Q" counter(q);font-family:var(--serif);font-weight:700;color:var(--amber);font-size:15px}
#dp .faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--gold);transition:transform .35s;text-align:right}
#dp .faq details[open] summary::after{transform:rotate(45deg)}
#dp .faq summary h3{font-size:17.5px;font-family:"Pretendard Variable",Pretendard,sans-serif;font-weight:700}
#dp .faq summary:hover h3{color:var(--gold-hi)}
#dp .faq details p{padding:0 32px 26px 62px;font-size:15.5px}
#dp .faq details p a{color:var(--amber);border-bottom:1px solid rgba(224,164,88,.35)}
#dp .source{margin-top:26px;font-size:13.5px;color:var(--dim)}
#dp .source a{color:var(--amber);border-bottom:1px solid rgba(224,164,88,.35)}

/* ── 푸터 ── */
#dp .foot{padding:64px 0 130px;border-top:1px solid var(--line);text-align:center}
#dp .foot-brand{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--gold-hi);letter-spacing:.06em}
#dp .foot-info{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;margin:18px auto 0;max-width:760px;font-size:13.5px}
#dp .foot-info div{display:flex;gap:8px}
#dp .foot-info dt{color:var(--dim)}
#dp .foot-info dd{color:var(--mute)}
#dp .stats-cap{margin-top:12px;font-size:12.5px;color:var(--dim)}
#dp .foot ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 26px;margin:20px 0 16px;font-size:14px}
#dp .foot ul a{color:var(--mute);transition:color .3s}
#dp .foot ul a:hover{color:var(--amber2)}
#dp .foot-copy{font-size:13px;color:var(--dim)}

/* ── 플로팅 예약 버튼 ── */
#dp .float-call{position:fixed;left:50%;bottom:24px;z-index:60;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:14px 26px 14px 20px;border-radius:999px;
  background:linear-gradient(135deg,rgba(243,194,122,.96),rgba(209,138,60,.96));color:#1d1107;font-weight:700;font-size:15px;white-space:nowrap;
  box-shadow:0 18px 44px -14px rgba(224,164,88,.9),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .3s,box-shadow .3s}
#dp .float-call:hover{transform:translateX(-50%) translateY(-3px);box-shadow:0 24px 54px -14px rgba(224,164,88,1)}
#dp .float-call b{font-family:var(--serif);font-size:16px;letter-spacing:.02em}
#dp .pulse{position:relative;width:10px;height:10px;border-radius:50%;background:#5a1f16}
#dp .pulse::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(90,31,22,.7);animation:ping 1.8s ease-out infinite}
@keyframes ping{from{transform:scale(.5);opacity:1}to{transform:scale(1.8);opacity:0}}

/* ── 등장 효과 ── */
.js #dp [data-reveal]{transform:translateY(16px);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.js #dp [data-reveal].is-on{transform:none}
.js #dp .letter[data-reveal].is-on{transform:rotate(-1.2deg)}

/* ── 반응형 ── */
@media (max-width:1100px){
  #dp .gauge{display:none}
}
@media (max-width:980px){
  #dp .pickup,#dp .biz,#dp .staff,#dp .where,#dp .menu-board,#dp .cost{grid-template-columns:1fr;gap:44px}
  #dp .cost{gap:18px}
  #dp .glance{grid-template-columns:1fr 1fr}
  #dp .rooms{grid-template-columns:1fr 1fr}
  #dp .rules{grid-template-columns:1fr 1fr}
  #dp .rules li,#dp .rules li:nth-child(3n+2),#dp .rules li:nth-child(3n+3){padding:24px 20px 24px 0;border-left:0}
  #dp .rules li:nth-child(2n){padding-left:20px;border-left:1px solid var(--line)}
  #dp .plan{max-width:440px;margin:0 auto;width:100%;min-width:0}
  #dp .chapter{padding:96px 0}
}
@media (max-width:640px){
  #dp{font-size:16px}
  #dp .wrap{padding:0 20px}
  #dp .site-nav a{font-size:11.5px;padding:7px 8px;letter-spacing:.04em}
  #dp .hero{padding:100px 18px 130px}
  #dp .hero-stats{grid-template-columns:1fr 1fr}
  #dp .hero-stats li:nth-child(3){border-left:0}
  #dp .hero-stats li:nth-child(n+3){border-top:1px solid var(--line)}
  #dp .rooms,#dp .facts,#dp .biz-list,#dp .rules,#dp .flags li,#dp .assign,#dp .serve,#dp .glance{grid-template-columns:1fr}
  #dp .log li{grid-template-columns:1fr;gap:2px}
  #dp .flags li{gap:4px}
  #dp .serve > div + div{border-left:0;border-top:1px solid var(--line)}
  #dp .assign{gap:8px;padding:22px}
  #dp .rules li,#dp .rules li:nth-child(2n){padding:22px 0;border-left:0}
  #dp .menu{padding:34px 22px}
  #dp .label-cta{padding:60px 22px;outline-offset:6px}
  #dp .cta-sla{grid-template-columns:1fr}
  #dp .cta-sla li + li{border-left:0;border-top:1px solid var(--line)}
  #dp .letter{padding:32px 26px 24px;transform:none}
  .js #dp .letter[data-reveal].is-on{transform:none}
  #dp .faq details p{padding:0 0 22px 62px}
  #dp .stops li{font-size:11.5px}
  #dp .tbl:not(.busy):not(.tbl-wide) table{table-layout:fixed}
  #dp .tbl th,#dp .tbl td{padding:12px 10px;font-size:14px}
  #dp .float-call{left:12px;right:12px;bottom:12px;transform:none;justify-content:center;max-width:calc(100% - 24px);padding:15px 18px calc(15px + env(safe-area-inset-bottom) / 2)}
  #dp .float-call:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  #dp *,#dp *::before,#dp *::after{animation:none!important;transition:none!important}
  .js #dp [data-reveal]{transform:none}
  #dp .route-line,#dp .sign path{stroke-dashoffset:0}
}

/* ── 정책 하위 페이지 ── */
#dp .doc-top{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:36px 28px 0;display:flex;justify-content:space-between;align-items:center}
#dp .doc-top a.home{font-family:var(--serif);font-weight:700;color:var(--gold-hi);font-size:17px}
#dp .doc-top a.back{font-size:14px;color:var(--mute);border-bottom:1px solid var(--line2)}
#dp .doc{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:70px 28px 120px}
#dp .doc h1{font-size:clamp(30px,4.4vw,44px);line-height:1.3;margin:12px 0 18px}
#dp .doc .doc-meta{font-size:14px;color:var(--dim);padding-bottom:30px;border-bottom:1px solid var(--line2)}
#dp .doc h2{font-size:21px;margin:44px 0 12px}
#dp .doc p,#dp .doc li{font-size:15.5px;color:var(--mute)}
#dp .doc ul,#dp .doc ol{padding-left:22px;margin-top:8px}
#dp .doc li + li{margin-top:6px}
#dp .doc .tbl{margin-top:14px}
#dp .doc .box{margin-top:18px;padding:22px 24px;border:1px solid var(--line2);background:rgba(35,23,16,.45)}
#dp .doc a{color:var(--amber);border-bottom:1px solid rgba(224,164,88,.35)}
#dp .proofs h3{margin-bottom:4px;font-size:17px}
#dp .busy caption{caption-side:top;text-align:left;padding-bottom:10px;color:var(--mute);font-size:14px}

/* ── 추가: 요금 계산기 ── */
#dp .calc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:stretch}
#dp .calc > *{min-width:0}
#dp .calc-form{padding:34px 32px;border:1px solid var(--line);border-radius:6px;background:rgba(35,23,16,.45);display:grid;gap:26px}
#dp .calc-form fieldset{border:0;min-width:0}
#dp .calc-form legend{font-size:12.5px;letter-spacing:.1em;color:var(--gold);font-weight:600;margin-bottom:10px}
#dp .calc-range{display:flex;align-items:center;gap:18px}
#dp .calc-range input{flex:1;min-width:0;accent-color:var(--amber);height:4px}
#dp .calc-range output{min-width:64px;text-align:right;font-family:var(--serif);font-weight:700;font-size:22px;color:var(--gold-hi)}
#dp .seg{display:flex;flex-wrap:wrap;gap:8px}
#dp .seg label{position:relative;cursor:pointer}
#dp .seg input{position:absolute;opacity:0;pointer-events:none}
#dp .seg span{display:block;padding:10px 16px;border:1px solid var(--line2);border-radius:4px;font-size:14.5px;color:var(--mute);background:rgba(18,12,8,.5);transition:border-color .3s,color .3s,background .3s}
#dp .seg input:checked + span{border-color:var(--amber);color:#1d1107;background:linear-gradient(135deg,#f3c27a,#d18a3c);font-weight:700}
#dp .seg input:focus-visible + span{outline:2px solid var(--gold-hi);outline-offset:2px}
#dp .calc-out{position:relative;display:flex;flex-direction:column;padding:34px 32px;border:1px solid var(--gold);border-radius:6px;background:radial-gradient(120% 80% at 100% 0%,rgba(224,164,88,.16),rgba(20,12,8,.85) 60%)}
#dp .calc-out h3{font-size:18px;color:var(--gold-hi);margin-bottom:14px}
#dp .calc-out ul{list-style:none;flex:1}
#dp .calc-out li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dotted rgba(224,164,88,.22);font-size:14.5px;color:var(--mute)}
#dp .calc-out li b{color:var(--cream);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
#dp .calc-sum{margin-top:22px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
#dp .calc-sum span{font-size:13.5px;color:var(--dim)}
#dp .calc-sum strong{font-family:var(--serif);font-size:clamp(28px,3.4vw,38px);color:var(--amber2);font-variant-numeric:tabular-nums}
#dp .calc-per{text-align:right;font-size:14px;color:var(--gold-hi)}

/* ── 추가: 룸 운영 현황 ── */
#dp .board-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px;font-size:14px;color:var(--dim)}
#dp .board-head b{color:var(--gold-hi);font-family:var(--serif);font-variant-numeric:tabular-nums}
#dp .live{display:inline-flex;align-items:center;gap:8px;color:var(--amber2);font-weight:600}
#dp .live::before{content:"";width:8px;height:8px;border-radius:50%;background:#7fcf6e;box-shadow:0 0 0 0 rgba(127,207,110,.6);animation:live 1.8s ease-out infinite}
@keyframes live{to{box-shadow:0 0 0 10px rgba(127,207,110,0)}}
#dp .meter{height:6px;margin:16px 0 10px;border-radius:999px;background:rgba(224,164,88,.12);overflow:hidden}
#dp .meter i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#b86a24,var(--amber2));transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
#dp .room-state{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13.5px;color:var(--dim)}

/* ── 추가: 성과 지표 · 공지 ── */
#dp .glance dd.num{font-family:var(--serif);font-size:34px;line-height:1.2;color:var(--gold-hi);font-variant-numeric:tabular-nums}
#dp .glance dd.num em{font-style:normal;font-size:.5em;margin-left:4px;color:var(--gold)}
#dp .facts time{display:block;font-size:12.5px;letter-spacing:.08em;color:var(--gold);margin-bottom:6px}

@media (max-width:980px){
  #dp .calc{grid-template-columns:1fr}
}
@media (max-width:640px){
  #dp .calc-form,#dp .calc-out{padding:26px 20px}
}
