/* ============================================================
   RESPONSIVE — all breakpoints for style.css live here.
   Keeping them separate means editing spacing/columns for one
   screen size never risks touching the base component styles.
   ============================================================ */

/* ---------- ≤ 1024px : tighten a few large paddings ---------- */
@media (max-width:1024px) {
  .section {
    padding: 96px 0;
  }
}

/* ---------- ≤ 900px : nav drawer + hero stack + contact stack ---------- */
@media (max-width:900px) {
  .nav-toggle {
    display: flex;
  }

  .nav-list {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(78vw, 320px);
    height: 100vh;
    background: var(--navy-900);
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 28px 40px;
    gap: 26px;
    transform: translateX(-100%);
    transition: transform .4s var(--ease);
    box-shadow: 24px 0 60px -20px rgba(0, 0, 0, .5);
  }

  .nav-list.is-open {
    transform: translateX(0);
  }

  .nav-list a {
    font-size: 1.05rem;
  }

  .nav-list__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-bottom: 18px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--line-on-dark);
    font-family: var(--sans);
    font-size: .95rem;
    font-weight: 600;
    color: rgba(255, 255, 255, .5);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    text-align: start;
  }

  .seal-wrap {
    margin-top: 40px;
    order: -1;
  }

  .seal {
    width: 180px;
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .pillars {
    grid-template-columns: 1fr;
  }

  .methods {
    grid-template-columns: 1fr;
  }

  .contact-grid {
    grid-template-columns: 1fr;
  }

  .map-tap-layer {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
  }

  .leadership-spotlight {
    flex-direction: column;
    text-align: center;
    gap: 32px;
  }

  .leadership-frame {
    margin: 0 auto;
  }
}

/* ---------- ≤ 760px : client grid + footer stack ---------- */
@media (max-width:760px) {
  .client-cell {
    flex-basis: calc(50% - 11px);
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ---------- ≤ 640px : general mobile type/space tightening ---------- */
@media (max-width:640px) {
  .section {
    padding: 76px 0;
  }

  .hero {
    padding: 150px 0 90px;
  }

  .hero-actions {
    gap: 16px;
  }

  .hero-stats {
    display: block;
    
  }

  .brand img {
    height: 52px;
  }
}

/* ---------- ≤ 520px : forms + client grid + leadership frame ---------- */
@media (max-width:520px) {
  .form-row {
    grid-template-columns: 1fr;
  }
  .client-grid {
    gap: 12px;
  }

  .client-cell {
    flex-basis: calc(50% - 6px);
    padding: 22px 16px;
  }

  /* الفريم كان مقاسه ثابت 300×300px — على شاشة أصغر من كده بشوية
     (مع الـ padding بتاع الـ container) كان ممكن يفيض برّه العرض
     المتاح، فبنصغّره هنا بس. */
  .leadership-frame {
    flex-basis: 220px;
    width: 220px;
    height: 220px;
  }
}