:root {
  color-scheme: dark;
  --rch-orange: #F78628;
  --rch-bg: #050505;
  --rch-panel: #111111;
  --rch-line: rgba(255, 255, 255, 0.14);
  --rch-text: #ffffff;
  --rch-muted: rgba(255, 255, 255, 0.68);
  --rch-draft: #ffcc66;
  font-family: Poppins, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--rch-bg);
  color: var(--rch-text);
}

* { box-sizing: border-box; }

body {
  min-width: 280px;
  margin: 0;
  background:
    radial-gradient(circle at 10% 0%, rgba(247, 134, 40, 0.13), transparent 32rem),
    #050505;
  color: var(--rch-text);
}

.rch-legal-draft-banner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 18px;
  flex-wrap: wrap;
  padding: 13px 20px;
  border-bottom: 1px solid rgba(255, 204, 102, 0.5);
  background: #2a1b05;
  color: #fff0c7;
  text-align: center;
}

.rch-legal-draft-banner strong {
  color: var(--rch-draft);
  font-size: 0.85rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.rch-legal-draft-banner span { font-size: 0.8rem; line-height: 1.5; }

.rch-legal-header {
  display: flex;
  width: min(calc(100% - 36px), 1120px);
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin: 0 auto;
  padding: 26px 0;
}

.rch-legal-brand { display: inline-flex; width: min(230px, 60vw); }
.rch-legal-brand img { display: block; width: 100%; height: auto; }

.rch-legal-language {
  display: inline-flex;
  gap: 5px;
  padding: 4px;
  border: 1px solid var(--rch-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
}

.rch-legal-language a {
  display: grid;
  min-width: 40px;
  min-height: 34px;
  place-items: center;
  border-radius: 999px;
  color: var(--rch-muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-decoration: none;
}

.rch-legal-language a[aria-current='page'] { background: var(--rch-orange); color: #050505; }

.rch-legal-shell {
  width: min(calc(100% - 36px), 960px);
  margin: 0 auto;
  padding: 28px 0 80px;
}

.rch-legal-document {
  padding: clamp(26px, 6vw, 70px);
  border: 1px solid var(--rch-line);
  border-radius: 22px;
  background:
    linear-gradient(150deg, rgba(247, 134, 40, 0.07), transparent 18rem),
    var(--rch-panel);
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.36);
}

.rch-legal-eyebrow {
  margin: 0 0 13px;
  color: var(--rch-orange);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.rch-legal-document h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.1rem, 6vw, 4rem);
  font-weight: 850;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.rch-legal-intro {
  max-width: 760px;
  margin: 23px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: clamp(0.98rem, 2vw, 1.1rem);
  line-height: 1.75;
}

.rch-legal-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 32px 0 0;
}

.rch-legal-meta > div {
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--rch-line);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.03);
}

.rch-legal-meta dt { color: var(--rch-muted); font-size: 0.72rem; font-weight: 650; }
.rch-legal-meta dd { margin: 7px 0 0; color: #fff; font-size: 0.84rem; font-weight: 750; overflow-wrap: anywhere; }
.rch-legal-meta code { color: var(--rch-draft); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.78rem; }

.rch-legal-print-hint {
  margin: 18px 0 0;
  color: var(--rch-muted);
  font-size: 0.75rem;
  line-height: 1.55;
}

.rch-legal-section {
  padding-top: 34px;
  margin-top: 34px;
  border-top: 1px solid var(--rch-line);
}

.rch-legal-section h2 {
  margin: 0 0 15px;
  color: #fff;
  font-size: clamp(1.15rem, 2.8vw, 1.55rem);
  line-height: 1.3;
}

.rch-legal-section p {
  margin: 11px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.93rem;
  line-height: 1.78;
}

.rch-legal-final-warning {
  margin-top: 42px;
  padding: 18px;
  border: 1px solid rgba(255, 204, 102, 0.42);
  border-radius: 12px;
  background: rgba(255, 204, 102, 0.07);
  color: #ffe8b0;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.65;
}

.rch-legal-related {
  display: flex;
  justify-content: center;
  gap: 10px 22px;
  flex-wrap: wrap;
  padding: 30px 0 0;
}

.rch-legal-related a {
  color: var(--rch-orange);
  font-size: 0.82rem;
  font-weight: 700;
  text-underline-offset: 3px;
}

.rch-legal-language a:focus-visible,
.rch-legal-brand:focus-visible,
.rch-legal-related a:focus-visible {
  outline: 3px solid var(--rch-orange);
  outline-offset: 4px;
}

@media (max-width: 620px) {
  .rch-legal-header { align-items: flex-start; }
  .rch-legal-meta { grid-template-columns: 1fr; }
  .rch-legal-document { border-radius: 15px; }
}

@media print {
  @page { size: A4; margin: 17mm 16mm 18mm; }

  :root { color-scheme: light; background: #fff; color: #111; }
  body { background: #fff; color: #111; font-family: Arial, Helvetica, sans-serif; }
  .rch-legal-header { width: 100%; padding: 0 0 10mm; }
  .rch-legal-brand { width: 52mm; filter: invert(1); }
  .rch-legal-language, .rch-legal-related, .rch-legal-print-hint { display: none !important; }
  .rch-legal-draft-banner {
    margin: 0 0 8mm;
    padding: 4mm;
    border: 1.2pt solid #8a5300;
    background: #fff4d8;
    color: #442800;
  }
  .rch-legal-draft-banner strong { color: #7a4300; }
  .rch-legal-shell { width: 100%; margin: 0; padding: 0; }
  .rch-legal-document { padding: 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
  .rch-legal-eyebrow { color: #a44800; }
  .rch-legal-document h1, .rch-legal-section h2 { color: #111; }
  .rch-legal-document h1 { font-size: 26pt; }
  .rch-legal-intro, .rch-legal-section p { color: #2d2d2d; }
  .rch-legal-meta > div { border-color: #bbb; background: #fafafa; }
  .rch-legal-meta dt { color: #555; }
  .rch-legal-meta dd { color: #111; }
  .rch-legal-meta code { color: #7a4300; }
  .rch-legal-section { break-inside: avoid; border-top-color: #ccc; }
  .rch-legal-section h2 { break-after: avoid; }
  .rch-legal-final-warning { break-inside: avoid; border-color: #8a5300; background: #fff4d8; color: #442800; }
}
