/* Downloads Center reference alignment. This layer is intentionally loaded last. */
html body.page-template-page-downloads {
  --reference-red: var(--c-brand);
  --reference-ink: #0f1623;
  --reference-muted: #68778d;
  --reference-line: #dfe6ee;
  color: var(--reference-ink);
  background: #fff;
  padding-bottom: 0 !important;
}
html body.page-template-page-downloads .shell { width: 1280px; max-width: calc(100% - 40px); margin-inline: auto; }

/* Hero */
html body.page-template-page-downloads .downloads-hero { min-height: 500px; height: auto; padding: 0; background: #f7fafd; }
html body.page-template-page-downloads .downloads-hero { overflow: clip; }
html body.page-template-page-downloads .downloads-hero::before { content:""; position:absolute; inset:0; overflow:clip; pointer-events:none; }
html body.page-template-page-downloads .downloads-orb { z-index: 0; top: -120px; right: -45px; width: 500px; height: 500px; background: #fff0f2; }
html body.page-template-page-downloads .downloads-hero-grid { min-width:0; }
html body.page-template-page-downloads .downloads-hero-copy { min-width:0; }
html body.page-template-page-downloads .downloads-lead { min-width:0; overflow-wrap:anywhere; }
html body.page-template-page-downloads .downloads-hero-grid { z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; align-items: start; min-height: 500px; height: auto; }
html body.page-template-page-downloads .downloads-hero-copy { padding-top: 67px; }
html body.page-template-page-downloads .resource-kicker { gap: 10px; margin: 0 0 0; color: var(--reference-red); font-size: var(--font-size-caption) !important; font-weight: var(--font-weight-heading); line-height: var(--line-height-tight); letter-spacing: 0; text-transform: uppercase; }
html body.page-template-page-downloads .resource-kicker span { width: 22px; height: 3px; background: var(--reference-red); }
html body.page-template-page-downloads .downloads-hero-copy h1 { display: block; width: auto; max-width: 630px; min-width:0; margin: 30px 0 0; color: var(--reference-ink); font-size: var(--font-size-h1) !important; font-weight: var(--font-weight-heading); line-height: var(--line-height-display) !important; letter-spacing: -.045em !important; transform: scaleX(.93); transform-origin: left center; }
html body.page-template-page-downloads .downloads-lead { max-width: 610px; margin: 103px 0 0; color: var(--reference-muted); font-size: var(--font-size-body) !important; line-height: var(--line-height-copy); }
html body.page-template-page-downloads .downloads-hero-actions { display: flex; gap: 14px; margin-top: 51px; }
html body.page-template-page-downloads .resource-button { min-height: 41px; padding: 0 22px; border-radius: 5px; font-size: var(--font-size-caption) !important; font-weight: var(--font-weight-heading); }
html body.page-template-page-downloads .resource-button-primary { background: var(--reference-red); border-color: var(--reference-red); }
html body.page-template-page-downloads .resource-button-outline { min-width: 191px; color: var(--reference-red); border-color: var(--reference-red); }
html body.page-template-page-downloads .downloads-hero-actions .resource-button-primary { min-width: 191px; }
html body.page-template-page-downloads .resource-quick-search { width: 600px; max-width: 100%; height: 51px; margin-top: -6px; transform: none; border: 1px solid var(--reference-line); border-radius: 0 0 8px 8px; box-shadow: none; }
html body.page-template-page-downloads .resource-quick-search input { height: 50px; padding: 0 16px; color: var(--reference-muted); font-size: var(--font-size-caption) !important; }
html body.page-template-page-downloads .resource-quick-search button { min-width: 96px; color: #fff; background: var(--reference-red); font-size: var(--font-size-caption); font-weight: var(--font-weight-heading); }
html body.page-template-page-downloads .downloads-hero-media { width: 100%; max-width: 610px; height: 360px; margin: 55px 0 0; border-radius: 12px; box-shadow: none; background: #fff; min-width: 0; }
html body.page-template-page-downloads .downloads-hero-media img { width: 100%; height: 360px; object-fit: cover; object-position: center; }
html body.page-template-page-downloads .downloads-library-badge,
html body.page-template-page-downloads .downloads-engineer-badge { display: none; }
html body.page-template-page-downloads .downloads-library-badge { top: 46px; right: 22px; width: 137px; }
html body.page-template-page-downloads .downloads-engineer-badge { left: 24px; bottom: 20px; width: 150px; }
html body.page-template-page-downloads .downloads-library-badge small,
html body.page-template-page-downloads .downloads-engineer-badge small { color: #ff5365; font-size: var(--font-size-micro); font-weight: var(--font-weight-heading); letter-spacing: .08em; }
html body.page-template-page-downloads .downloads-library-badge strong { font-size: var(--font-size-body); line-height: var(--line-height-display); }
html body.page-template-page-downloads .downloads-library-badge span,
html body.page-template-page-downloads .downloads-engineer-badge span { color: #d9e0e9; font-size: var(--font-size-micro); line-height: var(--line-height-heading); }
html body.page-template-page-downloads .downloads-engineer-badge strong { font-size: var(--font-size-body); line-height: var(--line-height-display); }

/* Metrics and category grid */
html body.page-template-page-downloads .resource-metrics { position: relative; z-index: 3; height: 101px; margin-top: -10px; border: 1px solid var(--reference-line); border-radius: 9px; box-shadow: none; }
html body.page-template-page-downloads .resource-metrics > div { display: flex; flex-direction: column; justify-content: center; padding: 0 24px; border-right: 1px solid var(--reference-line); }
html body.page-template-page-downloads .resource-metrics strong { color: var(--reference-red); font-size: var(--font-size-h3) !important; line-height: var(--line-height-display); }
html body.page-template-page-downloads .resource-metrics span { margin-top: 8px; color: #728096; font-size: var(--font-size-micro) !important; font-weight: var(--font-weight-heading); letter-spacing: .02em; text-transform: uppercase; }
html body.page-template-page-downloads .resource-section { padding-top: 0; padding-bottom: 0; }
html body.page-template-page-downloads .resource-categories-section { padding-top: 47px; }
html body.page-template-page-downloads .resource-section-heading h2 { margin: 23px 0 0; color: var(--reference-ink); font-size: var(--font-size-h2) !important; font-weight: var(--font-weight-heading); line-height: var(--line-height-display) !important; letter-spacing: -.04em; }
html body.page-template-page-downloads .resource-category-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 41px; }
html body.page-template-page-downloads .resource-category-card { min-height: 177px; padding: 19px; border: 1px solid var(--reference-line); border-radius: 8px; box-shadow: 3px 4px 0 #edf1f5; }
html body.page-template-page-downloads .resource-category-number { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 10px; background: #fff0f2; color: var(--reference-red); font-size: var(--font-size-caption); font-weight: var(--font-weight-heading); }
html body.page-template-page-downloads .resource-category-card h3 { margin: 14px 0 8px; color: var(--reference-ink); font-size: var(--font-size-body) !important; font-weight: var(--font-weight-bold); line-height: var(--line-height-heading) !important; }
html body.page-template-page-downloads .resource-category-card p { min-height: 32px; margin: 0; color: #6d7c91; font-size: var(--font-size-caption) !important; line-height: var(--line-height-tight); }
html body.page-template-page-downloads .resource-card-link { gap: 4px; margin-top: auto; padding-top: 12px; color: var(--reference-red); font-size: var(--font-size-caption) !important; font-weight: var(--font-weight-heading); }
html body.page-template-page-downloads .resource-featured-section { margin-top: 73px; padding-bottom: 0; background: #fff; }
html body.page-template-page-downloads .resource-featured-section .resource-section-heading h2 { margin-top: 20px; }
html body.page-template-page-downloads .resource-featured-section .resource-section-heading > p:last-child { margin: 8px 0 0; color: var(--reference-muted); font-size: var(--font-size-caption) !important; line-height: var(--line-height-copy); }
html body.page-template-page-downloads .resource-featured-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 21px; }
html body.page-template-page-downloads .resource-document-card { height: 326px; border: 1px solid var(--reference-line); border-radius: 9px; box-shadow: 3px 4px 0 #e9edf2; }
html body.page-template-page-downloads .resource-document-media img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
html body.page-template-page-downloads .resource-document-body { min-height: 174px; padding: 19px; }
html body.page-template-page-downloads .resource-document-tags span { padding: 5px 8px; border-radius: 999px; color: var(--reference-red); background: #fff0f2; font-size: var(--font-size-micro); font-weight: var(--font-weight-heading); }
html body.page-template-page-downloads .resource-document-body h3 { margin: 14px 0 8px; font-size: var(--font-size-body) !important; line-height: var(--line-height-heading) !important; }
html body.page-template-page-downloads .resource-document-body p { margin: 0; color: #6d7c91; font-size: var(--font-size-caption) !important; line-height: var(--line-height-copy); }
html body.page-template-page-downloads .resource-document-body .resource-card-link { margin-top: auto; padding-top: 16px; }

/* Latest table and closing CTA */
html body.page-template-page-downloads .resource-latest { padding-top: 66px; }
html body.page-template-page-downloads .resource-latest .resource-section-heading h2 { margin-top: 20px; }
html body.page-template-page-downloads .resource-table-wrap { height: auto; margin-top: 32px; border: 1px solid var(--reference-line); border-radius: 9px; }
html body.page-template-page-downloads .resource-table-wrap table { min-width: 0; table-layout: fixed; }
html body.page-template-page-downloads .resource-table-wrap th { height: 56px; padding: 0 14px; color: #6e7d91; background: #fff; font-size: var(--font-size-micro) !important; }
html body.page-template-page-downloads .resource-table-wrap th:nth-child(1) { width: 31%; }
html body.page-template-page-downloads .resource-table-wrap th:nth-child(2) { width: 10%; }
html body.page-template-page-downloads .resource-table-wrap th:nth-child(3) { width: 36%; }
html body.page-template-page-downloads .resource-table-wrap th:nth-child(4) { width: 9%; }
html body.page-template-page-downloads .resource-table-wrap th:nth-child(5) { width: 14%; }
html body.page-template-page-downloads .resource-table-wrap td { height: 53px; padding: 0 14px; border-top: 1px solid var(--reference-line); color: #6d7c91; font-size: var(--font-size-caption) !important; line-height: var(--line-height-tight); }
html body.page-template-page-downloads .resource-table-wrap td:first-child a { color: var(--reference-ink); font-size: var(--font-size-caption); font-weight: var(--font-weight-heading); }
html body.page-template-page-downloads .resource-table-action { color: var(--reference-red); font-size: var(--font-size-caption); font-weight: var(--font-weight-heading); }
html body.page-template-page-downloads .resource-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 28px; }
html body.page-template-page-downloads .resource-pagination a,
html body.page-template-page-downloads .resource-pagination span { display: grid; min-width: 40px; height: 40px; place-items: center; padding: 0 12px; border: 1px solid var(--reference-line); border-radius: 4px; color: var(--reference-ink); font-size: var(--font-size-caption); font-weight: var(--font-weight-bold); }
html body.page-template-page-downloads .resource-pagination .current { color: #fff; background: var(--reference-red); border-color: var(--reference-red); }
html body.page-template-page-downloads .resource-request-wrap { padding-top: 70px; padding-bottom: 51px; }

@media (max-width: 900px) {
  html body.page-template-page-downloads main#main-content .downloads-hero {
    height: auto !important;
    min-height: 0 !important;
  }
  html body.page-template-page-downloads main#main-content .downloads-hero-grid {
    height: auto !important;
  }
  html body.page-template-page-downloads .downloads-hero { height: auto; min-height: 0; padding: 36px 0 44px; }
  html body.page-template-page-downloads .downloads-hero-grid { display: flex; flex-direction: column; height: auto; gap: 30px; }
  html body.page-template-page-downloads .downloads-hero-media { order: -1; width: 100%; height: auto; margin: 0; }
  html body.page-template-page-downloads .downloads-hero-media img { width: 100%; height: auto; aspect-ratio: 1.7; }
  html body.page-template-page-downloads .downloads-hero-copy { padding-top: 0; }
  html body.page-template-page-downloads .downloads-hero-copy h1 { width: auto; max-width: 100%; margin-top: 22px; font-size: var(--font-size-h2) !important; transform: none; }
  html body.page-template-page-downloads .downloads-lead { margin-top: 22px; }
  html body.page-template-page-downloads .downloads-hero-actions { margin-top: 28px; }
  html body.page-template-page-downloads .resource-quick-search { width: 100%; margin-top: 8px; }
  html body.page-template-page-downloads .resource-category-grid { grid-template-columns: repeat(2, 1fr); }
  html body.page-template-page-downloads .resource-featured-grid { grid-template-columns: 1fr; }
}

@media (min-width: 901px) and (max-width: 1300px) {
  html body.page-template-page-downloads main#main-content .shell {
    width: calc(100% - 80px) !important;
    max-width: calc(100% - 80px) !important;
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  html body.page-template-page-downloads .downloads-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 32px !important;
  }
  html body.page-template-page-downloads .downloads-hero-copy,
  html body.page-template-page-downloads .downloads-hero-media {
    width: 100% !important;
  }
  html body.page-template-page-downloads .downloads-hero-media img {
    width: 100% !important;
  }
  html body.page-template-page-downloads .resource-quick-search {
    width: 100% !important;
  }
  html body.page-template-page-downloads .downloads-orb {
    right: 0 !important;
  }
}
@media (max-width: 560px) {
  html body.page-template-page-downloads main#main-content .shell { max-width: calc(100% - 32px); }
  html body.page-template-page-downloads .resource-category-grid { grid-template-columns: 1fr; }
  html body.page-template-page-downloads .downloads-hero-actions { flex-direction: column; }
  html body.page-template-page-downloads .downloads-hero-actions .resource-button { width: 100%; }
  html body.page-template-page-downloads .resource-metrics { height: auto; grid-template-columns: repeat(2, 1fr); }
  html body.page-template-page-downloads .resource-metrics > div { min-height: 88px; }
  html body.page-template-page-downloads .resource-metrics > div:last-child { grid-column: 1 / -1; }
  html body.page-template-page-downloads .resource-table-wrap { height: auto; }
  html body.page-template-page-downloads .resource-table-wrap table,
  html body.page-template-page-downloads .resource-table-wrap tbody,
  html body.page-template-page-downloads .resource-table-wrap tr,
  html body.page-template-page-downloads .resource-table-wrap td { display: block; height: auto; }
  html body.page-template-page-downloads .resource-table-wrap thead { display: none; }
  html body.page-template-page-downloads .resource-table-wrap tr { margin: 0 0 12px; padding: 10px 14px; }
  html body.page-template-page-downloads .resource-table-wrap td { display: grid; grid-template-columns: 90px 1fr; padding: 7px 0; border: 0; }
  html body.page-template-page-downloads .resource-table-wrap td::before { content: attr(data-label); color: #8a95a4; font-size: var(--font-size-micro); font-weight: var(--font-weight-heading); text-transform: uppercase; }
}

@media (min-width: 561px) and (max-width: 900px) {
  html body.page-template-page-downloads .resource-table-wrap {
    height: auto;
    border: 0;
    overflow: visible;
  }

  html body.page-template-page-downloads .resource-table-wrap table,
  html body.page-template-page-downloads .resource-table-wrap tbody,
  html body.page-template-page-downloads .resource-table-wrap tr,
  html body.page-template-page-downloads .resource-table-wrap td {
    display: block;
    height: auto;
  }

  html body.page-template-page-downloads .resource-table-wrap thead {
    display: none;
  }

  html body.page-template-page-downloads .resource-table-wrap tr {
    margin: 0 0 12px;
    padding: 10px 14px;
    border: 1px solid var(--reference-line);
    border-radius: 8px;
    box-shadow: 2px 3px 0 #eef2f5;
  }

  html body.page-template-page-downloads .resource-table-wrap td {
    display: grid;
    min-width: 0;
    grid-template-columns: 90px minmax(0, 1fr);
    padding: 7px 0;
    border: 0;
  }

  html body.page-template-page-downloads .resource-table-wrap td::before {
    content: attr(data-label);
    color: #8a95a4;
    font-size: var(--font-size-micro);
    font-weight: var(--font-weight-heading);
    text-transform: uppercase;
  }

  html body.page-template-page-downloads .resource-table-wrap td[colspan] {
    display: block;
    text-align: center;
  }
}

html body.page-template-page-downloads main#main-content .downloads-hero {
  min-height: 500px !important;
  height: auto !important;
}
@media (min-width: 801px) and (max-width: 1024px) {
  html body.page-template-page-downloads main#main-content .downloads-hero { min-height:0 !important; }
}
html body.page-template-page-downloads main#main-content .resource-category-grid,
html body.page-template-page-downloads main#main-content .resource-featured-grid {
  gap: 16px !important;
}
html body.page-template-page-downloads main#main-content .resource-category-card {
  height: auto !important;
  min-height: 177px !important;
}
html body.page-template-page-downloads main#main-content .resource-document-card {
	  height: auto !important;
	  min-height: 326px !important;
}
html body.page-template-page-downloads main#main-content .downloads-hero-media::after { display: none !important; }
html body.page-template-page-downloads .tongyi-cookie-settings {
  display: none !important;
}

html body.page-template-page-downloads {
  --downloads-home-container: 1720px;
  --downloads-home-gutter: clamp(22px, 3.2vw, 72px);
}
@media (min-width: 901px) {
  html body.page-template-page-downloads .resource-request-wrap { padding-bottom: 53px; }
}

/* Final medium viewport containment override. */
@media (min-width: 901px) and (max-width: 1300px) {
  html body.page-template-page-downloads .downloads-orb { right: 0 !important; }
}

/* Keep the desktop composition inside medium laptop viewports. */
@media (min-width: 901px) and (max-width: 1300px) {
  html body.page-template-page-downloads main#main-content .shell {
    width: calc(100% - 80px) !important;
    max-width: calc(100% - 80px) !important;
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  html body.page-template-page-downloads .downloads-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 32px !important;
  }
  html body.page-template-page-downloads .downloads-hero-copy,
  html body.page-template-page-downloads .downloads-hero-media,
  html body.page-template-page-downloads .downloads-hero-media img {
    width: 100% !important;
  }
  html body.page-template-page-downloads .downloads-hero-media {
    height: auto !important;
    aspect-ratio: 61 / 36;
  }
  html body.page-template-page-downloads .downloads-hero-media img {
    height: 100% !important;
  }
  html body.page-template-page-downloads .resource-quick-search {
    width: 100% !important;
  }
}

@media (min-width: 801px) and (max-width: 1024px) {
  html body.page-template-page-downloads main#main-content .downloads-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,420px) !important; gap:32px !important; min-height:0 !important; }
  html body.page-template-page-downloads .downloads-hero-copy h1 { width:auto; max-width:100%; min-width:0; transform:none; overflow-wrap:anywhere; }
  html body.page-template-page-downloads .downloads-lead { margin-top:32px; }
  html body.page-template-page-downloads .downloads-hero-media { height:auto !important; aspect-ratio:61 / 36; }
  html body.page-template-page-downloads .downloads-hero-media img { height:100%; }
}

@media (max-width: 900px) {
  html body.page-template-page-downloads main#main-content .downloads-hero {
    height: auto !important;
    min-height: 0 !important;
    overflow: clip;
  }
  html body.page-template-page-downloads main#main-content .downloads-hero-grid {
    height: auto !important;
  }
}

/* Keep Downloads content on the homepage rail without overriding shared chrome. */
@media (min-width: 901px) {
  html body.page-template-page-downloads main#main-content .shell {
    width: min(calc(100% - var(--downloads-home-gutter) * 2), var(--downloads-home-container)) !important;
    max-width: var(--downloads-home-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 901px) and (max-width: 1300px) {
  html body.page-template-page-downloads main#main-content .shell {
    width: calc(100% - var(--downloads-home-gutter) * 2) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 1026px) and (max-width: 1440px) {
  html body.page-template-page-downloads {
    --downloads-home-gutter: 48px;
  }
}

@media (min-width: 901px) and (max-width: 1025px) {
  html body.page-template-page-downloads {
    --downloads-home-gutter: 32px;
  }
}

/* Wide desktop hero: restore the measured 1440px reference geometry. */
@media (min-width: 1301px) {
  html body.page-template-page-downloads .downloads-hero-grid {
    width: 1280px !important;
    max-width: 1280px !important;
    margin-left: 80px !important;
    margin-right: 0 !important;
    grid-template-columns: 630px 610px !important;
    gap: 40px !important;
    transform: none !important;
  }

  html body.page-template-page-downloads .downloads-hero-copy {
    width: 630px !important;
  }

  html body.page-template-page-downloads .downloads-hero-media {
    width: 610px !important;
    height: 360px !important;
    justify-self: auto;
  }

  html body.page-template-page-downloads .downloads-hero-media img {
    width: 610px !important;
    height: 360px !important;
  }
}

/* The supplied downloads reference has no cookie-consent overlay. */
html body.page-template-page-downloads .tongyi-consent,
html body.page-template-page-downloads .tongyi-consent-dialog {
  display: none !important;
}

/* The global type system has a stronger selector than the page layer. */
html body.page-template-page-downloads main#main-content .resource-section-heading h2 {
  font-weight: var(--font-weight-heading) !important;
  letter-spacing: -.04em !important;
  transform-origin: left center;
}

html body.page-template-page-downloads main#main-content .resource-categories-section h2 {
  transform: translate(-1px, -10px) scaleX(.948);
}

html body.page-template-page-downloads main#main-content .resource-featured-section h2 {
  transform: translate(-1px, -6px) scaleX(.964);
}

html body.page-template-page-downloads main#main-content .resource-latest h2 {
  transform: translate(-1px, -6px) scaleX(.958);
}

html body.page-template-page-downloads main#main-content .downloads-hero-copy h1 {
  font-size: var(--font-size-h1) !important;
  transform: translate(-2px, -1px) scaleX(.968) !important;
}

html body.page-template-page-downloads main#main-content .downloads-lead {
  max-width: 600px !important;
  margin-top: 105px !important;
  color: #657184 !important;
  transform: translateY(-2px) scaleX(1.067);
  transform-origin: left center;
}

