/* NECESSO Lösungen · consistent alternating editorial chapters, 17 October 2026.
   Only applies to the Solutions pages; existing copy, video and controls retained. */
.solutions-page section.chapter.section-wrap,
.solutions-page section.chapter.section-wrap.chapter-left,
.solutions-page section.chapter.section-wrap.chapter-right {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-auto-rows:min-content!important;
  align-items:start!important;
  justify-content:stretch!important;
  column-gap:clamp(16px,2.2vw,32px)!important;
  row-gap:16px!important;
  min-height:0!important;
  height:auto!important;
  width:min(calc(100% - 44px),1500px)!important;
  max-width:1500px!important;
  padding:clamp(14px,2vw,28px)!important;
  margin:clamp(22px,3.2vw,42px) auto!important;
  border:1px solid #e3e0d7!important;
  border-radius:26px!important;
  background:#f6f3ec!important;
  background-image:none!important;
  box-shadow:0 16px 46px rgba(33,41,34,.06)!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.solutions-page section.chapter.section-wrap::before,
.solutions-page section.chapter.section-wrap::after {content:none!important;display:none!important;}
/* Image on the opposite side of the copy, always one complete photograph. */
.solutions-page section.chapter.chapter-left > .nc-scene-photo,
.solutions-page section.chapter.chapter-right > .nc-scene-photo {
  display:block!important;
  position:relative!important;
  inset:auto!important;
  grid-row:1 / span 2!important;
  margin:0!important;
  align-self:start!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:var(--nc-image-ratio,4/3)!important;
  overflow:hidden!important;
  background:#eae5dc!important;
  border:none!important;
  border-radius:20px!important;
  box-shadow:0 12px 35px rgba(28,35,28,.09)!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
  pointer-events:none!important;
  z-index:1!important;
}
.solutions-page section.chapter.chapter-left > .nc-scene-photo {grid-column:2!important;}
.solutions-page section.chapter.chapter-right > .nc-scene-photo {grid-column:1!important;}
.solutions-page section.chapter#job > .nc-scene-photo {grid-row:1 / span 4!important;}
.solutions-page section.chapter > .nc-scene-photo img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:inherit!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  scale:1!important;
  transition:none!important;
  animation:none!important;
}
.solutions-page section.chapter.chapter-left > :not(.nc-scene-photo){grid-column:1!important;}
.solutions-page section.chapter.chapter-right > :not(.nc-scene-photo){grid-column:2!important;}
.solutions-page section.chapter > :not(.nc-scene-photo){
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  z-index:2!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  visibility:visible!important;
  transition:none!important;
}
/* Each number and text description is the same single coherent card as chapter 01. */
.solutions-page section.chapter .chapter-head {
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:stretch!important;
  gap:clamp(12px,1.8vw,23px)!important;
  padding:clamp(20px,2.2vw,32px)!important;
  background:#faf8f2!important;
  border:1px solid #e6e4dc!important;
  border-radius:18px!important;
  box-shadow:0 10px 30px rgba(28,36,29,.05)!important;
}
.solutions-page section.chapter .chapter-head .chapter-number {
  display:grid!important;
  place-items:center!important;
  flex:none!important;
  min-width:52px!important;
  width:52px!important;
  height:52px!important;
  padding:0!important;
  background:#e8efdf!important;
  color:#437248!important;
  border-radius:14px!important;
  font-size:16px!important;
  font-weight:700!important;
}
.solutions-page section.chapter .chapter-head .chapter-number::before {content:none!important;}
.solutions-page section.chapter .chapter-head > div {max-width:none!important;min-width:0!important;}
.solutions-page section.chapter .chapter-head h2 {
  margin:0 0 14px!important;
  color:#1c2420!important;
  font-size:clamp(29px,3vw,47px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
  overflow-wrap:normal!important;
}
.solutions-page section.chapter .chapter-head p {
  margin:0!important;
  color:#5b605a!important;
  font-size:clamp(16px,1.22vw,21px)!important;
  line-height:1.52!important;
  max-width:none!important;
}
.solutions-page section.chapter .chapter-extra,
.solutions-page section.chapter .job-example,
.solutions-page section.chapter .inline-film,
.solutions-page section.chapter .work-scene,
.solutions-page section.chapter .case-sheet,
.solutions-page section.chapter .process-rule {
  background:#faf8f2!important;
  border:1px solid #e6e4dc!important;
  border-radius:18px!important;
  box-shadow:0 10px 30px rgba(28,36,29,.05)!important;
  padding:clamp(16px,2vw,24px)!important;
  backdrop-filter:none!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  transition:none!important;
}
.solutions-page section.chapter .chapter-extra {font-size:clamp(16px,1.25vw,19px)!important;line-height:1.56!important;}
.solutions-page section.chapter .job-example {overflow:hidden!important;}
.solutions-page section.chapter .job-example img,
.solutions-page section.chapter .case-card-media img,
.solutions-page section.chapter .case-photo-frame img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  opacity:1!important;
}
.solutions-page section.chapter .inline-film {overflow:hidden!important;min-height:0!important;}
.solutions-page section.chapter .inline-film video {width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;transform:none!important;filter:none!important;}
.solutions-page section.chapter .work-scene{min-height:0!important;}
.solutions-page section.chapter .work-scene .inline-film {padding:0!important;margin:0 auto!important;border:0!important;box-shadow:none!important;background:transparent!important;}
.solutions-page section.chapter .work-scene .work-caption {position:relative!important;width:100%!important;max-width:none!important;}
.solutions-page section.chapter .assistant-step-number {display:none!important;}
.solutions-page #on-the-road > .chapter-head {grid-row:1!important;}
.solutions-page #on-the-road > .inline-film {grid-row:2!important;}
/* Step 07 is longer: heading beside photo, followed by one full-width handover list.
   Both columns of records sit beneath the photograph; no empty space beside it. */
