/* V101 — płynność, responsywność i wydajność bez zmiany treści. */

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
}

img,
video,
svg {
  max-width: 100%;
}

/* Jeden spokojny system wejścia. Starsze ciężkie efekty są neutralizowane. */

/* Wyłączone redundantne animacje V24/V35 — V64 jest jedynym systemem scroll-reveal. */
html.animations-ready .v35-text-enter,
html.animations-ready .v35-card-enter,
html.animations-ready .v35-image-enter,
.v35-text-enter,
.v35-card-enter,
.v35-image-enter {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.wow-scroll,
.wow-scroll-left,
.wow-scroll-right,
.wow-card {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.wow-heading .wow-word {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.wow-image::before { display: none !important; }

.v64-reveal {
  transition-duration: .82s !important;
  transition-timing-function: cubic-bezier(.16,1,.3,1) !important;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}
.v64-reveal--left { transform: translate3d(-34px,0,0) !important; }
.v64-reveal--right { transform: translate3d(34px,0,0) !important; }
.v64-reveal--up { transform: translate3d(0,30px,0) !important; }
.v64-reveal--title { transform: translate3d(0,36px,0) scale(.99) !important; }
.v64-reveal--card { transform: translate3d(0,32px,0) scale(.985) !important; filter: none !important; }
.v64-reveal--image { transform: translate3d(0,26px,0) scale(.985) !important; filter: none !important; }
.v64-reveal--pop { transform: translate3d(0,20px,0) scale(.97) !important; }
.v64-reveal.v64-visible {
  transform: translate3d(0,0,0) scale(1) !important;
  filter: none !important;
  will-change: auto !important;
}

/* Specjalne sekcje zachowują charakter animacji, ale bez przeciążania GPU. */
.v76-approach-ready .section-header,
.v76-approach-ready .approach-controls-v41,
.v76-approach-ready .approach-v40__step,
.v76-team-ready > * {
  transition-duration: .84s !important;
}
.v76-approach-ready .section-header { transform: translate3d(-30px,0,0) !important; }
.v76-approach-ready .approach-controls-v41 { transform: translate3d(0,18px,0) !important; }
.v76-approach-ready .approach-v40__step { transform: translate3d(0,28px,0) !important; }
.v76-team-ready > div:first-child { transform: translate3d(-28px,0,0) !important; }
.v76-team-ready > .subpage-note { transform: translate3d(28px,0,0) !important; }
.v76-team-ready > .team-hero-montage-v75 { transform: translate3d(0,24px,0) !important; }
.v76-team-in > *,
.v76-approach-ready .v76-in {
  transform: translate3d(0,0,0) !important;
}

/* Hero — krótsza i bardziej responsywna sekwencja. */
html.v69-hero-loaded .hero__eyebrow,
html.v69-hero-loaded .hero__title,
html.v69-hero-loaded .hero__lead,
html.v69-hero-loaded .hero__actions,
html.v69-hero-loaded .hero__trust {
  animation-duration: .92s !important;
}
html.v69-hero-loaded .hero__eyebrow { animation-delay: .02s !important; }
html.v69-hero-loaded .hero__title { animation-delay: .10s !important; }
html.v69-hero-loaded .hero__lead { animation-delay: .20s !important; }
html.v69-hero-loaded .hero__actions { animation-delay: .30s !important; }
html.v69-hero-loaded .hero__trust { animation-delay: .40s !important; }

/* Karty/obrazy — hover tylko na urządzeniach z prawdziwą myszką. */
@media (hover:hover) and (pointer:fine) {
  .team-card,
  .condition-card,
  .service-card,
  .review-card,
  .gallery-card,
  .method-card,
  .problem-card,
  .faq-item,
  .facility-chips li {
    transition-duration: .30s !important;
  }
  .team-card:hover,
  .condition-card:hover,
  .service-card:hover,
  .review-card:hover,
  .gallery-card:hover,
  .method-card:hover,
  .problem-card:hover {
    transform: translate3d(0,-4px,0) !important;
  }
}

/* Touch: brak hoverów i ciężkich efektów, płynny swipe. */
@media (hover:none), (pointer:coarse) {
  .wow-glow::after,
  .wow-image::after {
    display: none !important;
  }
  .team-card:hover,
  .condition-card:hover,
  .service-card:hover,
  .review-card:hover,
  .gallery-card:hover,
  .method-card:hover,
  .problem-card:hover,
  .faq-item:hover,
  .facility-chips li:hover {
    transform: none !important;
    box-shadow: inherit;
  }
}

/* Regulamin: jeden zwarty rytm pomiędzy kolejnymi punktami. */
.rules-full-v98 .rules-section-v98 {
  margin-bottom: 1.15rem !important;
}
.rules-full-v98 .rules-section-v98 h2 {
  margin: 0 0 .52rem !important;
}
.rules-full-v98 .rules-section-v98 ol,
.rules-full-v98 .rules-section-v98 ul {
  margin: .18rem 0 .48rem !important;
  padding-left: 1.5rem;
}
.rules-full-v98 .rules-section-v98 li {
  margin: 0 0 .16rem !important;
  padding: 0 !important;
  line-height: 1.48 !important;
}
.rules-full-v98 .rules-section-v98 p {
  margin: 0 0 .22rem !important;
  line-height: 1.48 !important;
}
.rules-full-v98 .rules-section-v98 li:last-child,
.rules-full-v98 .rules-section-v98 p:last-child {
  margin-bottom: 0 !important;
}

/* Tablet i telefon: krótsze dystanse + krótsze czasy = mniej zgubionych klatek. */
@media (max-width: 900px) {
  .v64-reveal {
    transition-duration: .68s !important;
  }
  .v64-reveal--left,
  .v64-reveal--right,
  .v64-reveal--up,
  .v64-reveal--title,
  .v64-reveal--card,
  .v64-reveal--image,
  .v64-reveal--pop {
    transform: translate3d(0,22px,0) scale(.992) !important;
    filter: none !important;
  }
  .v76-approach-ready .section-header,
  .v76-approach-ready .approach-controls-v41,
  .v76-approach-ready .approach-v40__step,
  .v76-team-ready > * {
    transition-duration: .68s !important;
  }
  html.v69-hero-loaded .hero__eyebrow,
  html.v69-hero-loaded .hero__title,
  html.v69-hero-loaded .hero__lead,
  html.v69-hero-loaded .hero__actions,
  html.v69-hero-loaded .hero__trust {
    animation-duration: .74s !important;
  }
  .hero-photo img,
  .hero__visual img,
  .page-hero img {
    translate: none !important;
  }
  .rules-full-v98 .rules-section-v98 {
    margin-bottom: .95rem !important;
  }
}

@media (max-width: 560px) {
  .v64-reveal {
    transition-duration: .58s !important;
  }
  .rules-full-v98 .rules-section-v98 li,
  .rules-full-v98 .rules-section-v98 p {
    line-height: 1.44 !important;
    margin-bottom: .14rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
  }
  .v64-reveal,
  .v76-approach-ready .section-header,
  .v76-approach-ready .approach-controls-v41,
  .v76-approach-ready .approach-v40__step,
  .v76-team-ready > * {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }
}
