/**
 * Общая адаптивность. Грузится последней — переопределяет предыдущие стили.
 * Breakpoint'ы: tablet ≤ 1024px, mobile ≤ 640px.
 */

@media (max-width: 1024px) {
    .ruru-block__inner { padding: 0 24px; }
    .ruru-block { padding: 60px 0 !important; }
    .ruru-block h2 { font-size: clamp(26px, 3.5vw, 42px); margin-bottom: 28px; }
    .ruru-benefits__grid { grid-template-columns: repeat(2, 1fr) !important; }
    .ruru-team__grid { grid-template-columns: repeat(2, 1fr) !important; }
    .ruru-sgrid__grid { grid-template-columns: repeat(2, 1fr) !important; }
    .ruru-popular__grid { grid-template-columns: repeat(2, 1fr) !important; }
    .ruru-reviews__grid { grid-template-columns: 1fr !important; }
    .ruru-hero__inner { gap: 32px; }
}

@media (max-width: 640px) {
    .ruru-block__inner { padding: 0 16px; }
    .ruru-block { padding: 48px 0 !important; }
    .ruru-block h2 { font-size: 26px; margin-bottom: 24px; }
    .ruru-benefits__grid,
    .ruru-team__grid,
    .ruru-sgrid__grid,
    .ruru-popular__grid { grid-template-columns: 1fr !important; gap: 16px; }

    .ruru-hero { padding: 0 !important; min-height: auto; }
    .ruru-hero__title { font-size: 30px; letter-spacing: -0.5px; }
    .ruru-hero__subtitle { font-size: 15px; }
    .ruru-hero__badge-value { font-size: 54px; }
    .ruru-hero__cta { padding: 14px 26px; font-size: 13px; }

    .ruru-about__quote { font-size: 16px; }
    .ruru-form__card { padding: 24px; }
    .ruru-form__title { font-size: 28px; }
    .ruru-reviews__card { padding: 24px; }
    .ruru-reviews__text { font-size: 16px; }
    .ruru-benefits__card { padding: 28px 24px; }

    .ruru-accordion__toggle { padding: 18px 22px; font-size: 17px; }
    .ruru-accordion__item.is-open .ruru-accordion__panel { padding: 0 22px 18px; }
}
