.os007-cta {
  position:relative;
  isolation:isolate;
  overflow:clip;
  background:var(--os-teal);
  color:var(--os-surface);
  text-align:center;
  padding-block:clamp(4rem,5vw,5.25rem) clamp(3rem,4.5vw,4.5rem);
}

.os007-cta::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.035;
  background:url('../images/ocean-sky-beach.webp') center 10%/cover;
  filter:grayscale(1);
  mix-blend-mode:luminosity;
}

.os007-cta p {
  margin-inline:auto;
}

.os007-cta .os007-eyebrow {
  color:var(--os-surface);
  font-size:.7rem;
  letter-spacing:.32em;
  margin-block-end:.7rem;
}

.os007-cta h2 {
  font-size:clamp(2.75rem,5.3vw,4.8rem);
  margin-block-end:1.8rem;
}

.os007-cta .os007-button {
  min-inline-size:clamp(13rem,22vw,20rem);
}

.os007-cta-location {
  margin-block-start:2.75rem;
}

.os007-cta-location svg {
  margin-block-end:1rem;
}

.os007-cta-location .os007-eyebrow {
  font-size:.63rem;
  margin-block-end:0;
}

.os007-footer {
  background:var(--os-bg);
  padding-block:1.5rem;
}

.os007-footer-inner {
  display:flex;
  flex-wrap:wrap;
  gap:1rem 2rem;
  justify-content:space-between;
  align-items:center;
  font:400 .8rem/1.5 var(--os-sans);
}

.os007-footer-inner>a {
  min-block-size:44px;
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.3rem;
  text-decoration:none;
}

.os007-footer-inner>a:hover {
  text-decoration:underline;
}

.os007-footer .os007-menu {
  gap:1.2rem;
}

.os007-footer .os007-menu a {
  font:400 .8rem/1.5 var(--os-sans);
}

@media(max-width:767px) {
  .os007-cta h2 {
    max-inline-size:16ch;
    margin-inline:auto;
  }
  .os007-footer-inner {
    display:grid;
    gap:.5rem;
  }
  .os007-footer .os007-menu {
    justify-content:flex-start;
    gap:.25rem 1.2rem;
  }
  .os007-footer-inner>a {
    overflow-wrap:anywhere;
  }
  .os007-cta-location {
    margin-block-start:2.5rem;
  }
}
