.elementor-31092 .elementor-element.elementor-element-4bfd88f{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-31092 .elementor-element.elementor-element-4f16eb6{--display:flex;--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-31092 .elementor-element.elementor-element-4bfd88f{--content-width:100%;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-31092 .elementor-element.elementor-element-4f16eb6{--content-width:100%;--justify-content:center;}.elementor-31092 .elementor-element.elementor-element-8801455{width:100%;max-width:100%;}.elementor-31092 .elementor-element.elementor-element-8801455.elementor-element{--align-self:center;}}@media(min-width:768px){.elementor-31092 .elementor-element.elementor-element-4bfd88f{--content-width:900px;}}@media(max-width:1366px) and (min-width:768px){.elementor-31092 .elementor-element.elementor-element-4bfd88f{--content-width:800px;}}@media(max-width:1200px) and (min-width:768px){.elementor-31092 .elementor-element.elementor-element-4bfd88f{--content-width:700px;}}@media(max-width:1024px) and (min-width:768px){.elementor-31092 .elementor-element.elementor-element-4bfd88f{--content-width:600px;}}@media(max-width:880px) and (min-width:768px){.elementor-31092 .elementor-element.elementor-element-4bfd88f{--content-width:500px;}}/* Start custom CSS *//* =========================================================
   ☀️ CINEMATIC SUNLIGHT — V2
   Volumetric • Natural • Premium
   Background Only
========================================================= */

.elementor {
  position: relative;
  isolation: isolate;
}


/* =========================================================
   🌤️ PRIMARY VOLUMETRIC RAYS
========================================================= */

.elementor::before {
  content: "";

  position: fixed;

  width: 1500px;
  height: 1200px;

  top: -300px;
  right: -420px;

  pointer-events: none;

  z-index: -1;

  background:
    conic-gradient(
      from 215deg at 78% 4%,

      transparent 0deg,

      rgba(255,248,220,.018) 7deg,
      rgba(255,228,170,.050) 13deg,
      rgba(255,210,145,.025) 19deg,

      transparent 24deg,

      rgba(255,245,215,.020) 30deg,
      rgba(255,225,165,.060) 37deg,
      rgba(255,205,135,.022) 44deg,

      transparent 50deg,

      rgba(255,245,220,.018) 56deg,
      rgba(255,225,175,.045) 63deg,
      rgba(255,205,140,.018) 70deg,

      transparent 78deg,

      rgba(255,235,190,.015) 86deg,
      rgba(255,215,155,.035) 94deg,

      transparent 105deg
    );

  filter:
    blur(34px)
    saturate(115%);

  opacity: .72;

  transform:
    rotate(5deg);

  animation:
    cinematicSunRays 32s
    cubic-bezier(.4,0,.2,1)
    infinite;
}


/* =========================================================
   🌅 LARGE DIFFUSED LIGHT
========================================================= */

.elementor::after {
  content: "";

  position: fixed;

  width: 1350px;
  height: 1050px;

  top: -260px;
  right: -360px;

  pointer-events: none;

  z-index: -1;

  background:
    radial-gradient(
      ellipse at 78% 5%,

      rgba(255,255,242,.12) 0%,

      rgba(255,245,215,.09) 10%,

      rgba(255,225,170,.055) 24%,

      rgba(255,205,135,.030) 40%,

      rgba(255,185,100,.012) 55%,

      transparent 74%
    );

  filter:
    blur(55px);

  opacity: .8;

  animation:
    cinematicSunGlow 22s
    ease-in-out
    infinite;
}


/* =========================================================
   ✨ CONTENT ABOVE LIGHT
========================================================= */

.elementor > * {
  position: relative;
  z-index: 1;
}


/* =========================================================
   ☀️ RAY MOVEMENT
========================================================= */

@keyframes cinematicSunRays {

  0% {
    transform:
      translate3d(25px,-15px,0)
      rotate(5deg)
      scale(1);

    opacity: .32;
  }

  25% {
    opacity: .52;
  }

  50% {
    transform:
      translate3d(-45px,35px,0)
      rotate(2deg)
      scale(1.055);

    opacity: .78;
  }

  75% {
    opacity: .48;
  }

  100% {
    transform:
      translate3d(25px,-15px,0)
      rotate(5deg)
      scale(1);

    opacity: .32;
  }
}


/* =========================================================
   🌅 SUNLIGHT BREATHING
========================================================= */

@keyframes cinematicSunGlow {

  0%,
  100% {
    transform:
      translate3d(0,0,0)
      scale(1);

    opacity: .48;
  }

  50% {
    transform:
      translate3d(-35px,25px,0)
      scale(1.09);

    opacity: .82;
  }
}


/* =========================================================
   🖥️ LARGE SCREENS
========================================================= */

@media (min-width: 1600px) {

  .elementor::before {
    width: 1800px;
    height: 1400px;

    top: -400px;
    right: -500px;
  }

  .elementor::after {
    width: 1600px;
    height: 1200px;

    top: -330px;
    right: -450px;
  }
}


/* =========================================================
   📱 MOBILE
========================================================= */

@media (max-width: 767px) {

  .elementor::before {

    width: 900px;
    height: 800px;

    top: -160px;
    right: -420px;

    filter:
      blur(32px);

    opacity: .48;
  }

  .elementor::after {

    width: 800px;
    height: 700px;

    top: -150px;
    right: -360px;

    filter:
      blur(48px);

    opacity: .55;
  }
}


/* =========================================================
   ♿ REDUCE MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .elementor::before,
  .elementor::after {
    animation: none !important;
  }
}/* End custom CSS */