/* /oferta page. Ported verbatim from the design artifact's <helmet> styles
   (tests/fixtures/subpages/oferta/Oferta.dc.html), photo URLs pointing to the site files; plus the
   artifact runtime's `@media print` baseline (as in site.css). */
body{margin:0}
h1,h2,h3{font-family:'Outfit','Quicksand',-apple-system,'Segoe UI',sans-serif}
h1,h2{font-weight:600 !important;letter-spacing:-.02em !important}
h3{font-weight:600 !important}
a{color:#22164A}a:hover{color:#81319C}
.op-hero-photo{background-color:#3A2F66;background-image:url(/assets/img/hero-oferta.jpg?v=1);background-size:cover;background-position:center 30%;filter:grayscale(.45) brightness(.82) contrast(.95)}
.op-contact-photo{background-color:#3A2F66;background-image:url(/assets/img/kontakt-oferta.jpg?v=1);background-size:cover;background-position:center 35%;filter:grayscale(.45) brightness(.82) contrast(.95)}
.op-hero-veil{background:linear-gradient(100deg,rgba(34,22,74,.93) 0%,rgba(34,22,74,.82) 35%,rgba(30,24,56,.72) 65%,rgba(34,22,74,.65) 100%)}
.op-card{transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
.op-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(34,22,74,.10);border-color:#22164A}
/* Small looping illustrations that fill the empty space under each offer's left column */
.op-fill rect{transform-box:fill-box;transform-origin:center}
@media (max-width:1000px){.op-fill{display:none !important}}
.f1-dot{animation:f1move 4.8s linear infinite}
@keyframes f1move{0%{transform:translateX(0);opacity:0}5%{opacity:1}75%{transform:translateX(330px);opacity:1}88%,100%{transform:translateX(330px);opacity:0}}
.f1-l1{animation:f1l1 4.8s linear infinite}.f1-l2{animation:f1l2 4.8s linear infinite}.f1-l3{animation:f1l3 4.8s linear infinite}.f1-l4{animation:f1l4 4.8s linear infinite}
@keyframes f1l1{0%,1%{opacity:0;transform:scale(.3)}5%,88%{opacity:1;transform:scale(1)}94%,100%{opacity:0;transform:scale(.3)}}
@keyframes f1l2{0%,25%{opacity:0;transform:scale(.3)}29%,88%{opacity:1;transform:scale(1)}94%,100%{opacity:0;transform:scale(.3)}}
@keyframes f1l3{0%,50%{opacity:0;transform:scale(.3)}54%,88%{opacity:1;transform:scale(1)}94%,100%{opacity:0;transform:scale(.3)}}
@keyframes f1l4{0%,75%{opacity:0;transform:scale(.3)}79%,88%{opacity:1;transform:scale(1)}94%,100%{opacity:0;transform:scale(.3)}}
.f2-d1{animation:f2a 3s ease-in-out infinite}.f2-d2{animation:f2b 3.6s ease-in-out .8s infinite both}.f2-d3{animation:f2c 4.2s ease-in-out 1.6s infinite both}
@keyframes f2a{0%{transform:translate(60px,45px);opacity:0}12%,85%{opacity:1}100%{transform:translate(340px,45px);opacity:0}}
@keyframes f2b{0%{transform:translate(340px,45px);opacity:0}12%,85%{opacity:1}100%{transform:translate(200px,125px);opacity:0}}
@keyframes f2c{0%{transform:translate(200px,125px);opacity:0}12%,85%{opacity:1}100%{transform:translate(60px,45px);opacity:0}}
.f3r{animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.f3-1{animation-name:f3k1}.f3-2{animation-name:f3k2}.f3-3{animation-name:f3k3}.f3-4{animation-name:f3k4}.f3-5{animation-name:f3k5}.f3-6{animation-name:f3k6}.f3-7{animation-name:f3k7}.f3-8{animation-name:f3k8}
@keyframes f3k1{0%,12%,100%{transform:translate(-90px,-20px) rotate(-25deg)}40%,82%{transform:none}}
@keyframes f3k2{0%,12%,100%{transform:translate(-40px,38px) rotate(30deg)}40%,82%{transform:none}}
@keyframes f3k3{0%,12%,100%{transform:translate(30px,-36px) rotate(15deg)}40%,82%{transform:none}}
@keyframes f3k4{0%,12%,100%{transform:translate(100px,12px) rotate(-40deg)}40%,82%{transform:none}}
@keyframes f3k5{0%,12%,100%{transform:translate(-110px,26px) rotate(20deg)}40%,82%{transform:none}}
@keyframes f3k6{0%,12%,100%{transform:translate(-20px,-34px) rotate(-15deg)}40%,82%{transform:none}}
@keyframes f3k7{0%,12%,100%{transform:translate(70px,34px) rotate(35deg)}40%,82%{transform:none}}
@keyframes f3k8{0%,12%,100%{transform:translate(118px,-28px) rotate(-20deg)}40%,82%{transform:none}}
.f4-pulse{animation:f4p 2.4s ease-out infinite}
@keyframes f4p{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
.f4-d{animation-duration:3s;animation-timing-function:ease-in;animation-iteration-count:infinite;animation-fill-mode:both}
.f4-d1{animation-name:f4k1;animation-delay:0s}.f4-d2{animation-name:f4k2;animation-delay:.5s}.f4-d3{animation-name:f4k3;animation-delay:1s}.f4-d4{animation-name:f4k4;animation-delay:1.5s}.f4-d5{animation-name:f4k5;animation-delay:2s}.f4-d6{animation-name:f4k6;animation-delay:2.5s}
@keyframes f4k1{0%{transform:translate(60px,35px);opacity:0}15%,80%{opacity:1}100%{transform:translate(200px,80px);opacity:0}}
@keyframes f4k2{0%{transform:translate(60px,125px);opacity:0}15%,80%{opacity:1}100%{transform:translate(200px,80px);opacity:0}}
@keyframes f4k3{0%{transform:translate(135px,15px);opacity:0}15%,80%{opacity:1}100%{transform:translate(200px,80px);opacity:0}}
@keyframes f4k4{0%{transform:translate(265px,145px);opacity:0}15%,80%{opacity:1}100%{transform:translate(200px,80px);opacity:0}}
@keyframes f4k5{0%{transform:translate(340px,35px);opacity:0}15%,80%{opacity:1}100%{transform:translate(200px,80px);opacity:0}}
@keyframes f4k6{0%{transform:translate(340px,125px);opacity:0}15%,80%{opacity:1}100%{transform:translate(200px,80px);opacity:0}}
.f5 rect.f5-bar{transform-origin:center bottom;animation:f5g 5s ease-in-out infinite both}
@keyframes f5g{0%{transform:scaleY(.12)}35%,80%{transform:scaleY(1)}100%{transform:scaleY(.12)}}
@media (prefers-reduced-motion:reduce){.op-fill *{animation:none !important}.op-fill .op-dot{display:none}}
@media print {
  @page { margin: 0.5cm; }
  figure, table { break-inside: avoid; }
  *, *::before, *::after {
    print-color-adjust: exact; -webkit-print-color-adjust: exact;
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    animation-delay: -99s !important; animation-duration: .001s !important;
    animation-iteration-count: 1 !important; animation-fill-mode: both !important;
    animation-play-state: running !important; transition-duration: 0s !important;
  }
}
