/* Shared styling for AXIOME legal pages. Mirrors the tokens in ../index.html so the
   policy pages read as part of the same site rather than a bolted-on afterthought. */

:root{
  --ink:#0A0A0A; --ink-soft:#1A1A1A; --paper:#FAFAFA;
  --signal:#FF5500; --text-muted:#6B6B6B; --rule:#E2E2E2;
  --serif:'Bodoni Moda', Didot, "Bodoni MT", Georgia, serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Inter',sans-serif; font-weight:300; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--ink); text-underline-offset:3px; }
a:hover{ color:var(--signal); }
:focus-visible{ outline:1px solid var(--signal); outline-offset:4px; }

/* ---------- chrome ---------- */
.topbar{
  position:sticky; top:0; z-index:10;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px; background:rgba(250,250,250,0.92);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--rule);
}
/* Mirrors .monogram in ../index.html exactly — same mark, same box, same metrics. */
.topbar__mark{
  width:32px; height:32px; background:var(--signal);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-style:italic; font-weight:700;
  color:var(--paper); font-size:18px; line-height:1; flex-shrink:0;
}
.topbar__back{ font-family:var(--mono); font-size:10px; letter-spacing:0.15em; text-transform:uppercase; text-decoration:none; }

.wrap{ max-width:760px; margin:0 auto; padding:56px 24px 96px; }

/* ---------- masthead ---------- */
/* matches .panel__eyebrow in ../index.html */
.eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:0.15em;
  text-transform:uppercase; color:var(--signal); margin:0 0 12px;
}
h1{
  font-family:var(--serif); font-weight:600; font-size:clamp(2.2rem,6vw,3.4rem);
  line-height:1.05; margin:0 0 16px; text-transform:uppercase; letter-spacing:-0.01em;
}
.dateline{
  font-family:var(--mono); font-size:11px; letter-spacing:0.1em;
  color:var(--text-muted); margin:0 0 40px;
}
.dateline span{ display:block; }

/* ---------- body ---------- */
h2{
  font-family:'Inter',sans-serif; font-weight:500; font-size:1.05rem;
  letter-spacing:0.01em; margin:48px 0 12px; padding-top:20px;
  border-top:1px solid var(--rule);
}
h2 .num{ font-family:var(--mono); font-size:11px; color:var(--signal); margin-right:10px; letter-spacing:0.1em; }
h3{ font-family:'Inter',sans-serif; font-weight:500; font-size:0.95rem; margin:28px 0 8px; }
p{ margin:0 0 16px; }
ul,ol{ margin:0 0 16px; padding-left:22px; }
li{ margin-bottom:8px; }
strong{ font-weight:500; }

/* ---------- emphasis blocks ---------- */
.callout{
  border-left:2px solid var(--signal); background:#fff;
  padding:18px 22px; margin:24px 0;
}
.callout p:last-child{ margin-bottom:0; }

/* Unresolved items awaiting FUSE or counsel. Visible on purpose during drafting —
   delete .todo rules and every <mark class="todo"> before this goes public. */
mark.todo{
  background:#FFE9DC; color:#7A2B00; font-family:var(--mono); font-size:0.85em;
  padding:1px 5px; border-radius:2px;
}

.toc{ margin:0 0 8px; padding:0; list-style:none; column-count:2; column-gap:32px; }
.toc li{ margin-bottom:6px; font-family:var(--mono); font-size:11px; letter-spacing:0.04em; }
.toc a{ text-decoration:none; color:var(--text-muted); }
.toc a:hover{ color:var(--signal); }

/* ---------- footer ---------- */
.legal-footer{
  border-top:1px solid var(--rule); margin-top:64px; padding-top:24px;
  font-family:var(--mono); font-size:10px; letter-spacing:0.15em;
  text-transform:uppercase; color:var(--text-muted);
  display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between;
}
.legal-footer a{ text-decoration:none; }

@media (max-width:600px){
  .wrap{ padding:36px 20px 72px; }
  .toc{ column-count:1; }
}

@media print{
  .topbar,.toc{ display:none; }
  body{ background:#fff; }
  .wrap{ max-width:none; padding:0; }
  mark.todo{ background:none; border:1px solid #7A2B00; }
}