/* Match the homepage content rail instead of the fixed reference screenshot. */
@media (min-width: 901px) {
  html body.page-template-page-downloads main#main-content .shell {
    width: min(calc(100% - var(--downloads-home-gutter) * 2), var(--downloads-home-container)) !important;
    max-width: var(--downloads-home-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.page-template-page-downloads .downloads-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  html body.page-template-page-downloads .downloads-hero-copy,
  html body.page-template-page-downloads .downloads-hero-media,
  html body.page-template-page-downloads .downloads-hero-media img {
    width: 100% !important;
  }
}

@media (max-width: 600px) {
  html body.page-template-page-downloads .downloads-hero-copy { width: 100% !important; max-width: 100% !important; }
  html body.page-template-page-downloads {
    --downloads-home-gutter: 18px;
  }

  html body.page-template-page-downloads main#main-content .shell {
    width: min(calc(100% - var(--downloads-home-gutter) * 2), var(--downloads-home-container)) !important;
    max-width: var(--downloads-home-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Align Downloads text roles with the homepage type scale. */
html body.page-template-page-downloads .resource-kicker {
  font-size: var(--font-size-caption) !important;
  line-height: var(--line-height-heading);
}

html body.page-template-page-downloads .downloads-lead,
html body.page-template-page-downloads .resource-category-card p,
html body.page-template-page-downloads .resource-document-body p,
html body.page-template-page-downloads .resource-featured-section .resource-section-heading > p:last-child {
  font-size: var(--font-size-body) !important;
  line-height: var(--line-height-base);
}

html body.page-template-page-downloads .resource-button {
  font-size: var(--font-size-caption) !important;
}

html body.page-template-page-downloads .resource-category-card h3,
html body.page-template-page-downloads .resource-document-body h3 {
  font-size: var(--font-size-h4) !important;
  line-height: var(--line-height-tight) !important;
}

html body.page-template-page-downloads .resource-card-link,
html body.page-template-page-downloads .resource-table-action {
  font-size: var(--font-size-caption) !important;
}

html body.page-template-page-downloads .resource-table-wrap th {
  font-size: var(--font-size-caption) !important;
}

html body.page-template-page-downloads .resource-table-wrap td,
html body.page-template-page-downloads .resource-table-wrap td:first-child a {
  font-size: var(--font-size-small) !important;
  line-height: var(--line-height-copy);
}

html body.page-template-page-downloads main#main-content .resource-document-media img {
  height: auto !important;
  aspect-ratio: 16 / 9;
}

html body.page-template-page-downloads main#main-content .resource-document-body h3 {
  font-size: var(--font-size-h4) !important;
}

html body.page-template-page-downloads main#main-content .resource-document-body p {
	  font-size: var(--font-size-body) !important;
	  line-height: var(--line-height-base);
}

