/* Smile News — 세 방향이 함께 쓰는 토큰·리셋 (Figma Primitives 와 같은 값) */
:root {
  --orange-500: #FCAF25;
  --brown-900: #3A1D1F;
  --ink-900: #231F20;
  --cream-100: #EEEADF;
  --pink-50: #FDE3EE;
  --pink-400: #EF819E;
  --pink-600: #D75D82;
  --gray-700: #545655;
  --white: #FFFFFF;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; margin: 0; }
input { font: inherit; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
address { font-style: normal; }

/* 숫자·전화·이메일은 단어 중간에서 끊지 않되 keep-all 로 묶지도 않음 */
.num, a[href^="tel:"], a[href^="sms:"], a[href^="mailto:"], .email { word-break: normal; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

:focus-visible { outline: 3px solid var(--ink-900); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
