/* ── OVERFLOW FIX ── */
.elementor-element-f46139a,
.elementor-element-06f824c,
.elementor-element-7217e3a {
  --flex-direction: column !important;
}
.elementor-widget-image img,
.elementor-image img {
  max-width: 100%;
  height: auto;
}

/* ── CINEMATIC PARALLAX SECTIONS ── */
.elementor-element-a78c82f,
.elementor-element-0d68bb5,
.elementor-element-c15a0f1 {
  min-height: 88vh !important;
  overflow: hidden !important;
}

/* ── ASYMMETRIC 3-IMAGE GRID: tall left, two stacked right ── */
.elementor-element-06f824c > .e-con-inner {
  display: grid !important;
  grid-template-columns: 58% 42% !important;
  grid-template-rows: auto auto !important;
  gap: 6px !important;
  padding: 0 !important;
}
.elementor-element-06f824c > .e-con-inner > .e-con:nth-child(1) {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  min-height: 620px;
}
.elementor-element-06f824c > .e-con-inner > .e-con:nth-child(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.elementor-element-06f824c > .e-con-inner > .e-con:nth-child(3) {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
.elementor-element-06f824c img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  min-height: 300px;
  transition: transform 0.7s cubic-bezier(.22,1,.36,1) !important;
}
.elementor-element-06f824c .e-con:hover img {
  transform: scale(1.05) !important;
}

/* ── ASYMMETRIC 2-IMAGE GRID: narrow left, wide right ── */
.elementor-element-7217e3a > .e-con-inner {
  display: grid !important;
  grid-template-columns: 40% 60% !important;
  gap: 6px !important;
  padding: 0 !important;
}
.elementor-element-7217e3a > .e-con-inner > .e-con {
  min-height: 480px;
}
.elementor-element-7217e3a img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  min-height: 480px;
  transition: transform 0.7s cubic-bezier(.22,1,.36,1) !important;
}
.elementor-element-7217e3a .e-con:hover img {
  transform: scale(1.05) !important;
}

/* ── SCROLL REVEAL ── */
.nsg-reveal {
  opacity: 0;
  transform: translateY(44px);
  transition: opacity 0.8s cubic-bezier(.22,1,.36,1), transform 0.8s cubic-bezier(.22,1,.36,1);
}
.nsg-reveal.nsg-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.nsg-delay-1 { transition-delay: 0.12s !important; }
.nsg-delay-2 { transition-delay: 0.24s !important; }
.nsg-delay-3 { transition-delay: 0.36s !important; }