/* === RESPONSIVE === */

/* ---- Планшеты / широкий мобильный (до 1024px) ---- */
@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-visual { height: 480px; max-width: 480px; margin: 0 auto; }
  .clients-grid { grid-template-columns: 1fr; gap: 24px; }
  .clients-logos { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .section-head { grid-template-columns: 1fr; gap: 20px; }
  .pillars-grid { grid-template-columns: 1fr; gap: 16px; }
  .partner-grid { grid-template-columns: 1fr; gap: 32px; }
  .sol-large { grid-column: span 12; }
  .sol-medium { grid-column: span 12; }
  .sol-small { grid-column: span 6; }
  .roles-grid { grid-template-columns: repeat(2, 1fr); }
  .modules-grid { grid-template-columns: repeat(3, 1fr); }
  .how-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .how-grid::before { display: none; }
  .case-block { grid-template-columns: 1fr; gap: 40px; padding: 36px; }
  .cta-card { grid-template-columns: 1fr; gap: 32px; padding: 48px 32px; }
/*  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; } */
}

/* ---- Мобильный (до 720px) ---- */
@media (max-width: 720px) {
  .container { padding: 0 20px; }
  .hero { padding: 48px 0 64px; }
  .hero-visual { height: 380px; max-width: 100%; }
  .hero-trust { grid-template-columns: repeat(3, 1fr); gap: 24px; width: 100%; }
  .section { padding: 80px 0; }
  .section-head { margin-bottom: 40px; }
  .partner-block { padding: 36px 28px; }
  .partner-block h2 { font-size: 32px; }
  .sol-small { grid-column: span 12; }
  .roles-grid { grid-template-columns: 1fr; }
  .modules-grid { grid-template-columns: repeat(2, 1fr); }
  .how-grid { grid-template-columns: 1fr; }
  .case-stats { grid-template-columns: 1fr 1fr; gap: 24px; padding: 24px; }
  .case-quote { font-size: 20px; }
  .case-block { padding: 28px; }
  .cta-card { padding: 40px 28px; }
  /*.footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }*/
  .mock-float-1 { right: -8px; top: -8px; transform: scale(0.82); transform-origin: top right; }
  .mock-float-2 { left: -8px; transform: scale(0.82); transform-origin: bottom left; }
}

/* ---- Маленький мобильный (до 480px) ---- */
@media (max-width: 480px) {
  main > .container {
    padding: 30px 15px 20px;
  }
  .container { padding: 0px; }
  /* Hero */
  .hero-visual { height: 280px; }
  .mock-float-1, .mock-float-2 { display: none; }
  .mock-main { padding: 14px 12px; }
  .mock-row { font-size: 11px; gap: 8px; padding: 10px 0; }
  .mock-row .amount { display: none; }
  .hero-sub { font-size: 16px; margin-bottom: 28px; }
  .hero-actions { flex-direction: column; gap: 10px; margin-bottom: 40px; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-trust { gap: 16px; }
  .subsidiary-badge { font-size: 11px; }

  /* Секции */
  .section { padding: 60px 0; }
  .section-head { margin-bottom: 28px; }
  .sol-large h3 { font-size: 22px; }
  .clients-logos { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .pillars-grid { gap: 12px; }
  .pillar { padding: 20px; gap: 16px; }
  .pillar-mark { width: 48px; height: 48px; }

  /* Кейсы */
  .case-block { padding: 24px 20px; border-radius: 20px; }
  .case-quote { font-size: 17px; }
  .case-quote::before { font-size: 42px; left: -16px; }
  .case-stats { grid-template-columns: 1fr 1fr; gap: 16px; padding: 20px; border-radius: 16px; }
  .case-stat .num { font-size: 32px; }
  .case-stat .num .unit { font-size: 18px; }

  /* Модули */
  .modules-grid { grid-template-columns: 1fr 1fr; }

  /* Партнёр */
  .partner-block { padding: 28px 20px; border-radius: 20px; }
  .partner-block h2 { font-size: 26px; }
  .partner-card { padding: 18px; }

  /* CTA */
  .cta-card { padding: 32px 20px; border-radius: 24px; }
  .cta-card h2 { font-size: 28px; }
  .cta-actions { flex-direction: column; gap: 10px; }
  .cta-actions .btn { width: 100%; justify-content: center; }

  /* Роли */
  .role-card { min-height: 200px; padding: 22px 18px 18px; }

  /* Кнопки */
  .btn-large { padding: 13px 18px; font-size: 14px; }

  /* Footer 
  .footer { padding: 40px 0 20px; }
  .footer-grid { gap: 24px; margin-bottom: 28px; }
  .footer ul { gap: 10px; }
  .footer h5 { margin-bottom: 14px; }
  .footer-bottom { font-size: 12px; padding-top: 20px; }*/
}
