
.legal { padding-block: var(--space-9) var(--space-10); }
@media (max-width: 599px) { .legal { padding-block: var(--space-8) var(--space-9); } }

.legal__inner { max-width: 820px; margin-inline: auto; }

/* --- title block -------------------------------------------------------- */
.legal__head { padding-bottom: var(--space-7); border-bottom: 1px solid var(--color-rule); }
.legal__head h1 { margin-bottom: var(--space-4); }
.legal__standfirst { color: var(--color-text-secondary); max-width: var(--measure); }

.legal__meta {
  margin-top: var(--space-6);
  display: flex; flex-wrap: wrap; gap: var(--space-5) var(--space-7);
}
.legal__meta div { min-width: 0; }
.legal__meta dt {
  font-family: var(--font-mono); font-size: 11.5px; line-height: 1;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--color-text-tertiary); margin-bottom: var(--space-2);
}
.legal__meta dd { margin: 0; font-size: var(--body-sm-size); line-height: var(--body-sm-lh); }

/* --- contents ----------------------------------------------------------- */
.toc { padding-block: var(--space-7); border-bottom: 1px solid var(--color-rule); }
.toc h2 {
  font-family: var(--font-mono); font-weight: 500; font-size: 11.5px; line-height: 1;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-accent);
  margin-bottom: var(--space-4);
}
.toc ol { display: grid; gap: var(--space-2); counter-reset: toc; }
@media (min-width: 768px) { .toc ol { grid-template-columns: 1fr 1fr; gap: var(--space-2) var(--space-7); } }
.toc li {
  counter-increment: toc;
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3);
  font-size: var(--body-sm-size); line-height: var(--body-sm-lh);
}
.toc li::before {
  content: counter(toc, decimal-leading-zero);
  font-family: var(--font-mono); font-size: 12px; color: var(--color-text-tertiary);
  padding-top: 2px;
}
.toc a { color: var(--color-text); text-decoration: none; }
.toc a:hover { color: var(--color-accent); text-decoration: underline; text-underline-offset: 0.2em; }

/* --- the prose ---------------------------------------------------------- */
.legal__body { padding-top: var(--space-8); }

.legal__body > section { padding-top: var(--space-8); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.legal__body > section:first-child { padding-top: 0; }
.legal__body > section + section { border-top: 1px solid var(--color-rule); }

.legal__body h2 { margin-bottom: var(--space-5); }
.legal__body h3 { margin-top: var(--space-6); margin-bottom: var(--space-3); }
.legal__body h2 + h3 { margin-top: 0; }
.legal__body p { max-width: var(--measure); }
.legal__body p + p { margin-top: var(--space-4); }
.legal__body ul.list + p,
.legal__body dl.rows + p,
.legal__body .note + p,
.legal__body .plain + p { margin-top: var(--space-5); }
.legal__body ul.list { margin-top: var(--space-4); display: grid; gap: var(--space-2); max-width: var(--measure); }
.legal__body ul.list li { position: relative; padding-left: calc(6px + var(--space-3)); }
.legal__body ul.list li::before {
  content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px;
  background: var(--color-accent-border); border-radius: 50%;
}
.legal__body ul.list ul.list { margin-top: var(--space-2); }

/* a definition-style pair, used for the price and contact rows */
.legal__body dl.rows { margin: var(--space-5) 0 0; display: grid; gap: var(--space-4); max-width: var(--measure); }
.legal__body dl.rows > div { display: grid; gap: var(--space-1); }
.legal__body dl.rows dt { font-weight: 600; }
.legal__body dl.rows dd { margin: 0; color: var(--color-text-secondary); font-size: var(--body-sm-size); line-height: var(--body-sm-lh); }

/* the one callout treatment — an accent-tinted plate, no shadow, no icon */
.legal__body .note {
  margin-top: var(--space-6); max-width: var(--measure);
  padding: var(--space-5);
  background: var(--color-accent-tint-soft);
  border: 1px solid var(--color-accent-tint);
  border-left: 3px solid var(--color-accent);
  border-radius: var(--radius-sm);
}
.legal__body .note p { max-width: none; }
.legal__body .note strong { color: var(--color-text); }

/* the plain-English gloss that sits under a clause. Editorial, not legal. */
.plain {
  margin-top: var(--space-4); max-width: var(--measure);
  padding-left: var(--space-5); border-left: 2px solid var(--color-grid);
  color: var(--color-text-secondary); font-size: var(--body-sm-size); line-height: var(--body-sm-lh);
}
.plain b {
  display: block; font-family: var(--font-mono); font-weight: 500; font-size: 11px;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-tertiary);
  margin-bottom: var(--space-1);
}

