/* The download utility uses the website's existing brand and shared controls. */
.download-page { padding-top: 70px; }
.download-page [hidden] { display: none; }
.download-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 90px; padding-bottom: 80px; }
.download-identity { display: flex; align-items: center; gap: 18px; margin-bottom: 32px; font-size: 12px; font-weight: 550; letter-spacing: .08em; }
.download-app-icon { box-sizing: content-box; flex: none; width: 34px; height: 28px; padding: 15px 12px; border-radius: var(--cp-radius-panel); color: hsl(var(--cp-logo-foreground)); background: hsl(var(--cp-logo-background)); }
.download-version { display: block; margin-top: 3px; color: var(--muted); font-weight: 400; letter-spacing: 0; }
.site-page .download-intro h1 { font-size: clamp(48px, 5.5vw, 76px); line-height: 1.1; letter-spacing: -.055em; }
.download-period { color: var(--accent-text); }
.download-description { margin-top: 26px; color: var(--muted); font-size: 18px; line-height: 1.8; }
.download-availability { margin-top: 24px; font-size: 14px; }
.download-release, .download-support { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; color: var(--muted); font-size: 14px; }
.download-release:hover, .download-support:hover { color: var(--accent-text); }
.download-picker { padding: 32px; border: 1px solid var(--line); background: var(--band); border-radius: calc(var(--cp-radius-panel) * 2); min-width: 0; }
.download-picker-label { font-size: 13px; color: var(--muted); margin-bottom: 14px; }
.download-page .cp-mode-option { min-height: 44px; }
.download-platforms { display: flex; width: 100%; font-size: 14px; }
.download-platform { padding-top: 26px; }
.download-platform + .download-platform { margin-top: 28px; border-top: 1px solid var(--line); }
.download-enhanced .download-platform { min-height: 288px; }
.download-enhanced .download-platform + .download-platform { margin-top: 0; border-top: 0; }
.site-page .download-platform h2 { font-size: 26px; margin-bottom: 20px; }
.download-enhanced .download-platform h2 { display: none; }
.download-architecture > p { font-size: 13px; color: var(--muted); margin-bottom: 10px; }
.download-architecture .cp-mode-group { width: 100%; background: var(--bg); }
.download-architecture .cp-mode-option { font-size: 14px; }
.download-platform-note { font-size: 14px; line-height: 1.8; color: var(--muted); }
.download-variant { margin-top: 24px; }
.download-package { display: flex; flex-wrap: wrap; gap: 7px; color: var(--muted); font-size: 13px; margin-bottom: 12px; }
.download-primary { display: flex; width: 100%; min-height: 52px; font-size: 16px; gap: 16px; white-space: normal; text-align: center; }
.download-primary svg { flex: none; }
.download-alternatives { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 8px; }
.download-alternative { display: inline-flex; align-items: center; min-height: 44px; gap: 12px; font-size: 14px; text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 5px; }
.download-alternative svg { width: 16px; height: 16px; }
.download-alternative:hover { color: var(--accent-text); }
.download-store-web { margin-top: 4px; }
.download-direct { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.download-direct .download-alternatives { margin-top: 0; }
.download-direct .download-package { margin-bottom: 4px; }
.download-assurance { font-size: 12px; color: var(--muted); margin-top: 16px; line-height: 1.8; }
.download-chip-help { font-size: 13px; margin: -6px 0 4px; }
.download-chip-help > summary { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; cursor: pointer; color: var(--muted); min-height: 36px; padding-block: 6px; list-style: none; }
.download-chip-help > summary::-webkit-details-marker { display: none; }
.download-chip-help > summary > span:last-child { text-decoration: underline; text-underline-offset: 4px; }
.download-chip-help > p { color: var(--muted); line-height: 1.8; padding-block: 4px 14px; }
.download-help { display: grid; grid-template-columns: 1.1fr 1fr; gap: 90px; padding-top: 40px; border-top: 1px solid var(--line); }
.site-page .download-help h2 { font-size: 26px; letter-spacing: -.025em; }
.download-support { margin-top: 8px; }
.download-questions details { border-bottom: 1px solid var(--line); }
.download-questions summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 64px; padding-block: 16px; font-size: 15px; cursor: pointer; list-style: none; }
.download-questions summary::-webkit-details-marker { display: none; }
.download-questions summary > span { flex: none; font-size: 22px; color: var(--muted); transition: transform 180ms ease; }
.download-questions details[open] summary > span { transform: rotate(45deg); }
.download-questions details > p { padding-bottom: 24px; color: var(--muted); font-size: 14px; line-height: 1.85; }
@media (prefers-reduced-motion: no-preference) {
  .download-release > span, .download-support > span { transition: transform 160ms ease; }
  .download-release:hover > span { transform: translateY(2px); }
  .download-support:hover > span { transform: translate(2px, -2px); }
}
@media (max-width: 1100px) {
  .download-hero, .download-help { gap: 40px; }
  .download-picker { padding: 26px; }
}
@media (max-width: 760px) {
  .download-page { padding-top: 24px; }
  .download-hero, .download-help { grid-template-columns: 1fr; gap: 20px; }
  .download-hero { padding-bottom: 40px; }
  .download-identity { margin-bottom: 14px; }
  .download-app-icon { width: 28px; height: 22px; padding: 10px; }
  .site-page .download-intro h1 { font-size: 52px; }
  .download-description { font-size: 16px; margin-top: 12px; }
  .download-availability { margin-top: 12px; }
  .download-picker { padding: 22px; }
  .download-platform { padding-top: 20px; }
  .download-help { padding-top: 30px; gap: 12px; }
  .download-enhanced .download-platform { min-height: 0; }
}
@media (max-width: 370px) {
  .site-page .download-intro h1 { font-size: 44px; }
  .download-picker { padding: 20px; border-radius: calc(var(--cp-radius-panel) * 1.5); }
  .download-description br { display: none; }
}
