.myohome-banner {
  --myohome-cream: #F5EEDD;
  --myohome-mauve: #AD6893;  
  --myohome-teal: #007681;    

  --myohome-font-display: "Lora", Georgia, serif;
  --myohome-font-body: "Poppins", Arial, sans-serif;

  --myohome-gutter: clamp(0.5rem, 0.9vw, 0.875rem);
  --myohome-radius: clamp(0.625rem, 1.1vw, 1rem);

  padding-block: clamp(2.5rem, 4.5vw, 4rem);  
  background-color: var(--myohome-cream);
}

.myohome-banner__inner {
  display: grid;
  grid-template-areas:
    "content"
    "collage";
  row-gap: clamp(1.75rem, 6vw, 2.5rem);
}

.myohome-banner__collage {
  grid-area: collage;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--myohome-gutter);
  aspect-ratio: 3 / 2.05; 
}

.myohome-banner__photo {
  display: block;
  width: 100%;
  height: 0;
  min-height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  border-radius: var(--myohome-radius);
  object-fit: cover;
  object-position: 50% 30%;
}

.myohome-banner__content {
  grid-area: content;
  text-align: center;
}

.myohome-banner__title {
  margin: 0;
  font-family: var(--myohome-font-display);
  font-size: clamp(2.25rem, 0.9rem + 3.3vw, 4.25rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.005em;
  color: var(--myohome-mauve);
  text-wrap: balance;
}

.myohome-banner__title-line {
  display: block;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

.myohome-banner__text {
  max-width: 15em;
  margin: clamp(1rem, 1.6vw, 1.5rem) auto 0;
  padding: 0;
  font-family: var(--myohome-font-body);
  font-size: clamp(1.0625rem, 0.6rem + 1.05vw, 1.625rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  color: var(--myohome-teal);
  text-wrap: pretty;
}

.myohome-banner .myohome-banner__cta {
  justify-content: center;
  max-width: 100%;
  margin: clamp(1.25rem, 2.2vw, 2rem) auto 0;
  padding: 0.8em 1.6em;
  font-size: clamp(1rem, 0.6rem + 0.6vw, 1.125rem);
  line-height: 1.35;
  text-align: center;
  text-wrap: balance;
  color: var(--dark, #000);                 
  background-color: var(--primary, #5AC8C3);
}

.myohome-banner .myohome-banner__cta:hover,
.myohome-banner .myohome-banner__cta:focus-visible {
  color: #fff;                               
  background-color: #00818D;                 
}

.myohome-banner .myohome-banner__cta:focus-visible {
  outline: 3px solid var(--myohome-teal) !important;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .myohome-banner .myohome-banner__cta {
    transition: none;
  }
}

@media (min-width: 768px) {
  .myohome-banner__inner {
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
    grid-template-areas: "collage content";
    column-gap: clamp(2rem, 4vw, 4.5rem);
    align-items: center;
  }
}
