.download-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--bg), var(--blue));
  color: var(--text);
}

.download-hero::after {
  content: "";
  position: absolute;
  inset-inline-end: calc(var(--space-5) * -1);
  inset-block-end: calc(var(--space-5) * -1);
  width: calc(var(--space-5) * 5);
  height: calc(var(--space-5) * 5);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  color: var(--text);
  opacity: .35;
}

.download-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: var(--space-5);
  align-items: center;
}

.download-hero-copy {
  max-width: var(--reading-width);
}

.download-lead {
  max-width: var(--reading-width);
  margin-top: var(--space-3);
  margin-bottom: 0;
  color: var(--muted);
  font-size: var(--fs-lead);
  line-height: var(--leading-body);
}

.download-lead strong {
  color: var(--text);
}

.download-guide {
  padding: var(--space-4);
  background: var(--panel);
}

.download-guide-kicker,
.platform-kicker {
  margin-bottom: var(--space-1);
  color: var(--accent);
  font-size: var(--fs-small);
  font-weight: var(--semibold);
  letter-spacing: .06em;
}

.download-guide h2 {
  margin-bottom: var(--space-3);
  font-size: var(--fs-h3);
}

.download-checklist {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: download-step;
}

.download-checklist li {
  display: grid;
  grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr);
  gap: var(--space-2);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--border);
  counter-increment: download-step;
}

.download-checklist li::before {
  content: counter(download-step, decimal-leading-zero);
  grid-column: 1 / -1;
  color: var(--accent);
  font-family: var(--mono);
  font-size: var(--fs-small);
}

.download-checklist li + li {
  margin-top: 0;
}

.download-checklist span {
  color: var(--muted);
  font-size: var(--fs-nav);
}

.download-guide-note {
  margin-top: var(--space-3);
  margin-bottom: 0;
  color: var(--muted);
  font-size: var(--fs-note);
}

.download-tabs {
  max-width: var(--content-width);
  margin-inline: auto;
}

.platform-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.platform-tabs [role="tab"] {
  gap: var(--space-2);
  min-width: 0;
  min-height: calc(var(--space-5) + var(--space-2));
}

.platform-icon,
.platform-heading-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border: 1px solid var(--border);
  border-radius: var(--r-control);
  background: var(--panel);
  color: var(--accent);
}

.platform-icon {
  width: var(--space-4);
  height: var(--space-4);
}

.platform-icon svg {
  width: var(--space-2);
  height: var(--space-2);
}

[role="tab"][aria-selected="true"] .platform-icon {
  border-color: var(--panel);
  background: var(--panel);
  color: var(--accent);
}

.platform-panel {
  max-width: var(--reading-width);
  margin-inline: auto;
  grid-column: 1;
  grid-row: 1;
}

.platform-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  margin-bottom: var(--space-4);
}

.platform-heading-icon {
  width: var(--space-5);
  height: var(--space-5);
}

.platform-heading-icon svg {
  width: var(--space-3);
  height: var(--space-3);
}

.platform-heading h2 {
  margin-bottom: var(--space-2);
}

.platform-heading p:last-child {
  margin-bottom: 0;
  color: var(--muted);
}

.client-card {
  margin-bottom: var(--space-4);
}

.client-card > p {
  color: var(--muted);
}

.package-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(calc(var(--space-5) * 4), .7fr);
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  margin-top: var(--space-3);
  border: 1px solid var(--border);
  border-radius: var(--r-medium);
  background: var(--bg);
  color: var(--text);
}

.package-choice-main {
  background: linear-gradient(135deg, var(--blue), var(--soft));
}

.package-label {
  display: block;
  margin-bottom: var(--space-1);
  color: var(--accent-dark);
  font-size: var(--fs-small);
  font-weight: var(--semibold);
}

.package-choice h4 {
  margin-top: 0;
  margin-bottom: var(--space-1);
}

.package-choice p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: var(--fs-nav);
}

.package-download {
  width: 100%;
  min-height: calc(var(--space-5) + var(--space-1));
}

.android-client-stack {
  display: grid;
  gap: var(--space-4);
}

.linux-primary-packages {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.linux-primary-packages .package-choice {
  grid-template-columns: minmax(0, 1fr);
  align-content: space-between;
}

.arm-package-block {
  padding: var(--space-3);
  margin-top: var(--space-3);
  border: 1px dashed var(--line);
  border-radius: var(--r-medium);
  background: var(--panel);
  color: var(--text);
}

.arm-package-block h4 {
  margin-top: 0;
  margin-bottom: var(--space-1);
}

.arm-package-block p {
  color: var(--muted);
  font-size: var(--fs-nav);
}

.arm-package-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.requirements-block {
  margin-top: var(--space-4);
}

.requirements-block h3 {
  font-size: var(--fs-title);
}

.download-boundaries {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.boundary-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--border);
  border-radius: var(--r-card);
  background: var(--panel);
  color: var(--text);
}

.boundary-index {
  color: var(--accent);
  font-family: var(--mono);
  font-size: var(--fs-note);
  font-weight: var(--semibold);
}

.boundary-item h3 {
  font-size: var(--fs-title);
}

.boundary-item p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: var(--fs-nav);
}

.selection-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.selection-card h3 {
  font-size: var(--fs-title);
}

.selection-card p {
  color: var(--muted);
}

.selection-note {
  padding-top: var(--space-2);
  border-top: 1px solid var(--border);
  font-size: var(--fs-note);
}

.faq-list {
  display: grid;
  gap: var(--space-2);
}

.faq-list .faq-item + .faq-item {
  margin-top: 0;
}

.download-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4);
  margin-top: var(--space-5);
  border: 1px solid var(--border);
  border-radius: var(--r-window);
  background: linear-gradient(135deg, var(--blue), var(--soft));
  color: var(--text);
}

.download-next h2 {
  margin-bottom: var(--space-1);
  font-size: var(--fs-h3);
}

.download-next p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: var(--fs-nav);
}

.download-next .button {
  flex-shrink: 0;
}

@media (max-width: 960px) {
  .download-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .download-hero-copy,
  .download-guide {
    width: 100%;
    max-width: var(--reading-width);
    margin-inline: auto;
  }

  .package-choice {
    grid-template-columns: minmax(0, 1fr);
  }

  .download-boundaries {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 768px) {
  .platform-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .linux-primary-packages,
  .selection-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .download-hero::after {
    display: none;
  }

  .download-checklist li {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .platform-tabs {
    gap: var(--space-1);
  }

  .platform-tabs [role="tab"] {
    padding-inline: var(--space-1);
    font-size: var(--fs-small);
  }

  .platform-icon {
    width: var(--space-3);
    height: var(--space-3);
  }

  .platform-icon svg {
    width: var(--fs-note);
    height: var(--fs-note);
  }

  .platform-heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .platform-heading-icon {
    width: var(--space-5);
    height: var(--space-5);
  }

  .package-choice,
  .boundary-item {
    padding: var(--space-3);
  }

  .arm-package-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .download-next {
    flex-direction: column;
    align-items: stretch;
    padding: var(--space-3);
  }

  .download-next .button {
    width: 100%;
  }
}