:root {
  --download-blue:#006eff;
  --download-ink:#15181c;
  --download-muted:#5f6872;
  --download-line:#d9dde1;
  --download-soft:#f5f6f7;
}

.downloads-page {
  color:var(--download-ink);
  background:#fff;
}

.downloads-page .brand-wordmark {
  width:50px;
  height:50px;
  overflow:visible;
}

.downloads-page .brand-wordmark img {
  width:50px;
  height:50px;
  object-fit:contain;
}

.downloads-page .footer-brand,
.downloads-page .footer-brand img {
  width:64px;
  height:64px;
  object-fit:contain;
}

.download-wide {
  width:min(1160px,calc(100% - 48px));
  margin:0 auto;
}

.download-page-header {
  padding:30px 0 28px;
  border-bottom:1px solid var(--download-line);
  background:var(--download-soft);
}

.download-breadcrumbs {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 19px;
  color:#737b83;
  font-size:12px;
}

.download-breadcrumbs a {
  color:#4e5963;
}

.download-breadcrumbs a:hover {
  color:var(--download-blue);
}

.download-heading-row {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
}

.download-heading-row h1 {
  margin:0;
  font-size:clamp(32px,3.6vw,44px);
  font-weight:620;
  letter-spacing:-.035em;
  line-height:1.05;
}

.download-heading-row > div > p {
  margin:11px 0 0;
  color:var(--download-muted);
  font-size:15px;
  line-height:1.55;
}

.download-updated {
  flex:0 0 auto;
  margin:0 0 3px;
  color:#6b737b;
  font-size:12px;
  white-space:nowrap;
}

.download-updated strong {
  margin-left:5px;
  color:#2f353b;
  font-weight:650;
}

.download-catalog {
  padding:28px 0 46px;
  background:#fff;
  scroll-margin-top:72px;
}

.download-group {
  scroll-margin-top:72px;
}

.download-group + .download-group {
  margin-top:31px;
}

.download-group-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  padding:0 0 9px;
  border-bottom:2px solid #252a2f;
}

.download-group-heading h2 {
  margin:0;
  font-size:22px;
  font-weight:650;
  letter-spacing:-.015em;
}

.download-group-heading p {
  margin:0;
  color:#68717a;
  font-size:12px;
}

.download-subgroup {
  margin-top:13px;
  scroll-margin-top:84px;
}

.download-subgroup + .download-subgroup {
  margin-top:15px;
}

.download-subgroup-heading {
  margin:0;
  padding:8px 11px;
  border-bottom:1px solid var(--download-line);
  background:var(--download-soft);
  color:#434b53;
  font-size:12px;
  font-weight:700;
  letter-spacing:.025em;
  line-height:1.35;
}

.download-row {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(235px,.68fr) minmax(205px,.48fr);
  align-items:center;
  gap:28px;
  padding:19px 0 20px;
  border-bottom:1px solid var(--download-line);
  scroll-margin-top:84px;
}

.download-row-main,
.download-row-actions {
  min-width:0;
}

.download-row-main h3,
.download-row-main h4 {
  margin:0;
  font-size:20px;
  font-weight:650;
  letter-spacing:-.012em;
  line-height:1.25;
}

.download-title-link {
  color:inherit;
}

.download-title-link:hover {
  color:#075ebf;
}

.download-row-main > p {
  max-width:610px;
  margin:7px 0 0;
  color:var(--download-muted);
  font-size:13px;
  line-height:1.55;
}

.download-row-main .download-products {
  margin-top:8px;
  color:#48515a;
  font-size:12px;
}

.download-products strong {
  margin-right:7px;
  color:#23292f;
  font-weight:650;
}

.download-detail-link {
  display:inline-block;
  margin-top:8px;
  color:#075ebf;
  font-size:12px;
  font-weight:700;
}

.download-detail-link:hover {
  color:#004d9d;
}

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

.download-row-meta > div:last-child {
  grid-column:1 / -1;
}

.download-row-meta dt {
  color:#747d85;
  font-size:10px;
  font-weight:700;
  letter-spacing:.065em;
  line-height:1.25;
  text-transform:uppercase;
}

.download-row-meta dd {
  margin:4px 0 0;
  color:#252b31;
  font-size:12px;
  font-weight:600;
  line-height:1.35;
}

.download-row-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
}

.download-action {
  display:inline-flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 12px;
  color:#fff;
  border:1px solid var(--download-blue);
  background:var(--download-blue);
  font-size:12px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

.download-action:hover {
  color:#fff;
  border-color:#0058cc;
  background:#0058cc;
}

.download-action.is-secondary {
  color:#075ebf;
  border-color:#aeb8c2;
  background:#fff;
}

.download-action.is-secondary:hover {
  color:#075ebf;
  border-color:#798895;
  background:#f7f8f9;
}

.download-checksums {
  flex:0 0 100%;
  margin-top:1px;
  color:#68727b;
  font-size:11px;
}

.download-checksums summary {
  width:max-content;
  max-width:100%;
  padding:3px 0;
  cursor:pointer;
  color:#606a73;
  font-size:11px;
  line-height:1.4;
}

.download-checksums summary:hover {
  color:var(--download-blue);
}

.download-checksums p {
  margin:7px 0 0;
  line-height:1.45;
}

.download-checksums strong {
  display:block;
  margin-bottom:3px;
  color:#434b52;
  font-weight:650;
}

.download-checksums code {
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  color:#555f68;
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:9px;
}

.download-support {
  padding:20px 0;
  border-top:1px solid var(--download-line);
  border-bottom:1px solid var(--download-line);
  background:var(--download-soft);
}

.download-support-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}

