.elementor-17 .elementor-element.elementor-element-39cc283{--display:flex;--min-height:925px;--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:flex-start;--background-transition:0.3s;--overlay-opacity:0.3;}.elementor-17 .elementor-element.elementor-element-39cc283:not(.elementor-motion-effects-element-type-background), .elementor-17 .elementor-element.elementor-element-39cc283 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://pushskate.pl/wp-content/uploads/2026/05/IMG_8494-e1778971378436.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-17 .elementor-element.elementor-element-39cc283::before, .elementor-17 .elementor-element.elementor-element-39cc283 > .elementor-background-video-container::before, .elementor-17 .elementor-element.elementor-element-39cc283 > .e-con-inner > .elementor-background-video-container::before, .elementor-17 .elementor-element.elementor-element-39cc283 > .elementor-background-slideshow::before, .elementor-17 .elementor-element.elementor-element-39cc283 > .e-con-inner > .elementor-background-slideshow::before, .elementor-17 .elementor-element.elementor-element-39cc283 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-astglobalcolor0 );--background-overlay:'';}.elementor-17 .elementor-element.elementor-element-718999f{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-17 .elementor-element.elementor-element-1e91695{width:var( --container-widget-width, 1052px );max-width:1052px;--container-widget-width:1052px;--container-widget-flex-grow:0;text-align:center;}.elementor-17 .elementor-element.elementor-element-1e91695.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-17 .elementor-element.elementor-element-1e91695 .elementor-heading-title{font-family:"Climate Crisis", Sans-serif;font-size:67px;font-weight:400;letter-spacing:1.2px;color:var( --e-global-color-secondary );}.elementor-17 .elementor-element.elementor-element-890ccf7 .elementor-button{background-color:#FEFEFE00;font-size:36px;font-weight:400;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:40px 40px 40px 40px;}.elementor-17 .elementor-element.elementor-element-890ccf7 .elementor-button:hover, .elementor-17 .elementor-element.elementor-element-890ccf7 .elementor-button:focus{background-color:var( --e-global-color-primary );border-color:#02010100;}.elementor-17 .elementor-element.elementor-element-6425975{--display:flex;}.elementor-17 .elementor-element.elementor-element-3a7cb73{--spacer-size:10px;}.elementor-17 .elementor-element.elementor-element-1f29d81{text-align:start;}.elementor-17 .elementor-element.elementor-element-1f29d81 .elementor-heading-title{font-family:"Climate Crisis", Sans-serif;font-size:36px;letter-spacing:1.3px;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-04adaaa{--display:flex;}.elementor-17 .elementor-element.elementor-element-abfc950{--spacer-size:50px;}.elementor-17 .elementor-element.elementor-element-b4a8756{font-family:"Climate Crisis", Sans-serif;font-weight:400;letter-spacing:1.2px;color:var( --e-global-color-text );}.elementor-17 .elementor-element.elementor-element-7fe76c4{--display:flex;}.elementor-17 .elementor-element.elementor-element-dee659f{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:1px;}.elementor-17 .elementor-element.elementor-element-dee659f .elementor-divider-separator{width:100%;}.elementor-17 .elementor-element.elementor-element-dee659f .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-17 .elementor-element.elementor-element-277c65c{--display:flex;}.elementor-17 .elementor-element.elementor-element-9bf39b1{color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-b9ff7e2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-17 .elementor-element.elementor-element-7643862{width:auto;max-width:auto;text-align:start;font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-7643862 p{margin-block-end:0px;}.elementor-17 .elementor-element.elementor-element-387b014{--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;}.elementor-17 .elementor-element.elementor-element-c1bb682 .elementor-repeater-item-753a4f8.qodef-m-text-item{font-family:"Climate Crisis", Sans-serif;font-size:40px;font-weight:700;letter-spacing:1.2px;}.elementor-17 .elementor-element.elementor-element-c1bb682 .elementor-repeater-item-8d1fa9d.qodef-m-text-item{font-family:"Climate Crisis", Sans-serif;font-size:40px;font-weight:700;letter-spacing:1.2px;}.elementor-17 .elementor-element.elementor-element-c1bb682 .elementor-repeater-item-92d00a4.qodef-m-text-item{font-family:"Climate Crisis", Sans-serif;font-size:40px;font-weight:700;letter-spacing:1.2px;}.elementor-17 .elementor-element.elementor-element-c1bb682 .elementor-repeater-item-0800ce8.qodef-m-text-item{font-family:"Climate Crisis", Sans-serif;font-size:40px;font-weight:700;letter-spacing:1.2px;}.elementor-17 .elementor-element.elementor-element-c1bb682 .elementor-repeater-item-769c44f.qodef-m-text-item{font-family:"Climate Crisis", Sans-serif;font-size:40px;font-weight:700;letter-spacing:1.2px;}.elementor-17 .elementor-element.elementor-element-c1bb682 .elementor-repeater-item-5c64d36.qodef-m-text-item{font-family:"Climate Crisis", Sans-serif;font-size:40px;font-weight:700;letter-spacing:1.2px;}.elementor-17 .elementor-element.elementor-element-c1bb682 .qodef-qi-text-marquee .qodef-m-text.qodef-text--original{animation:qode-move-horizontal-normal-text-marquee 30s linear infinite;}.elementor-17 .elementor-element.elementor-element-c1bb682 .qodef-qi-text-marquee .qodef-m-text.qodef-text--copy{animation:qode-move-horizontal-normal-text-marquee-copy 30s linear infinite;}.elementor-17 .elementor-element.elementor-element-c1bb682 .qodef-m-text-item{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-c1bb682 .qodef-e-icon-holder{color:var( --e-global-color-primary );font-size:15px;}.elementor-17 .elementor-element.elementor-element-fe062e2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-17 .elementor-element.elementor-element-f84fa2e{--display:flex;}.elementor-17 .elementor-element.elementor-element-b9a8b62 .widget-image-caption{text-align:start;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-e8cec4e{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17 .elementor-element.elementor-element-9200b23{--display:flex;}.elementor-17 .elementor-element.elementor-element-585c1df{columns:1;text-align:start;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-585c1df p{margin-block-end:1px;}.elementor-17 .elementor-element.elementor-element-585c1df a{color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-d9ed80d .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-81ac47d{color:var( --e-global-color-text );}.elementor-17 .elementor-element.elementor-element-0eee452{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-17 .elementor-element.elementor-element-d05701f{--display:flex;}.elementor-17 .elementor-element.elementor-element-154a408 .widget-image-caption{text-align:start;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-788fe5e{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17 .elementor-element.elementor-element-e36898e{--display:flex;}.elementor-17 .elementor-element.elementor-element-1ed9ac8{columns:1;text-align:start;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-1ed9ac8 p{margin-block-end:1px;}.elementor-17 .elementor-element.elementor-element-1ed9ac8 a{color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-c8d3594 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-e39ca4e{color:var( --e-global-color-text );}.elementor-17 .elementor-element.elementor-element-fd8e975{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-17 .elementor-element.elementor-element-d212d63{--display:flex;}.elementor-17 .elementor-element.elementor-element-e9d2aa7 .widget-image-caption{text-align:start;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-d621962{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17 .elementor-element.elementor-element-9387e47{--display:flex;}.elementor-17 .elementor-element.elementor-element-e482598{columns:1;text-align:start;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-e482598 p{margin-block-end:1px;}.elementor-17 .elementor-element.elementor-element-e482598 a{color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-ebda878 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-482bbe2{color:var( --e-global-color-text );}.elementor-17 .elementor-element.elementor-element-98ff5bb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-17 .elementor-element.elementor-element-ed3db84{--display:flex;}.elementor-17 .elementor-element.elementor-element-21e6d74 .widget-image-caption{text-align:start;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-ce99973{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17 .elementor-element.elementor-element-ce99973.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-17 .elementor-element.elementor-element-9743e2e{--display:flex;}.elementor-17 .elementor-element.elementor-element-4cd31ae{columns:1;text-align:start;color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-4cd31ae p{margin-block-end:1px;}.elementor-17 .elementor-element.elementor-element-4cd31ae a{color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-4bf92bf .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-17 .elementor-element.elementor-element-970b9f2{color:var( --e-global-color-text );}@media(max-width:1024px){.elementor-17 .elementor-element.elementor-element-718999f{--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;}.elementor-17 .elementor-element.elementor-element-c1bb682 .qodef-m-text-item{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-d9ed80d .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-c8d3594 .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-ebda878 .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-4bf92bf .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:767px){.elementor-17 .elementor-element.elementor-element-39cc283:not(.elementor-motion-effects-element-type-background), .elementor-17 .elementor-element.elementor-element-39cc283 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://pushskate.pl/wp-content/uploads/2026/05/IMG_8494-e1778971378436.png");background-position:top center;}.elementor-17 .elementor-element.elementor-element-39cc283{--min-height:0vh;--padding-top:420px;--padding-bottom:120px;--padding-left:0px;--padding-right:0px;}.elementor-17 .elementor-element.elementor-element-718999f{--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;}.elementor-17 .elementor-element.elementor-element-1e91695{width:auto;max-width:auto;text-align:end;}.elementor-17 .elementor-element.elementor-element-1e91695 .elementor-heading-title{font-size:30px;}.elementor-17 .elementor-element.elementor-element-890ccf7.elementor-element{--align-self:flex-end;}.elementor-17 .elementor-element.elementor-element-890ccf7 .elementor-button{font-size:20px;}.elementor-17 .elementor-element.elementor-element-1f29d81{text-align:start;}.elementor-17 .elementor-element.elementor-element-1f29d81 .elementor-heading-title{font-size:24px;}.elementor-17 .elementor-element.elementor-element-abfc950{--spacer-size:0px;}.elementor-17 .elementor-element.elementor-element-b4a8756{width:100%;max-width:100%;text-align:start;font-size:16px;line-height:1.3em;}.elementor-17 .elementor-element.elementor-element-b4a8756 p{margin-block-end:0px;}.elementor-17 .elementor-element.elementor-element-9bf39b1{font-size:14px;}.elementor-17 .elementor-element.elementor-element-7643862{columns:1;text-align:start;}.elementor-17 .elementor-element.elementor-element-7643862 p{margin-block-end:12px;}.elementor-17 .elementor-element.elementor-element-c1bb682 .qodef-m-text-item{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-585c1df{text-align:start;}.elementor-17 .elementor-element.elementor-element-585c1df p{margin-block-end:1px;}.elementor-17 .elementor-element.elementor-element-d9ed80d{text-align:start;}.elementor-17 .elementor-element.elementor-element-d9ed80d .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-1ed9ac8{text-align:start;}.elementor-17 .elementor-element.elementor-element-1ed9ac8 p{margin-block-end:1px;}.elementor-17 .elementor-element.elementor-element-c8d3594 .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-e482598{text-align:start;}.elementor-17 .elementor-element.elementor-element-e482598 p{margin-block-end:1px;}.elementor-17 .elementor-element.elementor-element-ebda878 .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-17 .elementor-element.elementor-element-4cd31ae{text-align:start;}.elementor-17 .elementor-element.elementor-element-4cd31ae p{margin-block-end:1px;}.elementor-17 .elementor-element.elementor-element-4bf92bf .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(min-width:768px){.elementor-17 .elementor-element.elementor-element-718999f{--width:100%;}.elementor-17 .elementor-element.elementor-element-f84fa2e{--width:50%;}.elementor-17 .elementor-element.elementor-element-e8cec4e{--width:50%;}.elementor-17 .elementor-element.elementor-element-d05701f{--width:50%;}.elementor-17 .elementor-element.elementor-element-788fe5e{--width:50%;}.elementor-17 .elementor-element.elementor-element-d212d63{--width:50%;}.elementor-17 .elementor-element.elementor-element-d621962{--width:50%;}.elementor-17 .elementor-element.elementor-element-ed3db84{--width:50%;}.elementor-17 .elementor-element.elementor-element-ce99973{--width:51.183%;}}/* Start custom CSS for image, class: .elementor-element-b9a8b62 *//* Grainy animated overlay for Elementor Image widgets */
.grainy-effect .elementor-widget-container {
  position: relative;
  overflow: hidden; /* Keeps grain inside rounded corners */
  /* If your images have border-radius, also add it here or the grain will leak out */
  border-radius: inherit;
}

