/* ==========================================================================
   ARBITER DEFENSE GROUP / SERVICES SITE
   Legal pages. Long-form document typography for /legal/, loaded after
   stone.css. The document rules below are unchanged from the dark-system
   original; only the tokens they read were re-pointed at the stone palette
   when the shells were re-chromed, so the legal body text renders in the
   site's own ink without a word of it being rewritten.
   ========================================================================== */

:root {
  --ivory: #211d18; /* strongest ink */
  --muted: #464035; /* long-document body */
  --faint: #6e6759; /* meta, notes */
  --line: #d6cdb8; /* hairline */
  --gold: #8e1e2b; /* document links: oxblood chrome on paper */
  --oxblood: #8e1e2b;
  --oxblood-dark: rgba(142, 30, 43, 0.07); /* the draft notice's tint */
  --panel: rgba(142, 30, 43, 0.05); /* hub row hover */
  --serif: 'Cormorant Garamond', 'EB Garamond', serif;
  --sans: 'EB Garamond', Georgia, serif;
}

/* The legal shells carry base.css's .wrap on their document blocks. base.css
   is retired, so the column it used to supply is declared here, sized to the
   stone chrome column. Body markup unchanged. */
.wrap {
  max-width: 56rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* ---------- Document header ---------------------------------------------- */
.legal-hero {
  padding: 56px 0 34px;
  border-bottom: 0.7px solid var(--line);
}
.crumb {
  font-size: 10px; font-weight: bold; letter-spacing: 2.2px;
  color: var(--faint); margin-bottom: 18px;
}
.crumb a { color: var(--gold); text-decoration: none; }
.crumb a:hover { color: var(--ivory); }
.legal-hero h1 {
  font-family: var(--serif); font-weight: 500;
  font-size: clamp(34px, 4.6vw, 52px); line-height: 1.1;
  margin-bottom: 16px;
}
.doc-meta {
  font-size: 10px; font-weight: bold; letter-spacing: 2.2px;
  color: var(--muted); max-width: none;
}
.doc-meta .current { color: var(--gold); }

/* ---------- Draft notice --------------------------------------------------
   Every document on this site is a drafted shell awaiting counsel review.
   The notice is deliberately loud and sits above the document body. */
.draft-notice {
  margin-top: 28px;
  border: 0.7px solid var(--oxblood);
  background: var(--oxblood-dark);
  border-radius: 3px;
  padding: 16px 18px;
}
.draft-notice .draft-label {
  display: block;
  font-size: 10.5px; font-weight: bold; letter-spacing: 2.4px;
  color: var(--ivory); margin-bottom: 8px;
}
.draft-notice p {
  font-size: 13px; line-height: 1.55; color: var(--ivory); max-width: 72ch;
}

/* ---------- Document body ------------------------------------------------- */
.legal-body {
  /* column and gutter come from .wrap so the document body lines up with the
     document header above it */
  padding: 34px 1.5rem 24px;
  font-size: 15px; line-height: 1.75; color: var(--muted);
}
.legal-body h2 {
  font-family: var(--serif); font-weight: 600;
  font-size: clamp(22px, 2.6vw, 28px); line-height: 1.2; color: var(--ivory);
  margin: 48px 0 14px; padding-top: 26px;
  border-top: 0.5px solid var(--line);
}
.legal-body h2:first-child { margin-top: 8px; padding-top: 0; border-top: 0; }
.legal-body h3 {
  font-family: var(--sans); font-weight: bold;
  font-size: 14px; letter-spacing: 0.2px; line-height: 1.4; color: var(--ivory);
  margin: 28px 0 8px;
}
.legal-body p {
  font-size: 15px; line-height: 1.75; color: var(--muted);
  max-width: none; margin-bottom: 15px;
}
.legal-body strong { color: var(--ivory); font-weight: bold; }
.legal-body a {
  color: var(--gold); text-decoration: none;
  border-bottom: 0.7px solid rgba(142, 30, 43, 0.35);
  transition: color .2s ease, border-color .2s ease;
}
.legal-body a:hover { color: var(--ivory); border-bottom-color: var(--ivory); }
.legal-body ul, .legal-body ol {
  margin: 0 0 18px; padding-left: 22px;
}
.legal-body ul { list-style: disc; }
.legal-body ol { list-style: decimal; }
.legal-body li {
  margin-bottom: 9px; color: var(--muted);
}
.legal-body li::marker { color: var(--gold); }
.legal-body .last-updated {
  margin-top: 44px; padding-top: 20px;
  border-top: 0.5px solid var(--line);
  font-size: 12.5px; color: var(--faint);
}

/* ---------- Legal hub ----------------------------------------------------- */
.legal-hub { padding: 34px 1.5rem 24px; }
.hub-group { margin-top: 8px; }
.hub-group > .hub-label {
  display: block; margin-bottom: 12px;
  font-size: 10.5px; font-weight: bold; letter-spacing: 2.4px;
  color: var(--oxblood);
}
.hub-list { border-top: 0.5px solid var(--line); }
.hub-item {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 26px; padding: 20px 4px;
  border-bottom: 0.5px solid var(--line);
  text-decoration: none;
  transition: background .2s ease;
}
.hub-item:hover { background: var(--panel); }
.hub-item .t {
  font-family: var(--serif); font-weight: 600; font-size: 21px; line-height: 1.25;
  color: var(--ivory);
}
.hub-item .m {
  font-size: 10px; font-weight: bold; letter-spacing: 2px;
  color: var(--faint); white-space: nowrap;
}
.hub-item .m .draft-flag { color: var(--oxblood); }
.hub-note {
  margin-top: 36px; font-size: 13px; line-height: 1.7; color: var(--faint);
}

@media (max-width: 640px) {
  .legal-hero { padding-top: 44px; }
  .legal-body { font-size: 14.5px; }
  .legal-body p { font-size: 14.5px; }
  .hub-item { flex-direction: column; gap: 7px; }
}

/* ---------- Print: legal documents get read on paper ---------------------- */
@media print {
  body { background: #fff; color: #111; padding-top: 0; }
  .masthead-static, .menu, footer, .skip-link, .crumb { display: none; }
  .legal-hero { padding: 0 0 16px; border-bottom-color: #ccc; }
  .legal-hero h1 { color: #000; }
  .doc-meta { color: #333; }
  .draft-notice {
    background: #fff; border-color: #111; color: #111;
  }
  .draft-notice .draft-label, .draft-notice p { color: #111; }
  .legal-body { max-width: none; color: #111; padding: 18px 0 0; }
  .legal-body h2, .legal-body h3, .legal-body strong { color: #000; border-top-color: #ccc; }
  .legal-body p, .legal-body li { color: #111; }
  .legal-body a { color: #111; border-bottom: 0; }
  .legal-body .last-updated { color: #333; border-top-color: #ccc; }
  .hub-item .t { color: #000; }
  .hub-item .m, .hub-note { color: #333; }
}
