/* 무드나잇 — 겨울밤 창가: 짙은 밤색 하늘 + 따뜻한 전등빛. 단일 다크 테마 */
:root{
  color-scheme: dark;
  --night:#151A2E;      /* 바탕 */
  --night-2:#1E2540;    /* 카드 */
  --night-3:#2A3254;    /* 테두리, 구분선 */
  --cream:#F6EEDD;      /* 본문 */
  --cream-soft:#B9B3A6; /* 보조 글자 */
  --lamp:#F2C46B;       /* 강조 (전등빛) */
  --berry:#E0574A;      /* 산타 */
  --pine:#5FB487;       /* 눈망진창 */
  --font-display:"Jua","Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --font-body:"Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--cream);font-family:var(--font-body);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
a{color:var(--lamp)}
img,svg{max-width:100%}
:focus-visible{outline:3px solid var(--lamp);outline-offset:3px;border-radius:6px}

.wrap{max-width:1040px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{max-width:720px}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(21,26,46,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--night-3)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream);font-family:var(--font-display);font-size:1.35rem}
.logo svg{flex:none}
.nav{display:flex;gap:18px;flex-wrap:wrap}
.nav a{color:var(--cream-soft);text-decoration:none;font-size:.93rem}
.nav a:hover{color:var(--cream)}
@media (max-width:640px){.nav{display:none}}

/* type */
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.3;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,6vw,3.3rem)}
h2{font-size:clamp(1.55rem,4vw,2.1rem)}
h3{font-size:1.3rem}
p{margin:0}
.eyebrow{font-size:.8rem;letter-spacing:.12em;color:var(--lamp)}
.lead{font-size:1.1rem;color:var(--cream-soft);max-width:34em}

section{padding-block:72px}
section + section{border-top:1px solid var(--night-3)}
.sec-head{display:grid;gap:10px;margin-bottom:36px}