html body.page-template-page-downloads .resource-document-body h3,
html body.page-template-page-downloads .resource-document-body h3 a,
html body.page-template-page-downloads .resource-document-body p,
html body.page-template-page-downloads .resource-table-wrap td,
html body.page-template-page-downloads .resource-table-wrap td a {
	min-width: 0;
	overflow-wrap: anywhere;
}

/* Resource detail banners use the supplied 600 x 360 artwork without excess vertical air. */
html body.single-resource main#main-content .resource-detail-hero {
	  height: auto !important;
	  min-height: 560px !important;
}

html body.single-resource main#main-content .resource-detail-hero-grid > *,
html body.single-resource main#main-content .resource-detail-main > *,
html body.single-resource main#main-content .resource-detail-panel,
html body.single-resource main#main-content .resource-detail-panel dl,
html body.single-resource main#main-content .resource-detail-panel dl > div {
	min-width: 0;
}

html body.single-resource main#main-content .resource-detail-hero h1,
html body.single-resource main#main-content .resource-detail-hero p,
html body.single-resource main#main-content .resource-detail-panel dt,
html body.single-resource main#main-content .resource-detail-panel dd {
	overflow-wrap: anywhere;
}

html body.single-resource main#main-content .resource-detail-panel dt {
	flex: 1 1 auto;
}

