/* DGRT Studio — terms and privacy pages (uses site.css tokens) */
.lg-body { min-height: 100vh; }
.lg-top { position: sticky; top: calc(10px + env(safe-area-inset-top, 0px)); z-index: 20; width: min(980px, 100% - 2 * var(--gutter)); margin: 12px auto 0;
  display: flex; align-items: center; gap: 14px; height: 56px; padding: 0 8px 0 14px; border-radius: 999px; }
.lg-nav { display: flex; gap: 4px; margin-left: auto; }
.lg-nav a { padding: 8px 14px; border-radius: 999px; font-size: 14.5px; font-weight: 600; color: var(--text-2); transition: background .25s, color .25s; }
.lg-nav a:hover { color: var(--text); background: rgba(255,255,255,.06); }
.lg-nav a[aria-current="page"] { color: var(--text); background: rgba(255,255,255,.1); }
.lg-lang { margin: 0; }
.lg-lang a { display: inline-block; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: .05em; color: var(--text-2); transition: background .25s, color .25s; }
.lg-lang a[aria-current="true"] { background: #fff; color: #000; }

.lg { width: min(820px, 100% - 2 * var(--gutter)); margin: 0 auto; padding: 28px 0 calc(60px + env(safe-area-inset-bottom, 0px)); display: grid; gap: 18px; }
.lg-doc { border-radius: 32px; padding: clamp(24px, 5vw, 52px); display: grid; gap: 30px; animation: lg-in .8s var(--ease) both; }
@keyframes lg-in { from { opacity: 0; transform: translateY(14px); } }
.lg-head { display: grid; gap: 10px; padding-bottom: 26px; border-bottom: 1px solid var(--stroke); }
.lg-eyebrow { margin: 0; font-size: 12px; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; color: var(--text-3); }
.lg-head h1 { margin: 0; font: 750 clamp(32px, 5vw, 50px)/1.08 var(--font-d); letter-spacing: -0.03em; padding-bottom: .06em; }
.lg-updated { margin: 0; font-size: 13.5px; color: var(--text-3); }
.lg-lead { margin: 6px 0 0; font-size: 17px; line-height: 1.6; color: var(--text-2); max-width: 62ch; }

.lg-toc { padding: 18px 22px; border-radius: 20px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); }
.lg-toc p { margin: 0 0 10px; font-size: 12px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); }
.lg-toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 28px; font-size: 14.5px; line-height: 1.9; color: var(--text-3); }
.lg-toc a { color: var(--text-2); transition: color .2s; }
.lg-toc a:hover { color: var(--text); }

.lg-sec { display: grid; gap: 12px; scroll-margin-top: 90px; }
.lg-sec h2 { margin: 0; display: flex; align-items: baseline; gap: 14px; font: 650 clamp(20px, 2.4vw, 24px)/1.25 var(--font-d); letter-spacing: -0.015em; }
.lg-sec h2 span { flex: none; font: 600 13px ui-monospace, "SF Mono", Menlo, monospace; color: var(--text-3); letter-spacing: .04em; transform: translateY(-2px); }
.lg-sec p { margin: 0; font-size: 15.5px; line-height: 1.72; color: #d6d6db; max-width: 68ch; }
.lg-sec a, .lg-foot a:not(.btn) { color: var(--text); text-decoration: underline; text-decoration-color: rgba(255,255,255,.3); text-underline-offset: 3px; transition: text-decoration-color .2s; }
.lg-sec a:hover, .lg-foot a:not(.btn):hover { text-decoration-color: #fff; }

.lg-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 4px 4px 0; font-size: 14px; color: var(--text-3); }
.lg-foot .grow { flex: 1; }
.lg-foot a:not(.btn) { color: var(--text-2); }

@media (max-width: 720px) {
  .lg-top { height: auto; border-radius: 26px; padding: 8px 8px 8px 12px; flex-wrap: wrap; row-gap: 6px; }
  .lg-nav { order: 3; width: 100%; margin: 0; }
  .lg-nav a { flex: 1; text-align: center; padding: 8px 6px; font-size: 13.5px; }
  .lg-lang { margin-left: auto; }
  .lg-toc ol { columns: 1; }
  .lg-sec h2 { gap: 10px; }
  .lg-foot .grow { display: none; }
  .lg-foot .btn { width: 100%; }
}
@media print {
  body::before, body::after, .lg-top, .lg-foot, .lg-toc { display: none !important; }
  body { background: #fff; color: #000; }
  .lg-doc { background: #fff !important; border: 0 !important; box-shadow: none !important; padding: 0; backdrop-filter: none !important; }
  .glass-rim::after { display: none; }
  .chrome-text { background: none !important; -webkit-text-fill-color: #000 !important; }
  .lg-sec p, .lg-lead { color: #111; }
}

/* 404 */
.nf { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 10px; text-align: center; padding: 24px; }
.nf img { width: 96px; height: 96px; border-radius: 50%; box-shadow: 0 0 50px rgba(255,255,255,.12); margin-bottom: 8px; }
.nf-code { margin: 0; font: 800 clamp(80px, 16vw, 140px)/1 var(--font-d); letter-spacing: -0.04em; }
.nf h1 { margin: 0; font-size: 24px; }
.nf-alt { margin: 0 0 18px; color: var(--text-2); }
