/* ===== reset: 기본 초기화 ===== */

/* ===== 리셋 ===== */
*, *::before, *::after {box-sizing: border-box;}
html {font-size: 62.5%;scroll-behavior: smooth;-webkit-text-size-adjust: 100%;}
body {margin: 0;font-family: var(--font-base);font-size: 2.0rem;line-height: 1.75;color: var(--color-ink);background: var(--color-bg);word-break: keep-all;overflow-x: hidden;}
h1, h2, h3, h4, p, ul, ol, figure, address {margin: 0;padding: 0;font-style: normal;}
ul, ol {list-style: none;}
a {color: inherit;text-decoration: none;}
button {font: inherit;color: inherit;background: none;border: 0;padding: 0;cursor: pointer;}
svg {display: block;}
:focus-visible {outline: .3rem solid var(--color-primary);outline-offset: .3rem;}
em {font-style: normal;}
[hidden] {display: none !important;}

/* ===== 줄바꿈 정리: 문단 끝 한 글자 방지 / 제목 균형 / 모바일에서는 문단 안 <br> 무시 ===== */
p, li, dd {text-wrap: pretty;word-break: keep-all;overflow-wrap: break-word;}
h1, h2, h3, .section-title, .sub-title, .lead {text-wrap: balance;word-break: keep-all;}
@media (max-width: 768px) {
  p br {display: none;}
}
/* Form typography matches the site, including native selects and file inputs. */
input, textarea, select, button {font-family: var(--font-base);letter-spacing: inherit;}
input, textarea, select {font-size: inherit;}
input::file-selector-button {font: inherit;}
