/* The supplied transparent coastal mosaic continues into the page's white ground. */
.reach.reach-mosaic {
  position: relative;
  z-index: 1;
  padding-top: clamp(60px, 8vw, 110px);
  padding-bottom: 0;
  border-top: 0;
}
.reach-introduction {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: end;
  gap: clamp(28px, 6vw, 84px);
}
.reach-mosaic .reach-eyebrow {
  margin-bottom: 22px;
}
.reach-mosaic .reach-headline {
  max-width: 24ch;
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(30px, 4.2vw, 60px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.04em;
}
.reach-invitation { padding-bottom: 4px; }
.reach-invitation p {
  max-width: 38ch;
  margin: 0 0 23px;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-2);
}
.reach-mosaic .reach-cta {
  padding: 0 0 7px;
  border-radius: 0;
  border-bottom: 1px solid #19191442;
  background: none;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  transition: color 180ms ease, border-color 180ms ease;
}
.reach-mosaic .reach-cta:hover {
  color: #215a72;
  border-color: #215a72;
  opacity: 1;
  transform: none;
}
.reach-mosaic .reach-cta span {
  display: inline-block;
  transition: transform 200ms ease;
}
.reach-mosaic .reach-cta:hover span { transform: translate(2px, -2px); }
.reach-mosaic .reach-socials {
  display: flex;
  gap: 24px;
  margin: 24px 0 0;
  color: var(--ink-3);
  font-size: 12px;
  line-height: 1.5;
}
.reach-mosaic .reach-socials a { transition: color 180ms ease; }
.reach-mosaic .reach-socials a:hover { color: var(--ink); }
.reach-mosaic a:focus-visible { outline: 2px solid #007aff; outline-offset: 6px; }
.site-footer {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin-top: clamp(-180px, -10vw, -40px);
  background: #fff;
  overflow: hidden;
}
.footer-art,
.footer-art img {
  display: block;
  width: 100%;
}
.footer-art img {
  height: auto;
  aspect-ratio: 1919 / 820;
  object-fit: contain;
  pointer-events: none;
}
.site-footer::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 28%;
  background: linear-gradient(to top, rgba(0, 27, 45, .58), rgba(0, 27, 45, .16) 52%, transparent);
  pointer-events: none;
}
.footer-details {
  position: absolute;
  z-index: 1;
  inset: auto 0 clamp(18px, 2.7vw, 44px);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  max-width: 1300px;
  margin-inline: auto;
  padding-inline: var(--pad-x);
  color: #fff;
  font-family: var(--sans);
  font-size: clamp(11px, 1vw, 13px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-shadow: 0 1px 8px rgba(0, 25, 42, .7);
}
@media (max-width: 760px) {
  .reach-introduction { grid-template-columns: 1fr; gap: 26px; }
  .reach-mosaic .reach-headline { font-size: clamp(30px, 6vw, 42px); }
  .reach-invitation p { max-width: 43ch; }
  .reach-mosaic .reach-socials { margin-top: 20px; }
  .footer-details { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .reach-mosaic a, .reach-mosaic .reach-cta span { transition: none; }
  .reach-mosaic .reach-cta:hover span { transform: none; }
}
