@font-face {
  font-family: 'Pretendard';
  src: url('../fonts/Pretendard-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard';
  src: url('../fonts/Pretendard-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard';
  src: url('../fonts/Pretendard-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Pretendard';
  src: url('../fonts/Pretendard-Bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: 1.6;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, textarea, select { font-family: inherit; font-size: inherit; }
ul { padding-left: 1.25rem; }
table { width: 100%; border-collapse: collapse; }

h1, h2, h3, h4, h5, h6 { margin: 0 0 1rem; font-weight: 700; letter-spacing: -0.02rem; line-height: 1.25; }
h1 { font-size: var(--h1-size); letter-spacing: -0.035rem; line-height: 1.2; }
h2 { font-size: var(--h2-size); line-height: 1.2; }
h4 { font-size: var(--h4-size); }
h5 { font-size: var(--h5-size); font-weight: 600; }
h6 { font-size: var(--h6-size); font-weight: 600; }

.container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

.section { padding-block: var(--space-section); }
.section--alt { background: var(--color-bg-alt); }

.answer-lead {
  font-size: 1.125rem;
  color: var(--color-text-muted);
  max-width: 48rem;
}

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
