/* 주식회사 그램퍼스 — 법적 고지 페이지 스타일
   테마: (1) OS 설정, (2) <html data-theme="dark"> 모두 지원 */

:root {
  --l-bg:#f7f8f8; --l-surface:#fff; --l-border:#e3e7e8; --l-border-soft:#eef1f2;
  --l-text:#1a2224; --l-text-muted:#5c6a6e; --l-text-faint:#8a979b;
  --l-accent:#0fb5ad; --l-accent-soft:#e6f7f6;
  --l-shadow:0 1px 2px rgba(26,34,36,.04);
  --l-max:720px; --l-gutter:20px;
  --l-font:"Pretendard","Pretendard Variable",-apple-system,BlinkMacSystemFont,
           "Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;
  --l-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --l-bg:#10161a; --l-surface:#161e23; --l-border:#26333a; --l-border-soft:#1e2a30;
    --l-text:#e4ecee; --l-text-muted:#9aacb2; --l-text-faint:#6c7f86;
    --l-accent:#2ee6d6; --l-accent-soft:#14322f; --l-shadow:none;
  }
}

:root[data-theme="dark"] {
  --l-bg:#10161a; --l-surface:#161e23; --l-border:#26333a; --l-border-soft:#1e2a30;
  --l-text:#e4ecee; --l-text-muted:#9aacb2; --l-text-faint:#6c7f86;
  --l-accent:#2ee6d6; --l-accent-soft:#14322f; --l-shadow:none;
}

*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

body {
  margin:0; background:var(--l-bg); color:var(--l-text);
  font-family:var(--l-font); font-size:15px; line-height:1.75;
  font-feature-settings:"tnum" 1;
  word-break:keep-all; overflow-wrap:anywhere;
}

/* 본문 */
.legal-doc { max-width:var(--l-max); margin:0 auto; padding:48px var(--l-gutter) 8px; }

.legal-doc h1 { font-size:26px; line-height:1.35; font-weight:700; letter-spacing:-.02em; margin:0 0 4px; }
.legal-doc h2 { font-size:18px; font-weight:700; letter-spacing:-.01em; margin:44px 0 12px; padding-top:20px; border-top:1px solid var(--l-border-soft); }
.legal-doc h2:first-of-type { border-top:0; padding-top:0; }
.legal-doc h3 { font-size:15px; font-weight:700; margin:28px 0 8px; }
.legal-doc h4 { font-size:14px; font-weight:700; margin:20px 0 6px; color:var(--l-text-muted); }

.legal-doc p { margin:0 0 12px; }
.legal-doc strong { font-weight:700; }
.legal-doc a { color:var(--l-accent); text-decoration:underline; text-underline-offset:2px; }

.legal-doc ol, .legal-doc ul { margin:0 0 14px; padding-left:1.35em; }
.legal-doc li { margin:0 0 6px; }
.legal-doc li > ul, .legal-doc li > ol { margin-top:6px; }

.legal-doc hr { border:0; border-top:1px solid var(--l-border-soft); margin:32px 0; }

.legal-doc blockquote {
  margin:0 0 18px; padding:12px 16px;
  background:var(--l-accent-soft); border-left:3px solid var(--l-accent);
  border-radius:0 6px 6px 0; color:var(--l-text-muted); font-size:14px;
}
.legal-doc blockquote p:last-child { margin-bottom:0; }

.legal-doc code {
  font-family:var(--l-mono); font-size:.88em;
  padding:1px 5px; border-radius:4px; background:var(--l-border-soft);
}

/* 표 — 모바일 가로 스크롤 */
.legal-table {
  overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 18px;
  border:1px solid var(--l-border); border-radius:8px;
  background:var(--l-surface); box-shadow:var(--l-shadow);
}
.legal-doc table { width:100%; border-collapse:collapse; font-size:14px; min-width:380px; }
.legal-doc th, .legal-doc td { padding:10px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--l-border-soft); }
.legal-doc thead th { font-weight:700; font-size:13px; color:var(--l-text-muted); background:var(--l-border-soft); white-space:nowrap; }
.legal-doc tbody tr:last-child td { border-bottom:0; }

.legal-effective { display:inline-block; font-size:13px; color:var(--l-text-muted); margin:0 0 28px; }

/* 푸터 */
.site-footer {
  max-width:var(--l-max); margin:40px auto 0;
  padding:24px var(--l-gutter) 48px;
  border-top:1px solid var(--l-border-soft);
  font-size:12.5px; color:var(--l-text-faint); line-height:1.7;
}
.site-footer__biz { display:grid; grid-template-columns:max-content 1fr; gap:2px 14px; margin:0; }
.site-footer__biz > div { display:contents; }
.site-footer__biz dt { color:var(--l-text-faint); }
.site-footer__biz dd { margin:0; color:var(--l-text-muted); }
.site-footer__copyright { margin:16px 0 0; }

@media (max-width:420px) {
  .site-footer__biz { grid-template-columns:1fr; gap:0; }
  .site-footer__biz dt { margin-top:8px; }
}

a:focus-visible { outline:2px solid var(--l-accent); outline-offset:2px; border-radius:3px; }