/* hero */
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.hero-copy{display:grid;gap:20px}
.hero-copy h1 em{font-style:normal;color:var(--lamp)}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-family:var(--font-display);font-size:1.05rem;padding:12px 22px;border-radius:14px;background:var(--lamp);color:#2A1E0A}
.btn.line{background:none;color:var(--cream);border:1px solid var(--night-3)}
.window{position:relative;aspect-ratio:4/5;max-width:380px;width:100%;justify-self:center;border-radius:200px 200px 18px 18px;border:12px solid #E9DFC9;background:linear-gradient(#0E1226,#253058);overflow:hidden;box-shadow:0 0 80px rgba(242,196,107,.18)}
.window::before,.window::after{content:"";position:absolute;background:#E9DFC9}
.window::before{left:50%;top:0;bottom:0;width:8px;transform:translateX(-50%)}
.window::after{top:52%;left:0;right:0;height:8px}
.window canvas{position:absolute;inset:0;width:100%;height:100%}
.window .hill{position:absolute;left:-10%;right:-10%;bottom:-30%;height:48%;background:#E8ECF4;border-radius:50%}
@media (max-width:760px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.window{max-width:280px}}

/* services */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:760px){.services{grid-template-columns:minmax(0,1fr)}}
.svc{background:var(--night-2);border:1px solid var(--night-3);border-radius:22px;padding:26px;display:grid;gap:14px;align-content:start}
.svc-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.badge{font-size:.78rem;border-radius:999px;padding:3px 10px;border:1px solid currentColor}
.svc.santa .badge,.svc.santa h3{color:var(--berry)}
.svc.snow .badge,.svc.snow h3{color:var(--pine)}
.svc p{color:var(--cream-soft)}
.svc ul{margin:0;padding-left:1.1em;color:var(--cream-soft)}
.svc .addr{font-size:.85rem;color:var(--cream-soft);font-variant-numeric:tabular-nums}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
@media (max-width:760px){.steps{grid-template-columns:minmax(0,1fr)}}
.steps li{counter-increment:s;display:grid;gap:8px;padding-top:18px;border-top:2px solid var(--lamp)}
.steps li::before{content:counter(s);font-family:var(--font-display);font-size:2rem;color:var(--lamp);line-height:1}
.steps p{color:var(--cream-soft)}

/* promises */
.promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@media (max-width:760px){.promises{grid-template-columns:minmax(0,1fr)}}
.promises div{display:grid;gap:6px}
.promises p{color:var(--cream-soft)}

/* faq */
.faq{display:grid;gap:10px}
.faq details{background:var(--night-2);border:1px solid var(--night-3);border-radius:16px;padding:16px 20px}
.faq summary{cursor:pointer;font-family:var(--font-display);font-size:1.1rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--lamp)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin-top:10px;color:var(--cream-soft)}

/* contact */
.contact{display:grid;gap:14px}
.contact dl{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;margin:0}
.contact dt{color:var(--cream-soft)}
.contact dd{margin:0}

/* footer */
.site-foot{border-top:1px solid var(--night-3);padding-block:32px;font-size:.88rem;color:var(--cream-soft)}
.site-foot .wrap{display:grid;gap:10px}
.foot-links{display:flex;gap:16px;flex-wrap:wrap}
.foot-links a{color:var(--cream)}
.foot-links a.strong{font-weight:700}

/* legal pages */
.legal{padding-block:56px}
.legal h1{font-size:clamp(1.8rem,5vw,2.4rem);margin-bottom:10px}
.legal .meta{color:var(--cream-soft);margin-bottom:36px}
.legal h2{font-size:1.3rem;margin:36px 0 12px;color:var(--lamp)}
.legal p,.legal li{color:#E4DCCB}
.legal p + p{margin-top:10px}
.legal ul,.legal ol{padding-left:1.3em;margin:8px 0}
.legal li{margin:4px 0}
.table-wrap{overflow-x:auto;margin:12px 0}
.legal table{border-collapse:collapse;width:100%;min-width:480px;font-size:.93rem}
.legal th,.legal td{border:1px solid var(--night-3);padding:10px 12px;text-align:left;vertical-align:top}
.legal th{background:var(--night-2);font-weight:700}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* blog */
.post-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.post-list a{display:grid;gap:6px;text-decoration:none;color:var(--cream);background:var(--night-2);border:1px solid var(--night-3);border-radius:18px;padding:20px 22px}
.post-list a:hover{border-color:var(--lamp)}
.post-list h2{font-size:1.3rem;margin:0;color:var(--cream)}
.post-list p{color:var(--cream-soft);margin:0}
.post-list .date{font-size:.82rem;color:var(--lamp);font-variant-numeric:tabular-nums}
.article{padding-block:56px}
.article h1{font-size:clamp(1.8rem,5vw,2.5rem);margin:8px 0 12px}
.article .meta{color:var(--cream-soft);font-size:.9rem;margin-bottom:32px}
.article h2{font-size:1.4rem;margin:44px 0 14px;color:var(--lamp)}
.article h3{font-size:1.15rem;margin:26px 0 8px}
.article p,.article li{color:#E4DCCB}
.article p + p{margin-top:14px}
.article ul,.article ol{padding-left:1.3em;margin:10px 0}
.article li{margin:6px 0}
.article .note{background:var(--night-2);border:1px solid var(--night-3);border-radius:16px;padding:16px 20px;margin:24px 0}
.article .cta{background:linear-gradient(160deg,#2B2140,#1E2540);border:1px solid var(--night-3);border-radius:20px;padding:22px;margin-top:44px;display:grid;gap:12px}
.article .cta h2{margin:0;color:var(--cream)}
.article .table-wrap table{border-collapse:collapse;width:100%;min-width:440px;font-size:.93rem}
.article th,.article td{border:1px solid var(--night-3);padding:10px 12px;text-align:left;vertical-align:top}
.article th{background:var(--night-2);white-space:nowrap}
.svc .btn{justify-self:start;font-size:.95rem;padding:9px 16px}
