/* Mintdesk 약관·정책 페이지 공용 스타일.
   site/index.html의 토큰·타이포그래피를 그대로 따른다.
   카드·그라데이션·그림자·등장 애니메이션을 사용하지 않는다. */

:root {
  color-scheme: light dark;
  --paper: #fcfcfa;
  --ink: #202924;
  --muted: #58635d;
  --line: #cdd3ce;
  --accent: #0a7d6b;
  --accent-hover: #075b4e;
  --on-accent: #ffffff;
  --hover: #eff2ed;
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #151917;
    --ink: #edf1ec;
    --muted: #acb7af;
    --line: #424b45;
    --accent: #3fd6bb;
    --accent-hover: #79e7d2;
    --on-accent: #10231d;
    --hover: #252d27;
  }
}

* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.75;
  word-break: keep-all;
  overflow-wrap: anywhere;
  -webkit-tap-highlight-color: transparent;
}

a { color: var(--accent); text-underline-offset: 4px; text-decoration-thickness: 1px; }
a:hover { color: var(--accent-hover); text-decoration-thickness: 2px; }
a { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }

h1, h2, h3, p, dl, dd, figure { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
h1 { font-size: clamp(28px, 3.6vw, 40px); font-weight: 700; line-height: 1.3; letter-spacing: -.045em; }
h2 { font-size: 23px; line-height: 1.45; letter-spacing: -.03em; }
h3 { font-size: 18px; line-height: 1.5; letter-spacing: -.02em; }
strong, b { font-weight: 650; }
code { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: .9em; }

.wrap { width: min(100% - 64px, 860px); margin-inline: auto; }

.skip { position: absolute; top: 12px; left: 16px; padding: 10px 16px; background: var(--paper); z-index: 2; transform: translateY(-180%); }
.skip:focus { transform: translateY(0); }

.site-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px 24px; min-height: 88px; border-bottom: 1px solid var(--line);
}
.brand {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
  color: var(--ink); text-decoration: none;
  font-size: 21px; font-weight: 750; letter-spacing: -.04em;
}
.brand svg { width: 29px; height: 29px; color: var(--accent); flex: none; }
.brand:hover { color: var(--ink); }
.header-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; }
.header-nav a {
  display: inline-flex; align-items: center; min-height: 44px;
  color: var(--muted); font-size: 15px; text-decoration: none;
}
.header-nav a:hover { color: var(--ink); text-decoration: underline; }
.header-nav a[aria-current="page"] { color: var(--ink); }

.doc-head { padding-block: 56px 32px; }
.eyebrow { margin-bottom: 16px; color: var(--accent); font-size: 15px; font-weight: 650; }
.doc-summary { max-width: 660px; margin-top: 20px; color: var(--muted); font-size: 18px; }
.doc-meta { margin-top: 20px; color: var(--muted); font-size: 15px; }
.doc-meta span + span::before { content: " · "; }

.toc { padding-block: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.toc h2 { font-size: 15px; font-weight: 650; letter-spacing: 0; color: var(--muted); }
.toc ol { margin: 10px 0 0; padding: 0; list-style: none; columns: 2; column-gap: 40px; }
.toc li { break-inside: avoid; counter-increment: toc; }
.toc ol { counter-reset: toc; }
.toc a { display: block; padding-block: 9px; font-size: 15px; line-height: 1.75; text-decoration: none; }
.toc a::before { content: counter(toc) ". "; color: var(--muted); font-variant-numeric: tabular-nums; }
.toc a:hover { text-decoration: underline; }

article section { padding-block: 36px; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
article section:first-of-type { border-top: 0; }
article h2 { margin-bottom: 16px; }
article h3 { margin-top: 24px; margin-bottom: 8px; }
article p + p { margin-top: 12px; }
article ul, article ol { margin: 12px 0 0; padding-left: 24px; color: var(--ink); }
article li + li { margin-top: 8px; }
article li > ul, article li > ol { margin-top: 8px; }
article dl + p, article table + p, article ul + p, article ol + p { margin-top: 16px; }
.lead { color: var(--muted); }
.note { margin-top: 16px; padding-left: 16px; border-left: 3px solid var(--accent); color: var(--muted); }
.note p + p { margin-top: 8px; }
.footnote { margin-top: 16px; color: var(--muted); font-size: 15px; }

table { width: 100%; margin-top: 16px; border-collapse: collapse; font-size: 16px; }
caption { margin-bottom: 8px; color: var(--muted); font-size: 15px; text-align: left; }
th, td { padding: 12px 16px 12px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
thead th { border-bottom: 1px solid var(--ink); font-weight: 650; }
tbody th { font-weight: 650; }
td:last-child, th:last-child { padding-right: 0; }

.terms-list { margin: 16px 0 0; }
.terms-list > div { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 4px 20px; padding-block: 10px; border-bottom: 1px solid var(--line); }
.terms-list dt { font-weight: 650; }
.terms-list dd { color: var(--muted); }

.site-footer { display: block; padding-block: 28px 44px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.biz-title { font-weight: 650; color: var(--ink); }
.biz-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 2px 24px; margin-top: 10px; }
.biz-list > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; }
html[lang="en"] .biz-list > div { grid-template-columns: 1fr; gap: 2px; }
.biz-list dt { color: var(--muted); }
.biz-list dd { margin: 0; color: var(--ink); }
.legal-nav { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.legal-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.copyright { margin-top: 8px; }

@media (max-width: 640px) {
  .toc ol { columns: 1; }
  .doc-head { padding-block: 40px 24px; }
  article section { padding-block: 28px; }
}

@media (max-width: 520px) {
  .wrap { width: calc(100% - 40px); }
  body { font-size: 16px; }
  h2 { font-size: 21px; }
  .doc-summary { font-size: 17px; }
  .site-header { min-height: 80px; gap: 8px; }
  .brand { font-size: 19px; gap: 7px; }
  .brand svg { width: 26px; height: 26px; }
  .header-nav { gap: 0 16px; }
  .header-nav a { font-size: 14px; }
  .terms-list > div,
  .biz-list > div { grid-template-columns: 1fr; gap: 2px; }
  table { font-size: 15px; }
  th, td { padding: 10px 12px 10px 0; }
}

@media (max-width: 380px) {
  .site-header { flex-wrap: wrap; gap: 0; padding-block: 12px; min-height: 0; }
  .header-nav { width: 100%; gap: 0 20px; }
  thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  tbody tr { display: block; padding-block: 10px; border-bottom: 1px solid var(--line); }
  tbody th, tbody td { display: block; border-bottom: 0; padding: 0; }
  tbody td::before { content: attr(data-label) " — "; color: var(--muted); }
}

@media (prefers-contrast: more) {
  :root { --muted: var(--ink); --line: var(--ink); }
}

@media (forced-colors: active) {
  .note { border-left-color: Highlight; }
  :focus-visible { outline-color: Highlight; }
}

@media print {
  body { font-size: 11pt; background: #fff; color: #000; }
  .site-header, .skip, .toc { display: none; }
  a { color: #000; }
}
