.senate-document-desk {
  padding-block: 38px 52px;
}

.senate-document-desk__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
  gap: clamp(32px, 5vw, 70px);
  padding: clamp(26px, 3.5vw, 48px);
  color: #efeee8;
  background: #161918;
  border: 1px solid #383b37;
  border-block-start: 3px solid #c91b15;
}

.senate-document-desk__copy,
.senate-document-desk__viewer,
.senate-document-desk__thumbnails {
  min-width: 0;
}

.senate-document-desk__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: #bbb9ad;
  font-size: 12px;
  font-weight: 700;
}

.senate-document-desk__eyebrow > span {
  font: 700 11px/1.2 'Heebo', Arial, sans-serif;
  letter-spacing: .06em;
  color: #c91b15;
}

.senate-document-desk__copy h2 {
  margin: 0;
  color: #f4f0e5;
  font-family: 'Heebo', Arial, sans-serif;
  font-size: clamp(36px, 3.9vw, 54px);
  font-weight: 900;
  line-height: 1.13;
  letter-spacing: -.045em;
}

.senate-document-desk__copy h2 > span {
  display: inline-block;
  color: #c91b15;
  letter-spacing: -.045em;
}

.senate-document-desk__description {
  max-width: 480px;
  margin: 20px 0 0;
  color: #cccac0;
  font-size: 16px;
  line-height: 1.85;
}

.senate-document-desk__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 24px;
  margin: 25px 0 27px;
  padding: 18px 0;
  border-block: 1px solid #383b37;
}

.senate-document-desk__facts dt {
  margin-bottom: 6px;
  color: #979b90;
  font-size: 10px;
  line-height: 1.4;
}

.senate-document-desk__facts dd {
  margin: 0;
  color: #e1e0d5;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
}

.senate-document-desk__open {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  width: 100%;
  max-width: 420px;
  min-height: 76px;
  padding: 17px 22px;
  border: 1px solid #c91b15;
  background: #c91b15;
  color: #e25450;
  text-decoration: none;
  font-family: 'Heebo', Arial, sans-serif;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.25;
  transition: background .18s ease, border-color .18s ease;
}

.senate-document-desk__open small {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  font-weight: 500;
  color: #e25450;
}

.senate-document-desk__open svg {
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
}

.senate-document-desk__open:hover {
  color: #fff;
  background: #c91b15;
  border-color: #e25450;
}

.senate-document-desk__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 19px;
  font-size: 12px;
  line-height: 1.6;
}

.senate-document-desk__links a {
  color: #e2ded2;
  text-decoration: none;
  border-bottom: 1px solid #65675e;
  padding-bottom: 3px;
}

.senate-document-desk__links a:hover,
.senate-document-desk__source a:hover {
  color: #fff;
  border-color: #c91b15;
}

.senate-document-desk__source {
  max-width: 440px;
  margin-top: 20px;
  color: #959b90;
  font-size: 10px;
  line-height: 1.8;
}

.senate-document-desk__source a {
  color: #b6b9ae;
  text-underline-offset: 3px;
}

.senate-document-desk__viewer {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  width: 100%;
  max-width: 470px;
  margin-inline: auto;
}

.senate-document-desk__page {
  display: block;
  min-width: 0;
  color: #e7e4d9;
  text-decoration: none;
}

.senate-document-desk__paper {
  display: block;
  background: #f4f4f0;
  border: 1px solid #7a7b71;
  transition: border-color .18s ease;
}

.senate-document-desk__paper img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  aspect-ratio: 1408 / 1822;
  object-fit: contain;
  object-position: center;
  filter: none;
  transform: none;
}

.senate-document-desk__page:hover .senate-document-desk__paper {
  border-color: #c91b15;
}

.senate-document-desk__caption {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-top: 9px;
  line-height: 1.55;
}

.senate-document-desk__caption b {
  color: #e7e4d9;
  font-size: 11px;
  font-weight: 700;
}

.senate-document-desk__caption > span {
  color: #a7ac9f;
  font-size: 10px;
}

.senate-document-desk__thumbnails {
  display: grid;
  gap: 19px;
}

@media (max-width: 1100px) and (min-width: 821px) {
  .senate-document-desk__panel { gap: 30px; padding: 29px; }
  .senate-document-desk__viewer { gap: 12px; }
  .senate-document-desk__facts { gap: 15px 19px; }
  .senate-document-desk__open { font-size: 19px; }
}

@media (max-width: 820px) {
  .senate-document-desk__panel {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 32px;
  }
  .senate-document-desk__copy h2 { font-size: 46px; }
  .senate-document-desk__description { max-width: 580px; }
  .senate-document-desk__viewer { max-width: 480px; }
}

@media (max-width: 520px) {
  .senate-document-desk { padding-block: 28px 38px; }
  .senate-document-desk__panel { padding: 24px 19px; gap: 29px; }
  .senate-document-desk__eyebrow { margin-bottom: 16px; font-size: 11px; }
  .senate-document-desk__copy h2 { font-size: 36px; }
  .senate-document-desk__description { margin-top: 16px; font-size: 14px; }
  .senate-document-desk__facts { margin-block: 20px; gap: 16px 22px; padding-block: 15px; }
  .senate-document-desk__facts dd { font-size: 10px; }
  .senate-document-desk__open { min-height: 72px; padding: 16px; font-size: 19px; gap: 15px; }
  .senate-document-desk__links { gap: 13px 20px; font-size: 11px; }
  .senate-document-desk__viewer { gap: 13px; }
  .senate-document-desk__caption b { font-size: 10px; }
  .senate-document-desk__caption > span { font-size: 9px; }
  .senate-document-desk__thumbnails { gap: 16px; }
}

@media (max-width: 360px) {
  .senate-document-desk__panel { padding-inline: 15px; }
  .senate-document-desk__copy h2 { font-size: 32px; }
  .senate-document-desk__open { font-size: 17px; }
  .senate-document-desk__facts { gap: 16px; }
  .senate-document-desk__viewer { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .senate-document-desk__open, .senate-document-desk__paper { transition: none; }
}

@media print {
  .senate-document-desk__panel { display: block; color: #111; background: #fff; border: 1px solid #bbb; padding: 20px; }
  .senate-document-desk__viewer, .senate-document-desk__open, .senate-document-desk__links { display: none; }
  .senate-document-desk__copy h2, .senate-document-desk__copy h2 > span,
  .senate-document-desk__description, .senate-document-desk__facts dt,
  .senate-document-desk__facts dd, .senate-document-desk__source,
  .senate-document-desk__source a, .senate-document-desk__eyebrow { color: #111; }
}
