/*
 * The privacy policies and the technology requirements page.
 * A list of the sections on the left that stays in view, the text in cards
 * on the right. Uses the site's colours, so it follows the light and dark
 * themes.
 */

.rt-legalhead { padding-block: var(--rt-s7) var(--rt-s6); }
.rt-legalhead__crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: var(--rt-s4);
  font-size: var(--rt-t-xs);
  color: var(--rt-text-dim);
}
[data-rt] .rt-legalhead__crumbs a { color: var(--rt-text-dim); text-decoration: none; }
[data-rt] .rt-legalhead__crumbs a:hover { color: var(--rt-gold); }
.rt-legalhead__crumbs [aria-current="page"] { color: var(--rt-text); font-weight: 500; }
.rt-legalhead .rt-pagehead__title { margin-block: var(--rt-s2) var(--rt-s3); }
.rt-legalhead__date {
  margin: 0;
  font-family: var(--rt-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rt-text-dim);
}
.rt-legalhead__date i { color: var(--rt-gold); margin-inline-end: 0.3rem; }

.rt-legal {
  display: grid;
  grid-template-columns: 16rem minmax(0, 1fr);
  gap: var(--rt-s7);
  align-items: start;
  max-width: 72rem;
}
@media (max-width: 62rem) {
  .rt-legal { grid-template-columns: minmax(0, 1fr); gap: var(--rt-s5); }
}

.rt-legal__toc { position: sticky; top: 96px; display: grid; gap: var(--rt-s4); }
@media (max-width: 62rem) { .rt-legal__toc { position: static; } .rt-legal__related { display: none; } }
.rt-legal__tocbox,
.rt-legal__related {
  padding: var(--rt-s4);
  background: var(--rt-surface);
  border: 1px solid var(--rt-rule-soft);
  border-radius: calc(var(--rt-radius-lg) * 2);
}
.rt-legal__tochead {
  display: block;
  margin-bottom: var(--rt-s2);
  font-family: var(--rt-mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rt-gold);
}
.rt-legal__toc ol,
.rt-legal__toc ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.1rem; }
.rt-legal__toc ol { counter-reset: legal; }
.rt-legal__toc ol li { counter-increment: legal; }
[data-rt] .rt-legal__toc a {
  display: flex;
  gap: 0.5rem;
  padding: 0.32rem 0.45rem;
  border-radius: var(--rt-radius-lg);
  color: var(--rt-text-dim);
  font-size: var(--rt-t-sm);
  line-height: 1.4;
  text-decoration: none;
}
.rt-legal__toc ol a::before {
  content: counter(legal);
  min-width: 1.1rem;
  font-family: var(--rt-mono);
  font-size: 0.7rem;
  color: var(--rt-gold);
  padding-top: 0.1rem;
}
[data-rt] .rt-legal__toc a:hover { color: var(--rt-text); background: var(--rt-ink-3); }

.rt-legal__body { display: grid; gap: var(--rt-s4); min-width: 0; }
.rt-legal__intro,
.rt-legal__section {
  padding: var(--rt-s5) var(--rt-s6);
  background: var(--rt-surface);
  border: 1px solid var(--rt-rule-soft);
  border-radius: calc(var(--rt-radius-lg) * 2.5);
  box-shadow: var(--rt-lift-1);
  scroll-margin-top: 96px;
  color: var(--rt-text);
  font-size: 1.02rem;
  line-height: 1.8;
}
.rt-legal__intro { border-top: 3px solid var(--rt-gold); }
@media (max-width: 40rem) {
  .rt-legal__intro, .rt-legal__section { padding: var(--rt-s4); font-size: 0.98rem; }
}
.rt-legal__body p { margin: 0 0 0.9em; }
.rt-legal__body p:last-child,
.rt-legal__body ul:last-child { margin-bottom: 0; }
[data-rt] .rt-legal__body h2 {
  margin: 0 0 0.6em;
  font-family: var(--rt-display);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--rt-text);
}
[data-rt] .rt-legal__body h3 {
  margin: 1.2em 0 0.35em;
  font-family: var(--rt-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--rt-text);
}
.rt-legal__body ul { margin: 0.3em 0 1em; padding-inline-start: 1.3em; }
.rt-legal__body li { margin: 0.3em 0; }
.rt-legal__body li::marker { color: var(--rt-gold); }
.rt-legal__body strong { font-weight: 700; }
[data-rt] .rt-legal__body a { color: var(--rt-emerald); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.rt-legal__closing { font-family: var(--rt-display); font-style: italic; color: var(--rt-text-dim); }

/* the course table on the technology page */
.rt-legal__tablewrap { overflow-x: auto; margin: 0.4em 0 1em; border: 1px solid var(--rt-rule); border-radius: calc(var(--rt-radius-lg) * 2); }
.rt-legal__table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.rt-legal__table th,
.rt-legal__table td { padding: 0.7rem 1rem; text-align: start; vertical-align: top; border-bottom: 1px solid var(--rt-rule-soft); }
.rt-legal__table th {
  font-family: var(--rt-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rt-gold);
  background: color-mix(in srgb, var(--rt-gold) 7%, transparent);
}
.rt-legal__table tr:last-child td { border-bottom: 0; }
.rt-legal__table td:first-child { font-weight: 600; white-space: nowrap; }
@media (max-width: 40rem) { .rt-legal__table td:first-child { white-space: normal; } }

/* the contact card at the end of a page */
.rt-legal__contact {
  display: grid;
  gap: 0.3rem;
  margin: 0.6em 0 1em;
  padding: var(--rt-s4);
  background: color-mix(in srgb, var(--rt-emerald) 6%, transparent);
  border: 1px solid var(--rt-rule);
  border-radius: calc(var(--rt-radius-lg) * 2);
}
.rt-legal__contact span { display: flex; gap: 0.55rem; align-items: baseline; }
.rt-legal__contact i { width: 1rem; color: var(--rt-gold); }
