/* Ładować po publicznych CSS. Żadna treść nie jest ukrywana przez ten arkusz.
 * Istniejące zmienne barw i fontów pozostają bez zmian.
 */
body[data-promo-motion] .pm-managed {
  /* Obejmuje tylko węzły wybrane przez JS, także dawne scroll-timelines. */
  animation: none !important;
  animation-timeline: auto !important;
}

/* Statyczna rama jest dostępna także bez JavaScript. Wymiary rezerwuje ratio,
 * a obrazy w HTML powinny dodatkowo mieć własne width/height oraz alt.
 * Zmiana proporcji: style="--promo-scene-ratio: 1.25" na .promo-scene.
 */
body[data-promo-motion] .promo-scene {
  position: relative;
  width: 100%;
  isolation: isolate;
  min-width: 0;
  margin: 0;
  aspect-ratio: var(--promo-scene-ratio, 1.5);
  overflow: hidden;
  background: var(--stage-ink, var(--surface));
  border: 1px solid var(--line);
  border-color: color-mix(in srgb, var(--accent) 30%, transparent);
  border-radius: 48% 48% 5px 5px;
  box-shadow: 0 20px 48px -30px var(--shadow);
}

body[data-promo-motion] .promo-scene__inner,
body[data-promo-motion] .promo-scene-layer {
  position: absolute;
  inset: 0;
  transform-origin: 50% 55%;
}

body[data-promo-motion] .promo-scene img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}

body[data-promo-motion] .promo-scene__lines,
body[data-promo-motion] .promo-scene-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: var(--house-side, var(--accent));
  stroke-width: .8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .48;
  pointer-events: none;
}

body[data-promo-motion] [data-promo-original-art] {
  display: none !important;
}

body[data-promo-motion] .promo-hero-stack {
  display: grid;
  gap: 28px;
  min-width: 0;
  align-self: start;
}

body[data-promo-motion] .promo-hero-stack > .tak-to {
  margin: 0;
}

body[data-promo-motion] .promo-scene-contact {
  width: 100%;
  max-width: 320px;
  margin-top: 28px;
  margin-bottom: 16px;
}

body[data-promo-motion] .promo-hero-stack .tak-to::after {
  opacity: .18;
}

body[data-promo-motion] .pm-tilt {
  transform: perspective(1100px) rotateX(var(--pm-tilt-x, 0deg)) rotateY(var(--pm-tilt-y, 0deg));
}

body[data-promo-motion] .pm-link {
  transition: color .2s ease, text-decoration-color .2s ease, background-color .2s ease, box-shadow .2s ease;
  text-decoration-thickness: 1px;
  text-underline-offset: .23em;
}

body[data-promo-motion] .pm-summary {
  transition: color .2s ease;
}

body[data-promo-motion] .pm-summary::after {
  transform: none;
  rotate: 0deg;
  transition: rotate .24s ease, color .2s ease;
}

body[data-promo-motion] details[open] > .pm-summary::after {
  rotate: 180deg;
}

body[data-promo-motion].pm-reduced .pm-managed,
body[data-promo-motion].pm-reduced .pm-summary::after {
  animation: none !important;
  transition: none !important;
  translate: none !important;
}

body[data-promo-motion].pm-reduced .pm-tilt {
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  body[data-promo-motion] .pm-tilt {
    transition: transform .55s cubic-bezier(.2,.75,.25,1);
  }

  body[data-promo-motion] .pm-reveal:is(.card, .fiszka, .cta-k) {
    transition: translate .25s ease, box-shadow .25s ease;
  }

  @media (hover: hover) and (pointer: fine) {
    /* Ograniczamy wcześniejsze uniesienie kart, wyłącznie po przejęciu ich JS. */
    body[data-promo-motion] .pm-reveal:is(.card, .fiszka, .cta-k):hover {
      translate: 0 -2px;
    }

    body[data-promo-motion] .pm-link:is(.btn, .btn-s, .k-cta):hover {
      transform: none;
      box-shadow: 0 7px 18px -13px var(--shadow);
    }

    body[data-promo-motion] .pm-link:hover {
      text-decoration-color: var(--accent);
    }

    body[data-promo-motion] .pm-summary:hover {
      color: var(--accent);
    }

    body[data-promo-motion] details:not([open]) > .pm-summary:hover::after {
      rotate: 90deg;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-promo-motion] .pm-managed,
  body[data-promo-motion] .pm-summary::after {
    animation: none !important;
    transition: none !important;
    translate: none !important;
  }

  body[data-promo-motion] .pm-tilt {
    transform: none;
  }
}

@media print {
  body[data-promo-motion] .pm-managed,
  body[data-promo-motion] .pm-summary::after {
    animation: none !important;
    transition: none !important;
    translate: none !important;
  }

  body[data-promo-motion] .pm-tilt {
    transform: none;
  }

  body[data-promo-motion] .promo-scene {
    box-shadow: none;
  }
}

/* AKR hero overflow fix 20261031 Byczek */
/* Bez data-promo-motion obraz 1536px rozpychal viewport (zamow.html). */
html{overflow-x:clip}
body .hero-g{min-width:0}
body .hero-g>*{min-width:0;max-width:100%}
.promo-scene{
  position:relative;width:100%;max-width:100%;min-width:0;margin:0;
  aspect-ratio:var(--promo-scene-ratio,1.5);overflow:hidden;
  isolation:isolate;
}
.promo-scene-layer,.promo-scene__inner{position:absolute;inset:0;min-width:0}
.promo-scene img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.promo-scene-lines,.promo-scene__lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#swiadectwo,#audyt,#kontakt{scroll-margin-top:96px}
