/* ===== 토큰 ===== */
:root{
  --bg:#15271e; --bg-soft:#1c3428; --panel:#1c3428; --surface:#244634;
  --gold:#c9a86a; --gold-2:#e6d3a3; --gold-deep:#9c7b45;
  --text:#f1ece0; --muted:#a6b1a2; --line:rgba(120,180,150,0.10); --border:rgba(201,168,106,0.26);
  --accent2:#37805f; --accent2-lt:#48a077;
  --kakao:#fae100;
  --maxw:560px;            /* 모바일 우선: 콘텐츠 폭 제한 */
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg); color:var(--text);
  font-family:"Pretendard",system-ui,sans-serif; font-weight:400; line-height:1.72; letter-spacing:-.003em;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
  padding-bottom:86px;     /* 하단 고정바(2줄) 자리 */
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3{font-family:"Nanum Myeongjo","Gowun Batang",serif; font-weight:400; line-height:1.26; letter-spacing:-0.003em;}

/* 라인 아이콘 (currentColor 상속) */
.ic{width:1.15em; height:1.15em; fill:none; stroke:currentColor; stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; vertical-align:-.18em;}
.ic--fill{fill:currentColor; stroke:none;}

/* 공통 래퍼 */
.wrap{width:min(var(--maxw),92%); margin-inline:auto;}
.section{padding:clamp(2.6rem,9vw,4.2rem) 0; position:relative;}
.section--alt{background:var(--bg-soft); border-block:1px solid var(--line);}
.eyebrow{display:inline-flex; align-items:center; gap:.55rem; color:var(--gold-2); font-weight:600; font-size:0.7rem; letter-spacing:0.32em; text-transform:uppercase; margin-bottom:0.9rem;}
.eyebrow::before{content:""; width:20px; height:1px; background:var(--gold); opacity:.65;}
.h2{font-size:clamp(1.7rem,6.6vw,2.3rem); color:var(--text); margin-bottom:0.68rem; letter-spacing:-.004em; line-height:1.3;}
.h2--sm{font-size:clamp(1.4rem,5.3vw,1.95rem);}
.lead{color:var(--muted); font-size:0.98rem; line-height:1.75; margin-bottom:1.9rem;}

/* 버튼 공통 */
.btn{display:flex; align-items:center; justify-content:center; width:100%;
  min-height:56px; padding:1rem 1.4rem; border-radius:14px; font-weight:800; font-size:1.08rem;
  margin-top:1.4rem; transition:transform .15s, background .2s;}
