:root {
  --ink: #12151a;
  --paper: #f4f5f7;
  --gold: #6b4f24;
  --line: #dddfe4;
  --quiet: #5a5f66;
  --soft: #7a7f86;
  --wash: #f7f8fa;
}
* {
  box-sizing: border-box;
}
html {
  scroll-padding-top: 72px;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  letter-spacing: -0.01em;
  line-height: 1.8;
}
::selection {
  background: #efe6d4;
}
header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  max-width: none;
  margin: 0;
  padding: 0 8px 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
header::before {
  content: "";
  flex: 0 0 100%;
  height: 3px;
  margin: 0 -8px;
  background: var(--gold);
}
header a {
  padding: 14px 12px;
}
header a:first-of-type {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
header img.brand-logo {
  width: 40px;
  height: 40px;
  border-radius: 8px;
}
header strong {
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: -0.03em;
}
header a:last-child {
  font-size: 13px;
  color: var(--quiet);
}
a {
  color: var(--ink);
  text-decoration: none;
}
form {
  margin: 16px auto;
  max-width: 740px;
  padding: 0 20px;
}
input {
  width: 100%;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 14px;
  font-size: 15px;
  background: #fff;
}
input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(107, 79, 36, 0.12);
}
article {
  max-width: 740px;
  margin: 0 auto;
  padding: 32px 20px 120px;
}
article h1 {
  margin: 12px 0 32px;
  font-size: 1.65rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.4;
}
.muted {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: 0.04em;
}
.photo {
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 28px auto;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid #c5c8cf;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(18, 21, 26, 0.04), 0 8px 22px rgba(18, 21, 26, 0.07);
}
.photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}
.copy {
  margin: 8px 0 28px;
}
.copy p {
  margin: 0 0 14px;
  line-height: 1.9;
  font-size: 16px;
  color: #1c2026;
}
.taps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 24px;
}
.taps a {
  display: inline-flex;
  min-width: 116px;
  height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
}
.taps .main {
  background: var(--gold);
  color: #fff;
}
.taps .sub {
  background: #fff;
  border: 1px solid var(--line);
}
.order {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 24px;
  margin: 28px 0;
}
.order ol {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}
.order li {
  display: flex;
  gap: 12px;
  margin: 16px 0;
}
.order .n {
  flex: 0 0 26px;
  height: 26px;
  border-radius: 999px;
  background: var(--gold);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}
.order b {
  display: block;
  font-size: 15.5px;
  font-weight: 600;
}
.order i {
  display: block;
  margin-top: 6px;
  font-style: normal;
  color: var(--quiet);
  font-size: 14.5px;
  line-height: 1.7;
}
.near {
  margin: 28px 0 0;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}
.near p {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 600;
}
.near ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.near a {
  font-size: 13.5px;
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 36px;
}
.cta a {
  display: inline-flex;
  height: 48px;
  align-items: center;
  padding: 0 20px;
  border-radius: 8px;
  background: var(--gold);
  color: #fff;
  font-weight: 600;
  font-size: 14px;
}
.cta a:nth-child(n + 2) {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
}
.float {
  position: fixed;
  right: 12px;
  top: 42%;
  z-index: 70;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.float a {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  box-shadow: 0 8px 20px rgba(18, 21, 26, 0.12);
}
.float .tel {
  background: var(--gold);
  color: #fff;
}
.float .kakao {
  background: #fff;
  border: 1px solid var(--line);
}
@media (max-width: 640px) {
  article h1 {
    font-size: 1.45rem;
  }
  .copy p {
    font-size: 15.5px;
  }
}

/* ===== Lumi skin + form + TalkTalk 2026-10-17 ===== */
.nv-talk{background:#03c75a!important;color:#fff!important;border-color:#03c75a!important}
.lm-talk-float{position:fixed;right:14px;bottom:96px;z-index:90;padding:12px 16px;border-radius:999px;font-weight:800;font-size:14px;box-shadow:0 8px 20px rgba(3,199,90,.35);text-decoration:none}
.lm-ask-wrap{padding:40px 14px;background:#f6f8fc}
.lm-ask{max-width:640px;margin:0 auto;background:#fff;color:#111827;border-radius:18px;padding:24px 20px;box-shadow:0 10px 30px rgba(10,26,74,.12)}
.lm-ask h2{color:#0a1a4a;margin:0 0 6px;font-size:1.35rem;font-weight:800}
.lm-ask .lm-sub{color:#6b7280;margin:0 0 14px;font-size:.92rem}
.nt-ask-form{display:grid;gap:12px}
.nt-ask-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#111827;text-align:left}
.nt-ask-form input:not([type=radio]):not([type=checkbox]){width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;font-size:15px;background:#fff;color:#111827}
.nt-ask-carrier{border:0;margin:0;padding:0;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.nt-ask-carrier legend{font-weight:700;font-size:13px;padding:0;margin-bottom:6px;width:100%}
.nt-ask-form .nt-ask-radio,.nt-ask-form .nt-ask-agree{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:.92em;line-height:1.45}
.nt-ask-form .nt-ask-radio input,.nt-ask-form .nt-ask-agree input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}
.nt-ask-err{color:#c0392b;font-size:.9em;margin:0}
.lm-ask button{min-height:50px;border:0;border-radius:999px;background:#f5b301;color:#0a1a4a;font-weight:800;font-size:16px;cursor:pointer}
.nt-ask-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.nt-ask-links a{padding:8px 14px;border-radius:999px;background:#eef3ff;color:#0a1a4a;font-weight:700;text-decoration:none}
.lm-body{max-width:760px;margin:12px auto 18px;text-align:left}
.lm-body .hx-block h2{color:#0a1a4a;font-size:1.15rem;margin:18px 0 6px}
.lm-body .hx-block p{line-height:1.8;color:#1f2937}
header,.site-header{box-shadow:0 1px 0 #e5e7eb,0 6px 18px rgba(10,26,74,.06)}
