/* Download-page only. The existing desktop layout starts at 768px. */
@media (max-width: 767px) {
    .download-page { background: #f5f5f5; }
    .download-page #header-placeholder { display: block; }
    .download-page .download-main { padding-top: 56px; }
    .download-page #site-nav > div:first-child { padding-inline: 16px; }
    .download-page #header-logo { height: 20px; max-width: 86px; }
    .download-page #lang-toggle { padding-inline: 8px; gap: 0; }
    .download-page #lang-toggle svg { display: none; }
    .download-page #mobile-menu-btn { margin-left: 8px; }
    .download-page .download-content { padding: 40px 0 64px; background: #f5f5f5; }
    .download-page .download-container { max-width: 600px; padding-inline: 24px; }
    .download-page .download-intro { flex-direction: row; align-items: flex-start; gap: 20px; text-align: left; }
    .download-page .download-icon { width: 72px; height: 72px; }
    .download-page .download-copy { min-width: 0; padding-top: 0; }
    .download-page .download-copy h1 { font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: 0; color: #333; }
    .download-page .download-copy p { margin: 12px 0 0; font-size: 14px; line-height: 24px; font-weight: 400; color: #666; }
    .download-page .download-mobile-only { display: block; }
    .download-page .download-button {
        margin-top: 28px; padding: 12px 20px; min-height: 48px;
        border-radius: 999px; background: #0b6be8; color: #fff;
        text-align: center; font-size: 16px; line-height: 24px;
    }
    .download-page .download-button:focus-visible { outline: 2px solid #0b6be8; outline-offset: 4px; }
    .download-page .download-system { margin-top: 40px; }
    .download-page .download-system h2,
    .download-page .download-preview-title { font-size: 18px; line-height: 28px; font-weight: 500; color: #333; }
    .download-page .download-system p { margin-top: 8px; font-size: 16px; line-height: 24px; color: #666; }
    .download-page .download-preview-title { margin-top: 40px; padding-bottom: 18px; border-bottom: 1px solid #ddd; }
    .download-page .download-notice,
    .download-page .download-card { display: none; }

    .download-page .download-previews { margin-top: 24px; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: center; gap: 48px; }
    .download-page .download-previews img { display: block; width: min(54vw, 220px); max-width: 100%; height: auto; aspect-ratio: 482 / 1022; object-fit: contain; }

    .download-page footer { padding: 28px 0 32px; border: 0; }
    .download-page footer > div { padding: 0 16px; }
    .download-page .site-footer-main { gap: 24px; margin-bottom: 0; }
    .download-page #footer-logo { height: 30px; }
    .download-page .site-footer-links { gap: 16px 20px; font-size: 13px; line-height: 22px; }
    .download-page .site-footer-links a[href="shop.html"] { display: none; }
    .download-page .site-footer-links a[href="support.html"] { flex-basis: 100%; text-align: center; }
    .download-page .site-footer-social { width: 100%; padding-top: 20px; border-top: 1px solid #272727; justify-content: center; gap: 20px; }
    .download-page .site-footer-social > .group:first-child > .absolute { left: 0; }
    .download-page .site-footer-social > .group:last-child > .absolute { right: 0; }
    .download-page .site-footer-main + div { display: none; }
    .download-page .site-footer-legal { margin-top: 40px; font-size: 12px; line-height: 22px; text-align: center; }
    .download-page .site-footer-policy { flex-wrap: wrap; justify-content: center; gap: 24px 40px; margin-top: 20px; }
    .download-page .site-footer-policy > * { margin: 0; }
    .download-page .site-footer-policy > :not([hidden]) ~ :not([hidden]) { margin: 0; }
    .download-page #icp-info { flex-basis: 100%; }
}

@media (max-width: 359px) {
    .download-page .download-container { padding-inline: 20px; }
    .download-page .download-intro { gap: 16px; }
    .download-page .download-icon { width: 64px; height: 64px; }
    .download-page .site-footer-links { gap: 16px 12px; }
    .download-page .site-footer-social { gap: 14px; }
}
