/* Legal pages (privacy, terms, cookies) + 404 */
.page-hero{isolation:isolate}
.ph-mesh .b{position:absolute;border-radius:50%}
.ph-mesh .b1{width:52vw;height:52vw;left:-16vw;top:-18vw;background:radial-gradient(closest-side,rgba(107,79,160,.32),rgba(107,79,160,0));animation:drift1 24s ease-in-out infinite alternate}
.ph-mesh .b2{width:46vw;height:46vw;right:-14vw;top:-12vw;background:radial-gradient(closest-side,rgba(142,197,255,.4),rgba(142,197,255,0));animation:drift2 26s ease-in-out infinite alternate}
.ph-mesh .b3{width:40vw;height:40vw;left:30vw;top:6vw;background:radial-gradient(closest-side,rgba(242,181,68,.26),rgba(242,181,68,0));animation:drift3 22s ease-in-out infinite alternate}

.lg-hero{padding-bottom:40px}
.lg-hero h1{max-width:14ch}
.lg-hero .lead{max-width:640px}
.lg-updated{margin-top:18px;font-size:14px;font-weight:600;color:var(--muted)}
.lg-main{padding-top:24px}
.lg-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.lg-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:18px}
.lg-toc,.lg-others{background:#fff;border:1px solid var(--line2);border-radius:22px;padding:20px 20px 16px;box-shadow:var(--sh-1)}
.lg-toc b,.lg-others b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.lg-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.lg-toc a{display:block;padding:6px 0;font-size:14px;line-height:1.35;color:var(--ink2);text-decoration:none}
.lg-toc a:hover{color:var(--violet)}
.lg-others{display:flex;flex-direction:column}
.lg-others a{padding:6px 0;font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:none;min-height:32px}
.lg-others a:hover{color:var(--violet)}
.lg-prose{margin:0;max-width:760px}
.lg-sec{scroll-margin-top:100px}
.lg-sec:first-child h2{margin-top:0}
.lg-prose code{font-size:.9em;background:var(--bg2);padding:2px 6px;border-radius:6px}
.lg-prose th{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}
.lg-help{margin-top:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--t-lilac);border-radius:24px;padding:22px 24px}
.lg-help b{display:block;font:800 19px/1.25 var(--fd);color:var(--ink)}
.lg-help p{margin:4px 0 0;font-size:15px}
.lg-help .btn{text-decoration:none;color:#fff}

/* 404 */
.nf{padding:170px 0 110px;text-align:center}
.nf-code{display:block;font:800 clamp(110px,18vw,220px)/1 var(--fd);letter-spacing:-.05em;background:linear-gradient(95deg,var(--violet) 0%,#D2557F 35%,var(--terra) 65%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf h1{margin:28px auto 0;font-size:clamp(34px,4.6vw,56px);max-width:16ch;text-wrap:balance}
.nf .lead{margin:18px auto 0}
.nf-links{margin:34px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:860px}
.nf-links a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:20px;padding:18px;box-shadow:var(--sh-1);transition:transform .2s}
.nf-links a:hover{transform:translateY(-3px)}
.nf-links b{font:800 18px/1.2 var(--fd);letter-spacing:-.02em}
.nf-links span{font-size:14px;color:var(--ink2)}

@media (max-width:960px){
  .lg-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .lg-side{position:static}
}
@media (max-width:760px){
  .lg-prose table{display:table;table-layout:fixed;width:100%;font-size:14px}
  .lg-prose th,.lg-prose td{padding:9px 8px;overflow-wrap:anywhere}
  .lg-prose code{word-break:normal}
  .lg-prose table:has(th:nth-child(4)) thead{display:none}
  .lg-prose table:has(th:nth-child(4)),.lg-prose table:has(th:nth-child(4)) tbody{display:block}
  .lg-prose table:has(th:nth-child(4)) tr{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:14px 0;border-bottom:1px solid var(--line)}
  .lg-prose table:has(th:nth-child(4)) td{border:0;padding:0}
  .lg-prose table:has(th:nth-child(4)) td:nth-child(2){color:var(--muted);font-size:13px;align-self:center}
  .lg-prose table:has(th:nth-child(4)) td:nth-child(3),.lg-prose table:has(th:nth-child(4)) td:nth-child(4){grid-column:1/-1}
  .lg-prose table:has(th:nth-child(4)) td:nth-child(4){color:var(--muted);font-size:13.5px}
  .lg-help{flex-direction:column;align-items:flex-start}
  .nf{padding:130px 0 80px}
  .nf-links{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){.ph-mesh .b{animation:none}}
