/* Legal pages (terms, privacy): the docs hero + a contents rail + readable prose. */
.hero{position:relative;min-height:auto;display:flex;flex-direction:column;justify-content:center;
  overflow:hidden;padding:clamp(104px,13vw,164px) 0 clamp(36px,5vw,56px)}
.hero-art{position:absolute;top:0;left:0;width:100%;height:100%;min-height:420px;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 44%,rgba(0,0,0,.4) 74%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 44%,rgba(0,0,0,.4) 74%,transparent 100%)}
.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 26%;
  animation:artin 1.4s var(--ease) both}
@keyframes artin{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
.hero-art::before,.hero-art::after{content:'';position:absolute;inset:0;pointer-events:none}
.hero-art::before{background:linear-gradient(180deg,rgba(6,5,11,.80) 0%,rgba(6,5,11,.38) 30%,rgba(6,5,11,.35) 60%,rgba(6,5,11,.92) 100%)}
.hero-art::after{background:linear-gradient(94deg,rgba(6,5,11,.94) 0%,rgba(6,5,11,.80) 30%,rgba(6,5,11,.50) 55%,rgba(6,5,11,.20) 80%,transparent 95%)}
.hero .wrap{position:relative;z-index:5;width:100%}
.hero .eyebrow{margin-bottom:14px}
.hero h1{font-size:clamp(38px,6vw,68px);font-weight:700;letter-spacing:-.04em;line-height:.96;
  margin-bottom:16px;max-width:16ch;text-shadow:0 2px 30px rgba(6,5,11,.8)}
.hero h1 em{font-style:normal;display:block;
  background:linear-gradient(104deg,#ffe9b8 0%,var(--gold-hi) 26%,var(--ember) 62%,#c2410c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 36px rgba(255,140,60,.3))}
.hero .lead{max-width:58ch;text-shadow:0 1px 20px rgba(6,5,11,.9)}
.hero .updated{margin-top:14px;font-size:12.5px;color:var(--ink-3);letter-spacing:.02em}
.embers{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.ember{position:absolute;bottom:-12px;width:3px;height:3px;border-radius:99px;
  background:var(--ember);box-shadow:0 0 8px 1px rgba(255,122,47,.7);
  opacity:0;animation:rise linear infinite;will-change:transform,opacity}
@keyframes rise{0%{transform:translate3d(0,0,0) scale(1);opacity:0}14%{opacity:.85}
  72%{opacity:.5}100%{transform:translate3d(var(--dx),-88vh,0) scale(.3);opacity:0}}
@media (prefers-reduced-motion:reduce){.ember{animation:none;opacity:.4}}

.legal{display:grid;grid-template-columns:210px minmax(0,1fr);gap:48px;align-items:start;
  padding:clamp(12px,2vw,24px) 0 80px}
.toc{position:sticky;top:88px}
.toc h4{font-size:var(--t-micro);font-weight:560;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:12px}
.toc a{display:block;font-size:var(--t-ui);color:var(--ink-3);padding:5px 0 5px 12px;
  box-shadow:inset 2px 0 0 var(--line);transition:color .15s,box-shadow .15s}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--gold-hi);box-shadow:inset 2px 0 0 var(--gold-hi)}

.legal article{max-width:760px}
.callout{padding:18px 20px;border-radius:14px;background:var(--bg-raised);
  box-shadow:inset 0 0 0 1px var(--line-gold);border-top:2px solid var(--gold);
  font-size:14.5px;line-height:1.65;color:var(--ink-2);margin-bottom:40px}
.callout b{color:var(--gold-hi);font-weight:600}
.legal section{padding:36px 0 0;scroll-margin-top:88px}
.legal section + section{margin-top:12px;box-shadow:inset 0 1px 0 var(--line)}
.legal h2{font-size:clamp(20px,2.6vw,26px);font-weight:700;letter-spacing:-.025em;
  margin:0 0 12px;display:flex;align-items:center;gap:12px}
.legal h2::before{content:'';width:18px;height:2px;border-radius:2px;flex:none;
  background:linear-gradient(90deg,var(--gold),var(--ember))}
.legal p,.legal li{font-size:14.5px;line-height:1.7;color:var(--ink-2);max-width:70ch}
.legal p + p,.legal ul + p,.legal p + ul{margin-top:14px}
.legal ul{list-style:none;padding:0;display:grid;gap:9px}
.legal li{position:relative;padding-left:20px}
.legal li::before{content:'';position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 8px rgba(224,165,66,.5)}
.legal b{color:var(--ink);font-weight:600}
.legal article a{color:var(--gold-hi);text-decoration:underline;text-decoration-color:rgba(224,165,66,.35);
  text-underline-offset:3px;transition:text-decoration-color .15s}
.legal article a:hover{text-decoration-color:var(--gold-hi)}

/* data table (privacy) */
.dtab{margin-top:16px;border-radius:14px;background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--line);
  padding:4px 20px}
.dtab .r{display:grid;grid-template-columns:minmax(140px,210px) 1fr;gap:20px;padding:13px 0;font-size:14px;
  align-items:baseline}
.dtab .r + .r{box-shadow:inset 0 1px 0 var(--line)}
.dtab .k{color:var(--ink);font-weight:560}
.dtab .v{color:var(--ink-2);line-height:1.6}

@media (max-width:860px){
  .legal{grid-template-columns:minmax(0,1fr);gap:20px}
  .toc{position:static;display:flex;flex-wrap:wrap;gap:6px}
  .toc h4{width:100%;margin-bottom:4px}
  .toc a{padding:6px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);font-size:12.5px}
  .toc a.on{box-shadow:inset 0 0 0 1px var(--gold-hi)}
  .dtab .r{grid-template-columns:1fr;gap:3px}
  .callout{margin-bottom:28px}
}
