.downloads-body { margin: 0; background: var(--bg); color: var(--ink); }
.downloads-page { min-height: 100vh; overflow: hidden; background: var(--bg); }
.downloads-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
  gap: 40px;
  align-items: center;
  min-height: 570px;
  padding: 90px max(22px, calc((100% - 1120px) / 2));
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 78% 18%, rgba(117,199,151,.2), transparent 24rem),
    #101713;
  color: #f7f4ec;
}
.downloads-hero h1 { max-width: 760px; margin: 12px 0 18px; color: #f7f4ec; font-size: clamp(3.2rem, 7vw, 6.7rem); line-height: .88; letter-spacing: -.065em; }
.downloads-hero p:not(.landing-overline) { max-width: 670px; color: #b8c7bd; font-size: 1.05rem; line-height: 1.75; }
.downloads-orbit { position: relative; display: grid; place-items: center; min-height: 360px; }
.downloads-orbit::before, .downloads-orbit::after { content: ""; position: absolute; width: 310px; height: 310px; border: 1px solid rgba(117,199,151,.25); border-radius: 50%; }
.downloads-orbit::after { width: 220px; height: 220px; border-color: rgba(117,199,151,.12); }
.downloads-orbit img { z-index: 2; width: 155px; height: 155px; border-radius: 36px; filter: drop-shadow(0 28px 50px rgba(0,0,0,.4)); }
.downloads-orbit span { position: absolute; z-index: 3; padding: 8px 12px; border: 1px solid rgba(117,199,151,.35); border-radius: 999px; background: #16231b; color: #dff2e5; font-size: .72rem; font-weight: 800; }
.downloads-orbit span:nth-of-type(1) { top: 22px; right: 28px; }
.downloads-orbit span:nth-of-type(2) { bottom: 55px; left: 0; }
.downloads-orbit span:nth-of-type(3) { right: -10px; bottom: 95px; }
.downloads-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; padding: 72px max(22px, calc((100% - 1120px) / 2)); }
.download-card { display: grid; align-content: start; min-height: 530px; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: var(--panel); box-shadow: 0 28px 70px rgba(15,30,22,.1); }
.download-card.developer-card { background: linear-gradient(145deg, color-mix(in srgb, var(--panel) 88%, #75c797 12%), var(--panel)); }
.download-kicker { color: var(--green); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.download-card-head strong { display: block; margin: 13px 0 8px; font-size: clamp(2.2rem,4vw,3.6rem); line-height: .95; letter-spacing: -.055em; }
.download-card p, .download-card li, .downloads-security p, .downloads-steps p { color: var(--muted); line-height: 1.65; }
.download-card ul { display: grid; gap: 9px; margin: 24px 0 30px; padding: 0; list-style: none; }
.download-card li { position: relative; padding-left: 24px; }
.download-card li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 900; }
.download-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; margin-top: auto; padding: 0 20px; border: 1px solid var(--green); border-radius: 10px; background: var(--green); color: #0b1a10; font-weight: 900; text-decoration: none; }
.download-button.developer { background: #101713; color: #f5faf6; }
.download-card > small { margin-top: 12px; color: var(--muted); text-align: center; }
.downloads-security { padding: 78px max(22px, calc((100% - 900px) / 2)); border-block: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 75%, var(--bg)); text-align: center; }
.downloads-security h2 { margin: 8px 0 14px; font-size: clamp(2.2rem,5vw,4.8rem); line-height: .95; letter-spacing: -.055em; }
.downloads-security .downloads-preview-note { margin: 18px auto 0; max-width: 720px; padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent); border-radius: 16px; background: color-mix(in srgb, var(--accent) 8%, transparent); font-size: .9rem; }
.downloads-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; padding: 72px max(22px, calc((100% - 1120px) / 2)); }
.downloads-steps div { padding: 24px; border-top: 2px solid var(--green); background: var(--panel); }
.downloads-steps span { color: var(--green); font-size: .72rem; font-weight: 900; }
.downloads-steps strong { display: block; margin-top: 24px; font-size: 1.5rem; }
@media(max-width:820px){.downloads-hero,.downloads-grid{grid-template-columns:1fr}.downloads-orbit{min-height:310px}.downloads-steps{grid-template-columns:1fr}.downloads-hero{padding-top:60px}.download-card{min-height:0}}
