/* Scoped download layout; shared site header, typography and footer stay in the standard includes. */
.soup-downloads { max-width:1400px; margin:0 auto; padding:20px 24px 48px; box-sizing:border-box; }
.soup-downloads * { box-sizing:border-box; }
.soup-downloads .download-heading { text-align:center; margin-bottom:40px; }
.soup-downloads .download-title { display:flex; align-items:center; justify-content:center; gap:20px; width:fit-content; max-width:100%; margin:0 auto 16px; }
.soup-downloads h1 { font-size:2.8em; line-height:1.15; margin:0; min-width:0; text-align:left; }
.soup-downloads .download-logo { position:relative; display:block; flex:0 0 96px; width:96px; height:96px; }
.soup-downloads .download-logo img, .soup-downloads .download-logo canvas { display:block; width:100%; height:100%; }
.soup-downloads .download-logo img[hidden] { display:none; }
.soup-downloads .download-logo canvas { position:absolute; inset:0; }
.soup-downloads .download-heading p { font-size:1.25em; line-height:1.5; margin:0 auto; max-width:820px; }
.soup-downloads .platform-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.soup-downloads .server-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1100px; margin:auto; }
.soup-downloads .platform-card { border:1px solid #cacaca; border-radius:10px; padding:28px 20px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.soup-downloads .platform-icon { width:100px; height:100px; margin-bottom:14px; }
.soup-downloads .platform-card h2 { font-size:1.55em; margin:0 0 16px; }
.soup-downloads .platform-card p { line-height:1.5; margin:0 0 24px; }
.soup-downloads .platform-action { margin-top:auto; width:100%; padding:10px 8px; white-space:normal; line-height:1.35; }

.soup-downloads button.platform-action { cursor:pointer; }
.soup-downloads .platform-card .coming-soon { margin:16px 0 0; }
.soup-downloads :is(a,button):focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.soup-downloads .download-note { max-width:840px; margin:28px auto 18px; padding:15px 20px; border:1px solid #cacaca; border-radius:8px; background:#f6f6f6; text-align:center; line-height:1.5; }
.soup-downloads .download-links { text-align:center; line-height:1.6; }
.soup-downloads .server-details { max-width:840px; margin:32px auto 0; }
.soup-downloads .server-details h2 { font-size:1.6em; margin:0 0 14px; }
.soup-downloads .server-details p { line-height:1.6; margin:0 0 16px; }
@media(max-width:1100px) { .soup-downloads .platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:580px) { .soup-downloads { padding:16px 16px 32px; } .soup-downloads h1 { font-size:2.1em; } .soup-downloads .download-title { gap:14px; } .soup-downloads .download-logo { flex-basis:64px; width:64px; height:64px; } .soup-downloads .platform-grid { grid-template-columns:1fr; } }
.soup-downloads .platform-card { margin:0; }