.solutions-page section.chapter#approval {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:start!important;
}
.solutions-page section.chapter#approval > .chapter-head {grid-column:1!important;grid-row:1!important;align-self:start!important;}
.solutions-page section.chapter#approval > .nc-scene-photo {grid-column:2!important;grid-row:1 / span 2!important;align-self:start!important;}
.solutions-page section.chapter#approval > .case-sheet {
  grid-column:1 / -1!important;
  grid-row:3!important;
  margin:0!important;
  max-width:none!important;
  min-width:0!important;
  padding:clamp(20px,2.8vw,38px)!important;
}
.solutions-page section.chapter#approval > .process-rule {
  grid-column:1!important;
  grid-row:2!important;
  padding:clamp(18px,2vw,26px)!important;
}
.solutions-page section.chapter#approval .case-sheet .case-approval{
  display:block!important;
  max-width:none!important;
  margin:0 0 24px!important;
  padding:0 0 18px!important;
  background:none!important;
  box-shadow:none!important;
  border:0!important;
}
.solutions-page section.chapter#approval .case-sheet .case-approval>div{
  display:flex!important;align-items:center!important;gap:12px!important;
}
.solutions-page section.chapter#approval .case-sheet .case-approval h3{
  margin:0!important;
  font-size:clamp(25px,2.3vw,36px)!important;
  line-height:1.15!important;
  color:#387544!important;
}
.solutions-page section.chapter#approval .case-sheet .case-approval p{
  margin:12px 0 0!important;
  font-size:clamp(16px,1.2vw,19px)!important;
  line-height:1.55!important;
  color:#41463f!important;
}
.solutions-page section.chapter#approval .case-list {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
}
.solutions-page section.chapter#approval .case-list > details.case-card,
.solutions-page section.chapter#approval .case-list > details.case-card[open] {
  display:block!important;
  grid-column:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  height:auto!important;
  min-width:0!important;
  border:1px solid #dce7db!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.solutions-page section.chapter#approval .case-list details.case-card summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:56px!important;
  padding:12px 17px!important;
  gap:12px!important;
  margin:0!important;
  cursor:pointer!important;
}
.solutions-page section.chapter#approval .case-list details.case-card summary h3{
  font-size:clamp(17px,1.3vw,21px)!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
}
.solutions-page section.chapter#approval .case-list .case-card-media,
.solutions-page section.chapter#approval .case-list .case-photo-frame {
  max-height:240px!important;
  width:calc(100% - 30px)!important;
  max-width:calc(100% - 30px)!important;
  aspect-ratio:auto!important;
  margin:0 15px 12px!important;
  overflow:hidden!important;
  border-radius:10px!important;
}
.solutions-page section.chapter#approval .case-list .case-card-media img,
.solutions-page section.chapter#approval .case-list .case-photo-frame img{
  width:100%!important;
  height:auto!important;
  max-height:240px!important;
  object-fit:contain!important;
  transform:none!important;
}
/* All alternate scenes remain 2-column down to tablet. Mobile uses natural scrolling. */
@media (max-width:900px){
 .solutions-page section.chapter.section-wrap,
 .solutions-page section.chapter.section-wrap.chapter-left,
 .solutions-page section.chapter.section-wrap.chapter-right,
 .solutions-page section.chapter.section-wrap#approval {
   display:flex!important;
   flex-direction:column!important;
   align-items:stretch!important;
   gap:14px!important;
   width:calc(100% - 22px)!important;
   padding:12px!important;
   margin:18px auto!important;
 }
 .solutions-page section.chapter.section-wrap > .chapter-head {order:1!important;}
 .solutions-page section.chapter.section-wrap > .nc-scene-photo {
   order:2!important;
   grid-column:auto!important;
   grid-row:auto!important;
   position:relative!important;
   width:100%!important;
   height:auto!important;
   min-height:0!important;
   aspect-ratio:var(--nc-image-ratio,4/3)!important;
   border-radius:14px!important;
   overflow:hidden!important;
 }
 .solutions-page section.chapter.section-wrap > :not(.chapter-head):not(.nc-scene-photo){order:3!important;}
 .solutions-page section.chapter#approval > .case-sheet{order:3!important;}
 .solutions-page section.chapter#approval > .process-rule{order:4!important;}
 .solutions-page section.chapter .chapter-head{padding:16px!important;grid-template-columns:43px minmax(0,1fr)!important;gap:13px!important;}
 .solutions-page section.chapter .chapter-head .chapter-number{min-width:43px!important;width:43px!important;height:43px!important;}
 .solutions-page section.chapter .chapter-head h2{font-size:clamp(26px,5vw,37px)!important;line-height:1.13!important;}
 .solutions-page section.chapter .chapter-head p{font-size:clamp(15px,2.2vw,18px)!important;}
 .solutions-page section.chapter#approval .case-list {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:600px){
 .solutions-page section.chapter#approval .case-list {grid-template-columns:minmax(0,1fr)!important;}
 .solutions-page section.chapter#approval > .case-sheet{padding:14px!important;}
 .solutions-page section.chapter .chapter-head h2{font-size:clamp(26px,7vw,34px)!important;}
}
@media (prefers-reduced-motion:reduce){
 .solutions-page section.chapter *, .solutions-page section.chapter {animation:none!important;transition:none!important;}
}


