/* WSPÓLNE UZUPEŁNIENIA I NADPISANIA ŁADOWANE NA KOŃCU */
/* Materiały dodane w etapie 5: font stack, ikony, podpis, baner dolny */
.service-card-icon img,
.stat-icon img,
.process-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.service-card-icon.has-image {
  color: inherit;
}
.service-card-icon.has-image img {
  filter: drop-shadow(0 8px 18px rgb(var(--rgb-gold) / .10));
}
.signature,
.signature-img {
  display: block;
  width: min(260px, 52vw);
  height: auto;
  margin: 24px 0 18px;
}
.footer-signature {
  width: min(190px, 42vw);
  opacity: .9;
}
.process-step.with-icon {
  padding-top: clamp(22px, 2vw, 34px);
}
.process-icon {
  display: block;
  width: clamp(40px, 3.6vw, 64px);
  aspect-ratio: 1;
  margin-bottom: clamp(12px, 1.2vw, 20px);
}
.process-step.with-icon .step-number {
  font-family: var(--font-heading);
  font-size: clamp(20px, 1.5vw, 30px);
}
.cta-panel.has-photo,
.about-cta-panel.has-photo {
  background:
    radial-gradient(circle at 32% 30%, rgb(var(--rgb-accent) / .18), rgb(var(--rgb-accent) / 0) 40%),
    var(--color-ink);
}
.cta-panel.has-photo .cta-media img,
.about-cta-panel.has-photo img {
  filter: saturate(.96) contrast(1.05);
}
.contact-bottom-panel.has-photo {
  position: relative;
  overflow: hidden;
  background-image:
    linear-gradient(90deg, rgb(var(--rgb-ink) / .94) 0%, rgb(var(--rgb-ink) / .76) 48%, rgb(var(--rgb-ink) / .38) 100%),
    url('/assets/img/home/homepage-baner-dolny-1920.webp');
  background-size: cover;
  background-position: center;
}
@media (max-width: 768px) {
  .signature, .signature-img { width: min(210px, 66vw); }
  .process-icon { width: 46px; }
  .footer-signature { width: 156px; }

  .cta-panel.has-photo {
    position: relative;
    display: block;
    min-height: 620px;
    background: transparent;
  }
  .cta-panel.has-photo .cta-copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 620px;
    padding: 28px var(--page-gutter) 48px;
    background: transparent;
  }
  .cta-panel.has-photo .cta-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    min-height: 0;
  }
  .cta-panel.has-photo .cta-media img { object-position: 68% center; }
  .cta-panel.has-photo .cta-media::after {
    z-index: 1;
    background: linear-gradient(180deg, rgb(var(--rgb-black) / .12) 0%, rgb(var(--rgb-ink) / .48) 44%, rgb(var(--rgb-ink) / .94) 100%);
  }
}

.cta-media picture,
.about-cta-panel picture {
  display: block;
  width: 100%;
  height: 100%;
}
.cta-media picture img,
.about-cta-panel picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-card-flat .service-card-icon.has-image {
  width: clamp(44px, 3.6vw, 62px);
  aspect-ratio: 1;
}

/* Animacja typograficzna jest centrowana względem całego banera wideo. */
.hero-content[data-hero-typo] {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: 0;
}

.service-card-flat .service-card-icon.has-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
