/* ==========================================================================
   Utility & legal pages (owner: lead) · 404, privacy, terms, cookies.
   Scoped under .lg-page (the <section> wrapping each page's content).
   ========================================================================== */
.lg-page{position:relative;padding:calc(var(--header-h) + 96px) 0 120px;overflow:hidden}
.lg-page::before{content:"";position:absolute;inset:0 0 auto;height:520px;pointer-events:none;
  background:radial-gradient(60% 70% at 78% 0%,rgba(255,143,90,.10),transparent 70%)}
.lg-page .container{position:relative}
.lg-head{max-width:880px}
.lg-head .eyebrow{margin-bottom:24px}
.lg-head .display{margin-bottom:28px}
.lg-lede{font-size:20px;line-height:1.5;color:#c9c0b8;max-width:62ch}
.lg-status{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;
  font-family:var(--font-mono);font-size:12px;text-transform:uppercase;color:var(--taupe)}

/* readable policy body */
.lg-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;margin-top:88px;padding-top:40px;border-top:1px solid var(--line)}
.lg-toc{position:sticky;top:calc(var(--header-h) + 32px);align-self:start}
.lg-toc p{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.lg-toc a{display:block;padding:7px 0;font-size:14px;color:var(--taupe);transition:color .2s var(--ease)}
.lg-toc a:hover{color:var(--fg)}
.lg-prose{max-width:720px}
.lg-prose h2{font-size:28px;line-height:1.15;letter-spacing:-.02em;font-weight:600;color:var(--fg);margin:56px 0 16px;scroll-margin-top:calc(var(--header-h) + 24px)}
.lg-prose h2:first-child{margin-top:0}
.lg-prose p,.lg-prose li{font-size:17px;line-height:1.65;color:#c9c0b8}
.lg-prose p+p{margin-top:14px}
.lg-prose ul{margin:14px 0 0;display:grid;gap:10px}
.lg-prose li{position:relative;padding-left:22px}
.lg-prose li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:2px;background:var(--accent)}
.lg-prose a{color:var(--fg);text-decoration:underline;text-decoration-color:rgba(255,143,90,.6);text-underline-offset:3px}
.lg-prose a:hover{text-decoration-color:var(--accent)}
.lg-prose code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-2);padding:2px 6px;border-radius:4px;color:var(--cream)}
.lg-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px}
.lg-table th,.lg-table td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:#c9c0b8}
.lg-table th{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;color:var(--taupe)}
.lg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* ---------- 404 ---------- */
.lg-404{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:64px;align-items:center}
.lg-404 .lg-actions{margin-top:40px}
.lg-scene{position:relative;aspect-ratio:1/0.86;border:1px solid var(--line);border-radius:var(--r-xl);
  background:linear-gradient(180deg,#1d1c1b,#151413);overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.45)}
.lg-scene__bar{display:flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-bottom:1px solid var(--line)}
.lg-scene__bar span{width:9px;height:9px;border-radius:50%;background:#3a3936}
.lg-scene__bar b{margin-left:auto;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--muted)}
.lg-scene__doc{padding:28px 28px 0}
.lg-scene__doc i{display:block;height:9px;border-radius:5px;background:#2a2928;margin-bottom:12px}
.lg-scene__doc i:nth-child(1){width:46%;height:14px;background:#33312f;margin-bottom:20px}
.lg-scene__doc i:nth-child(2){width:88%}.lg-scene__doc i:nth-child(3){width:76%}.lg-scene__doc i:nth-child(4){width:82%}.lg-scene__doc i:nth-child(5){width:40%}
.lg-panel{position:absolute;right:22px;bottom:22px;width:min(330px,calc(100% - 44px));background:var(--cream);color:var(--ink);border-radius:var(--r-lg);
  padding:16px;box-shadow:0 24px 50px rgba(0,0,0,.5);transform-origin:100% 100%;animation:lg-panel-in .7s var(--ease-out) .5s both}
@keyframes lg-panel-in{from{opacity:0;transform:translateY(12px) scale(.6)}to{opacity:1;transform:none}}
.lg-panel__head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.lg-panel__head img{width:24px;height:24px;border-radius:6px}
.lg-panel__head b{font-size:14px}
.lg-panel__head small{margin-left:auto;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:#8b847e}
.lg-panel__ask{background:#fff;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4;margin-bottom:12px;color:#3a3936}
.lg-steps{display:grid;gap:8px;margin-bottom:12px}
.lg-steps li{display:flex;align-items:center;gap:10px;font-size:13px;color:#3a3936;opacity:0;animation:lg-step .4s var(--ease) both}
.lg-steps li:nth-child(1){animation-delay:1.1s}.lg-steps li:nth-child(2){animation-delay:1.7s}.lg-steps li:nth-child(3){animation-delay:2.3s}
@keyframes lg-step{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.lg-steps .ic{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}
.lg-steps .ic--done{background:var(--ok);color:#3b2a06}
.lg-steps .ic--miss{background:#f3d2c4;color:#9a3a14}
.lg-panel__links{display:grid;gap:6px;padding-top:12px;border-top:1px solid #d8cfc9;opacity:0;animation:lg-step .4s var(--ease) 2.9s both}
.lg-panel__links p{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:#8b847e;margin-bottom:2px}
.lg-panel__links a{display:flex;justify-content:space-between;font-size:13px;font-weight:500;padding:6px 8px;border-radius:7px;transition:background .2s var(--ease)}
.lg-panel__links a:hover{background:#fff}
.lg-panel__links a span{color:#c25a26}
.lg-illus{position:absolute;left:28px;bottom:24px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--muted)}

@media (max-width:1024px){
  .lg-page{padding-top:calc(var(--header-h) + 64px)}
  .lg-404{grid-template-columns:1fr;gap:48px}
  .lg-body{grid-template-columns:1fr;gap:32px;margin-top:56px}
  .lg-toc{position:static;display:flex;flex-wrap:wrap;gap:4px 18px}
  .lg-toc p{width:100%;margin-bottom:4px}
}
@media (max-width:640px){
  .lg-page{padding-bottom:80px}
  .lg-lede{font-size:18px}
  .lg-prose h2{font-size:24px}
  .lg-table th:nth-child(3),.lg-table td:nth-child(3){display:none}
  .lg-scene{aspect-ratio:auto;min-height:440px}
}
@media (prefers-reduced-motion:reduce){
  .lg-panel,.lg-steps li,.lg-panel__links{animation:none;opacity:1;transform:none}
}