/* Step 06 lower-right media card should fill the full block without inner white border */
.solutions-page section.chapter#onsite > .job-example{
  padding:0!important;
  overflow:hidden!important;
  display:block!important;
}
.solutions-page section.chapter#onsite > .job-example .inline-film{
  margin:0!important;
  width:100%!important;
  height:100%!important;
  min-height:300px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:transparent!important;
}
.solutions-page section.chapter#onsite > .job-example .inline-film video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:300px!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
}
@media (max-width:900px){
  .solutions-page section.chapter#onsite > .job-example .inline-film,
  .solutions-page section.chapter#onsite > .job-example .inline-film video{
    min-height:240px!important;
  }
}


/* Final spacing and ordering refinements for solutions 02, 06 and 07 */
.solutions-page section.chapter#quote,
.solutions-page section.chapter#approval{
  row-gap:8px!important;
}
.solutions-page section.chapter#quote > .chapter-head{
  grid-row:1!important;
}
.solutions-page section.chapter#quote > .job-example{
  grid-row:2!important;
  margin-top:0!important;
}
.solutions-page section.chapter#approval > .chapter-head{
  grid-row:1!important;
  margin-bottom:0!important;
}
.solutions-page section.chapter#approval > .process-rule{
  grid-row:2!important;
  margin-top:0!important;
}

