/* Start custom CSS *//* projekt strony głównej — style pomocnicze (tylko ta strona) */
.e-4b756ae5-a564 em, .e-6fba6f97-6e08 em, .e-e30fe3e-1d4c em, .elementor-5895 h2 em, .elementor-5895 h3 em { font-style: italic; color: var(--ug-olive, #76864E); }
.e-4b756ae5-a564 em { white-space: nowrap; }
.elementor-5895 h3 em { white-space: normal; }
[data-id="4aba2b15"] h3 em { color: inherit; }
[data-id="4911a9c0"] h2 em { color: #B9C29A; }
.elementor-5895 h1, .elementor-5895 h2 { text-wrap: balance; }
.elementor-5895 p { text-wrap: pretty; }
.e-6c9c8433-3fb4, .e-4208cca1-5e88, .e-57720d44-5f2e, .e-2ccecd49-1dd4 { white-space: nowrap; overflow-wrap: normal; }
.elementor-5895 strong { font-weight: 600; }
.elementor-5895 a[href^="mailto:kontakt@ulagramza.pl"] { color: var(--ug-brown); text-decoration: none; border-bottom: 1px solid var(--ug-olive); padding-bottom: 2px; }
[data-id="1d2c927e"] { -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
/* FAQ: znak + / − zależnie od stanu akordeonu */
.elementor-5895 details:not([open]) summary > :last-child > * > :last-child { display: none; }
.elementor-5895 details[open] summary > :last-child > * > :first-child { display: none; }
.elementor-5895 details summary { list-style: none; }
.elementor-5895 details summary::-webkit-details-marker { display: none; }

/* ===== ANIMACJE ===== */
html { scroll-behavior: smooth; }

@keyframes ug-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ug-move { from { transform: translateY(22px); } to { transform: none; } }
@keyframes ug-move-title { from { transform: translateY(64px) scale(.94); } to { transform: none; } }
@keyframes ug-photo { from { transform: scale(.9); opacity: 0; } 56% { opacity: 1; } to { transform: none; opacity: 1; } }
@keyframes ug-l-o { from { opacity: 0; } to { opacity: 1; } }
@keyframes ug-l-f { from { filter: blur(10px); } to { filter: blur(0); } }
@keyframes ug-l-t { from { transform: translateY(.2em); } to { transform: none; } }
@keyframes ug-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-5 * (min(80vw, 400px) + 20px))); } }

@media (prefers-reduced-motion: no-preference) {
  [data-id="58d4b88b"] { animation: ug-fade .9s ease 0s both, ug-move .9s cubic-bezier(.22,1,.36,1) 0s both; }
  .e-4b756ae5-a564 { animation: ug-fade .9s ease .08s both, ug-move-title 1.2s cubic-bezier(.34,1.3,.64,1) .08s both; transform-origin: 0 100%; }
  .e-f1f1406-ebcb { animation: ug-fade .9s ease .72s both, ug-move .9s cubic-bezier(.22,1,.36,1) .72s both; }
  [data-id="77d0e527"] { animation: ug-fade .9s ease .84s both, ug-move .9s cubic-bezier(.22,1,.36,1) .84s both; }
  [data-id="25aec52c"] { animation: ug-fade .9s ease .96s both, ug-move .9s cubic-bezier(.22,1,.36,1) .96s both; }
  [data-id="440a1e5f"] { animation: ug-fade .9s ease 1.1s both, ug-move .9s cubic-bezier(.22,1,.36,1) 1.1s both; }
  [data-id="373552d9"] { animation: ug-photo 1.6s cubic-bezier(.22,1,.36,1) .15s both; will-change: transform, opacity; }
  .e-4b756ae5-a564 em span { display: inline-block; animation: ug-l-o .6s ease both, ug-l-f .8s ease both, ug-l-t .9s cubic-bezier(.22,1,.36,1) both; animation-delay: var(--ld, 380ms); }
  .e-4b756ae5-a564 em span:nth-child(1) { --ld: 380ms; } .e-4b756ae5-a564 em span:nth-child(2) { --ld: 435ms; } .e-4b756ae5-a564 em span:nth-child(3) { --ld: 490ms; } .e-4b756ae5-a564 em span:nth-child(4) { --ld: 545ms; } .e-4b756ae5-a564 em span:nth-child(5) { --ld: 600ms; } .e-4b756ae5-a564 em span:nth-child(6) { --ld: 655ms; } .e-4b756ae5-a564 em span:nth-child(7) { --ld: 710ms; } .e-4b756ae5-a564 em span:nth-child(8) { --ld: 765ms; } .e-4b756ae5-a564 em span:nth-child(9) { --ld: 820ms; } .e-4b756ae5-a564 em span:nth-child(10) { --ld: 875ms; } .e-4b756ae5-a564 em span:nth-child(11) { --ld: 930ms; } .e-4b756ae5-a564 em span:nth-child(12) { --ld: 985ms; } .e-4b756ae5-a564 em span:nth-child(13) { --ld: 1040ms; } .e-4b756ae5-a564 em span:nth-child(14) { --ld: 1095ms; }
  [data-id="140bce76"] { animation: ug-marquee 75s linear infinite; will-change: transform; }
}
/* Pauza karuzeli po najechaniu — tylko na urządzeniach z myszką (na telefonie dotyk nie zatrzymuje) */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  [data-id="1d2c927e"]:hover [data-id="140bce76"] { animation-play-state: paused; }
}

/* Wejścia sekcji przy scrollu — stan ukryty ustawia dopiero skrypt (bez JS wszystko jest widoczne) */
.ug-rv-d1 { --ug-d: 110ms; } .ug-rv-d2 { --ug-d: 220ms; } .ug-rv-d3 { --ug-d: 330ms; } .ug-rv-d4 { --ug-d: 440ms; }
.elementor .ug-h { opacity: 0; transform: translateY(34px); }
.elementor .ug-reveal-blur.ug-h { filter: blur(10px); }
.elementor .ug-in { opacity: 1; transform: none; filter: blur(0); transition: opacity .9s ease var(--ug-d, 0ms), transform 1.1s cubic-bezier(.34,1.22,.64,1) var(--ug-d, 0ms), filter 1s ease var(--ug-d, 0ms); }
.elementor .ug-parallax { will-change: transform; }
#oferta, #mentoring, #kontakt, #krok-1, #krok-2, #krok-3, #krok-4 { scroll-margin-top: 24px; }

/* Sticky stack — tylko gdy sekcja mieści się w ekranie (inaczej zwykły scroll) */
@media (min-width: 1025px) and (min-height: 1000px) { .elementor-5895 .elementor-element-176ced7c, .elementor-5895 .elementor-element-797cdf1d { position: sticky !important; top: 0; } }
@media (min-width: 1025px) and (min-height: 1250px) { .elementor-5895 .elementor-element-3f56b3b7 { position: sticky !important; top: 0; } }
@media (min-width: 1025px) and (min-height: 800px) { .elementor-5895 .elementor-element-4911a9c0 { position: sticky !important; top: 0; } }/* End custom CSS */