/* Semantic defaults; Korean tracking always remains normal. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 1rem); }
body { margin: 0; color: var(--color-ink); background: var(--color-paper); font: 400 var(--text-body)/var(--line-body) var(--font-sans); letter-spacing: normal; overflow-wrap: anywhere; }
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd { margin: 0; }
h1,h2,h3,h4,h5,h6 { font-weight: 500; line-height: var(--line-heading); text-wrap: balance; letter-spacing: normal; }
h1 { font-size: var(--text-heading); }
h2 { font-size: var(--text-statement); }
h3 { font-size: var(--text-lead); }
p { text-wrap: pretty; }
em,i { font-style: normal; }
a { color: inherit; text-decoration: none; }
button,input,textarea,select { font: inherit; color: inherit; letter-spacing: normal; }
button { border: 0; padding: 0; background: none; cursor: pointer; touch-action: manipulation; }
a { touch-action: manipulation; }
button:disabled { cursor: default; color: var(--color-muted); }
input,textarea { width: 100%; min-width: 0; border-radius: 0; }
textarea { resize: vertical; }
img,video { display: block; max-width: 100%; height: auto; }
svg { display: block; flex-shrink: 0; }
ul,ol { padding-inline-start: 1.4em; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 5px; }
::selection { background: #dce2ff; color: #151515; }
main { min-height: 50vh; }
.icon { width: 1.25em; height: 1.25em; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: 1rem; padding: .75rem 1.25rem; color: white; background: var(--color-ink); z-index: var(--z-skip); transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