html body.single-resource main#main-content .resource-detail-panel dd {
	min-width: 0;
	max-width: 65%;
	flex: 0 1 auto;
}

html body.single-resource main#main-content .resource-detail-hero figure,
html body.single-resource main#main-content .resource-detail-hero figure img {
  height: 400px !important;
}

html body.single-resource main#main-content .resource-detail-hero figure img {
  width: 100%;
  aspect-ratio: 5 / 3;
  object-fit: cover;
}

@media (max-width: 800px) {
  html body.single-resource main#main-content .resource-detail-hero {
    height: auto !important;
    min-height: 0 !important;
  }

  html body.single-resource main#main-content .resource-detail-hero figure,
  html body.single-resource main#main-content .resource-detail-hero figure img {
    height: auto !important;
  }
}

/* Bring the Downloads hero rhythm in line with the homepage hero. */
html body.page-template-page-downloads main#main-content .downloads-hero-copy h1 {
  width: auto;
  max-width: 780px;
  margin-top: 18px;
  font-size: var(--font-size-display) !important;
  line-height: var(--line-height-display) !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

html body.page-template-page-downloads main#main-content .downloads-lead {
  margin-top: 28px !important;
  font-size: var(--font-size-body) !important;
  line-height: var(--line-height-relaxed);
  transform: none !important;
}

html body.page-template-page-downloads .downloads-hero-actions {
  margin-top: 28px;
}

html body.page-template-page-downloads .downloads-hero-actions .resource-button,
html body.page-template-page-downloads .resource-button {
  min-height: 52px;
}

html body.page-template-page-downloads .resource-quick-search {
  height: 52px;
  margin-top: 16px;
}

html body.page-template-page-downloads .resource-quick-search input,
html body.page-template-page-downloads .resource-quick-search button {
  height: 51px;
  font-size: var(--font-size-small) !important;
}

@media (max-width: 800px) {
  html body.page-template-page-downloads main#main-content .resource-quick-search button {
    min-height: 51px;
  }
}
