.elementor-1154 .elementor-element.elementor-element-962b89c{--display:flex;--min-height:70vh;--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:-225px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-1154 .elementor-element.elementor-element-962b89c:not(.elementor-motion-effects-element-type-background), .elementor-1154 .elementor-element.elementor-element-962b89c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.kancelaria-msm.pl/wp-content/uploads/2026/02/pliki-cookies.webp");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-1154 .elementor-element.elementor-element-9a5b431{--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-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1154 .elementor-element.elementor-element-171d602{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:300;color:#353535;}.elementor-1154 .elementor-element.elementor-element-171d602 a{color:#0B4B00;}@media(max-width:1024px){.elementor-1154 .elementor-element.elementor-element-962b89c:not(.elementor-motion-effects-element-type-background), .elementor-1154 .elementor-element.elementor-element-962b89c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.kancelaria-msm.pl/wp-content/uploads/2026/02/pliki-cookies.webp");background-position:-228px 3px;background-size:1100px auto;}.elementor-1154 .elementor-element.elementor-element-962b89c{--min-height:500px;}}@media(max-width:767px){.elementor-1154 .elementor-element.elementor-element-962b89c:not(.elementor-motion-effects-element-type-background), .elementor-1154 .elementor-element.elementor-element-962b89c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.kancelaria-msm.pl/wp-content/uploads/2026/02/pliki-cookies.webp");background-position:-199px 53px;background-repeat:no-repeat;background-size:680px auto;}.elementor-1154 .elementor-element.elementor-element-962b89c{--min-height:388px;}}/* Start custom CSS for container, class: .elementor-element-962b89c *//* B&W overlay that never fully disappears */
.bg-colorize{
  position: relative;
  isolation: isolate;
}
.bg-colorize::before{
  content:"";
  position:absolute; inset:0;
  background: inherit;
  background-size: inherit;
  background-position: inherit;
  background-repeat: inherit;
  filter: grayscale(100%);
  opacity: 1;                     /* start: pelne B&W */
  pointer-events: none;
  z-index: 0;

  /* scroll-linked fade, but stop above 0 */
  animation: bwToColorPartial linear both;
  animation-timeline: scroll(root block);
  animation-range: 0 var(--colorize-end, 240px);
}

/* Content above */
.bg-colorize > *{ position: relative; z-index: 1; }

/* End with partial opacity (controls final desaturation) */
@keyframes bwToColorPartial { 
  to { opacity: var(--bw-final, .28); }  /* .28 = ~28% B&W zostaje */
}

/* (Optional) preserve luminance while desaturating:
   uncomment one of the lines below if obraz robi sie za ciemny */
/* .bg-colorize::before{ mix-blend-mode: saturation; } */
/* .bg-colorize::before{ mix-blend-mode: color; } */

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .bg-colorize::before{ animation: none !important; }
}

/* Fallback (bez scroll-linked): pozostaje B&W z opacity=1 */
@supports not (animation-timeline: auto){
  .bg-colorize::before{ /* static */ }
}

/* Mobile fix: always full black & white */
@media (max-width: 768px) {
  .bg-colorize::before {
    opacity: 1 !important;       /* zawsze 100% B&W */
    animation: none !important;  /* bez animacji scrollowej */
  }
}/* End custom CSS */