/* Editorial images in the page body. Existing hero media keeps its own layout. */
.editorial-figure {
  margin: 0;
  min-width: 0;
}
.editorial-figure > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: var(--editorial-focus, 50% 42%);
  border: 1px solid rgba(13, 38, 48, .18);
}
.editorial-figure--leistungen { --editorial-focus: 52% 45%; }
.editorial-figure--csv { --editorial-focus: 56% 44%; }
.editorial-figure--compliance-programm { --editorial-focus: 50% 46%; }
.editorial-figure--coaching { --editorial-focus: 50% 40%; }
.editorial-figure--consulting > img { aspect-ratio: 4 / 3; }

body.premium-site .pv-thesis.editorial-approach .pv-thesis__layout,
.leistungen-kombi .editorial-services {
  display: grid;
  grid-template-columns: minmax(0, .97fr) minmax(0, 1.03fr);
  gap: clamp(28px, 6vw, 86px);
  align-items: center;
}
.editorial-approach .pv-thesis__heading h2 {
  margin: 0 0 21px;
  text-wrap: pretty;
}
.pv-thesis.editorial-approach .pv-thesis__copy {
  border: 0;
  padding-left: 0;
}
.editorial-approach .pv-thesis__copy > p:last-child { margin-bottom: 0; }

body.premium-site .pv-thesis.editorial-home .pv-thesis__layout {
  grid-template-columns: minmax(0, 1.13fr) minmax(0, .87fr);
  align-items: start;
}
.editorial-figure--startseite {
  max-width: 480px;
  margin-inline: auto;
  width: 100%;
}
.editorial-figure--startseite > img {
  aspect-ratio: 4 / 5;
  object-position: 42% 30%;
  filter: saturate(.88);
}

.leistungen-kombi .editorial-services { margin-bottom: clamp(26px, 4vw, 53px); }
.leistungen-kombi .editorial-services .section-head {
  max-width: none;
  margin: 0;
  text-align: left;
}
.leistungen-kombi .editorial-services .section-head__lead { margin-left: 0; }

#methodik .editorial-csv-validation .csv-pillar__grid {
  grid-template-columns: clamp(48px, 6vw, 100px) minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 46px);
  align-items: center;
}
#methodik .editorial-csv-validation .csv-pillar__letter { align-self: start; }

@media (width > 860px) {
  #methodik .editorial-csv-validation .csv-pillar__letter {
    font-size: clamp(3.5rem, 7.5vw, 6.75rem);
  }
}
@media (max-width: 860px) {
  .leistungen-kombi .editorial-services,
  body.premium-site .pv-thesis.editorial-approach .pv-thesis__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .editorial-figure--startseite { max-width: 360px; }
  .editorial-figure--startseite > img {
    aspect-ratio: 1;
    object-position: 40% 12%;
  }
  .editorial-approach-copy { display: contents; }
  .editorial-approach .pv-thesis__heading {
    grid-row: 1;
    padding: 0;
  }
  .editorial-approach .pv-thesis__heading h2 { margin-bottom: 0; }
  .editorial-approach .editorial-figure { grid-row: 2; }
  .editorial-approach .pv-thesis__copy { grid-row: 3; }
  #methodik .editorial-csv-validation .csv-pillar__grid { grid-template-columns: minmax(0, 1fr); }
  #methodik .editorial-csv-validation .editorial-figure { grid-row: 2; }
}

/* Depth on the start page and the four offers: one soft shadow per photo and a quiet
   Life Sciences scene behind selected sections. Scenes are decoration, never proof. */
body.premium-site .pv-page {
  --editorial-shadow: 0 20px 44px -18px rgba(8, 24, 39, .38), 0 5px 14px -6px rgba(8, 24, 39, .2);
  --editorial-shadow-dark: 0 24px 50px -18px rgba(0, 0, 0, .66), 0 6px 16px -7px rgba(0, 0, 0, .5);
}
body.premium-site .pv-page .editorial-figure > img {
  border-color: rgba(120, 159, 149, .55);
  box-shadow: var(--editorial-shadow);
}
body.premium-site .pv-solution .editorial-figure > img,
body.premium-site .pv-page .pv-flagship__image > img {
  border: 1px solid rgba(191, 214, 202, .35);
  box-shadow: var(--editorial-shadow-dark);
}
body.premium-site .pv-page .pv-founder__image img { box-shadow: var(--editorial-shadow); }

/* Founder story: the window portrait as a 4:5 picture on the dark panel. */
body.premium-site .pv-story__portrait--window {
  align-self: center;
  min-height: 0;
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(191, 214, 202, .35);
  background: #0a2031;
  box-shadow: var(--editorial-shadow-dark);
}
body.premium-site .pv-story__portrait--window img { object-position: 50% 30%; }

/* Offer pages: the conversation photo in a square window, without a name line. */
body.premium-site .pv-solution .pv-final__person--window {
  justify-self: center;
  width: min(100%, 300px);
}
body.premium-site .pv-solution .pv-final__window {
  overflow: hidden;
  aspect-ratio: 1;
  margin: 0;
  border: 1px solid rgba(191, 214, 202, .4);
  background: #0a2031;
  box-shadow: var(--editorial-shadow-dark);
}
body.premium-site .pv-solution .pv-final__window > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 10%;
}
body.premium-site .pv-solution .pv-final__person--window > div:not(.pv-final__window) { margin-top: 14px; }

/* Quiet scenes. Light sections: a little more presence than the base 4 %. */
body.premium-site .pv-page:not(.pv-solution) > .pv-thesis.editorial-home::after,
body.premium-site .pv-page:not(.pv-solution) > .pv-story::after {
  opacity: .085;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 16%, #000 80%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 16%, #000 80%, transparent);
}
body.premium-site .pv-page:not(.pv-solution) > .pv-story { --pv-section-photo: var(--pv-scene-production); }

/* Dark approach section of the offers: the scene sits behind the photo, not behind the copy. */
body.premium-site .pv-solution > .pv-product-thesis.editorial-approach {
  position: relative;
  isolation: isolate;
  --pv-section-photo: var(--pv-scene-production);
}
body.premium-site .pv-solution > .pv-product-thesis.editorial-approach::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--pv-section-photo) 100% 42% / cover no-repeat;
  filter: grayscale(1) contrast(1.1);
  opacity: .11;
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .5) 42%, #000 78%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .5) 42%, #000 78%);
}

/* Founder story below 1000px: name and role first, then the portrait, so the name never reads as a caption. */
@media (max-width: 1000px) {
  .pv-story__panel:has(> .pv-story__portrait--window) > .pv-story__copy { display: contents; }
  .pv-story__panel:has(> .pv-story__portrait--window) .pv-story__intro {
    grid-row: 1;
    margin: 0;
    padding: 30px 24px 0;
  }
  .pv-story__panel:has(> .pv-story__portrait--window) .pv-story__role { margin-bottom: 0; }
  body.premium-site .pv-story__panel > .pv-story__portrait--window {
    grid-row: 2;
    margin-top: 22px;
  }
  .pv-story__panel:has(> .pv-story__portrait--window) .pv-story__text {
    grid-row: 3;
    width: min(100%, 660px);
    margin-inline: auto;
    padding: 28px 24px 0;
  }
  .pv-story__panel:has(> .pv-story__portrait--window) .pv-story__action {
    grid-row: 4;
    width: min(100%, 660px);
    margin: 26px auto 0;
    padding: 0 24px 32px;
  }
}
@media (max-width: 700px) {
  body.premium-site .pv-solution .pv-final__person--window { width: min(100%, 220px); }
}
