:root{
  --ink:#2b2433; --muted:#6b6275; --bg:#fbf8f5; --card:#ffffff; --line:#e9e2da;
  --brand:#6b3fa0; --brand-soft:#f2ecf8; --accent:#c2410c; --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;word-break:keep-all}
a{color:var(--brand)}
img{max-width:100%;height:auto}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px}
header.top img{height:44px;width:auto;display:block}
nav{display:flex;gap:18px;font-size:15px}
nav a{color:var(--ink);text-decoration:none}
nav a:hover{color:var(--brand)}
.call{background:var(--brand);color:#fff;text-decoration:none;padding:8px 14px;border-radius:999px;font-weight:700;white-space:nowrap}
.hero{background:linear-gradient(135deg,#efe6f8 0%,#fbf8f5 60%);padding:72px 0 56px}
.hero h1{font-size:clamp(28px,4.5vw,44px);line-height:1.25;margin:0 0 14px}
.hero p{font-size:18px;color:var(--muted);margin:0 0 26px;max-width:620px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.badge{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-block;padding:12px 20px;border-radius:10px;font-weight:700;text-decoration:none}
.btn.primary{background:var(--brand);color:#fff}
.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}
section{padding:64px 0}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:28px;margin:0 0 8px}
.lead{color:var(--muted);margin:0 0 28px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.card h3{margin:0 0 6px;font-size:18px}
.card p{margin:0;color:var(--muted);font-size:15px}
.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.tabs a{padding:8px 16px;border-radius:999px;background:var(--brand-soft);text-decoration:none;font-weight:700}
.note{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:12px 16px;font-size:15px;margin:0 0 20px}
table.price{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:36px}
.price th,.price td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.price thead th{background:var(--brand-soft);font-size:14px}
.price td.num,.price th.num{text-align:right;white-space:nowrap}
.price .name{font-weight:700}
.price .min{color:var(--muted);font-weight:400;font-size:14px}
.price .inc{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.price .reg{color:var(--muted)}
.price .pre,.price .only{color:var(--accent);font-weight:800}
h3.table-title{font-size:20px;margin:0 0 12px}
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700}
details p,details ol{margin:10px 0 0;color:var(--ink)}
.loc{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.info dl{margin:0;display:grid;grid-template-columns:90px 1fr;gap:8px 12px}
.info dt{color:var(--muted)}
.info dd{margin:0}
footer{background:#2b2433;color:#cfc8d6;font-size:14px;padding:32px 0}
footer p{margin:4px 0}
footer a{color:#fff}
@media (max-width:760px){
  nav{display:none}
  .loc{grid-template-columns:1fr}
  .price thead{display:none}
  .price tr{display:grid;grid-template-columns:1fr auto;padding:12px 14px;border-bottom:1px solid var(--line)}
  .price td{border:0;padding:2px 0}
  .price td:first-child{grid-column:1/-1}
  .price td.reg{text-align:left}
  .price td.reg::before{content:"정가 "}
  .price td.pre::before{content:"선입금 ";font-weight:400;color:var(--muted)}
}
a[href^="tel:"]{white-space:nowrap}
.note .period{color:var(--accent);font-weight:700;white-space:nowrap}
