.rd-page {
  --rd-paper: #fbfbfa;
  --rd-ink: #161c25;
  --rd-red: #bf1835;
  --rd-muted: #545d66;
  --rd-line: #d9dcdf;
  --rd-space: clamp(36px, 4.8vw, 72px);
  color: var(--rd-ink);
  background: var(--rd-paper);
}
.rd-page :is(h1, h2, p, figure, ol) { margin: 0; }
.rd-page a { color: inherit; text-decoration: none; }
.rd-page :is(a, button):focus-visible,
.photo-viewer button:focus-visible { outline: 3px solid #d5314e; outline-offset: 3px; }
.rd-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  padding-block: 18px;
  color: var(--rd-muted);
  font-size: 12px;
  line-height: 1.6;
}
.rd-breadcrumb span[aria-current] { color: var(--rd-ink); }
.rd-breadcrumb span[aria-hidden] { color: #9aa0a7; }
.rd-breadcrumb a:hover,
.rd-actions .rd-return:hover,
.rd-actions a:not(.rd-contact):hover { color: var(--rd-red); }

.rd-intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(26px, 4.4vw, 75px);
  border-top: 1px solid var(--rd-line);
  padding-block: clamp(22px, 2.4vw, 37px) clamp(29px, 3.2vw, 48px);
}
.rd-heading { min-width: 0; }
.rd-heading h1 {
  font-size: clamp(40px, 3.95vw, 65px);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -.044em;
  text-wrap: balance;
}
.rd-heading .title-part { display: inline-block; }
.rd-heading .rd-lead {
  max-width: 29em;
  margin-top: 18px;
  color: var(--rd-muted);
  font-size: clamp(16px, 1.22vw, 19px);
  line-height: 1.7;
  text-wrap: pretty;
}
.rd-intro-text { display: block; padding-block: clamp(32px, 4vw, 62px); }
.rd-intro-text .rd-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  align-items: end;
  gap: 3vw;
}
.rd-intro-text .rd-lead { padding-bottom: .15em; margin: 0; }
.rd-photo { min-width: 0; max-width: 100%; justify-self: end; }
.rd-photo img { display: block; width: auto; max-width: 100%; max-height: clamp(320px, 29vw, 440px); object-fit: contain; }
.rd-photo figcaption, .exhibit-photo figcaption {
  padding-top: 8px;
  color: var(--rd-muted);
  font-size: 13px;
  line-height: 1.6;
}
.rd-story { border-top: 1px solid var(--rd-line); background: #fff; }
.rd-story-layout {
  display: grid;
  grid-template-columns: clamp(180px, 18%, 240px) minmax(0, 1fr);
  gap: clamp(32px, 5.2vw, 80px);
  padding-block: var(--rd-space);
}
.rd-story-layout.rd-full { display: block; }
.rd-story-layout:has(.rd-actions:only-child) { padding-block: 26px; }
.rd-chapters { min-width: 0; }
.rd-chapters h2 {
  color: var(--rd-ink);
  font-weight: 650;
  font-size: clamp(23px, 2.2vw, 34px);
  line-height: 1.3;
  letter-spacing: -.033em;
  text-wrap: balance;
}
.rd-index nav {
  position: sticky;
  top: 96px;
  max-height: calc(100svh - 120px);
  overflow: auto;
}
.rd-index-links { display: grid; border-top: 1px solid var(--rd-line); }
.rd-index-links a {
  padding: 13px 4px;
  border-bottom: 1px solid var(--rd-line);
  font-size: 14px;
  line-height: 1.45;
  color: var(--rd-muted);
}
.rd-index-links a[aria-current], .rd-index-links a:hover { color: var(--rd-red); }
.rd-index-links a[aria-current] { font-weight: 650; }
.rd-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  margin-top: var(--rd-space);
  padding-top: 24px;
  border-top: 1px solid var(--rd-line);
}
.rd-actions:only-child { border: 0; padding: 0; margin: 0; }
.rd-actions a, .system-links a { display: inline-flex; align-items: center; gap: 14px; min-height: 42px; font-size: 14px; font-weight: 600; }
.rd-actions svg, .system-links svg, .trade-tile svg { width: 19px; height: 19px; flex: none; }
.rd-actions .rd-contact { padding: 0 20px; background: var(--rd-red); color: #fff; }
.rd-actions .rd-contact:hover { background: #9e122b; }
.rd-return { margin-inline-start: auto; }
.rd-return svg { order: -1; transform: rotate(180deg); }
.rd-empty { padding-block: 12vh; }
.rd-empty a { display: inline-block; margin-top: 24px; text-decoration: underline; }
@media (max-width: 820px) {
  .rd-story-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rd-index nav { position: static; max-height: none; }
  .rd-index-links { display: flex; flex-wrap: wrap; gap: 2px 17px; padding-bottom: 12px; border: 0; border-bottom: 1px solid var(--rd-line); }
  .rd-index-links a { border: none; padding: 5px 0; font-size: 13px; }
}
@media (max-width: 680px) {
  .rd-breadcrumb { gap: 4px 7px; padding-block: 14px; font-size: 11px; }
  .rd-intro { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-block: 23px 25px; }
  .rd-heading h1 { font-size: clamp(33px, 8.4vw, 47px); letter-spacing: -.04em; }
  .rd-heading .rd-lead { margin-top: 12px; font-size: 15px; line-height: 1.7; }
  .rd-intro-text { padding-block: 25px 28px; }
  .rd-intro-text .rd-heading { display: block; }
  .rd-photo { justify-self: start; }
  .rd-photo img { max-height: 310px; }
  .rd-actions { gap: 8px 16px; padding-top: 18px; }
  .rd-actions a, .system-links a { font-size: 13px; gap: 7px; }
  .rd-return { margin: 0; }
  .rd-photo figcaption, .exhibit-photo figcaption { font-size: 12px; }
}