.btn:active{transform:scale(.98);}
.btn--gold{background:var(--gold); color:#15271e; box-shadow:0 8px 24px -8px rgba(201,168,106,.55);}

/* ===== ① 상단 고정 전화바 ===== */
.topbar{position:sticky; top:0; z-index:40; display:flex; align-items:center; justify-content:center;
  gap:.6rem; padding:.7rem max(env(safe-area-inset-left),4%) .7rem max(env(safe-area-inset-right),4%);
  background:rgba(21, 39, 30,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.topbar__brand{display:flex; flex-direction:column; align-items:center; gap:.1rem; line-height:1;}
/* Relic — 위쪽, 골드 그라데이션 + 샤인 부각 효과 (클릭 시 전화) */
.topbar__sub{font-family:"Pretendard",sans-serif; font-weight:800; font-size:1.7rem; letter-spacing:.02em; line-height:1.1;
  color:#e6d3a3;
  background:linear-gradient(100deg,#f0e0b0 0%,#d8b878 20%,#c9a86a 40%,#e6d3a3 50%,#b8954f 70%,#dcc48a 100%);
  background-size:200% auto;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)) drop-shadow(0 0 10px rgba(201,168,106,.32));
  animation:brandShine 6.5s linear infinite;}
/* Relic — 위쪽 메인 명칭, 또렷한 필기체 브론즈 스크립트 (가장 크게) */
.topbar__brand-main{font-family:"Cormorant Garamond",serif; font-weight:700; font-size:3.9rem; line-height:1.12; letter-spacing:.005em;
  color:#e6d3a3;
  background:linear-gradient(100deg,#f0e0b0 0%,#d8b878 20%,#c9a86a 40%,#e6d3a3 50%,#b8954f 70%,#dcc48a 100%);
  background-size:200% auto;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)) drop-shadow(0 0 9px rgba(201,168,106,.26));
  animation:brandShine 6.5s linear infinite;}
@keyframes brandShine{0%{background-position:0% center} 100%{background-position:200% center}}
@media (prefers-reduced-motion:reduce){.topbar__sub,.topbar__brand-main{animation:none;}}
.topbar__call{flex:0 0 auto; display:inline-flex; align-items:center; gap:.35rem; background:var(--gold); color:#15271e; font-weight:800; font-size:.92rem;
  padding:.5rem .95rem; border-radius:999px;}

/* ===== ② 히어로 ===== */
.hero{position:relative; min-height:calc(100svh - 50px); display:flex; align-items:flex-end; overflow:hidden;
  isolation:isolate; /* 쌓임 맥락 생성: z-index:-2 영상이 .hero 배경 뒤로 밀리지 않게 */
  background:radial-gradient(125% 90% at 50% 22%, #1c3428 0%, #12241b 55%, #0d1a13 100%);}
.hero__bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 20%; z-index:-2; filter:saturate(1.06) contrast(1.03);}
/* 세로형 저해상 영상: 모바일은 꽉 채우고, 데스크톱(넓은 화면)은 원본 비율로 가운데 배치 +
   양옆을 딥그린으로 부드럽게 페이드(늘려서 뭉개지는 느낌 제거, 시네마틱 프레임처럼) */
@media (min-width:680px){
  /* 세로0.667 비율에 맞춰 폭을 뷰포트높이 기준으로 고정(=항상 보임, 늘림 없음). top/bottom:0 유지로 높이 채움 */
  .hero__bg{left:50%; right:auto; width:68vh; min-width:420px; transform:translateX(-50%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);}
}
.hero__veil{position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to bottom, rgba(21, 39, 30,.55) 0%, rgba(21, 39, 30,.15) 28%, rgba(21, 39, 30,.55) 58%, rgba(21, 39, 30,.97) 100%);}
.hero__inner{width:min(var(--maxw),92%); margin-inline:auto; text-align:center; padding:1.2rem 0 2rem; display:flex; flex-direction:column; align-items:center; gap:.7rem;}

/* 지역 티커 */
.ticker{width:100%; max-width:100%; overflow:hidden; padding-top:.8rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.ticker__track{display:inline-flex; white-space:nowrap; animation:tick 20s linear infinite;}
.ticker__track span{position:relative; color:var(--gold-2); font-weight:700; font-size:.95rem; padding:0 .55rem; text-shadow:0 2px 8px rgba(0,0,0,.8);}
/* 뉴오픈 — 글자 위 대각선에 조그맣게 */
.tk-new__tag{position:absolute; top:-.62em; left:.12em; transform:rotate(-14deg); transform-origin:left bottom;
  font-size:.46rem; font-weight:800; line-height:1; letter-spacing:.02em; white-space:nowrap;
  color:#ff5a5a; text-shadow:0 1px 4px rgba(0,0,0,.9);}
.ticker__track span::after{content:"·"; margin-left:1.1rem; color:var(--gold); opacity:.5;}
@keyframes tick{from{transform:translateX(0)} to{transform:translateX(-50%)}}

.hero__title{width:100%; font-size:clamp(1.2rem,5.1vw,2.5rem); line-height:1.36; word-break:keep-all; color:#fff; text-shadow:0 4px 24px rgba(0,0,0,.75);}
.hero__title b{color:var(--gold-2); font-weight:700; text-shadow:0 2px 16px rgba(201,168,106,.45);}
.hero__sub{width:100%; color:#efe7d8; font-weight:700; font-size:clamp(1rem,4vw,1.2rem); text-shadow:0 2px 12px rgba(0,0,0,.8); word-break:keep-all;}

/* 신뢰 칩 */
.chips{list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; width:100%;}
.chips li{display:inline-flex; align-items:center; gap:.35rem; font-size:.78rem; font-weight:700; color:var(--gold-2); padding:.32rem .75rem; border:1px solid var(--border);
  border-radius:999px; background:rgba(21, 39, 30,.4); backdrop-filter:blur(3px); white-space:nowrap;}
.chips li::before{content:""; width:4px; height:4px; border-radius:50%; background:var(--gold); flex:0 0 auto;}

/* 초대형 전화 버튼 */
.bigcall{display:flex; flex-direction:column; align-items:center; gap:.1rem; width:100%;
  padding:.78rem 1.2rem; margin-top:.6rem; border-radius:14px;
  background:linear-gradient(180deg,#dcc48a,#c9a86a); color:#15271e;
  box-shadow:0 10px 26px -10px rgba(201,168,106,.7); animation:pulse 2.6s ease-in-out infinite;}
.bigcall:active{transform:scale(.985);}
.bigcall__push{text-align:center; font-weight:700; font-size:.84rem; color:#14261c;
  letter-spacing:.01em; padding-bottom:.34rem; margin-bottom:.3rem; border-bottom:1px solid rgba(21, 39, 30,.22);}
.bigcall__txt{display:inline-flex; align-items:center; gap:.5rem; font-family:"Gowun Batang",sans-serif; font-size:1.4rem; line-height:1.1;}
.bigcall__txt .ic{width:1.05em; height:1.05em; stroke-width:1.9;}
.bigcall__num{font-weight:800; font-size:1.05rem; letter-spacing:.06em; opacity:.8;}

/* 히어로 카톡·텔레그램 2버튼 */
.herobtns{display:grid; grid-template-columns:1fr 1fr; gap:.4rem; width:100%; margin-top:-.5rem;}
.herobtns--3{grid-template-columns:repeat(3,1fr); gap:.35rem;}
.herobtn{display:flex; align-items:center; justify-content:center; gap:.3rem; min-height:48px; border-radius:12px; font-weight:800; font-size:.92rem; white-space:nowrap;}
.herobtn .ic{width:1.05em; height:1.05em;}
.herobtn:active{transform:scale(.98); filter:brightness(.97);}
.herobtn--kakao{background:var(--kakao); color:#1a1200;}
.herobtn--tg{background:#229ed9; color:#fff;}
.herobtn--sms{background:#f4f1ea; color:#15271e;}
@keyframes pulse{0%,100%{box-shadow:0 10px 26px -10px rgba(201,168,106,.55)} 50%{box-shadow:0 12px 34px -8px rgba(201,168,106,.85)}}

.hero__cats{width:100%; color:#efe7d8; font-weight:700; font-size:clamp(.92rem,3.6vw,1.05rem); line-height:1.5; margin-top:.3rem; text-shadow:0 2px 10px rgba(0,0,0,.85); word-break:keep-all;}
.hero__hint{width:100%; color:rgba(230,211,163,.72); font-weight:600; font-size:.82rem; letter-spacing:.02em; margin-top:.15rem; text-shadow:0 2px 8px rgba(0,0,0,.8);}

/* 업종 빠른 버튼 */
.quickcat{display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; width:100%;}
.quickcat__btn{display:flex; align-items:center; justify-content:center; min-height:54px; border-radius:12px;
  background:rgba(23,44,34,.82); border:1px solid var(--border); backdrop-filter:blur(4px);
  color:var(--gold-2); font-weight:800; font-size:1.1rem;}
.quickcat__btn:active{transform:scale(.97); background:var(--gold); color:#15271e;}

/* ===== ③ 업종 카드 ===== */
.catgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem;}
.card--wide{grid-column:1 / -1; min-height:0;}
.card{position:relative; display:flex; flex-direction:column; gap:.35rem; padding:1.25rem 1.1rem 1.1rem;
  border-radius:14px; background:var(--surface); border:1px solid var(--border); overflow:hidden; min-height:128px;}
.card:active{transform:scale(.98);}
.card::before{content:""; position:absolute; inset:0; background:linear-gradient(165deg,rgba(201,168,106,.08),transparent 55%); pointer-events:none;}
.card__t{font-size:1.4rem; color:var(--text);}
.card__d{color:var(--muted); font-size:.82rem; line-height:1.5; flex:1;}
.card__cta{display:inline-flex; align-items:center; gap:.35rem; color:var(--gold-2); font-weight:800; font-size:.88rem; margin-top:.4rem;}
.card__cta .ic{width:1em; height:1em;}

/* ===== ④ 혜택 ===== */
.perks{display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem;}
.perk{display:flex; flex-direction:column; gap:.15rem; padding:1.1rem 1rem; border-radius:14px;
  background:var(--surface); border:1px solid var(--line);}
.perk__ic{display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:.55rem;
  border-radius:14px; background:linear-gradient(160deg,#17261e,#0b1510); border:1px solid rgba(201,168,106,.28);
  box-shadow:inset 0 1px 0 rgba(230,211,163,.08), 0 4px 14px rgba(0,0,0,.45); color:var(--gold-2);}
.perk__ic .ic{width:20px; height:20px;}
.perk__ic img{width:42px; height:42px; object-fit:contain; display:block;}
.perk b{color:var(--text); font-size:1rem;}
.perk span{color:var(--muted); font-size:.8rem; line-height:1.45;}

/* ===== ⑤ 양주 메뉴 ===== */
.menu{border:1px solid var(--border); border-radius:14px; overflow:hidden;}
/* 모바일 기본: 이름 윗줄 / (종류 + 향·느낌) 아랫줄(이름 글자에 맞춰 들여쓰기) */
.menu__row{display:grid; grid-template-columns:1fr; gap:.2rem;
  padding:.82rem 1.15rem; border-bottom:1px solid var(--line); background:var(--surface);}
.menu__row:last-child{border-bottom:0;}
.menu__row--head{display:block; text-align:center; background:var(--bg-soft);}
.menu__row--head .menu__name{color:var(--gold-2); font-weight:700; font-size:1.1rem; letter-spacing:.01em;}
.menu__name{display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.96rem; letter-spacing:-.01em;}
.menu__meta{padding-left:4.3rem;}
.menu__cat{color:var(--gold-2); font-weight:600; font-size:.72rem; letter-spacing:.04em; margin-right:.5rem;}
.menu__flavor{color:#8f9a8b; font-weight:400; font-size:.745rem; line-height:1.5; letter-spacing:-.002em;}
/* 데스크톱: 이름 / 종류 / 향·느낌 3열 정렬 → 한 줄에 들어오도록 열을 좁혀 왼쪽으로 */
@media (min-width:600px){
  .menu__row{grid-template-columns:13.2em 1fr; align-items:baseline; column-gap:1.9rem; row-gap:0;}
  .menu__meta{display:grid; grid-template-columns:3.9em 1fr; column-gap:.45rem; align-items:baseline; padding-left:0;}
  .menu__cat{margin-right:0;}
}
.menu__ic{width:.85em; height:1.35em; color:var(--gold); flex:0 0 auto;}
.menu__price{flex:0 0 auto; color:#15271e; background:var(--gold); font-weight:800; font-size:.82rem; padding:.25rem .7rem; border-radius:999px;}
.menu__note{color:#8f9a8b; font-size:.78rem; margin-top:.9rem; line-height:1.5;}

/* ===== ⑥ 갤러리 — 가로 한 줄 자동 흐름(오른쪽→왼쪽) ===== */
.gallery--roll{position:relative; overflow:hidden; width:100vw; margin-left:50%; transform:translateX(-50%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
/* 위 줄 — 오른쪽으로 흐름(>>>) */
.gallery__track{display:flex; gap:.5rem; width:max-content; animation:galroll-rt 34s linear infinite;}
/* 아래 줄 — 왼쪽으로 흐름(<<<), 위와 정반대 */
.gallery__track--rev{margin-top:.5rem; animation:galroll-lf 34s linear infinite;}
.gallery--roll:hover .gallery__track{animation-play-state:paused;}
.gallery__track img{height:clamp(140px,34vw,185px); width:auto; aspect-ratio:3/4; object-fit:cover;
  border-radius:10px; filter:brightness(.92) contrast(1.04); flex:0 0 auto;}
.gallery__flip{transform:scaleX(-1);}
@keyframes galroll{from{transform:translateX(0)} to{transform:translateX(-50%)}}
@keyframes galroll-rt{from{transform:translateX(-50%)} to{transform:translateX(0)}}  /* >>> 오른쪽 */
@keyframes galroll-lf{from{transform:translateX(0)} to{transform:translateX(-50%)}}  /* <<< 왼쪽 */
@media (prefers-reduced-motion:reduce){.gallery__track{animation:none; flex-wrap:wrap;}}

/* ── 큐레이션 그리드 갤러리 (사진 10장 = 2열 × 5행, 정확히 맞아떨어짐) ── */
/* 미니 썸네일 그리드 (탭하면 라이트박스로 확대) */
.gallery--grid{display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem;}
@media (min-width:520px){.gallery--grid{grid-template-columns:repeat(4,1fr); gap:.55rem;}}
.gallery--grid .gcell{cursor:zoom-in;}
/* 라이트박스(확대 보기) */
.lightbox{position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center;
  background:rgba(8,14,11,.93); backdrop-filter:blur(5px); padding:4vw; cursor:zoom-out;}
.lightbox.is-open{display:flex;}
.lightbox img{max-width:94vw; max-height:90vh; width:auto; height:auto; border-radius:12px;
  border:1px solid var(--border); box-shadow:0 24px 70px -20px rgba(0,0,0,.9);}
.lightbox__x{position:fixed; top:12px; right:18px; font-size:2.2rem; line-height:1; color:#fff; opacity:.85;}

/* 가격: 지역이 일산 하나뿐 → 항상 펼침, 토글 UI 제거 */
.reg-detail{max-height:none !important; overflow:visible;}
.price__reg .reg-toggle{pointer-events:none;}
.reg-toggle__r{display:none;}
.gcell{position:relative; margin:0; overflow:hidden; border-radius:14px;
  border:1px solid var(--border); background:var(--surface);
  box-shadow:0 8px 22px -14px rgba(0,0,0,.7); transition:border-color .35s, transform .35s, box-shadow .35s;}
.gcell img{display:block; width:100%; height:100%; aspect-ratio:3/4; object-fit:cover;
  filter:brightness(.93) saturate(1.04); transition:transform .55s ease, filter .35s;}
.gcell::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 52%, rgba(13,26,19,.55) 100%);
  opacity:.7; transition:opacity .35s;}
.gcell:hover{border-color:var(--gold); transform:translateY(-3px); box-shadow:0 16px 34px -16px rgba(0,0,0,.8);}
.gcell:hover img{transform:scale(1.05); filter:brightness(1.04) saturate(1.09);}
.gcell:hover::after{opacity:.35;}
@media (hover:none){.gcell:hover img{transform:none;} .gcell:hover{transform:none;}}
/* 좌우 반전(선택된 사진만) — hover 확대 시에도 반전 유지 */
.gcell--flip img{transform:scaleX(-1);}
.gcell--flip:hover img{transform:scaleX(-1.05);}
@media (hover:none){.gcell--flip:hover img{transform:scaleX(-1);}}

/* ===== ⑦ 이용 방법 ===== */
#how{padding-bottom:clamp(1rem,3vw,1.4rem);}
.steps{display:flex; flex-direction:column; gap:.35rem; max-width:290px; margin-inline:auto;}
.step{display:flex; align-items:center; gap:.65rem;
  padding:.4rem .75rem; border-radius:10px; background:var(--surface); border:1px solid var(--line);}
.step__n{width:26px; height:26px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  border-radius:50%; background:var(--gold); color:#15271e; font-family:"Gowun Batang",sans-serif; font-size:1rem; font-weight:400; line-height:1;}
#how .btn{margin-top:1rem;}
.step b{color:var(--text); font-size:.9rem; word-break:keep-all;}

/* ===== ⑧ 후기 ===== */
.reviews{display:flex; flex-direction:column; gap:.7rem;}
.review{padding:1rem 1.1rem; border-radius:14px; background:var(--surface); border:1px solid var(--line);}
.review p{font-size:.95rem; line-height:1.6;}
.review cite{display:block; margin-top:.5rem; color:var(--gold-2); font-style:normal; font-weight:700; font-size:.82rem;}

/* ===== ⑨ FAQ ===== */
.faq{display:flex; flex-direction:column; gap:.55rem;}
.faq__item{border:1px solid var(--line); border-radius:12px; background:var(--surface); overflow:hidden;}
.faq__item summary{cursor:pointer; list-style:none; padding:.95rem 1.1rem; font-weight:700; font-size:.98rem; position:relative;}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary::after{content:"+"; position:absolute; right:1.1rem; color:var(--gold); font-weight:800;}
.faq__item[open] summary::after{content:"−";}
.faq__item p{padding:0 1.1rem 1rem; color:var(--muted); font-size:.9rem; line-height:1.6;}

/* ===== ⑩ 최종 CTA ===== */
.finalcta{padding:clamp(1.8rem,6vw,2.6rem) 0; text-align:center;
  background:radial-gradient(120% 100% at 50% 0%, #1c3529 0%, #15271e 60%, #15271e 100%); border-top:1px solid var(--border);}
.finalcta .wrap{display:flex; flex-direction:column; align-items:center;}
.finalcta__t{font-size:clamp(2rem,8.5vw,2.8rem); color:#fff; margin-bottom:.5rem;}
.finalcta__s{color:var(--gold-2); font-weight:700; font-size:.92rem; margin-bottom:1rem;}
.bigcall--final{animation:none;}
.finalcta .herobtns{margin-top:.5rem;}

/* ===== ⑪ 하단 고정 바 ===== */
.floatbar{position:fixed; left:0; right:0; bottom:0; z-index:50; display:grid; grid-template-columns:repeat(3,1fr); gap:0;
  padding-bottom:env(safe-area-inset-bottom); box-shadow:0 -6px 24px rgba(0,0,0,.5);}
.floatbar__btn{display:flex; align-items:center; justify-content:center; gap:.25rem;
  min-height:40px; font-weight:800; font-size:.88rem; white-space:nowrap;}
.floatbar__btn--wide{grid-column:1 / -1;}
.floatbar__btn .ic{width:1.05em; height:1.05em;}
.floatbar__btn--call{background:var(--gold); color:#15271e;}
.floatbar__btn--tg{background:#229ed9; color:#fff;}
.floatbar__btn--sms{background:#f4f1ea; color:#15271e;}
.floatbar__btn--kakao{background:var(--kakao); color:#1a1200;}
.floatbar__btn:active{filter:brightness(.95);}

/* ===== 금일 출근 인원 배지 ===== */
.staff{display:inline-flex; align-items:center; gap:.32rem; font-size:.78rem; font-weight:700;
  color:#7fe0a3; letter-spacing:.01em; white-space:nowrap; line-height:1;}
.staff b{color:#a8f0c2; font-weight:800;}
.staff__dot{width:7px; height:7px; border-radius:50%; background:#36d576;
  box-shadow:0 0 0 0 rgba(54,213,118,.6); animation:staffPulse 1.8s ease-out infinite;}
@keyframes staffPulse{0%{box-shadow:0 0 0 0 rgba(54,213,118,.55)} 70%{box-shadow:0 0 0 7px rgba(54,213,118,0)} 100%{box-shadow:0 0 0 0 rgba(54,213,118,0)}}
.card .staff{margin-top:.15rem;}
.price__cat .staff{margin-left:.1rem;}
@media (prefers-reduced-motion:reduce){ .staff__dot{animation:none;} }

/* ===== 가격구조 (TC/RT/WT) ===== */
.concept{display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem; margin-bottom:1rem;}
.concept__item{display:flex; flex-direction:column; gap:.1rem; padding:.5rem .4rem; border-radius:10px;
  background:var(--surface); border:1px solid var(--line); text-align:center;}
.concept__item b{color:var(--gold-2); font-family:"Gowun Batang",sans-serif; font-size:1rem;}
.concept__item span{color:var(--muted); font-size:.66rem; line-height:1.35;}
.price{display:flex; flex-direction:column; gap:.8rem;}
.price__reg{border:1px solid var(--border); border-radius:14px; overflow:hidden; background:var(--surface);}
.price__name{display:flex; align-items:center; justify-content:space-between; gap:.5rem; width:100%;
  background:linear-gradient(90deg,#1a3227,#1c3428); color:var(--gold-2);
  font-family:"Gowun Batang",sans-serif; font-size:1.1rem; text-align:left;
  padding:.6rem 1rem; border:0; border-bottom:1px solid var(--line);}
button.price__name{cursor:pointer;}
button.price__name:active{background:linear-gradient(90deg,#21402f,#1c3428);}
.reg-toggle__r{display:inline-flex; align-items:center; gap:.3rem; flex:0 0 auto;}
.reg-more{color:var(--gold-2); font-size:.76rem; font-weight:400; letter-spacing:.01em;}
.reg-more::before{content:"펼쳐보기";}
.reg-toggle[aria-expanded="true"] .reg-more::before{content:"접기";}
.reg-arrow{color:var(--gold); transition:transform .25s ease;}
.reg-toggle[aria-expanded="true"] .reg-arrow{transform:rotate(180deg);}
.reg-toggle:focus-visible{outline:2px solid var(--gold); outline-offset:-2px;}
/* CSS 접기: 내용은 HTML에 항상 존재, aria-expanded로만 펼침 */
.reg-detail{max-height:0; overflow:hidden; transition:max-height .3s ease; background:rgba(0,0,0,.2);}
.reg-toggle[aria-expanded="true"] + .reg-detail{max-height:1000px; border-bottom:1px solid var(--line);}
.reg-liquor{border-top:1px solid var(--line);}
.reg-liquor__h{display:flex; align-items:baseline; gap:.4rem; padding:.7rem 1.05rem .15rem; font-size:.82rem; font-weight:800; color:var(--gold); letter-spacing:.02em;}
.reg-liquor__h span{color:var(--muted); font-weight:600; font-size:.75rem; letter-spacing:0;}
.reg-liquor .price__row:last-child{border-bottom:0;}
a.price__v--ask{text-decoration:none; display:inline-block; line-height:1.2;}
.reg-detail .price__row{border-top:1px solid var(--line); border-bottom:0;}
.reg-detail .reg-list + .price__row{margin-top:.2rem;}
.reg-list{list-style:none; padding:.85rem 1.05rem; display:flex; flex-direction:column; gap:.4rem;}
.reg-list li{position:relative; padding-left:.95rem; color:var(--muted); font-size:.86rem; line-height:1.5;}
.reg-list li::before{content:""; position:absolute; left:0; top:.62em; width:4px; height:4px; border-radius:50%; background:var(--gold);}
.price__row{display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.7rem 1rem; border-bottom:1px solid var(--line);}
.price__row:last-child{border-bottom:0;}
.price__cat{display:flex; flex-direction:column; align-items:flex-start; gap:.25rem; font-weight:700; font-size:.95rem;}
.price__v{color:var(--gold-2); font-weight:700; font-size:.9rem; letter-spacing:.01em; white-space:nowrap;}
.price__v--ask{color:#15271e; background:var(--gold); padding:.18rem .7rem; border-radius:999px; font-size:.8rem;}

/* ===== 지역 상권 ===== */
.areas{display:flex; flex-wrap:wrap; gap:.5rem;}
.areas span{padding:.5rem .9rem; border-radius:999px; background:var(--surface); border:1px solid var(--border);
  color:var(--gold-2); font-weight:700; font-size:.92rem;}

/* ===== 인원·상황별 맞춤 ===== */
.situ{display:flex; flex-direction:column; gap:.7rem;}
.situ__card{display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.1rem 1rem;
  padding:1rem 1.1rem; border-radius:14px; background:var(--surface); border:1px solid var(--line);}
.situ__ic{grid-row:span 2; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px;
  border-radius:11px; background:rgba(201,168,106,.1); border:1px solid rgba(201,168,106,.22); color:var(--gold-2);}
.situ__ic .ic{width:22px; height:22px;}
.situ__card b{color:var(--text); font-size:1.05rem;}
.situ__card span{color:var(--muted); font-size:.85rem;}

/* ===== 문의 템플릿 폼 ===== */
.qform{display:flex; flex-direction:column; gap:1rem;}
.qf{border:0; padding:0; margin:0;}
.qf legend{color:var(--gold-2); font-weight:800; font-size:.9rem; margin-bottom:.5rem; padding:0;}
/* 지역 권역 탭 */
.qf__head{display:flex; align-items:center; gap:.6rem; margin-bottom:.5rem; flex-wrap:wrap;}
.qf__head legend{margin-bottom:0;}
.regtabs{display:inline-flex; gap:.25rem; background:var(--surface); border:1px solid var(--border); border-radius:999px; padding:.15rem;}
.regtab{cursor:pointer; border:0; background:none; color:var(--muted); font-family:inherit; font-weight:700; font-size:.8rem; padding:.3rem .75rem; border-radius:999px; transition:background .15s, color .15s;}
.regtab.is-on{background:var(--gold); color:#15271e;}
.qf__opts[data-active="gangnam"] .qf__chip[data-tab="other"]{display:none;}
.qf__opts[data-active="other"] .qf__chip[data-tab="gangnam"]{display:none;}
.qf__opts{display:flex; flex-wrap:wrap; gap:.45rem;}
.qf__chip{cursor:pointer; padding:.55rem .9rem; border-radius:999px; background:var(--surface);
  border:1px solid var(--border); color:var(--text); font-weight:700; font-size:.92rem; font-family:inherit;
  transition:background .15s, color .15s, border-color .15s;}
.qf__chip:active{transform:scale(.97);}
.qf__chip.is-on{background:var(--gold); color:#15271e; border-color:var(--gold);}
/* 칩 포인트 배지 (대각선) */
.qf__chip{position:relative; overflow:visible;}
.qf__opts--badged{margin-top:.6rem; row-gap:1.25rem;}
.chip-badge{position:absolute; top:-.72rem; left:-.45rem; transform:rotate(-10deg); transform-origin:left center;
  font-size:.5rem; font-weight:800; line-height:1; white-space:nowrap; padding:.13rem .34rem; border-radius:4px;
  pointer-events:none; box-shadow:0 1px 3px rgba(0,0,0,.45);}
.chip-badge--new{background:#ff5a5a; color:#fff;}
.chip-badge--cake,.chip-badge--svc{background:var(--gold-2); color:#15271e;}
.qf__input{width:100%; padding:.8rem 1rem; border-radius:12px; background:var(--surface);
  border:1px solid var(--border); color:var(--text); font-size:1rem; font-family:inherit;}
.qf__input::placeholder{color:#7f8a7b;}
.qf__input:focus{outline:none; border-color:var(--gold);}
.qf__area{resize:none; line-height:1.5;}
.qform__cta{display:flex; flex-direction:column; gap:.5rem; margin-top:.4rem;}
.qform__send{display:flex; align-items:center; justify-content:center; gap:.45rem; width:100%; min-height:54px; border:0; cursor:pointer; border-radius:13px;
  font-family:inherit; font-weight:800; font-size:1.05rem;}
.qform__send--submit{background:var(--gold); color:#15271e; box-shadow:0 8px 22px -10px rgba(201,168,106,.6);}
.qform__send:active{transform:scale(.99); filter:brightness(.97);}
.qform__send:disabled{opacity:.7; cursor:default;}
.qform__hint{margin-top:.5rem; text-align:center; font-size:.86rem; color:var(--muted); word-break:keep-all;}
.qform__hint:empty{display:none;}
.qform__hint.is-ok{color:#7fe0a3;}
.qform__hint.is-err{color:#e6b07a;}
.qform__call{display:flex; align-items:center; justify-content:center; gap:.4rem; width:100%; min-height:54px; border-radius:13px;
  border:1px solid var(--border); color:var(--gold-2); font-weight:800; font-size:1.05rem;}

/* ===== 모션 줄이기 ===== */
@media (prefers-reduced-motion:reduce){
  .ticker__track,.bigcall{animation:none;}
}

/* ===== 데스크톱: 콘텐츠를 가운데 폰 폭으로 ===== */
@media (min-width:600px){
  :root{--maxw:520px;}
}

/* ===== 컴팩트 섹션 / 미니 후기 ===== */
.section--tight { padding: clamp(1.3rem, 5vw, 1.9rem) 0; }
.reviews--mini { display: flex; flex-direction: column; gap: .4rem; }
.rev-mini { font-size: .85rem; color: var(--muted); line-height: 1.5; word-break: keep-all; }
.rev-stars { color: var(--gold-2); font-weight: 700; margin-right: .15rem; letter-spacing: -1px; }
.rev-who { color: #8f9a8b; font-size: .78rem; white-space: nowrap; }

/* 후기 마퀴 (두 줄 무한 흐름, 호버 시 정지) */
.rev-count { color: var(--gold-2); font-weight: 700; font-size: .92em; }
.rvmq { position: relative; overflow: hidden; width: 100vw; margin-left: 50%; transform: translateX(-50%);
  padding: .2rem 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.rvmq__row { display: flex; gap: .7rem; width: max-content; animation: rvroll-rt 64s linear infinite; }
.rvmq__row--rev { margin-top: .7rem; animation: rvroll-lf 72s linear infinite; }
.rvmq:hover .rvmq__row { animation-play-state: paused; }
.rvmq__card { flex: 0 0 auto; width: min(76vw, 300px); margin: 0; padding: .95rem 1.1rem;
  background: var(--surface); border: 1px solid var(--border); border-radius: 14px;
  display: flex; flex-direction: column; gap: .5rem; box-shadow: 0 8px 22px -16px rgba(0,0,0,.7); }
.rvmq__q { font-size: .855rem; line-height: 1.62; color: #d7ddd2; word-break: keep-all;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rvmq__q .rev-stars { display: block; color: var(--gold); font-size: .76rem; letter-spacing: .06em; margin-bottom: .28rem; }
.rvmq__who { font-size: .76rem; color: var(--gold-2); font-weight: 700; letter-spacing: .01em; }
@keyframes rvroll-rt { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@keyframes rvroll-lf { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rvmq__row { animation: none; flex-wrap: wrap; width: 100%; } }
.revpager__gap { color: #6a7566; padding: 0 .15rem; user-select: none; }
/* 후기 작성 폼 */
.revwrite { margin-top: 1.1rem; padding-top: 1.1rem; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: .6rem; }
.revwrite__head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.revwrite__t { color: var(--gold-2); font-weight: 700; font-size: .88rem; }
.starpick { display: inline-flex; gap: .12rem; }
.starpick__s { background: none; border: 0; cursor: pointer; padding: 0 .06rem; font-size: 1.5rem; line-height: 1; color: #3a4a40; transition: color .12s; }
.starpick__s.is-on { color: var(--gold-2); }
.starpick__s:active { transform: scale(.9); }
.revwrite__ta { resize: none; line-height: 1.5; }
.revwrite__chips { display: flex; align-items: center; gap: .5rem .6rem; flex-wrap: wrap; }
.revwrite__lbl { color: var(--gold-2); font-weight: 700; font-size: .82rem; flex: 0 0 auto; }
.revwrite__chips .qf__opts { gap: .4rem; }
.revwrite__chips .qf__chip { padding: .42rem .8rem; font-size: .88rem; }

/* ===== ⑫ 푸터 (운영 정보) ===== */
.sitefoot{text-align:center; padding:2rem 1.2rem 1.7rem; color:#a6b1a2; font-size:.9rem; line-height:1.85; border-top:1px solid var(--line);}
.sitefoot__brand{color:#a6b1a2; font-weight:700; font-size:.9rem; margin-bottom:.45rem;}
.sitefoot a{color:#a6b1a2; font-weight:700;}
.sitefoot__age{margin-top:.6rem; color:#a6b1a2; font-size:.9rem;}
.sitefoot__kw{margin-top:.5rem; color:#a6b1a2; font-size:.9rem;}

/* ===== 개인정보 수집·이용 동의 (리드/후기 폼) ===== */
.consent{margin:.2rem 0 .9rem;}
.consent__row{display:flex; align-items:flex-start; gap:.5rem; cursor:pointer; font-size:.86rem; color:var(--text); line-height:1.5; word-break:keep-all;}
.consent__row input{margin-top:.2rem; width:1.05rem; height:1.05rem; flex:0 0 auto; accent-color:var(--gold);}
.consent__row b{color:var(--gold-2);}
.consent__row a{color:var(--gold-2); text-decoration:underline;}
.consent__note{margin:.35rem 0 0; font-size:.74rem; color:var(--muted); line-height:1.55; word-break:keep-all;}


/* ── 정찰제 티저 밴드 (홈 히어로 하단) ── */
.pricetease{background:var(--bg-soft); border-block:1px solid var(--line);}
.pricetease__inner{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.55rem 1.4rem; padding:1.05rem 0; text-align:center;}
.pricetease__txt{color:var(--text); font-size:0.98rem; word-break:keep-all;}
.pricetease__txt b{color:var(--gold-2);}
.pricetease__link{color:var(--gold); font-weight:700; font-size:0.95rem; white-space:nowrap; border-bottom:1px solid transparent; transition:border-color .2s;}
.pricetease__link:hover{border-color:var(--gold);}

/* ===== 에메랄드 헤리티지 액센트 (골드 primary · 에메랄드 secondary) ===== */
.section--alt, .pricetease, .finalcta{ border-top-color:rgba(61,138,104,0.42); }
.eyebrow::before{ background:var(--accent2-lt); opacity:.8; }
.card:active{ border-color:var(--accent2); }
.areas span{ border-color:rgba(61,138,104,0.30); }

.sitefoot__regions-sub{opacity:.68; font-size:.86em;}
