/*=============== RESPONSIVE ===============*/
@media (max-width: 1024px) {
  /* Legacy hero (kept for safety) */
  .hero { grid-template-columns: 1fr; }
  .hero__right { display: none; }
  .hero__left { padding-left: var(--pad); }
  .hero__countries { left: var(--pad); }

  /* Carousel — tablet */
  .cs2 { grid-template-columns: 1fr; gap: 2.5rem; }
  .cs2__right { display: none; }
  .cs1__countries { width: 100%; grid-template-columns: 1fr 1fr; }
  .carousel__arrow { opacity: 1; }

  /* Sections */
  .about__inner, .contact__grid, .porchtalk__inner,
  .country-overview__grid, .why__grid { grid-template-columns: 1fr; gap: 3rem; }

  .about__name-split { grid-template-columns: 1fr 1fr; }
  .footer__main { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .values__grid { grid-template-columns: repeat(3, 1fr); }
  .porchtalk__right { display: none; }
  .why__visual { display: none; }
}

@media (max-width: 768px) {
  /* Nav */
  .nav__links, .nav__countries { display: none; }
  .nav__hamburger { display: flex; }

  /* Carousel — mobile */
  .carousel { min-height: 100svh; }
  .carousel__slide-inner { padding-bottom: 5.5rem; }
  .cs1__logo { width: 70vw; height: auto; margin-top: -32vw; margin-bottom: -15vw; }
  .cs1__sub { max-width: 100%; }
  .cs1__actions { flex-direction: column; }
  .cs1__actions .btn { width: 100%; justify-content: center; }
  .cs1__countries { grid-template-columns: 1fr; width: 100%; max-width: 320px; }
  .cs2__label::before { display: none; }
  .cs2 { text-align: center; }
  .cs2__left { display: flex; flex-direction: column; align-items: center; }
  .cs2__sub { max-width: 100%; }
  .cs2__headline { font-size: clamp(2.4rem, 9vw, 3.6rem); }
  .carousel__nav { padding: 1rem var(--pad); gap: 0.75rem; }
  .carousel__progress { width: 48px; }

  /* Legacy hero */
  .hero__countries {
    position: static;
    width: auto;
    margin-top: 2rem;
    grid-template-columns: 1fr;
    max-width: 260px;
  }

  /* Sections */
  .service-item { grid-template-columns: 50px 1fr; }
  .service-item__arrow { display: none; }
  .values__grid { grid-template-columns: repeat(2, 1fr); }
  .operate__grid, .services-grid { grid-template-columns: 1fr; }
  .footer__main { grid-template-columns: 1fr; gap: 2rem; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
  .form-row { grid-template-columns: 1fr; }
  .country-stats { grid-template-columns: 1fr 1fr; }

  /* Country pages */
  .country-hero__content { padding: 0; }
  .country-hero__title { font-size: clamp(2.4rem, 9vw, 4rem); }
  .why__list { gap: 1.5rem; }
  .about__name-split { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  /* Carousel — small mobile */
  .cs1__headline { font-size: clamp(2.4rem, 10vw, 3rem); }
  .cs1__sub { font-size: 0.9rem; }
  .cs1__countries { max-width: 100%; }
  .carousel__arrow { display: none; }

  /* Sections */
  .values__grid { grid-template-columns: 1fr; }
  .hero__headline { font-size: clamp(2.6rem, 11vw, 3.2rem); }
  .country-stats { grid-template-columns: 1fr 1fr; }
  .stat-box__value { font-size: 1.4rem; }

  /* Tighter section padding on small screens */
  .section { padding: 4rem 0; }
  .contact__info-title { font-size: clamp(2rem, 8vw, 2.8rem); }
}

/*=============== UTILITY CLASSES ===============*/

/* Active country indicator in nav */
.nav__country--active { color: var(--accent); }

/* Display heading size variants */
.display--sm { font-size: clamp(2rem, 4vw, 3rem); }
.display--md { font-size: clamp(2.2rem, 4.5vw, 3.4rem); }

/* Display heading margin variants (used after a .label element) */
.display--gap-0  { margin: 0.5rem 0 0; }
.display--gap-sm { margin: 0.5rem 0 1.25rem; }
.display--gap-md { margin: 0.5rem 0 2rem; }
.display--gap-top { margin-top: 0.5rem; }

/* About mission block without top margin */
.about__mission--flush { margin-top: 0; }

/* Generic top spacing helper */
.mt-md { margin-top: 1.5rem; }

