/* ==== Design tokens — warm editorial mood (bare417.com 참고, 실측 hex 아님) ==== */
:root{
  --c-bg:#FAF8F3;
  --c-surface:#F3EEE5;
  --c-ink:#1A1815;
  --c-ink-soft:#4A443C;
  --c-accent:#B8714A;
  --c-accent-dark:#8F5636;
  --c-line:#E5DFD3;
  --c-white:#FFFFFF;
  --font-heading:'Fraunces', 'Noto Serif KR', serif;
  --font-body:'Pretendard', 'Noto Sans KR', -apple-system, sans-serif;
  --radius-sm:6px;
  --radius-md:14px;
  --radius-full:999px;
  --container:1120px;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2.5rem;
  --space-5:4rem;
  --space-6:6rem;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-ink);
  font-family:var(--font-body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

h1,h2,h3{font-family:var(--font-heading);line-height:1.3;margin:0 0 .5em;font-weight:600}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.4rem,3vw,2rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-3)}
.py{padding-block:var(--space-6)}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--c-ink);color:#fff;
  padding:.6rem 1rem;z-index:200;border-radius:0 0 6px 0;
}
.skip-link:focus{left:0}

.label{
  display:inline-block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--c-accent);font-weight:600;margin-bottom:.5rem;
}

.sh__desc{color:var(--c-ink-soft);max-width:52ch}
.sh-line{display:block;width:48px;height:2px;background:var(--c-accent);margin:.9rem 0}

@media (max-width:767px){
  .py{padding-block:var(--space-5)}
  .container{padding:0 var(--space-2)}
}
