@font-face {
  font-family: 'General Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/general-sans-regular.woff2') format('woff2');
}
:root { --closure-size: clamp(5.6rem, min(18vw, 26svh), 20.75rem); }
.solvynth-ended .hero { min-height: 100svh; }
.solvynth-ended .title { font-size: var(--closure-size); }
.closure-copy {
  position: absolute;
  z-index: 3;
  top: calc(50% + var(--closure-size) * .72 + 32px);
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 48px);
  max-width: 44ch;
  margin: 0;
  font: 400 clamp(15px, 1.35vw, 20px)/1.65 'General Sans', sans-serif;
  letter-spacing: -.015em;
  text-align: center;
  color: #a0a09c;
}
.closure-copy span { display: block; text-wrap: balance; }
.return-link {
  position: absolute;
  z-index: 4;
  top: clamp(24px, 4vh, 44px);
  left: clamp(24px, 4.8vw, 92px);
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #ffffff29;
  border-radius: 50%;
  background: #ffffff04;
  box-shadow: inset 0 0 0 1px #ffffff03;
  text-decoration: none;
  color: #c5c5c1;
  transition: color .2s, border-color .2s, background .2s;
}
.return-link svg { transition: transform .2s ease; }
.return-link:hover,.return-link:focus-visible { color: #f4f4f2; border-color: #ffffff66; background: #ffffff0a; }
.return-link:hover svg,.return-link:focus-visible svg { transform: translateX(-2px); }
.return-link:focus-visible { outline: 1px solid #aaa; outline-offset: 6px; }
@media (width <= 800px) {
  :root { --closure-size: clamp(4.3rem, min(24vw, 24svh), 10rem); }
  .closure-copy { top: calc(50% + var(--closure-size) * .72 + 28px); }
}
@media (prefers-reduced-motion: reduce) {
  .return-link,.return-link svg { transition: none; }
}
