@charset "utf-8";
/* 기본 초기화 */
*, *::before, *::after {box-sizing: border-box;}
html {font-size: 62.5%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth;}
body {margin: 0; font-family: var(--font-ko); font-size: 1.6rem; line-height: 1.7; color: var(--text); background: var(--bg); word-break: keep-all; overflow-wrap: break-word; -webkit-font-smoothing: antialiased;}
@media (min-width: 48em) {body {font-size: 1.8rem;}}
@media (min-width: 80em) {body {font-size: 1.9rem; line-height: 1.75;}}
h1, h2, h3, h4, p, ul, ol, figure, dl, dd {margin: 0;}
ul, ol {padding: 0; list-style: none;}
img, svg {display: block; max-width: 100%;}
img {height: auto;}
a {color: inherit; text-decoration: none;}
button, input, select, textarea {font: inherit; color: inherit;}
button {padding: 0; border: 0; background: none; cursor: pointer;}
:focus-visible {outline: .3rem solid var(--blue); outline-offset: .4rem;}
[hidden] {display: none !important;}
section[id] {scroll-margin-top: calc(var(--hd-h) - 1rem);}
.sr-only {position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.skip {position: fixed; z-index: 300; top: 1rem; left: 1rem; padding: 1.2rem 2rem; color: #fff; background: var(--navy); transform: translateY(-200%);}
.skip:focus {transform: none;}
.wrap {width: min(100% - var(--gut) * 2, var(--max)); margin-inline: auto;}
