.rmlegal {
  --navy:#172b49;
  --blue:#244a78;
  --gold:#c49330;
  --ink:#29384b;
  --muted:#667488;
  --line:#e4e9f0;
  max-width:1000px;
  margin:0 auto 55px;
  font-family:inherit;
  color:var(--ink);
  font-size:15px;
  line-height:1.8;
}
.rmlegal * {box-sizing:border-box}
.rmlegal a {color:var(--blue);text-decoration:underline}
.rmlegal .hero {
  background:linear-gradient(125deg,#122541,#244a78);
  color:#fff;
  padding:42px 38px;
  border-radius:17px;
  border-bottom:5px solid var(--gold);
  margin-bottom:26px;
}
.rmlegal .hero .eyebrow {
  color:#ead29a;
  font-size:12px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
}
.rmlegal .hero h2 {
  color:white!important;
  font-size:clamp(25px,4vw,34px);
  line-height:1.2;
  margin:14px 0;
  font-weight:750;
}
.rmlegal .hero p {
  color:#e2eaf4;
  font-size:16px;
  line-height:1.7;
  max-width:750px;
  margin:0 0 15px;
}
.rmlegal .hero small {color:#d1dce9}
.rmlegal .features {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin:24px 0;
}
.rmlegal .feature {
  border:1px solid var(--line);
  background:#f8fafc;
  border-radius:12px;
  padding:19px;
}
.rmlegal .feature b {
  display:block;
  color:var(--navy);
  font-size:15px;
  margin-bottom:6px;
}
.rmlegal .feature p {
  margin:0;
  font-size:13px;
  line-height:1.65;
  color:var(--muted);
}
.rmlegal .toc {
  background:#fbfaf7;
  border:1px solid #e9dfc9;
  border-radius:13px;
  padding:24px;
  margin:25px 0;
}
.rmlegal .toc strong {color:var(--navy);font-size:17px}
.rmlegal .toc-links {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}
.rmlegal .toc-links a {
  display:inline-block;
  background:white;
  border:1px solid #e7dfd1;
  border-radius:30px;
  padding:7px 13px;
  font-size:13px;
  text-decoration:none;
}
.rmlegal .section {
  background:white;
  border:1px solid var(--line);
  border-radius:13px;
  padding:27px 30px;
  margin:19px 0;
  scroll-margin-top:90px;
}
.rmlegal .section h2 {
  font-size:22px;
  line-height:1.35;
  color:var(--navy);
  border-bottom:1px solid var(--line);
  padding-bottom:13px;
  margin:0 0 17px;
}
.rmlegal .section h3 {
  font-size:16px;
  color:var(--blue);
  margin:20px 0 9px;
}
.rmlegal .section p {margin:0 0 13px}
.rmlegal .section ul {padding-left:23px;margin:9px 0 16px}
.rmlegal .section li {margin-bottom:7px}
.rmlegal .tag {
  display:inline-block;
  background:#edf3f9;
  color:var(--blue);
  border-radius:6px;
  padding:2px 9px;
  font-weight:700;
  font-size:12px;
}
.rmlegal .note {
  background:#f6f8fb;
  padding:16px 18px;
  border-left:3px solid var(--gold);
  border-radius:7px;
  font-size:14px;
  margin:16px 0;
}
.rmlegal .table-wrap {overflow-x:auto;margin:16px 0}
.rmlegal table {
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  min-width:520px;
}
.rmlegal th {
  background:#172b49;
  color:#fff;
  font-weight:650;
  text-align:left;
}
.rmlegal td,.rmlegal th {
  padding:13px;
  border:1px solid #e1e6ed;
  vertical-align:top;
}
.rmlegal tbody tr:nth-child(even) {background:#f8fafc}
.rmlegal .contact {
  background:#172b49;
  color:white;
  padding:27px 30px;
  border-radius:13px;
  margin-top:24px;
}
.rmlegal .contact h2 {color:white!important;font-size:22px}
.rmlegal .contact p {color:#e2eaf4}
.rmlegal .contact a {color:#f0d58d}
.rmlegal .fineprint {
  font-size:12px;
  color:var(--muted);
  margin-top:20px;
}
@media(max-width:650px) {
  .rmlegal .hero {padding:28px 22px}
  .rmlegal .features {grid-template-columns:1fr}
  .rmlegal .section {padding:23px 19px}
  .rmlegal .toc {padding:20px}
  .rmlegal .contact {padding:24px 20px}
}
