/* ===== Responsive Hero ===== */
.cp-hero { position: relative; isolation: isolate; }
.cp-hero__slide{
  position: relative;
  min-height: clamp(360px, 62vh, 740px);
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display:flex; align-items: stretch;
}
.cp-hero__overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.35));
  pointer-events:none;
}
.cp-hero__container{
  position:relative; z-index:2;
  width:min(1200px, 94vw);
  margin:0 auto;
  padding: clamp(18px, 4vw, 32px);
  display:flex; align-items:center;
}
.cp-hero__grid{
  display:grid; gap:20px; align-items:center;
  grid-template-columns: 1fr;
}
.cp-hero__left{ text-align:center; }
.cp-hero__title{
  color:#fff; margin:0 0 12px; font-weight:800; line-height:1.1;
  font-size: clamp(22px, 5.5vw, 54px);
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.cp-hero__sub{
  color:#fff; opacity:.95; margin-top:10px;
  font-size: clamp(12px, 2.8vw, 18px);
}
.cp-hero__cta{
  display:inline-block; margin-top:6px; padding:10px 18px;
  border-radius:999px; font-weight:700; text-decoration:none; color:#fff;
  background:#ff0b7b; box-shadow:0 8px 28px rgba(255,11,123,.25);
}
.cp-hero__cta:hover{ filter:brightness(1.06); }

/* right column image */
.cp-hero__right{ display:none; }
.cp-hero__image{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width: min(90%, 520px) !important;
  max-height: clamp(220px, 38vh, 520px);
  object-fit: contain;
}
@media (min-width: 992px){
  .cp-hero__grid{ grid-template-columns: 1.1fr 0.9fr; }
  .cp-hero__left{ text-align:left; }
  .cp-hero__right{ display:block; justify-self:end; }
}
.cp-hero img { max-width: 100% !important; height: auto !important; }
