@media (max-width: 1240px) {
    :root { --header-height: 74px; }
    .menu-toggle { display: block; }
    .main-navigation {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        display: none;
        max-height: min(76vh, 650px);
        overflow: auto;
        padding: 12px;
        border: 1px solid var(--border);
        border-radius: 19px;
        background: var(--surface);
        box-shadow: var(--shadow-lg);
    }
    .main-navigation.is-open { display: block; }
    .primary-menu { display: block; }
    .primary-menu > li + li { margin-top: 2px; }
    .menu-parent { justify-content: space-between; }
    .menu-parent > a { flex: 1; }
    .submenu-toggle { display: grid; place-items: center; flex: 0 0 38px; }
    .submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
    .sub-menu, .sub-menu .sub-menu {
        position: static;
        display: none;
        min-width: 0;
        margin: 3px 0 8px 14px;
        padding: 3px 0 3px 9px;
        border: 0;
        border-left: 2px solid var(--surface-strong);
        border-radius: 0;
        box-shadow: none;
    }
    .has-children.is-open > .sub-menu { display: block; }
    .has-children:hover > .sub-menu { display: none; }
    .has-children.is-open:hover > .sub-menu { display: block; }
    .main-navigation a { min-height: 42px; padding: 9px 11px; font-size: .88rem; }
    .module-grid.detailed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .hero__grid,
    .hero__grid.has-media,
    .intro-grid { grid-template-columns: 1fr; }
    .feature-grid, .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .surface-band { grid-template-columns: 1fr; }
    .surface-band .pill-list { grid-column: auto; }
    .footer-grid { grid-template-columns: 1.6fr 1fr 1fr; gap: 28px; }
}

@media (max-width: 700px) {
    body { font-size: 16px; }
    .container { width: min(calc(100% - 28px), var(--container)); }
    .preview-bar__group { gap: 32px; min-height: 32px; padding-right: 32px; }
    .brand img { width: 150px; height: auto; }
    .hero { padding: 48px 0 54px; }
    .content-card { padding: 24px 20px; border-radius: 21px; }
    .feature-grid, .post-grid, .module-grid, .module-grid.detailed, .stats-grid, .form-grid, .footer-grid, .contact-intro { grid-template-columns: 1fr; }
    .form-field-wide { grid-column: auto; }
    .surface-band { margin-inline: -20px; padding: 34px 20px; }
    .section-heading { align-items: flex-start; flex-direction: column; }
    .post-list article { grid-template-columns: 1fr; gap: 7px; }
    .callout, .legacy-callout { align-items: flex-start; flex-direction: column; }
    .legacy-callout .button { max-width: none; width: 100%; }
    .table-like div { grid-template-columns: 1fr; gap: 4px; }
    .contact-card { grid-template-columns: 1fr; }
    .avatar-mark { width: 72px; height: 72px; border-radius: 19px; font-size: 1.35rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
    .button:hover,
    .button:focus-visible,
    .card-link:hover span,
    .link-grid a:hover { transform: none !important; }
}
