.elementor-28 .elementor-element.elementor-element-7ed77ac{--display:flex;--min-height:500px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-28 .elementor-element.elementor-element-7ed77ac::before, .elementor-28 .elementor-element.elementor-element-7ed77ac > .elementor-background-video-container::before, .elementor-28 .elementor-element.elementor-element-7ed77ac > .e-con-inner > .elementor-background-video-container::before, .elementor-28 .elementor-element.elementor-element-7ed77ac > .elementor-background-slideshow::before, .elementor-28 .elementor-element.elementor-element-7ed77ac > .e-con-inner > .elementor-background-slideshow::before, .elementor-28 .elementor-element.elementor-element-7ed77ac > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-28 .elementor-element.elementor-element-7ed77ac.e-con{--align-self:center;}.elementor-28 .elementor-element.elementor-element-1bae9ea{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-28 .elementor-element.elementor-element-f7eb756{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-82px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:140px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-28 .elementor-element.elementor-element-f7eb756:not(.elementor-motion-effects-element-type-background), .elementor-28 .elementor-element.elementor-element-f7eb756 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3DFC1;}.elementor-28 .elementor-element.elementor-element-b5ae6ea{--image-border-radius:15px;--image-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-28 .elementor-element.elementor-element-b5ae6ea .elementor-gallery-item:hover{border-color:var( --e-global-color-primary );border-radius:16px;}body.elementor-page-28:not(.elementor-motion-effects-element-type-background), body.elementor-page-28 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1315;}@media(max-width:1024px){.elementor-28 .elementor-element.elementor-element-7ed77ac{--margin-top:-65px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-28 .elementor-element.elementor-element-f7eb756{--margin-top:-65px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}@media(min-width:768px){.elementor-28 .elementor-element.elementor-element-7ed77ac{--content-width:100%;}}@media(max-width:767px){.elementor-28 .elementor-element.elementor-element-7ed77ac{--min-height:200px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-28 .elementor-element.elementor-element-1bae9ea{padding:50px 0px 0px 0px;}.elementor-28 .elementor-element.elementor-element-1bae9ea.elementor-element{--align-self:center;}}/* Start custom CSS for container, class: .elementor-element-f7eb756 *//* ==========================================================================
   RESPONSIVE GALLERY — works WITH Elementor's native masonry (absolute) layout
   No position overrides. Elementor JS recalculates --column/--item-height
   automatically on resize using these responsive values.
   ========================================================================== */

.elementor-element-b5ae6ea .e-gallery-container {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.elementor-element-b5ae6ea .e-gallery-image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  border-radius: clamp(4px, 0.6vw, 8px);
}

/* Section padding / heading scale fluidly */
.elementor-element-f7eb756 {
  padding-block: clamp(1.5rem, 4vw, 3rem);
  padding-inline: clamp(1rem, 4vw, 2rem);
  max-width: 100vw;
  overflow-x: hidden;
}

.elementor-element-00c471d .elementor-divider__text {
  font-size: clamp(1rem, 2.2vw, 1.5rem);
  line-height: 1.3;
}

/* ---------------- Breakpoints: adjust column count Elementor reads ---------------- */
/* Elementor uses --columns custom property + data-settings columns_tablet/mobile,
   but if you want CSS-level control as a fallback, set --columns here too. */

@media (max-width: 1440px) {
  .elementor-element-b5ae6ea .e-gallery-container {
    --columns: 4;
    --hgap: clamp(6px, 0.9vw, 10px);
    --vgap: clamp(6px, 0.9vw, 10px);
  }
}

@media (max-width: 1200px) {
  .elementor-element-b5ae6ea .e-gallery-container {
    --columns: 3;
  }
}

@media (max-width: 1024px) {
  .elementor-element-b5ae6ea .e-gallery-container {
    --columns: 3;
    --hgap: clamp(6px, 1.2vw, 9px);
    --vgap: clamp(6px, 1.2vw, 9px);
  }

  .elementor-element-00c471d .elementor-divider__text {
    font-size: clamp(0.95rem, 2.4vw, 1.35rem);
  }
}

@media (max-width: 768px) {
  .elementor-element-b5ae6ea .e-gallery-container {
    --columns: 2;
    --hgap: clamp(6px, 1.6vw, 8px);
    --vgap: clamp(6px, 1.6vw, 8px);
  }

  .elementor-element-f7eb756 {
    padding-block: clamp(1.25rem, 5vw, 2rem);
  }
}

@media (max-width: 576px) {
  .elementor-element-b5ae6ea .e-gallery-container {
    --columns: 2;
    --hgap: clamp(5px, 2vw, 8px);
    --vgap: clamp(5px, 2vw, 8px);
  }

  .elementor-element-b5ae6ea .e-gallery-image {
    border-radius: 4px;
  }

  .elementor-element-00c471d .elementor-divider__text {
    font-size: clamp(0.9rem, 3.5vw, 1.15rem);
  }
}

@media (max-width: 480px) {
  .elementor-element-b5ae6ea .e-gallery-container {
    --columns: 2;
    --hgap: 5px;
    --vgap: 5px;
  }

  .elementor-element-f7eb756 {
    padding-block: 1rem;
    padding-inline: 0.75rem;
  }

  .elementor-element-00c471d .elementor-divider__text {
    font-size: 0.85rem;
  }
}

/* Overflow guard only — no positioning changes */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
}/* End custom CSS */