.elementor-2326 .elementor-element.elementor-element-a053daf{--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;--overlay-opacity:0.61;--padding-top:150px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-2326 .elementor-element.elementor-element-a053daf::before, .elementor-2326 .elementor-element.elementor-element-a053daf > .elementor-background-video-container::before, .elementor-2326 .elementor-element.elementor-element-a053daf > .e-con-inner > .elementor-background-video-container::before, .elementor-2326 .elementor-element.elementor-element-a053daf > .elementor-background-slideshow::before, .elementor-2326 .elementor-element.elementor-element-a053daf > .e-con-inner > .elementor-background-slideshow::before, .elementor-2326 .elementor-element.elementor-element-a053daf > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:radial-gradient(at top left, #E2E8E8BA 16%, #FFFFFF 35%);}.elementor-2326 .elementor-element.elementor-element-001f5b2{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-2326 .elementor-element.elementor-element-001f5b2.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2326 .elementor-element.elementor-element-e46191b{background-color:#141E200A;padding:8px 20px 8px 20px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#141E200D;border-radius:40px 40px 40px 40px;}.elementor-2326 .elementor-element.elementor-element-e46191b.elementor-element{--align-self:flex-start;}.elementor-2326 .elementor-element.elementor-element-e46191b .elementor-heading-title{font-family:"Lora", Sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;line-height:1.2em;letter-spacing:3px;color:#5A696C;}.elementor-2326 .elementor-element.elementor-element-8b440c8{width:100%;max-width:100%;padding:20px 0px 20px 0px;text-align:start;}.elementor-2326 .elementor-element.elementor-element-8b440c8.elementor-element{--align-self:center;}.elementor-2326 .elementor-element.elementor-element-8b440c8 .elementor-heading-title{font-family:"Lora", Sans-serif;font-size:40px;font-weight:900;}.elementor-2326 .elementor-element.elementor-element-22f269a{--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:50px;--padding-left:0px;--padding-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2326 .elementor-element.elementor-element-fdacf97{--grid-columns:3;--grid-row-gap:30px;width:100%;max-width:100%;--grid-column-gap:30px;}.elementor-2326 .elementor-element.elementor-element-fdacf97 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2326 .elementor-element.elementor-element-fdacf97 .e-loop-item > .elementor-section, .elementor-2326 .elementor-element.elementor-element-fdacf97 .e-loop-item > .elementor-section > .elementor-container, .elementor-2326 .elementor-element.elementor-element-fdacf97 .e-loop-item > .e-con, .elementor-2326 .elementor-element.elementor-element-fdacf97 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(max-width:1024px){.elementor-2326 .elementor-element.elementor-element-8b440c8{padding:10px 0px 10px 0px;}.elementor-2326 .elementor-element.elementor-element-8b440c8 .elementor-heading-title{font-size:50px;line-height:1.2em;}.elementor-2326 .elementor-element.elementor-element-fdacf97{--grid-columns:2;}}@media(max-width:767px){.elementor-2326 .elementor-element.elementor-element-a053daf{--padding-top:80px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-2326 .elementor-element.elementor-element-001f5b2{--padding-top:20px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-2326 .elementor-element.elementor-element-8b440c8 .elementor-heading-title{font-size:40px;}.elementor-2326 .elementor-element.elementor-element-fdacf97{--grid-columns:1;}}@media(min-width:768px){.elementor-2326 .elementor-element.elementor-element-001f5b2{--content-width:1150px;}.elementor-2326 .elementor-element.elementor-element-22f269a{--width:86%;}}/* Start custom CSS for heading, class: .elementor-element-e46191b */.section-tag{
    position: relative;
    overflow: hidden;
}

.section-tag::after{
    content:'';
    position:absolute;
    top:0;
    left:-100%;
    width:50%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(20,30,32,.12),
        transparent
    );
    animation:tag-shimmer 4s linear infinite;
    pointer-events:none;
}

@keyframes tag-shimmer {
  from { left: -100%; }
  to   { left: 200%; }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8b440c8 */.single-content h1.elementor-heading-title {
    margin-bottom: 0px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a053daf *//* ── ORBITAL RINGS 3D ── */

.ambient-decor {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}
.orbit-ring {
  position: absolute;
  border: 1.5px solid rgba(29,43,46,0.3);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  animation: orbit-rotate3d 12s linear infinite;
  transform-style: preserve-3d;
}

.orbit-ring:nth-child(1) {
  width: 120%; height: 120%;
  margin: -60% -60%;
  animation-duration: 10s;
  border-color: rgba(29,43,46,0.28);
  transform: rotateX(70deg);
}

.orbit-ring:nth-child(2) {
  width: 150%; height: 150%;
  margin: -75% -75%;
  animation-duration: 15s;
  animation-direction: reverse;
  border-color: rgba(29,43,46,0.2);
  transform: rotateX(70deg) rotateY(30deg);
}

.orbit-ring:nth-child(3) {
  width: 180%; height: 180%;
  margin: -90% -90%;
  animation-duration: 20s;
  border-color: rgba(29,43,46,0.14);
  transform: rotateX(70deg) rotateY(60deg);
}

@keyframes orbit-rotate3d {
  from { transform: rotateX(70deg) rotateZ(0deg); }
  to   { transform: rotateX(70deg) rotateZ(360deg); }
}

/* Each orbit ring keeps its own unique base angle */
.orbit-ring:nth-child(1) { animation-name: orbit-r1; }
.orbit-ring:nth-child(2) { animation-name: orbit-r2; }
.orbit-ring:nth-child(3) { animation-name: orbit-r3; }

@keyframes orbit-r1 {
  from { transform: rotateX(70deg) rotateZ(0deg); }
  to   { transform: rotateX(70deg) rotateZ(360deg); }
}
@keyframes orbit-r2 {
  from { transform: rotateX(60deg) rotateY(30deg) rotateZ(0deg); }
  to   { transform: rotateX(60deg) rotateY(30deg) rotateZ(-360deg); }
}
@keyframes orbit-r3 {
  from { transform: rotateX(50deg) rotateY(60deg) rotateZ(0deg); }
  to   { transform: rotateX(50deg) rotateY(60deg) rotateZ(360deg); }
}

/* ── ORBIT DOT 3D ── */
.orbit-dot-3d {
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--white);
  border-radius: 50%;
  top: -4px;
  left: calc(50% - 4px);
  box-shadow: 0 0 12px rgba(20, 30, 32,0.8), 0 0 24px rgba(20, 30, 32,0.4);
}
.hero-grid-3d {
  position: absolute;
  inset: 0;
  perspective: 800px;
  pointer-events: none;
  overflow: hidden;
}

.hero-grid-inner {
  position: absolute;
  inset: -50%;
  background-image:
    linear-gradient(rgba(20, 30, 32,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20, 30, 32,0.04) 1px, transparent 1px);
  background-size: 80px 80px;
  transform: rotateX(60deg) translateZ(-100px);
  animation: grid-drift 20s linear infinite;
  transform-origin: center top;
}

@keyframes grid-drift {
  from { background-position: 0 0; }
  to   { background-position: 0 80px; }
}/* End custom CSS */