.s22-hero4{
  position: relative;
  width: 100%;
  height: auto;                                   /* permite crecer si el contenido lo pide */
  min-height: max(520px, 100svh);                 /* pantalla completa visible + mínimo */
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
}
@supports (height: 100dvh){
  .s22-hero4{ min-height: max(520px, 100dvh); }   /* viewport real en navegadores modernos */
}

.s22-bg4{
  position: absolute;
  inset: 0;
  z-index: -2;
}

.s22-inner4{
  width: min(1100px, 92vw);
  margin-right: clamp(18px, 6vw, 72px);
  align-self: center;
  text-align: right;
}
.s22-title4{
  font-size: clamp(22px, 3.2vw, 34px);
  font-weight: 800;
  margin: 0 0 14px 0;
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.s22-copy4{
  max-width: 560px;
  font-size: 20px;
  line-height: 1.65;
  margin: 0 0 0 auto;
  text-shadow: 0 2px 10px rgba(0,0,0,.2);
}

@media (max-width: 680px){
  .s22-hero4{
    height: auto;
    min-height: max(520px, 100svh);
    padding: 42px 0;
  }
  @supports (height: 100dvh){
    .s22-hero4{ min-height: max(520px, 100dvh); }
  }
  .s22-inner4{
    margin: 0 auto;
    width: 88vw;
    text-align: center;
  }
  .s22-copy4{ margin: 0 auto; }

  .s22-hero4::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to left,
      rgba(0,103,26,0.92) 0%,
      rgba(0,103,26,0.78) 35%,
      rgba(0,103,26,0.45) 65%,
      rgba(0,103,26,0) 100%
    );
    z-index: -1;
  }
}
