/* Numerish Legal Documents — Enterprise presentation R1
   Scoped to public legal pages; never changes approved legal text. */
body.legal-document-body {
  --legal-surface: #fff;
  --legal-backdrop: #f6f8fb;
  --legal-border: #e3e8ef;
  --legal-ink: #17283b;
  --legal-secondary: #586779;
  --legal-accent: #d2095b;
  --legal-soft-accent: #fff0f6;
  color: var(--legal-ink);
}
body.legal-document-body .page-hero {
  position: relative;
  isolation: isolate;
  background: linear-gradient(132deg,#f7f9fc 0%,#fff 65%,#fff4f8 100%);
  border-bottom: 1px solid var(--legal-border);
  padding: clamp(38px,5vw,70px) 0 clamp(36px,4vw,58px);
}
body.legal-document-body .page-hero::before {
  content: ""; position: absolute; inset: 0 0 auto auto; height: 100%; width: 34%;
  background: radial-gradient(circle at 80% 15%,rgba(210,9,91,.065),transparent 68%);
  z-index: -1; pointer-events:none;
}
body.legal-document-body .page-hero .container,
body.legal-document-body .legal-page .container {
  width: min(100% - 40px, 1160px);
  max-width: 1160px;
  margin-inline: auto;
}
body.legal-document-body .legal-breadcrumb {
  display: flex; flex-wrap:wrap; align-items:center; gap: 9px;
  color: var(--legal-secondary); font-size: 12px; font-weight: 600;
  margin: 0 0 27px;
}
body.legal-document-body .legal-breadcrumb a { color:inherit; text-decoration:none }
body.legal-document-body .legal-breadcrumb a:hover { color:var(--legal-accent); text-decoration:underline }
body.legal-document-body .legal-breadcrumb .legal-crumb-current { color:var(--legal-ink) }
body.legal-document-body .page-hero .eyebrow {
  display: inline-flex; width: max-content; align-items:center; gap:8px;
  border: 1px solid #f8cfdf; background:var(--legal-soft-accent);
  border-radius: 99px; padding: 6px 12px;
  color: #a30849; text-transform:uppercase; font-size:11px;
  font-weight:750; letter-spacing:.09em; line-height:1.4;
}
body.legal-document-body .page-hero h1 {
  color: var(--legal-ink); max-width: 860px;
  font-size: clamp(2.1rem, 4.4vw, 3.5rem);
  line-height: 1.13; font-weight: 750; letter-spacing:-.035em;
  margin: 19px 0 20px;
}
body.legal-document-body .page-hero .lead {
  max-width: 820px; color:var(--legal-secondary); font-size: clamp(15px,1.45vw,17px);
  line-height:1.8; margin: 0 0 26px;
}
body.legal-document-body .page-hero .lead a,
body.legal-document-body .legal-shell > article a {
  color:var(--legal-accent); text-underline-offset:3px;
}
body.legal-document-body .legal-meta {
  display:flex; flex-wrap:wrap; align-items:center; gap: 7px 22px;
  margin: 0; color:var(--legal-secondary); font-size:13px; font-weight:500;
}
body.legal-document-body .legal-meta > span { display:inline-flex; align-items:center; gap:7px }
body.legal-document-body .legal-meta > span::before {
  content:""; display:inline-block; width:6px; height:6px;
  border-radius:50%; background:#d2095b;
}
body.legal-document-body .legal-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px }
body.legal-document-body .legal-action {
  appearance:none; cursor:pointer; display:inline-flex; gap:8px; align-items:center; justify-content:center;
  min-height:44px; padding:10px 17px; border:1px solid #d6dfe9; border-radius:10px;
  background:#fff; color:#1d3044; font:inherit; font-weight:700; font-size:13px; text-decoration:none;
  transition: border-color .16s,background .16s,transform .16s;
}
body.legal-document-body .legal-action:hover { border-color:#d2095b; color:#b0084d; background:#fff6fa; transform:translateY(-1px) }
body.legal-document-body .legal-action-primary { background:#17283b; border-color:#17283b; color:#fff }
body.legal-document-body .legal-action-primary:hover { background:#263e58; border-color:#263e58; color:#fff }
body.legal-document-body .legal-page { background:var(--legal-backdrop); padding:clamp(28px,4vw,54px) 0 80px }
body.legal-document-body .legal-shell {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(245px,292px);
  align-items:start; gap:clamp(18px,2.5vw,34px); max-width:1160px;
}
body.legal-document-body .legal-shell > article {
  background:var(--legal-surface); border:1px solid var(--legal-border); min-width:0;
  border-radius:18px; padding:clamp(25px,4vw,54px);
  box-shadow: 0 8px 34px rgba(25,42,61,.035); overflow-wrap: anywhere;
}
body.legal-document-body .legal-shell > article > h2 {
  scroll-margin-top: 115px; position:relative;
  color:var(--legal-ink); font-size:clamp(19px,2vw,23px);
  line-height:1.36; font-weight:750; letter-spacing:-.025em;
  border-top:1px solid var(--legal-border); padding-top:29px;
  margin: 35px 0 13px;
}
body.legal-document-body .legal-shell > article > h2:first-child {
  border-top:0; margin-top:0; padding-top:0;
}
body.legal-document-body .legal-shell > article p,
body.legal-document-body .legal-shell > article li {
  color:var(--legal-secondary); font-size:15px; line-height:1.9;
  margin: 0 0 17px;
}
body.legal-document-body .legal-shell > article p:last-child { margin-bottom:0 }
body.legal-document-body .legal-shell > article ul,
body.legal-document-body .legal-shell > article ol { padding-left: 22px; margin: 0 0 19px }
body.legal-document-body .legal-side {
  position:sticky; top:112px; display:block; width:100%; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none;
}
body.legal-document-body .legal-aside-card {
  border:1px solid var(--legal-border); background:var(--legal-surface);
  border-radius:16px; padding:23px; margin-bottom:16px;
  box-shadow:0 7px 28px rgba(25,42,61,.035);
}
body.legal-document-body .legal-aside-card h2,
body.legal-document-body .legal-aside-card h3 {
  font-size:13px; letter-spacing:.05em; text-transform:uppercase;
  font-weight:800; color:var(--legal-ink); line-height:1.5; margin:0 0 14px;
}
body.legal-document-body .legal-toc-list { display:grid; gap:3px }
body.legal-document-body .legal-toc-link {
  display:block; padding:8px 10px; border-left:2px solid transparent; border-radius:0 7px 7px 0;
  font-size:13px; line-height:1.48; font-weight:550; text-decoration:none; color:var(--legal-secondary);
}
body.legal-document-body .legal-toc-link:hover,
body.legal-document-body .legal-toc-link[aria-current="location"] {
  color:var(--legal-accent); background:var(--legal-soft-accent); border-left-color:var(--legal-accent);
}
body.legal-document-body .legal-resources-list { display:grid; gap:3px }
body.legal-document-body .legal-resources-list a {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  min-height:38px; padding:9px 10px; font-size:13px; font-weight:650;
  color:var(--legal-secondary); border-radius:8px; text-decoration:none;
}
body.legal-document-body .legal-resources-list a:hover,
body.legal-document-body .legal-resources-list a[aria-current="page"] {
  background:var(--legal-soft-accent); color:var(--legal-accent);
}
body.legal-document-body .legal-help p { font-size:13px; line-height:1.65; color:var(--legal-secondary); margin:0 0 13px }
body.legal-document-body .legal-help a { font-size:13px; font-weight:750; color:var(--legal-accent); text-decoration:none }
body.legal-document-body .legal-help a:hover { text-decoration:underline }
body.legal-document-body :is(a,button):focus-visible { outline:3px solid var(--legal-accent); outline-offset:3px }
html[data-theme="dark"] body.legal-document-body {
  --legal-surface:#0e1d2e; --legal-backdrop:#091523; --legal-border:#2a4055;
  --legal-ink:#f3f6fa; --legal-secondary:#b4c2d0; --legal-soft-accent:#36162a; --legal-accent:#ff6caa;
}
html[data-theme="dark"] body.legal-document-body .page-hero {
  background:linear-gradient(132deg,#0c1b2c,#0c1b2c 70%,#211728);
}
html[data-theme="dark"] body.legal-document-body .page-hero .eyebrow { background:#35172b; border-color:#693450; color:#ffa2cb }
html[data-theme="dark"] body.legal-document-body .legal-action { color:#f2f6fa; background:#14273b; border-color:#38536a }
html[data-theme="dark"] body.legal-document-body .legal-action-primary { background:#bd0d58; border-color:#bd0d58 }
html[data-theme="dark"] body.legal-document-body .legal-action:hover { background:#233951; color:#fff }
@media (max-width: 1100px) {
  body.legal-document-body .legal-shell { grid-template-columns:minmax(0,1fr) 250px }
}
@media (max-width: 880px) {
  body.legal-document-body .legal-shell { grid-template-columns:minmax(0,1fr); gap:18px }
  body.legal-document-body .legal-side { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px }
  body.legal-document-body .legal-aside-card { margin-bottom:0 }
  body.legal-document-body .legal-side .legal-toc-card { grid-column:1 / -1 }
  body.legal-document-body .legal-toc-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px 10px }
}
@media (max-width: 600px) {
  body.legal-document-body .page-hero .container,
  body.legal-document-body .legal-page .container { width:calc(100% - 28px); }
  body.legal-document-body .page-hero { padding:27px 0 36px }
  body.legal-document-body .legal-breadcrumb { margin-bottom:20px }
  body.legal-document-body .page-hero h1 { font-size:clamp(1.95rem,8vw,2.7rem) }
  body.legal-document-body .page-hero .lead { font-size:15px }
  body.legal-document-body .legal-actions { display:grid; grid-template-columns:1fr 1fr }
  body.legal-document-body .legal-action { padding-inline:9px }
  body.legal-document-body .legal-page { padding:20px 0 44px }
  body.legal-document-body .legal-shell > article { padding:23px 20px; border-radius:13px }
  body.legal-document-body .legal-shell > article > h2 { font-size:20px }
  body.legal-document-body .legal-shell > article p { font-size:14.5px; line-height:1.78 }
  body.legal-document-body .legal-side { display:block }
  body.legal-document-body .legal-aside-card { margin-bottom:13px }
  body.legal-document-body .legal-toc-list { grid-template-columns:1fr }
}
@media print {
  body.legal-document-body #siteHeader,
  body.legal-document-body #siteFooter,
  body.legal-document-body .legal-breadcrumb,
  body.legal-document-body .legal-actions,
  body.legal-document-body .legal-side { display:none !important }
  body.legal-document-body .page-hero, body.legal-document-body .legal-page { padding:0!important; background:#fff!important; border:0!important }
  body.legal-document-body .page-hero .container, body.legal-document-body .legal-page .container { width:100%!important; max-width:none!important }
  body.legal-document-body .legal-shell { display:block!important }
  body.legal-document-body .legal-shell > article { border:0!important; box-shadow:none!important; padding:14px 0!important }
  body.legal-document-body .legal-shell > article > h2 { break-after:avoid; page-break-after:avoid }
  body.legal-document-body .page-hero .lead, body.legal-document-body .legal-shell > article p { color:#333!important }
  body.legal-document-body { color:#111!important }
}