.solutions-page section.chapter#onsite > .job-example{
  padding:0!important;
  overflow:hidden!important;
  display:block!important;
}
.solutions-page section.chapter#onsite > .job-example .inline-film{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:300px!important;
  height:100%!important;
  border:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
}
.solutions-page section.chapter#onsite > .job-example .inline-film video{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:300px!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
  border-radius:18px!important;
}

@media (max-width:900px){
  .solutions-page section.chapter#quote,
  .solutions-page section.chapter#approval{
    gap:8px!important;
  }
  .solutions-page section.chapter#quote > .chapter-head{order:1!important;}
  .solutions-page section.chapter#quote > .job-example{order:2!important;}
  .solutions-page section.chapter#quote > .nc-scene-photo{order:3!important;}

  .solutions-page section.chapter#approval > .chapter-head{order:1!important;}
  .solutions-page section.chapter#approval > .process-rule{order:2!important;}
  .solutions-page section.chapter#approval > .nc-scene-photo{order:3!important;}
  .solutions-page section.chapter#approval > .case-sheet{order:4!important;}

  .solutions-page section.chapter#onsite > .job-example .inline-film,
  .solutions-page section.chapter#onsite > .job-example .inline-film video{
    min-height:240px!important;
  }
}


/* Make steps 02 and 07 stack like step 01 with matching spacing */
.solutions-page section.chapter#quote,
.solutions-page section.chapter#approval{
  align-content:start!important;
}

.solutions-page section.chapter#quote{
  grid-template-areas:
    "photo head"
    "photo note"!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  row-gap:16px!important;
}
.solutions-page section.chapter#quote > .nc-scene-photo{grid-area:photo!important;grid-column:auto!important;grid-row:auto!important;align-self:start!important;}
.solutions-page section.chapter#quote > .chapter-head{grid-area:head!important;grid-column:auto!important;grid-row:auto!important;align-self:start!important;}
.solutions-page section.chapter#quote > .job-example{grid-area:note!important;grid-column:auto!important;grid-row:auto!important;align-self:start!important;margin:0!important;}

.solutions-page section.chapter#approval{
  grid-template-areas:
    "head photo"
    "rule photo"
    "case case"!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  row-gap:16px!important;
}
.solutions-page section.chapter#approval > .chapter-head{grid-area:head!important;grid-column:auto!important;grid-row:auto!important;align-self:start!important;}
.solutions-page section.chapter#approval > .process-rule{grid-area:rule!important;grid-column:auto!important;grid-row:auto!important;align-self:start!important;margin:0!important;}
.solutions-page section.chapter#approval > .nc-scene-photo{grid-area:photo!important;grid-column:auto!important;grid-row:auto!important;align-self:start!important;}
.solutions-page section.chapter#approval > .case-sheet{grid-area:case!important;grid-column:auto!important;grid-row:auto!important;align-self:start!important;}

@media (max-width:900px){
  .solutions-page section.chapter#quote,
  .solutions-page section.chapter#approval{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
  }
}