.ph {
  font-family: var(--font-mono); font-size: 0.88em;
  color: var(--color-warning); background: #FDF6E9;
  border: 1px dashed var(--color-warning); border-radius: 3px;
  padding: 0 0.35em;
}
.ph--open {
  display: block; margin-top: var(--space-4);
  max-width: var(--measure); padding: var(--space-4);
  font-family: var(--font-sans); font-size: var(--body-sm-size); line-height: var(--body-sm-lh);
  color: var(--color-warning); background: #FDF6E9;
  border: 1px dashed var(--color-warning); border-radius: var(--radius-sm);
}
.ph--open b {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em;
  text-transform: uppercase; display: block; margin-bottom: var(--space-2);
}

/* --- draft banner ------------------------------------------------------- */
.draft-banner { background: #FDF6E9; border-bottom: 1px solid var(--color-warning); }
.draft-banner p {
  padding-block: var(--space-3); color: var(--color-warning);
  font-size: var(--body-sm-size); line-height: var(--body-sm-lh);
}
.draft-banner b { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; }

/* --- foot of the page: a way to ask, then the other three policies ------- */
.legal__end { margin-top: var(--space-9); padding-top: var(--space-7); border-top: 1px solid var(--color-rule); }
.legal__end h2 { margin-bottom: var(--space-4); }
.legal__end p { color: var(--color-text-secondary); max-width: var(--measure); }
.legal__end .channels { margin-top: var(--space-5); }

.legal__siblings { margin-top: var(--space-8); display: grid; gap: var(--space-3); }
@media (min-width: 768px) { .legal__siblings { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.legal__siblings a {
  display: block; padding: var(--space-4) var(--space-5);
  background: var(--color-surface); border: 1px solid var(--color-rule);
  border-radius: var(--radius-sm); text-decoration: none; color: var(--color-text);
  font-weight: 600; font-size: var(--body-sm-size); line-height: var(--body-sm-lh);
  transition: border-color var(--motion-micro) var(--ease-out), color var(--motion-micro) var(--ease-out);
}
.legal__siblings a:hover { border-color: var(--color-accent-border); color: var(--color-accent); }
.legal__siblings a span {
  display: block; font-family: var(--font-mono); font-weight: 400; font-size: 11px;
  letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-tertiary);
  margin-bottom: var(--space-2);
}

.header__nav a[aria-current] { font-weight: 400; }
.header__nav a[aria-current]::after { opacity: 0; }

@media print {
  .header, .footer, .toc, .legal__siblings, .legal__end, .skip, .draft-banner { display: none; }
  .legal__body > section { break-inside: avoid-page; }
  .legal { padding-block: 0; }
}

.legal__body ol.list {
  margin-top: var(--space-4); display: grid; gap: var(--space-2);
  max-width: var(--measure); counter-reset: numlist; list-style: none;
}
.legal__body ol.list li {
  position: relative; padding-left: calc(1.6em + var(--space-2));
  counter-increment: numlist;
}
.legal__body ol.list li::before {
  content: counter(numlist) ".";
  position: absolute; left: 0; top: 0;
  font-family: var(--font-mono); font-size: 0.9em; color: var(--color-accent);
}
