/* Travel to Brazil — Responsive (mobile-first) */

/* Home hero: crop to Christ statue (left) + sky on narrow screens */
.hero--home .hero__bg {
  object-position: 24% 32%;
}

@media (min-width: 768px) {
  .hero--home .hero__bg {
    object-position: center center;
  }

  .container {
    padding: 0 var(--space-md);
  }

  .site-nav {
    display: block;
  }

  .menu-toggle {
    display: none;
  }

  .hero__actions {
    flex-direction: row;
    justify-content: center;
  }

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

  .grid--3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .checklist {
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-layout {
    grid-template-columns: 1fr 1.5fr;
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }

  .features-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gallery {
    grid-template-columns: repeat(3, 1fr);
  }

  .pricing-card--featured {
    transform: scale(1.03);
  }

  .site-footer__grid {
    grid-template-columns: 2fr 1fr 1fr;
  }
}

@media (min-width: 1200px) {
  .checklist {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md) var(--space-xl);
  }
}
