.download-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, .75fr);
  align-items: end;
  gap: var(--s10);
  padding-top: var(--s10);
  padding-bottom: var(--s10);
}

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

.download-intro .lead {
  max-width: var(--reading);
  margin-top: var(--s6);
}

.download-intro-note {
  padding: var(--s6);
  border-top: var(--s1) solid var(--blue);
  border-bottom: var(--rule) solid var(--border);
  color: var(--ink);
  background: var(--panel);
}

.download-intro-note strong {
  font-size: var(--regular);
  font-weight: var(--bold);
}

.download-intro-note p {
  margin-top: var(--s3);
  color: var(--muted);
  font-size: var(--regular);
  line-height: var(--wide);
}

.download-tabs [role="tab"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s3);
}

.platform-tab-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--s7);
  height: var(--s7);
  padding: var(--s2);
  border: var(--rule) solid var(--border);
  border-radius: var(--r-button);
  color: var(--blue);
  background: var(--panel-soft);
}

.platform-tab-icon svg {
  width: 100%;
  height: 100%;
}

.platform-tab-icon--tux svg {
  width: var(--s5);
  height: var(--s6);
}

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

.platform-panel {
  grid-column: 1;
  grid-row: 2;
}

.platform-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s5);
  margin-bottom: var(--s4);
}

.platform-kicker,
.client-label {
  color: var(--muted);
  font-size: var(--caption);
  font-weight: var(--medium);
  letter-spacing: var(--tracking);
}

.platform-heading h3 {
  margin-top: var(--s1);
  font-size: var(--section);
  font-weight: var(--heavy);
}

.platform-summary {
  max-width: var(--reading);
  margin-bottom: var(--s7);
  color: var(--muted);
  line-height: var(--wide);
}

.client-card h4 {
  margin-top: var(--s1);
  font-size: var(--subheading);
}

.package-actions--prominent {
  width: 100%;
}

.package-primary,
.package-secondary {
  min-height: var(--s9);
}

.package-actions--prominent .package-primary {
  width: 100%;
}

.package-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(var(--s11), .65fr);
  align-items: center;
  gap: var(--s6);
  margin-top: var(--s6);
  padding-top: var(--s5);
  border-top: var(--rule) solid var(--border);
}

.package-choice--secondary {
  margin-top: var(--s5);
}

.package-choice-copy {
  min-width: 0;
}

.package-choice-copy strong {
  display: block;
  font-size: var(--regular);
  font-weight: var(--bold);
}

.package-choice-copy p {
  margin-top: var(--s1);
  color: var(--muted);
  font-size: var(--small);
  line-height: var(--line);
}

.package-choice-copy code {
  display: block;
  margin-top: var(--s2);
  color: var(--muted);
  font-size: var(--caption);
}

.package-choice .button {
  width: 100%;
}

.requirement-table {
  margin-top: var(--s8);
}

.requirement-table .data-table {
  min-width: calc(var(--s11) * 7);
}

.requirement-table + .callout {
  margin-top: var(--s7);
}

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

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

.linux-supplement-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s4);
  margin-top: var(--s6);
}

.linux-supplement-actions .button {
  flex-direction: column;
  align-items: flex-start;
  min-height: var(--s11);
  color: var(--blue);
  text-align: left;
}

.linux-supplement-actions .button:hover {
  color: var(--blue-dark);
}

.linux-supplement-actions code {
  max-width: 100%;
  color: var(--muted);
  font-size: var(--tiny);
}

.selection-steps {
  border-top: var(--rule) solid var(--border);
}

.selection-step {
  display: grid;
  grid-template-columns: var(--s10) minmax(0, 1fr);
  gap: var(--s6);
  padding-top: var(--s6);
  padding-bottom: var(--s6);
  border-bottom: var(--rule) solid var(--border);
}

.selection-number {
  color: var(--blue);
  font-family: var(--mono);
  font-size: var(--regular);
  font-weight: var(--bold);
}

.selection-step p {
  max-width: var(--reading);
  margin-top: var(--s3);
  color: var(--muted);
  line-height: var(--wide);
}

.after-download-table .feature-row {
  grid-template-columns: .65fr 2fr 1.2fr;
}

.faq-list {
  margin-top: var(--s3);
}

@media (max-width: 900px) {
  .download-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s7);
    padding-top: var(--s8);
    padding-bottom: var(--s8);
  }

  .download-intro-note {
    max-width: var(--reading);
  }

  .after-download-table .feature-row {
    grid-template-columns: .7fr 2fr;
  }

  .after-download-table .feature-row > :last-child {
    grid-column: 2;
  }
}

@media (max-width: 640px) {
  .download-tabs [role="tablist"] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .download-tabs [role="tab"] {
    width: 100%;
    padding-inline: var(--s3);
  }

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

  .package-choice .button,
  .package-actions .button,
  .linux-supplement-actions .button {
    width: 100%;
  }

  .platform-heading {
    align-items: flex-start;
  }

  .selection-step {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s2);
  }

  .selection-number {
    font-size: var(--caption);
  }

  .after-download-table .feature-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .after-download-table .feature-row > :last-child {
    grid-column: auto;
  }
}

@media (max-width: 360px) {
  .download-tabs [role="tablist"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .platform-heading {
    flex-direction: column;
  }
}