/* ======================================================
   responsive.css — Breakpoints: 375px / 768px / 1280px
   ====================================================== */

/* ── 1280px — Large desktop cap ──────────────────────── */
@media (min-width: 1280px) {
  .container { max-width: 1200px; }
}


/* ── 1024px — Small desktop / laptop ────────────────── */
@media (max-width: 1024px) {
  /* Nav: hide text links, show hamburger */
  .nav__links { display: none; }
  .nav__hamburger { display: flex; }
  /* Keep controls visible */
  .nav__controls { gap: 0.35rem; }

  /* Countries: 3 columns */
  .countries__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Process: wrap to fewer columns */
  .process__timeline {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 3rem;
  }
  .process__timeline::before {
    display: none;
  }
  .process__step { padding: 0 1rem; }

  /* Heritage */
  .heritage__layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .heritage__images {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .heritage__img-caption { margin-top: 0; }

  /* Contact layout */
  .contact__layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  /* Footer: 4 cols → 2 cols at 1024px */
  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
}


/* ── 768px — Tablet ─────────────────────────────────── */
@media (max-width: 768px) {
  .section-pad { padding: 72px 0; }
  .container { padding: 0 1.5rem; }

  /* Hero */
  .hero__stats {
    gap: 0;
  }
  .hero__stat {
    padding: 0.75rem 1.25rem;
    min-width: 45%;
  }
  .hero__stat:nth-child(2) { border-right: none; }
  .hero__btns { flex-direction: column; align-items: center; }

  /* Services: 2 columns */
  .services__grid { grid-template-columns: repeat(2, 1fr); }

  /* Categories: 2 columns */
  .categories__grid { grid-template-columns: repeat(2, 1fr); }

  /* Countries: 2 columns */
  .countries__grid { grid-template-columns: repeat(2, 1fr); }

  /* Process: 2 columns */
  .process__timeline {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }

  /* Sustainability */
  .sus__grid { grid-template-columns: 1fr; }

  /* Why: 1 column */
  .why__grid { grid-template-columns: 1fr; }

  /* FAQ: 1 column */
  .faq__grid { grid-template-columns: 1fr; }
  .faq__item { border-right: none !important; }
  .faq__item:last-child { border-bottom: none; }
  .faq__item:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
  .faq__item:last-child { border-bottom: none !important; }

  /* Contact form row */
  .form__row { grid-template-columns: 1fr; }

  /* Footer: 1 column at tablet */
  .footer__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}


/* ── 375px — Mobile ─────────────────────────────────── */
@media (max-width: 480px) {
  .section-pad { padding: 56px 0; }
  .container { padding: 0 1.25rem; }

  /* Nav */
  .nav__inner { padding: 0 1.25rem; }
  .nav__lang  { display: none; } /* shown in mobile menu */

  /* Hero */
  .hero__content { padding: 6rem 1.25rem 3rem; }
  .hero__headline { font-size: clamp(2.5rem, 10vw, 3.5rem); white-space: normal; }
  .hero__stat { padding: 0.75rem 1rem; }
  .hero__stat-num { font-size: 1.75rem; }

  /* Marquee */
  .marquee__item { font-size: 0.7rem; padding: 0 1rem; }

  /* Heritage */
  .heritage__images {
    grid-template-columns: 1fr;
  }

  /* Services: 1 column */
  .services__grid { grid-template-columns: 1fr; }

  /* Categories: 1 column */
  .categories__grid { grid-template-columns: 1fr; }

  /* Countries: 1 column */
  .countries__grid { grid-template-columns: 1fr; }

  /* Process: 1 column */
  .process__timeline {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .process__step { text-align: left; padding: 0 0.5rem; }
  .process__circle { margin: 0 0 1rem 0; }

  /* Section headings */
  .section-heading { font-size: 2rem; }

  /* Footer bottom */
  .footer__bottom { flex-direction: column; align-items: flex-start; }

  /* Sus certs */
  .sus__certs { gap: 0.5rem; }
  .sus__cert { font-size: 0.65rem; padding: 0.35rem 0.75rem; }

  /* Form */
  .form__row { grid-template-columns: 1fr; }
}


/* ── Print ──────────────────────────────────────────── */
@media print {
  .nav, .marquee, .hero__btns, .contact__form-wrap { display: none; }
  body { background: white; color: black; }
}
