.opening-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: #3d173f;
  color: #fff;
  border-bottom: 3px solid #c38a7a;
}
.banner-copy {
  align-self: center;
  padding: clamp(2rem, 5vw, 5rem) clamp(1.5rem, 5vw, 5rem);
}
.banner-copy .eyebrow { color: #e7bcae; font-size: .8rem; letter-spacing: .18em; }
.banner-copy h1 { font-size: clamp(2.4rem, 4.2vw, 4.5rem); line-height: 1.13; letter-spacing: -.035em; }
.banner-copy h1 em { color: #e7bcae; font-style: normal; }
.banner-description { max-width: 34rem; color: #eee4f1; font-size: 1.05rem; margin-bottom: 1.8rem; }
.banner-whatsapp { background: #e7bcae; color: #3d173f; gap: .75rem; text-align: center; }
.banner-whatsapp:hover { background: #d5a99d; }
.banner-whatsapp:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.banner-whatsapp svg { width: 24px; height: 24px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.banner-photo { min-width: 0; position: relative; min-height: 32rem; }
.banner-photo img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 65% center; }
@media (max-width: 980px) {
  .opening-banner { grid-template-columns: minmax(0, 1fr); }
  .banner-copy { max-width: 48rem; padding: 3rem 1.5rem; }
  .banner-photo { min-height: 0; aspect-ratio: 16 / 9; }
  .banner-photo img { object-position: center; }
}
@media (max-width: 620px) {
  .banner-copy h1 { font-size: 2.4rem; }
  .banner-copy { padding: 2.5rem 1.25rem; }
  .banner-whatsapp { width: 100%; }
}
