/* ============ RESET & DESIGN TOKENS ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#ffffff; --bg-soft:#fafaf9; --bg-mute:#f4f4f2;
  --line:#e8e6e3; --line-soft:#f0eeeb;
  --ink:#0f0f0f; --text:#1a1a1a; --text-2:#525252; --text-3:#8a8a8a; --text-4:#b5b5b5;
  --brand:#7a1f2b; --brand-deep:#5a141d; --brand-soft:#fbf3f4;
  --gold:#b8935a; --gold-soft:#f5efe5;
  --success:#1a8b46; --warn:#c47a00; --danger:#c5293a; --info:#1a5ec4;
  --shadow-sm:0 1px 2px rgba(15,15,15,.04);
  --shadow:0 4px 16px rgba(15,15,15,.06);
  --shadow-lg:0 20px 50px rgba(15,15,15,.12);
  --radius-sm:6px; --radius:10px; --radius-lg:16px;
  --t:.25s cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth}
body{
  font-family:'Noto Sans KR','Inter',sans-serif;
  color:var(--text); background:var(--bg);
  line-height:1.6; font-weight:400;
  -webkit-font-smoothing:antialiased; letter-spacing:-.01em;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul,ol{list-style:none}
img,svg{max-width:100%;display:block}
input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
.serif{font-family:'Noto Serif KR',serif;letter-spacing:-.02em}
.container{max-width:1240px;margin:0 auto;padding:0 28px}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes popIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}