/* Ajuste puntual de posición de los heros aprobado visualmente.
   Mantiene el resto de la web sin cambios. */
@media (min-width: 961px) {
  body .cp-hero { min-height:0 !important; height:auto !important; display:block !important; }
  body .cp-wrap, body .cp-hero .cp-hero__main {
    box-sizing:border-box !important;
    width:min(1440px, calc(100% - 64px)) !important;
    max-width:1440px !important;
    margin-inline:auto !important;
  }
  /* El header es fijo y se superpone visualmente al hero.
     El bloque se sitúa bajo él, no en su interior. */
  body .cp-hero .cp-hero__main {
    min-height:620px !important;
    height:auto !important;
    padding:165px 0 48px !important;
    display:flex !important;
    flex-direction:row !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    transform:none !important;
  }
  body .cp-hero .cp-hero__copy {
    width:min(100%, 850px) !important;
    max-width:850px !important;
    flex:0 1 850px !important;
    padding:0 !important;
    margin:0 !important;
    transform:none !important;
    text-align:left !important;
  }
  body .cp-hero .cp-hero__copy h1 {max-width:850px !important; margin-top:0 !important;}
  body .cp-hero .cp-hero__index {padding-inline:max(32px, calc((100vw - 1440px)/2)) !important;}
}
/* En tamaños intermedios también se respeta el despeje del header. */
@media (min-width:651px) and (max-width:960px) {
  body .cp-hero .cp-hero__main {
    min-height:550px !important;
    height:auto !important;
    padding-top:150px !important;
    padding-bottom:40px !important;
    align-items:flex-start !important;
  }
}
@media (max-width:650px) {
  body .cp-hero .cp-hero__main {
    min-height:0 !important;
    height:auto !important;
    padding-top:145px !important;
    padding-bottom:48px !important;
    align-items:flex-start !important;
  }
}
