/* Visible editorial boundaries without bringing back hard full-width colour seams. */
.footer{position:relative}
.footer::before,.home-page .end-cta::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(var(--max),88%);height:1px;background:#f3f4ee38;pointer-events:none}
.home-page .end-cta{position:relative}
.home-page .end-cta::before{background:#f3f4ee24}

/* A wider, green-tinted transition with gentle ends instead of the short grey ramp.
   The background owns both fades; content padding reserves their full height. */
.solutions-band,.handover-band{
 --section-fade:clamp(60px,8vw,144px);
 background:linear-gradient(180deg,
  var(--bg) 0px,
  #14231a calc(var(--section-fade) * .12),
  #243c2b calc(var(--section-fade) * .28),
  #526e53 calc(var(--section-fade) * .46),
  #9bb092 calc(var(--section-fade) * .66),
  #d8e0cf calc(var(--section-fade) * .85),
  var(--paper) var(--section-fade),
  var(--paper) calc(100% - var(--section-fade)),
  #d8e0cf calc(100% - var(--section-fade) * .85),
  #9bb092 calc(100% - var(--section-fade) * .66),
  #526e53 calc(100% - var(--section-fade) * .46),
  #243c2b calc(100% - var(--section-fade) * .28),
  #14231a calc(100% - var(--section-fade) * .12),
  var(--bg) 100%);
}
.solutions-band>.shell.section,.handover-band>.shell.section{
 padding-top:calc(var(--section-fade) + 32px);
 padding-bottom:calc(var(--section-fade) + 32px);
}
@media(max-width:700px){
 .solutions-band>.shell.section,.handover-band>.shell.section{
  padding-top:calc(var(--section-fade) + 24px);
  padding-bottom:calc(var(--section-fade) + 24px);
 }
}
