:root{--bg:#faf8f4;--surface:#fff;--surface-sunken:#f2efe8;--surface-dark:#1a1917;--ink:#1a1917;--ink-muted:#6e6a62;--ink-faint:#a19c93;--ink-invert:#fff;--line:#e6e1d8;--line-soft:#f2efe8;--brand:#103a2c;--brand-ink:#b9ccc2;--brand-dim:#8fa79b;--brand-tint:#edf7dc;--lime:#c8f04a;--coral:#ff5a3c;--coral-deep:#c9412a;--coral-tint:#fff1ed;--coral-line:#ffd5cb;--sand:#f6eee4;--sand-line:#e9dcc9;--ok:#2e7d5b;--ok-tint:#e7f3ec;--warn:#8a6d1f;--warn-tint:#fbf3dc;--danger:#b4442c;--danger-tint:#fdede8;--kakao:#fae100;--kakao-ink:#3c1e1e;--font-display:"Gothic A1", "IBM Plex Sans KR", system-ui, sans-serif;--font-body:"IBM Plex Sans KR", system-ui, -apple-system, sans-serif;--font-num:"Space Grotesk", "IBM Plex Sans KR", sans-serif;--step--1:.8125rem;--step-0:.875rem;--step-1:1rem;--step-2:1.3125rem;--step-3:1.8125rem;--step-4:2rem;--step-5:3.25rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-14:56px;--sp-16:64px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--wrap:1200px;--header-h:96px;--dock-h:92px;--tap-min:44px}@media (width<=768px){:root{--step-3:1.3125rem;--step-5:1.9375rem;--header-h:56px;--dock-h:76px}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:pretty;margin:0;font-weight:900;line-height:1.3}ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:var(--brand);text-decoration:none}a:hover{color:var(--coral)}img,svg,video{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:0}button,input,select,textarea{font:inherit;color:inherit}.num{font-family:var(--font-num);font-feature-settings:"tnum"}.wrap{width:min(var(--wrap),100% - var(--sp-8));margin-inline:auto}@media (width<=768px){.wrap{width:min(var(--wrap),100% - var(--sp-8))}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){a[data-tap],button{min-height:var(--tap-min)}}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}
