/* ==========================================================================
   Responsive — All media queries consolidated
   ========================================================================== */

/* ==========================================================================
   @media (max-width: 1024px) — Tablet
   ========================================================================== */

@media (max-width: 1024px) {

  /* Section & Container */
  .section { padding: 60px 0; }
  .container-main { padding: 0 24px; }

  /* Header */
  .site-header { padding: 16px 24px; }
  .site-header--scrolled { padding: 12px 24px; }
  .site-header__nav { display: none; }
  .site-header__cta { display: none; }
  .site-header__burger { display: flex; }

  /* Footer */
  .site-footer { padding: 32px 24px 16px; }
  .site-footer__top { flex-direction: column; gap: 32px; }
  .site-footer__bottom { flex-direction: column; gap: 12px; align-items: flex-start; }

  /* Blog card — stack on tablet */
  .blog-card__image { flex: 0 0 240px; max-width: 240px; height: 160px; }

  /* Related articles */
  .page-article__related-grid { grid-template-columns: repeat(2, 1fr); }

  /* Balance-Zakupki Hero */
  .bz__hero {
    padding: 120px 32px 60px;
    min-height: auto;
  }
  .bz__hero-title,
  .bz__hero-title-accent,
  .bz__hero-title-end {
    font-size: 48px;
    letter-spacing: -2px;
  }

  /* BZ section titles */
  .bz__section-title { font-size: 36px; }

  /* BZ grids -> single column */
  .bz__overpay-grid { grid-template-columns: 1fr; }
  .bz__launch-grid { grid-template-columns: 1fr; }
  .bz__modules-grid { grid-template-columns: 1fr; }
  .bz__modules-card--large { grid-row: auto; }
  .bz__case-cols { grid-template-columns: 1fr; gap: 20px; }
  .bz__advantages-grid { grid-template-columns: 1fr; }
  .bz__pricing-grid { grid-template-columns: 1fr; }
  .bz__support-grid { grid-template-columns: 1fr; }
  .bz__info-cards-grid { grid-template-columns: 1fr; }

  /* BZ CTA */
  .bz__cta-inner { grid-template-columns: 1fr; gap: 40px; }

  /* BZ FAQ */
  .bz__faq-header { flex-direction: column; align-items: flex-start; }

  /* BZ Quote */
  .bz__quote-text { font-size: 20px; }
  .bz__quote-block { flex-direction: column; gap: 32px; }

  /* BZ Industries */
  .bz__industries-inner {
    flex-direction: column;
    padding: 0 32px;
    gap: 32px;
  }
  .bz__industries-left {
    flex: none;
    width: 100%;
  }
  .bz__industries-title { font-size: 32px; }

  /* BZ Industry Carousel */
  .bz-industry__track { padding-right: 32px; }
}

/* ==========================================================================
   @media (max-width: 768px) — Mobile
   ========================================================================== */

@media (max-width: 768px) {

  /* Contacts */
  .page-contacts__grid { grid-template-columns: 1fr; gap: 32px; }

  /* Cases list */
  .page-cases__grid { grid-template-columns: 1fr; }
  .page-cases__title { font-size: 32px; }

  /* Case detail */
  .page-case__title { font-size: 32px; }
  .page-case__block-title { font-size: 24px; }

  /* Blog card — vertical on mobile */
  .blog-card { flex-direction: column; gap: 16px; }
  .blog-card__image { flex: none; max-width: 100%; height: 200px; }
  .blog-card__footer { flex-direction: column; align-items: flex-start; gap: 12px; }
  .page-blog__title { font-size: 28px; }

  /* Blog article */
  .page-article__title { font-size: 28px; }
  .page-article__meta { gap: 12px; flex-wrap: wrap; }
  .page-article__author { flex-direction: column; text-align: center; }
  .page-article__related-grid { grid-template-columns: 1fr; }

  /* BZ Roles Accordion */
  .bz-roles__card { padding: 20px 20px; }
  .bz-roles__grid { grid-template-columns: 1fr; }
  .bz-roles__title { font-size: 18px; }

  /* BZ Industry Carousel */
  .bz-industry__card {
    flex: 0 0 260px;
    min-width: 260px;
    height: 340px;
  }
  .bz-industry__arrow-btn { width: 40px; height: 40px; }
  .bz-industry__track { padding-right: 20px; }

  /* BZ Comparison Table */
  .bz-comparison__toggle { align-self: stretch; }
  .bz-comparison__pill {
    flex: 1;
    text-align: center;
    padding: 10px 12px;
    font-size: 13px;
  }
  .bz-comparison__table { font-size: 13px; }
  .bz-comparison__table th,
  .bz-comparison__table td { padding: 10px 12px; }
}

/* ==========================================================================
   @media (max-width: 640px) — Small Mobile
   ========================================================================== */

@media (max-width: 640px) {

  /* Container */
  .container-main { padding: 0 20px; }

  /* BZ Hero */
  .bz__hero { padding: 100px 20px 40px; }
  .bz__hero-title,
  .bz__hero-title-accent,
  .bz__hero-title-end { font-size: 36px; }
  .bz__hero-desc { font-size: 16px; }

  /* BZ Section titles */
  .bz__section-title { font-size: 28px; }
  .bz__about-desc { font-size: 17px; }

  /* BZ Quote */
  .bz__quote-text { font-size: 18px; }

  /* BZ CTA title */
  .bz__cta-title { font-size: 28px; }

  /* BZ Case card */
  .bz__case-card { padding: 24px; }

  /* BZ Pricing card */
  .bz__pricing-card { padding: 24px; }

  /* BZ Industries */
  .bz__industries-inner { padding: 0 20px; }
  .bz__industries-title { font-size: 28px; }

  /* BZ Contact Form */
  .bz-contact-form__row { grid-template-columns: 1fr; }
}
