@media (max-width: 1120px) {
    .header-cta { display: none; }
    .primary-nav { gap: 17px; }
    .hero-grid { gap: 45px; }
    .footer-grid { grid-template-columns: 1.8fr repeat(3, 1fr); }
    .footer-grid > div:nth-child(5) { grid-column: 2 / -1; }
    .footer-grid > div:nth-child(5) a { display: inline-block; margin-right: 20px; }
}

@media (max-width: 960px) {
    .menu-toggle { display: block; }
    .header-inner { min-height: 70px; }
    .primary-nav { position: fixed; z-index: 99; inset: 70px 0 auto; display: none; max-height: calc(100vh - 70px); align-items: stretch; padding: 18px 20px 28px; overflow-y: auto; border-top: 1px solid var(--border); background: var(--white); box-shadow: 0 20px 40px rgba(11,31,51,.12); }
    .primary-nav.is-open { display: grid; }
    .primary-nav a { padding: 11px 5px; font-size: 1rem; }
    .primary-nav a.is-active::after { display: none; }
    .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) { transform: translateY(7px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(4) { transform: translateY(-7px) rotate(-45deg); }
    .hero { padding: 72px 0; }
    .hero-grid { grid-template-columns: 1fr; }
    .workflow-card { max-width: 610px; }
    .card-grid { grid-template-columns: repeat(2, 1fr); }
    .split { gap: 45px; }
    .steps { grid-template-columns: repeat(2, 1fr); gap: 36px 0; }
    .step:nth-child(3) { padding-left: 0; border-left: 0; }
    .reasons { grid-template-columns: repeat(2, 1fr); }
    .values-grid { grid-template-columns: repeat(2, 1fr); }
    .detail-card { grid-template-columns: 200px 1fr; gap: 30px; }
    .policy-layout { grid-template-columns: 190px 1fr; gap: 42px; }
    .footer-grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
    .footer-grid > div:nth-child(5) { grid-column: auto; }
    .footer-grid > div:nth-child(5) a { display: block; margin-right: 0; }
}

@media (max-width: 760px) {
    .container { width: min(calc(100% - 32px), var(--container)); }
    .section { padding: 74px 0; }
    .section-sm { padding: 56px 0; }
    .brand strong { font-size: .95rem; }
    .hero { padding: 58px 0 66px; }
    .hero-grid { gap: 44px; }
    .value-grid { grid-template-columns: 1fr 1fr; }
    .value-item:nth-child(odd) { border-left: 1px solid var(--border); }
    .value-item:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
    .card-grid, .split, .contact-grid { grid-template-columns: 1fr; }
    .split { gap: 36px; }
    .split .feature-panel { order: 2; }
    .steps { grid-template-columns: 1fr; gap: 30px; }
    .step, .step:nth-child(3) { padding: 0 0 0 65px; border: 0; }
    .step::before { position: absolute; top: 0; left: 0; }
    .service-band { grid-template-columns: 1fr; padding: 31px; }
    .cta-panel { align-items: flex-start; flex-direction: column; padding: 42px 34px; }
    .page-hero { padding: 65px 0 57px; }
    .detail-card { grid-template-columns: 1fr; gap: 16px; padding: 30px; }
    .policy-layout { grid-template-columns: 1fr; gap: 35px; }
    .policy-nav { position: static; }
    .form-card { padding: 28px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 28px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { grid-template-columns: 1fr; gap: 14px; }
    .footer-disclaimer { justify-self: start; text-align: left; }
    .cookie-banner { right: 12px; bottom: 12px; left: 12px; grid-template-columns: 1fr; gap: 18px; padding: 20px; }
    .cookie-actions { width: 100%; }
}

@media (max-width: 520px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    h1 { font-size: clamp(2.25rem, 11vw, 3.15rem); }
    .hero-actions { align-items: stretch; flex-direction: column; }
    .hero-actions .button { width: 100%; }
    .workflow-card { padding: 18px; border-radius: 20px; }
    .workflow-item { grid-template-columns: 38px 1fr; }
    .workflow-check { display: none; }
    .value-grid { grid-template-columns: 1fr; }
    .value-item, .value-item:nth-child(odd) { min-height: 76px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); border-left: 1px solid var(--border); }
    .value-item:last-child { border-bottom: 0; }
    .card-grid, .reasons, .values-grid, .check-list, .form-grid, .footer-grid { grid-template-columns: 1fr; }
    .reason { padding: 25px; }
    .cta-panel { padding: 34px 25px; }
    .form-card { padding: 22px; }
    .footer-brand, .field-full { grid-column: auto; }
    .cookie-actions { grid-template-columns: 1fr; }
    .cookie-customize { grid-column: auto; }
    .cookie-dialog { padding: 28px 22px; }
    .cookie-option { gap: 14px; }
    .cookie-dialog-actions { align-items: stretch; flex-direction: column; }
}
