  /* Download page: everything here is scoped to .dl-* so the theme's own styles are untouched. */
  .dl-hero-cta { display: flex; flex-direction: column; align-items: center; gap: 1.2rem; margin-top: 2.4rem; }
  .dl-hero-row { display: flex; align-items: center; justify-content: center; gap: 3.2rem; flex-wrap: wrap; }
  .dl-main { display: flex; flex-direction: column; align-items: center; gap: 1.2rem; }
  .dl-primary { display: inline-flex; align-items: center; gap: 1.2rem; font-size: 1.8rem; padding: 1.8rem 3.2rem; }
  .dl-primary svg { width: 22px; height: 22px; fill: currentColor; }
  .dl-primary[aria-disabled="true"] { background: var(--gray-700); color: var(--gray-400); box-shadow: none; cursor: default; }
  .dl-meta { font-size: 1.36rem; color: var(--gray-400); }
  .dl-meta a { color: var(--gray-300); text-decoration: underline; text-underline-offset: 3px; }
  .dl-alsophone { display: flex; align-items: center; gap: 2rem; margin: 0; padding: 1.6rem 2rem 1.6rem 1.6rem; background: #fff; border: 1px solid var(--gray-700); border-radius: 14px; text-align: left; box-shadow: 0 8px 24px rgba(0,0,0,.04); }
  .dl-qr { width: 88px; height: 88px; flex-shrink: 0; }
  .dl-alsophone strong { display: block; font-size: 1.6rem; font-weight: 600; color: var(--white); margin-bottom: .2rem; }
  .dl-alsophone span { display: block; font-size: 1.3rem; color: var(--gray-400); margin-bottom: 1rem; }
  .dl-stores { display: flex; align-items: center; gap: 1rem; }
  .dl-stores img { height: 34px; width: auto; display: block; }
  .dl-stores .play { height: 50px; margin: -8px -6px; }
  @media (max-width: 560px) { .dl-qr { display: none; } }
  .dl-section { padding: 5.6rem 6.4rem; }
  #desktop { padding-top: 3.2rem; }
  .dl-wrap { max-width: 1040px; margin: 0 auto; }
  .dl-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 1.2rem; letter-spacing: .12em; text-transform: uppercase; color: var(--orange); text-align: center; margin-bottom: 1.2rem; }
  .dl-h2 { font-family: 'Instrument Serif', serif; font-size: clamp(3.2rem, 4.4vw, 4.8rem); font-weight: 400; text-align: center; margin-bottom: 1.2rem; line-height: 1.1; }
  .dl-lead { text-align: center; font-size: 1.6rem; color: var(--gray-400); max-width: 620px; margin: 0 auto 3.2rem; line-height: 1.6; }
  .dl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.4rem; }
  .dl-card { background: var(--gray-800); border: 1px solid var(--gray-700); border-radius: 12px; padding: 2.8rem 2.4rem; display: flex; flex-direction: column; align-items: center; text-align: center; }
  .dl-card.here { border-color: var(--orange); box-shadow: 0 20px 40px rgba(244, 95, 31, 0.1); background: #fff; }
  .dl-os { width: 48px; height: 48px; color: var(--white); margin-bottom: 1.2rem; }
  .dl-os svg { width: 100%; height: 100%; fill: currentColor; }
  .dl-card h3 { font-size: 2.2rem; font-weight: 600; margin-bottom: .6rem; }
  .dl-req { font-size: 1.32rem; color: var(--gray-400); margin-bottom: 1.6rem; min-height: 2.1em; }
  .dl-card .btn { width: 100%; text-align: center; margin-top: auto; }
  .dl-card .btn + .btn { margin-top: 1rem; }
  .dl-soon { display: inline-block; font-size: 1.2rem; font-weight: 600; color: var(--gray-300); background: var(--gray-700); padding: .4rem 1rem; border-radius: 100px; margin-bottom: 1.6rem; }
  .dl-here { display: inline-block; font-size: 1.2rem; font-weight: 600; color: var(--orange); background: var(--orange-subtle); padding: .4rem 1rem; border-radius: 100px; margin-bottom: 1.6rem; }
  .dl-here[hidden] { display: none; }
  .dl-alt { margin-top: 1.2rem; font-size: 1.3rem; color: var(--gray-400); }
  .dl-alt a { color: var(--gray-300); text-decoration: underline; text-underline-offset: 3px; }
  .dl-cmd { margin-top: 1rem; width: 100%; font-family: 'JetBrains Mono', monospace; font-size: 1.16rem; color: var(--gray-300); background: var(--gray-900); border: 1px solid var(--gray-700); border-radius: 8px; padding: .9rem 1rem; text-align: left; overflow-wrap: anywhere; }
  .dl-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.2rem 4rem; }
  .dl-feature { display: grid; grid-template-columns: 44px 1fr; gap: 1.6rem; align-items: start; }
  .dl-ficon { width: 44px; height: 44px; border-radius: 10px; background: var(--orange-subtle); color: var(--orange); display: grid; place-items: center; }
  .dl-ficon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  .dl-feature h4 { font-size: 1.64rem; font-weight: 600; margin-bottom: .4rem; }
  .dl-feature p { font-size: 1.4rem; color: var(--gray-400); line-height: 1.55; }
  .dl-more { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
  .dl-mini { background: var(--gray-800); border: 1px solid var(--gray-700); border-radius: 12px; padding: 2.4rem 2rem; text-align: center; display: flex; flex-direction: column; align-items: center; }
  .dl-mini .dl-os { width: 40px; height: 40px; color: var(--gray-400); margin-bottom: 1.2rem; }
  .dl-mini h3 { font-size: 1.8rem; font-weight: 600; margin-bottom: .6rem; }
  .dl-mini p { font-size: 1.32rem; color: var(--gray-400); line-height: 1.5; margin-bottom: 1.8rem; }
  .dl-mini .badge { margin-top: auto; height: 44px; width: auto; }
  .dl-mini .btn { margin-top: auto; width: 100%; text-align: center; }
  @media (max-width: 960px) {
    .dl-grid, .dl-features { grid-template-columns: 1fr; }
    .dl-more { grid-template-columns: repeat(2, 1fr); }
    .dl-section { padding: 5.6rem 2rem; }
    .hero { padding: 10rem 2rem 4.8rem !important; }
  }
  @media (max-width: 560px) { .dl-more { grid-template-columns: 1fr; } }