/* Two animated noise layers */
.grainy-effect .elementor-widget-container::before,
.grainy-effect .elementor-widget-container::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  right: -50%;
  bottom: -50%;
  pointer-events: none; /* Lets clicks pass through to the image */
  z-index: 2;
  
  /* Base64 SVG noise pattern (feTurbulence) */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  mix-blend-mode: overlay;
  opacity: 0.20;
  
  /* Hardware accelerated animation */
  will-change: transform;
  animation: grain-move 0.2s steps(8) infinite;
}

/* Second layer: different speed/size for depth */
.grainy-effect .elementor-widget-container::after {
  opacity: 0.15;
  background-size: 150px 150px;
  animation-duration: 0.8s;
  animation-direction: reverse;
}

/* The "film grain" jitter animation */
@keyframes grain-move {
  0%   { transform: translate(0, 0); }
  10%  { transform: translate(-2%, -3%); }
  20%  { transform: translate(-4%, 2%); }
  30%  { transform: translate(2%, -4%); }
  40%  { transform: translate(3%, 1%); }
  50%  { transform: translate(2%, 4%); }
  60%  { transform: translate(-1%, 3%); }
  70%  { transform: translate(-3%, -1%); }
  80%  { transform: translate(1%, -2%); }
  90%  { transform: translate(3%, 2%); }
  100% { transform: translate(0, 0); }
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  .grainy-effect .elementor-widget-container::before,
  .grainy-effect .elementor-widget-container::after {
    animation: none;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-154a408 *//* Grainy animated overlay for Elementor Image widgets */
.grainy-effect .elementor-widget-container {
  position: relative;
  overflow: hidden; /* Keeps grain inside rounded corners */
  /* If your images have border-radius, also add it here or the grain will leak out */
  border-radius: inherit;
}

/* Two animated noise layers */
.grainy-effect .elementor-widget-container::before,
.grainy-effect .elementor-widget-container::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  right: -50%;
  bottom: -50%;
  pointer-events: none; /* Lets clicks pass through to the image */
  z-index: 2;
  
  /* Base64 SVG noise pattern (feTurbulence) */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  mix-blend-mode: overlay;
  opacity: 0.20;
  
  /* Hardware accelerated animation */
  will-change: transform;
  animation: grain-move 0.2s steps(8) infinite;
}

/* Second layer: different speed/size for depth */
.grainy-effect .elementor-widget-container::after {
  opacity: 0.15;
  background-size: 150px 150px;
  animation-duration: 0.8s;
  animation-direction: reverse;
}

/* The "film grain" jitter animation */
@keyframes grain-move {
  0%   { transform: translate(0, 0); }
  10%  { transform: translate(-2%, -3%); }
  20%  { transform: translate(-4%, 2%); }
  30%  { transform: translate(2%, -4%); }
  40%  { transform: translate(3%, 1%); }
  50%  { transform: translate(2%, 4%); }
  60%  { transform: translate(-1%, 3%); }
  70%  { transform: translate(-3%, -1%); }
  80%  { transform: translate(1%, -2%); }
  90%  { transform: translate(3%, 2%); }
  100% { transform: translate(0, 0); }
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  .grainy-effect .elementor-widget-container::before,
  .grainy-effect .elementor-widget-container::after {
    animation: none;
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-e9d2aa7 *//* Grainy animated overlay for Elementor Image widgets */
.grainy-effect .elementor-widget-container {
  position: relative;
  overflow: hidden; /* Keeps grain inside rounded corners */
  /* If your images have border-radius, also add it here or the grain will leak out */
  border-radius: inherit;
}

/* Two animated noise layers */
.grainy-effect .elementor-widget-container::before,
.grainy-effect .elementor-widget-container::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  right: -50%;
  bottom: -50%;
  pointer-events: none; /* Lets clicks pass through to the image */
  z-index: 2;
  
  /* Base64 SVG noise pattern (feTurbulence) */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  mix-blend-mode: overlay;
  opacity: 0.20;
  
  /* Hardware accelerated animation */
  will-change: transform;
  animation: grain-move 0.2s steps(8) infinite;
}

/* Second layer: different speed/size for depth */
.grainy-effect .elementor-widget-container::after {
  opacity: 0.15;
  background-size: 150px 150px;
  animation-duration: 0.8s;
  animation-direction: reverse;
}

/* The "film grain" jitter animation */
@keyframes grain-move {
  0%   { transform: translate(0, 0); }
  10%  { transform: translate(-2%, -3%); }
  20%  { transform: translate(-4%, 2%); }
  30%  { transform: translate(2%, -4%); }
  40%  { transform: translate(3%, 1%); }
  50%  { transform: translate(2%, 4%); }
  60%  { transform: translate(-1%, 3%); }
  70%  { transform: translate(-3%, -1%); }
  80%  { transform: translate(1%, -2%); }
  90%  { transform: translate(3%, 2%); }
  100% { transform: translate(0, 0); }
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  .grainy-effect .elementor-widget-container::before,
  .grainy-effect .elementor-widget-container::after {
    animation: none;
  }
}/* End custom CSS */