/* ─── Dark sections · subtle photo atmosphere ─── */

:root {
  --ampro-dark-vignette: linear-gradient(
    180deg,
    rgba(8, 9, 12, 0.94) 0%,
    rgba(8, 9, 12, 0.74) 18%,
    rgba(8, 9, 12, 0.58) 50%,
    rgba(8, 9, 12, 0.74) 82%,
    rgba(8, 9, 12, 0.95) 100%
  );
}

.section--dark,
.section--liczby,
.pg-section--ink,
.pg-hero:not(.pg-hero--cover),
.reco,
.end-cta,
.ampro-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--c-dark, #0f0f12);
}

.section--dark::before,
.section--liczby::before,
.pg-section--ink::before,
.pg-hero:not(.pg-hero--cover)::before,
.reco::before,
.end-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--ampro-section-photo, var(--ampro-dark-photo-default));
  background-size: cover;
  background-position: center 42%;
  opacity: var(--ampro-section-photo-opacity, 0.22);
  filter: grayscale(0.42) contrast(1.06) brightness(0.88);
  transform: scale(1.04);
  pointer-events: none;
}

.section--liczby::before {
  --ampro-section-photo: var(--ampro-dark-photo-liczby);
  --ampro-section-photo-opacity: 0.26;
  background-position: center 36%;
}

.pg-section--ink::before {
  --ampro-section-photo: var(--ampro-dark-photo-ink);
}

.pg-hero:not(.pg-hero--cover)::before {
  --ampro-section-photo: var(--ampro-dark-photo-hero);
  --ampro-section-photo-opacity: 0.24;
}

.reco::before,
.end-cta::before {
  --ampro-section-photo: var(--ampro-dark-photo-reco);
}

.section--dark::after,
.section--liczby::after,
.pg-section--ink::after,
.pg-hero:not(.pg-hero--cover)::after,
.reco::after,
.end-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--ampro-dark-vignette);
  pointer-events: none;
}

.pg-hero:not(.pg-hero--cover)::after {
  background:
    var(--ampro-dark-vignette),
    linear-gradient(180deg, rgba(235, 35, 71, 0.05) 0%, transparent 52%),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(255, 255, 255, 0.018) 79px 80px);
}

.section--dark .container,
.section--liczby .container,
.pg-section--ink .container,
.pg-hero:not(.pg-hero--cover) .container,
.reco .container,
.end-cta .container,
.ampro-footer .container,
.reco-quote-mark {
  position: relative;
  z-index: 2;
}

.section--dark > .marker,
.section--liczby > .marker,
.pg-section--ink > .marker,
.pg-hero:not(.pg-hero--cover) > .marker,
.reco > .marker,
.end-cta > .marker {
  z-index: 3;
}

/* Photo heroes — readable copy, more visible photography */
.pg-hero--cover .pg-hero__scrim {
  background:
    linear-gradient(180deg, rgba(8, 8, 11, 0.5) 0%, rgba(8, 8, 11, 0.1) 34%, rgba(8, 8, 11, 0.08) 60%, rgba(8, 8, 11, 0.55) 100%),
    linear-gradient(90deg, rgba(8, 8, 11, 0.62) 0%, rgba(8, 8, 11, 0.28) 38%, rgba(8, 8, 11, 0.06) 72%, transparent 100%);
}

.case-hero-overlay {
  background:
    linear-gradient(180deg, rgba(8, 8, 10, 0.52) 0%, rgba(8, 8, 10, 0.14) 36%, rgba(8, 8, 10, 0.1) 64%, rgba(8, 8, 10, 0.52) 100%),
    linear-gradient(90deg, rgba(8, 8, 10, 0.5) 0%, rgba(8, 8, 10, 0.16) 44%, rgba(8, 8, 10, 0.04) 100%);
}

.pg-hero--cover .pg-hero-copy h1,
.pg-hero--cover .pg-hero-copy .pg-lead,
.pg-hero--cover .marker,
.pg-hero--cover .pg-hero-post-meta {
  text-shadow: 0 1px 20px rgba(8, 8, 11, 0.45), 0 1px 2px rgba(8, 8, 11, 0.35);
}

.case-hero h1,
.case-hero .case-sub,
.case-hero .case-eyebrow,
.case-hero .crumbs,
.case-hero .case-meta-bar,
.case-hero .status-pill {
  text-shadow: 0 1px 20px rgba(8, 8, 11, 0.45), 0 1px 2px rgba(8, 8, 11, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .section--dark::before,
  .section--liczby::before,
  .pg-section--ink::before,
  .pg-hero:not(.pg-hero--cover)::before,
  .reco::before,
  .end-cta::before {
    transform: none;
  }
}
