/* thehausofsir.com/terms and /privacy (rebuild 2026-09-23). Long reading on the dark ground: the title as a card,
   section heads in the card voice, everything else in the reading face. Built by legal-src/build.py */

.legal { width: 100%; max-width: calc(40rem + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter) 2rem; container-type: inline-size; }
.legal__switch { display: flex; justify-content: center; gap: 1.6rem; margin: 1.5rem 0 0; }
.legal__switch a[aria-current] { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .6em; }
.legal__card { display: grid; place-items: center; text-align: center; min-height: 46svh; padding: clamp(2rem, 8svh, 5rem) 0; }
.legal__card .card-title { font-size: clamp(3.2rem, 19cqi, 10rem); }

.legal h2 {
  display: flex; align-items: baseline; gap: .55em;
  font: 400 clamp(1.45rem, 3.2vw, 2.05rem)/.98 var(--heavy);
  text-transform: uppercase; letter-spacing: -.01em;
  text-shadow: 0 0 1px rgba(228, 227, 223, .45);
  margin: 3.6rem 0 1.1rem; padding-top: 1.5rem; border-top: 1px solid var(--ink-20);
  scroll-margin-top: 1.5rem;
}
.legal__n { color: var(--red); font-variant-numeric: tabular-nums; min-width: 1.4em; }
.legal h3 { font: 500 .72rem/1.4 var(--text); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-60); margin: 2.4rem 0 .9rem; }

.legal p, .legal li { font-size: .95rem; line-height: 1.7; color: var(--ink-80); overflow-wrap: anywhere; }
.legal p { margin: 0 0 1rem; }
.legal strong { font-weight: 600; color: var(--ink); }
.legal code { font: inherit; color: var(--ink); }
.legal a { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.legal a:hover { background: var(--ink); color: var(--ground); text-decoration: none; }
.legal ul, .legal ol { margin: 0 0 1.2rem; display: grid; gap: .5rem; }
.legal ul { list-style: none; }
.legal ul li { position: relative; padding-left: 1.4em; }
.legal ul li::before { content: ""; position: absolute; left: 0; top: .85em; width: .7em; height: 1px; background: var(--ink); }
.legal ol { padding-left: 1.6em; }
.legal hr { border: 0; border-top: 1px solid var(--ink-20); margin: 2.5rem 0 0; }

/* "the short version": what most people read, set a touch larger and brighter */
.legal h3 + ul { gap: .75rem; }
.legal h3 + ul li { font-size: 1.08rem; color: var(--ink); }

@media print {
  .legal p, .legal li, .legal h2, .legal__n { color: #000; }
  .legal__switch { display: none; }
}
