@media (max-width: 1120px) {
    .hero { grid-template-columns: 1fr; padding-top: 50px; }
    .hero-copy { max-width: 760px; }
    .hero-visual { margin-top: 58px; padding-left: 0; }
    .process-strip { grid-template-columns: 1fr; gap: 22px; }
    .step-arrow { display: none; }
    .feature-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .container { width: min(calc(100% - 32px), var(--container)); }
    .site-header { height: 82px; }
    .menu-toggle { display: block; }
    .primary-nav { position: absolute; top: 74px; left: 16px; right: 16px; display: none; padding: 24px; align-items: stretch; flex-direction: column; gap: 20px; border: 1px solid var(--border); border-radius: 12px; background: rgba(7, 10, 15, .98); box-shadow: var(--shadow); }
    .primary-nav.is-open { display: flex; }
    .hero { min-height: auto; }
    .hero h1 { font-size: clamp(2.75rem, 13vw, 4.4rem); }
    .shell-preview { min-height: 310px; }
    .game-row { grid-template-columns: repeat(5, 130px); overflow: hidden; }
    .game-card { height: 206px; }.game-art { height: 120px; }
    .controller { right: -12px; transform: scale(.78) rotate(4deg); transform-origin: bottom right; }
    .device-chip { left: 10%; transform: scale(.82) rotate(-2deg); transform-origin: bottom left; }
    .process-strip { padding: 28px 24px; }
    .process-strip article { grid-template-columns: 48px 40px 1fr; gap: 12px; }
    .step-number { width: 48px; height: 48px; }
    .page-hero { margin-left: 16px; padding: 70px 16px 46px 0; }
    .guide-grid, .requirement-grid { grid-template-columns: 1fr 1fr; }
    .content-layout { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .brand { font-size: 1.6rem; }.brand-mark { width: 34px; }
    .hero { padding-top: 34px; }.hero-lead { font-size: 1rem; }
    .hero-actions { align-items: stretch; flex-direction: column; gap: 20px; }
    .hero-actions .button { width: 100%; }
    .hero-visual { margin-top: 42px; padding-bottom: 38px; }
    .shell-preview { min-height: 245px; border-width: 5px; }
    .shell-topbar { height: 50px; padding-left: 48px; }
    .shell-layout { grid-template-columns: 44px 1fr; }.shell-rail { gap: 18px; }
    .game-row { grid-template-columns: repeat(5, 95px); gap: 8px; }
    .game-card { height: 170px; }.game-art { height: 95px; }.game-card h3 { font-size: .67rem; }.game-card p { font-size: .6rem; }
    .controller { display: none; }.device-chip { bottom: 0; }
    .process-strip article { grid-template-columns: 48px 1fr; }.step-icon { display: none; }
    .section-block { padding-block: 50px 70px; }
    .feature-card { padding: 92px 24px 25px; }.feature-icon { left: 24px; top: 25px; }
    .guide-grid, .requirement-grid { grid-template-columns: 1fr; }
    .toolbar { grid-template-columns: 1fr; }
    .timeline article { grid-template-columns: 1fr; gap: 8px; padding: 28px; }
    .download-panel { align-items: stretch; flex-direction: column; padding: 30px; }
    .download-panel .button { width: 100%; }
    .prose { padding: 30px; }
    .footer-grid { grid-template-columns: 1fr; }.footer-grid > div:first-child { grid-column: auto; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (max-width: 820px) { body { padding-top: 82px; } html { scroll-padding-top: 98px; } }
