/* ==========================================================================
   Responsive — Redesign v2
   ========================================================================== */
@media (max-width: 1080px) {
  .services__grid { grid-template-columns: repeat(2, 1fr); }
  .technology__grid { grid-template-columns: repeat(2, 1fr); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .logo-slider__page { grid-template-columns: repeat(3, 1fr); }
  .industries__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 960px) {
  .about__inner { grid-template-columns: 1fr; }
  .about__media { max-width: 420px; margin: 0 auto; }
  .contact-grid { grid-template-columns: 1fr; }
  .careers-intro__inner { grid-template-columns: 1fr; }
  .about-approach__grid { grid-template-columns: 1fr; }
  .founder__inner { grid-template-columns: 1fr; }
  .founder__media { max-width: 380px; margin: 0 auto; order: -1; }
}

/* Nav switches to hamburger earlier — a 7-item pill nav + brand + CTA
   never fits comfortably on laptop widths, so hand off to the mobile
   menu well before that squeeze point instead of letting text wrap. */
@media (max-width: 1220px) {

  .main-nav {
    position: fixed;
    top: 78px; left: 16px; right: 16px;
    background: #fff;
    border-radius: var(--r-lg);
    box-shadow: var(--el-4);
    padding: 14px;
    overflow: visible;
    transform: translateY(-14px);
    opacity: 0;
    pointer-events: none;
    transition: all .25s ease;
  }
  .main-nav.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .main-nav ul { flex-direction: column; background: none; padding: 0; gap: 2px; width: 100%; }
  .main-nav li { flex-shrink: 1; }
  .main-nav a { padding: 12px 16px; font-size: 14.5px; }
  .nav-toggle { display: flex; }
}

@media (max-width: 860px) {
  :root { --section-pad-y: var(--section-pad-y-mobile); }

  .hero { min-height: 560px; height: 78vh; }
  .hero__controls { bottom: 22px; }

  .page-hero { padding: 130px 0 56px; margin-top: -78px; }
  .contact-form-card { padding: 28px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }

  .principles__grid { grid-template-columns: 1fr 1fr; }
  .principle-card { min-height: 280px; }
  .principle-card--wide { flex-direction: column; align-items: flex-start; text-align: left; }

  .why-choose__grid { grid-template-columns: 1fr; }

  .journey__row-wrap { padding: 64px 4px; }
  .journey__circle { width: 74px; height: 74px; }
  .journey__circle span { font-size: 14.5px; }
  .journey__node { width: 120px; height: 74px; }
  .journey__label { width: 116px; font-size: 11.5px; }
  .journey__row::before { left: 40px; right: 40px; }
  .journey__connector { margin: -30px auto -14px; }

  .service-modal { padding: 32px 24px; max-height: 90vh; }
  .service-modal__kv-grid { grid-template-columns: 1fr; }

  .expertise__grid { grid-template-columns: 1fr; }
  .download-cta { flex-direction: column; align-items: flex-start; text-align: left; }

  .steps-list { flex-direction: column; align-items: stretch; gap: 22px; }
  .steps-list::before { left: 23px; right: auto; top: 24px; bottom: 24px; width: 2px; height: auto; background: repeating-linear-gradient(to bottom, var(--clr-border) 0 8px, transparent 8px 16px); }
  .step-item { flex-direction: row; text-align: left; justify-content: flex-start; }
  .step-item__title { max-width: none; }

  .services__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .technology__grid { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 36px; }
  .cta__inner { flex-direction: column; text-align: center; padding: 44px 28px; }
  .cta__text { flex-direction: column; }
}

@media (max-width: 600px) {
  .services__grid { grid-template-columns: 1fr; }
  .principles__grid { grid-template-columns: 1fr; }
  .principle-card { min-height: 0; }
  .logo-slider__page { grid-template-columns: 1fr 1fr; }
  .industries__grid { grid-template-columns: 1fr; }
  .hero { min-height: 500px; height: 74vh; }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__btn, .hero__btn-outline { width: 100%; justify-content: center; }
  .hero__arrow { display: none; }
  .reason-card { gap: 14px; padding: 22px; }
  .reason-card__check { width: 38px; height: 38px; }
  .job-card { flex-direction: column; align-items: stretch; }
  .job-card__apply { justify-content: center; }
  .site-footer__bottom-inner { flex-direction: column; text-align: center; }
  .technology { margin: 0 12px; }
  .cta { margin: 24px 12px 0; }
}