.download-support h2 {
  margin:0;
  font-size:17px;
  font-weight:650;
}

.download-support p {
  margin:5px 0 0;
  color:var(--download-muted);
  font-size:12px;
  line-height:1.5;
}

.download-support a {
  flex:0 0 auto;
  color:#075ebf;
  font-size:12px;
  font-weight:700;
}

.download-support a:hover {
  color:#004d9d;
}

.download-action:focus-visible,
.download-checksums summary:focus-visible,
.download-support a:focus-visible,
.download-breadcrumbs a:focus-visible,
.download-title-link:focus-visible,
.download-detail-link:focus-visible {
  outline:2px solid var(--download-blue);
  outline-offset:3px;
}

.control-detail {
  padding:26px 0 44px;
}

.control-release-bar {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:0 0 18px;
  border-bottom:1px solid var(--download-line);
}

.control-release-bar h2 {
  margin:0;
  font-size:19px;
  font-weight:650;
  letter-spacing:-.012em;
}

.control-release-bar p {
  margin:6px 0 0;
  color:var(--download-muted);
  font-size:12px;
  line-height:1.5;
}

.control-release-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}

.control-release-actions .download-checksums {
  text-align:right;
}

.control-release-actions .download-checksums summary {
  margin-left:auto;
}

.control-screenshot {
  width:min(100%,1000px);
  margin:24px auto 0;
}

.control-screenshot img {
  display:block;
  width:100%;
  height:auto;
  border:1px solid #cfd4d9;
  background:#fff;
  object-fit:contain;
}

.control-screenshot figcaption {
  margin-top:7px;
  color:#747d85;
  font-size:11px;
  line-height:1.45;
  text-align:center;
}

.control-feature-section {
  margin-top:29px;
}

.control-feature-section > h2 {
  margin:0 0 8px;
  font-size:20px;
  font-weight:650;
  letter-spacing:-.012em;
}

.control-feature-row {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:24px;
  padding:13px 0;
  border-top:1px solid var(--download-line);
}

.control-feature-row:last-child {
  border-bottom:1px solid var(--download-line);
}

.control-feature-row h3 {
  margin:0;
  color:#252b31;
  font-size:14px;
  font-weight:650;
  line-height:1.45;
}

.control-feature-row p {
  margin:0;
  color:var(--download-muted);
  font-size:13px;
  line-height:1.58;
}

.control-note {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:24px;
  margin-top:18px;
  padding:14px 16px;
  border-left:3px solid var(--download-blue);
  background:var(--download-soft);
}

.control-note h2,
.control-note p {
  margin:0;
}

.control-note h2 {
  font-size:14px;
  font-weight:650;
  line-height:1.45;
}

.control-note p {
  color:var(--download-muted);
  font-size:13px;
  line-height:1.58;
}

.control-compatibility {
  margin-top:18px;
  color:#48515a;
  font-size:12px;
  line-height:1.55;
}

.control-compatibility strong {
  margin-right:7px;
  color:#23292f;
}

@media (max-width:900px) {
  .download-wide {
    width:min(100% - 34px,1160px);
  }

  .download-row {
    grid-template-columns:minmax(0,1fr) minmax(210px,.45fr);
    gap:17px 28px;
  }

  .download-row-main {
    grid-column:1 / -1;
  }

  .download-row-meta {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .download-row-meta > div:last-child {
    grid-column:auto;
  }

  .download-row-actions {
    justify-content:flex-end;
  }
}

@media (max-width:620px) {
  .download-wide {
    width:min(100% - 26px,1160px);
  }

  .download-page-header {
    padding:24px 0 22px;
  }

  .download-breadcrumbs {
    margin-bottom:15px;
  }

  .download-heading-row {
    align-items:flex-start;
    flex-direction:column;
    gap:13px;
  }

  .download-heading-row h1 {
    font-size:32px;
  }

  .download-heading-row > div > p {
    margin-top:8px;
    font-size:12px;
  }

  .download-updated {
    margin:0;
  }

  .download-catalog {
    padding:23px 0 34px;
  }

  .download-group + .download-group {
    margin-top:26px;
  }

  .download-group-heading h2 {
    font-size:18px;
  }

  .download-row {
    grid-template-columns:1fr;
    gap:14px;
    padding:18px 0;
  }

  .download-subgroup-heading {
    padding:8px 10px;
  }

  .download-row-main {
    grid-column:auto;
  }

  .download-row-meta {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
  }

  .download-row-actions {
    justify-content:flex-start;
  }

  .download-action {
    min-height:42px;
    padding:10px 13px;
  }

  .download-support-inner {
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .control-detail {
    padding:22px 0 34px;
  }

  .control-release-bar,
  .control-feature-row,
  .control-note {
    grid-template-columns:1fr;
  }

  .control-release-bar {
    align-items:start;
    gap:14px;
  }

  .control-release-actions {
    justify-content:flex-start;
  }

  .control-release-actions .download-checksums {
    text-align:left;
  }

  .control-release-actions .download-checksums summary {
    margin-left:0;
  }

  .control-screenshot {
    margin-top:19px;
  }

  .control-feature-row,
  .control-note {
    gap:5px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .download-action {
    transition:none;
  }
}
