/* 개인정보처리방침·404 같은 긴 문서: 한 줄 폭을 좁히고, 표와 연락처는 기록표처럼 */
.site-header--doc {
  border-bottom: 1px solid var(--line);
}

.legal {
  max-width: calc(46rem + var(--gutter) * 2);
  padding-top: var(--s-7);
}

.legal-head {
  display: grid;
  gap: var(--s-3);
  margin-bottom: var(--s-6);
}

.legal h1 {
  font-size: var(--t-h2-size);
  line-height: var(--t-h2-lh);
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-heading);
}

.legal-date {
  color: var(--text-meta);
  font-size: var(--t-small-size);
  line-height: var(--t-small-lh);
}

.legal-intro {
  color: var(--text-secondary);
  font-size: var(--t-lead-size);
  line-height: var(--t-lead-lh);
}

.summary {
  display: grid;
  gap: var(--s-3);
  margin-bottom: var(--s-6);
  padding: var(--s-5);
  border-radius: var(--r-sheet);
  background: var(--bg-sheet);
}

.summary h2 {
  font-size: var(--t-h3-size);
  line-height: var(--t-h3-lh);
  font-weight: var(--weight-bold);
}

.summary dl {
  display: grid;
  border-top: 2px solid var(--line-strong);
}

.summary dl div {
  display: grid;
  gap: 2px;
  padding-block: var(--s-3);
  border-bottom: 1px solid var(--line);
}

.summary dt {
  font-size: var(--t-small-size);
  line-height: var(--t-small-lh);
  font-weight: var(--weight-semibold);
  color: var(--text-meta);
}

.summary dd {
  color: var(--text-primary);
}

.toc {
  margin-bottom: var(--s-7);
  padding-block: var(--s-4);
  border-block: 1px solid var(--line);
}

.toc h2 {
  margin-bottom: var(--s-2);
  font-size: var(--t-small-size);
  line-height: var(--t-small-lh);
  font-weight: var(--weight-semibold);
  color: var(--text-meta);
}

.toc ol {
  display: grid;
  gap: 0;
  list-style: decimal;
  padding-left: 2em;
}

.toc a {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch-min);
  color: var(--text-primary);
}

.legal-section {
  display: grid;
  gap: var(--s-3);
  padding-bottom: var(--s-6);
  scroll-margin-top: var(--s-4);
}

.legal-section h2 {
  font-size: var(--t-h3-size);
  line-height: var(--t-h3-lh);
  font-weight: var(--weight-bold);
  letter-spacing: var(--track-heading);
}

.legal-section p,
.legal-section li {
  color: var(--text-secondary);
}

.legal-section strong {
  color: var(--text-primary);
  font-weight: var(--weight-semibold);
}

.legal-section ul {
  display: grid;
  gap: var(--s-2);
  padding-left: 1.25em;
  list-style: disc;
}

.legal-section a {
  color: var(--text-primary);
  font-weight: var(--weight-semibold);
}

.legal-section li a,
.contact-card a {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch-min);
}

.table-scroll {
  overflow-x: auto;
  border-top: 2px solid var(--line-strong);
}

.legal table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--t-small-size);
  line-height: var(--t-small-lh);
}

.legal th,
.legal td {
  padding: var(--s-3) var(--s-4) var(--s-3) 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.legal th {
  color: var(--text-meta);
  font-weight: var(--weight-semibold);
}

.legal td {
  color: var(--text-secondary);
}

.contact-card {
  display: grid;
  border-top: 2px solid var(--line-strong);
}

.contact-card p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: var(--s-3);
  min-height: var(--touch-min);
  border-bottom: 1px solid var(--line);
  color: var(--text-primary);
  font-weight: var(--weight-semibold);
}

.contact-card .label {
  min-width: 4rem;
  color: var(--text-meta);
  font-size: var(--t-small-size);
  line-height: var(--t-small-lh);
  font-weight: var(--weight-regular);
}
