:root {
  --paper: #f6f5f1;
  --ink: #111216;
  --grey: #646970;
  --line: #c8c8c2;
  --lime: #a9ef2d;
  --pad: clamp(18px, 3.8vw, 58px);
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.7 Pretendard, "Noto Sans KR", system-ui, sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; }
.skip-link { position: fixed; z-index: 200; top: -80px; left: 18px; padding: 10px 14px; background: var(--ink); color: #fff; }
.skip-link:focus { top: 18px; }
.correction-main { width: 100%; margin-inline: auto; }
.correction-hero { padding: clamp(70px, 9vw, 132px) var(--pad); border-bottom: 1px solid var(--ink); }
.correction-hero p { margin: 0 0 18px; color: #507a00; font: 700 10px ui-monospace, monospace; letter-spacing: .12em; }
.correction-hero h1 { max-width: 1050px; margin: 0; font-size: clamp(50px, 7vw, 100px); line-height: .95; letter-spacing: -.07em; word-break: keep-all; }
.correction-hero div { max-width: 760px; margin-top: 34px; color: var(--grey); font-size: 18px; }
.correction-policy { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(38px, 7vw, 110px); padding: clamp(64px, 8vw, 112px) var(--pad); border-bottom: 1px solid var(--ink); }
.correction-policy h2 { margin: 0; font-size: clamp(38px, 5vw, 70px); line-height: 1; letter-spacing: -.06em; }
.correction-policy ol { margin: 0; padding-left: 22px; }
.correction-policy li + li { margin-top: 18px; }
.correction-ledger { padding: clamp(64px, 8vw, 112px) var(--pad); }
.correction-ledger > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.correction-ledger h2 { margin: 0; font-size: clamp(38px, 5vw, 70px); line-height: 1; letter-spacing: -.06em; }
.correction-ledger > header p { max-width: 520px; margin: 0; color: var(--grey); }
.correction-type-group + .correction-type-group { margin-top: 48px; }
.correction-type-label {
  display: inline-block;
  margin: 0 0 8px;
  padding: 4px 10px;
  border: 1px solid var(--ink);
  background: var(--lime);
  color: var(--ink);
  font: 700 10px/1.2 ui-monospace, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.correction-type-group h3 {
  margin: 0 0 12px;
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.15;
  letter-spacing: -.04em;
}
.correction-row { display: grid; grid-template-columns: 130px 1fr 1fr; gap: 24px; padding: 28px 0; border-top: 1px solid var(--line); }
.correction-type-group .correction-row:last-child,
.correction-list > .correction-row:last-child { border-bottom: 1px solid var(--line); }
.correction-row time { font: 10px ui-monospace, monospace; }
.correction-row__meta { display: flex; flex-direction: column; gap: 8px; }
.correction-row__title { margin: 0; font-size: 14px; line-height: 1.35; letter-spacing: -.02em; }
.correction-row__type {
  display: inline-block;
  width: fit-content;
  padding: 2px 6px;
  border: 1px solid var(--line);
  font: 700 9px/1.2 ui-monospace, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--grey);
}
.correction-row strong { display: block; margin-bottom: 8px; }
.correction-row p { margin: 0; color: var(--grey); }
.correction-row__source {
  display: block;
  margin-top: 10px;
  color: var(--ink);
  font: 700 11px/1.4 ui-monospace, monospace;
  letter-spacing: .02em;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.correction-status { margin: 0 0 18px; color: var(--grey); font: 12px/1.5 ui-monospace, monospace; }
.correction-footer { display: flex; justify-content: space-between; padding: 36px var(--pad) 80px; border-top: 1px solid var(--ink); font: 10px ui-monospace, monospace; }
@media (max-width: 760px) {
  .correction-policy, .correction-row { grid-template-columns: 1fr; }
  .correction-ledger > header, .correction-footer { align-items: flex-start; flex-direction: column; }
}
