/* RESPONSIVE — mobile-first. Everything above is the mobile layout; these add space as screens grow. */
@media (min-width: 560px) {
  .gallery { column-count: 2; }
  .cards--2, .cards--3, .cards--4 { grid-template-columns: repeat(2, 1fr); }
  .social-grid { grid-template-columns: repeat(3, 1fr); }
  .checks { grid-template-columns: repeat(2, 1fr); }
  .form-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .form-grid .full { grid-column: 1 / -1; }
}
@media (min-width: 760px) {
  .films { grid-template-columns: repeat(3, 1fr); }
  .why { grid-template-columns: repeat(2, 1fr); gap: 2.5rem 3rem; }
  .intro, .story, .locations { grid-template-columns: 1fr 1fr; gap: 4rem; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
  .statements { grid-template-columns: repeat(3, 1fr); }
  .statements p + p { border-top: 0; padding-top: 0; border-left: 1px solid var(--line-gold); }
  .story--reverse .story__media { order: 2; }
  .timeline { grid-template-columns: repeat(4, 1fr); gap: 2rem; }
  .timeline__step { padding: 4rem 0 0 0; }
  .timeline__step::before { left: 2.5rem; right: -2rem; top: 1.25rem; bottom: auto; width: auto; height: 1px; }
  .timeline__num { left: 0; top: 0; }
}
@media (min-width: 960px) {
  :root { --header-h: 84px; }
  .gallery { column-count: 3; }
  .cards--3 { grid-template-columns: repeat(3, 1fr); }
  .cards--4 { grid-template-columns: repeat(4, 1fr); }
  .why { grid-template-columns: repeat(4, 1fr); gap: 2rem; }
  .contact { grid-template-columns: 0.85fr 1.15fr; gap: 4.5rem; align-items: start; }
  .social-grid { grid-template-columns: repeat(6, 1fr); }

  /* Desktop navigation */
  .nav-toggle { display: none; }
  .nav { position: static; inset: auto; padding: 0; background: none; opacity: 1; visibility: visible; transform: none; overflow: visible; }
  .nav__list { flex-direction: row; gap: clamp(0.8rem, 1.5vw, 1.9rem); }
  .nav__link { padding: 0.4rem 0; font-family: var(--font-body); font-size: 0.9rem; border: 0; position: relative; }
  .nav__link::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform 0.3s var(--ease); }
  .nav__link:hover::after, .nav__link[aria-current="page"]::after, .nav__link.is-active::after { transform: scaleX(1); }
  .nav__cta { display: none; }
  .site-header .site-header__cta { display: none; }

  /* Hero: full-width image with the text over a soft ivory wash */
  .hero { min-height: clamp(580px, calc(100svh - var(--header-h) - 36px), 880px); display: grid; }
  .hero__media { position: absolute; inset: 0; aspect-ratio: auto; max-height: none; z-index: -2; }
  .hero__overlay { display: block; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(250,248,244,0.95) 0%, rgba(250,248,244,0.8) 36%, rgba(250,248,244,0) 68%); }
  .hero__inner { align-self: center; padding-block: 5rem 6rem; }
  .scroll-indicator { display: block; position: absolute; left: max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter))); bottom: 1.75rem; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); text-decoration: none; padding-left: 3.25rem; }
  .scroll-indicator::before { content: ""; position: absolute; left: 0; top: 50%; width: 2.5rem; height: 1px; background: var(--gold); }
  .final-cta::after { background: rgba(250, 248, 244, 0.8); }
}
@media (min-width: 1120px) {
  .site-header .site-header__cta { display: inline-flex; }
  .nav__cta { display: none; }
}
@media (min-width: 1200px) {
  .gallery { column-gap: 1.75rem; }
}
@media (max-width: 480px) {
  .btn { width: 100%; }
  .hero__actions .btn, .form-actions .btn { width: 100%; }
  .overlay__nav--prev { left: -0.5rem; } .overlay__nav--next { right: -0.5rem; }
  .overlay__nav { width: 42px; height: 42px; }
}
