/* An ONFORM closing scene, joined to the page by its existing curved edge. */
.onform-footer-scene { position: relative; isolation: isolate; overflow: clip; background: #020b16; }
.onform-footer-scene .footer-curve { background: transparent; }
.contact-footer.onform-footer {
  --footer-gutter: clamp(24px, 6vw, 120px);
  position: relative;
  isolation: isolate;
  overflow: clip;
  background: transparent;
  color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  padding: clamp(64px, 8vw, 140px) 0 0;
}
.onform-footer__media { position: absolute; inset: 0; z-index: -2; background: #020b16; }
.onform-footer__media::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / 18%); pointer-events: none; }
.onform-footer__media :is(img,video) { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.onform-footer::before { content: none; }

.onform-footer .contact-footer__inner { margin: 0; padding: 0 var(--footer-gutter); }
.onform-footer__eyebrow { font-size: 11px; font-weight: 500; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; margin-bottom: clamp(28px, 3vw, 54px); }
.onform-footer__grid { display: grid; grid-template-columns: minmax(0, 2.7fr) minmax(200px, 1fr); gap: clamp(32px, 5vw, 100px); align-items: end; }
.onform-footer h2 { font-size: clamp(60px, 8.6vw, 168px); font-weight: 500; line-height: .96; letter-spacing: -.065em; padding: 0; }
.onform-footer h2 .motion-mask { padding-bottom: .12em; margin-bottom: -.12em; }
.onform-footer__aside { padding-bottom: 8px; }
.onform-footer__aside > p { font-size: clamp(17px, 1.4vw, 24px); line-height: 1.5; letter-spacing: -.02em; max-width: 22ch; color: #ffffffe0; }
.onform-footer__contact { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; padding: 18px 0 14px; margin-top: 26px; border-bottom: 1px solid #ffffff75; font-size: clamp(18px, 1.4vw, 24px); }
.onform-footer__contact > span:last-child { font-size: 27px; transition: transform .4s cubic-bezier(.16,1,.3,1); }
.onform-footer__contact:hover > span:last-child { transform: translate(4px,-4px); }
.onform-footer__email { display: block; margin-top: 16px; font-size: 12px; opacity: .75; overflow-wrap: anywhere; }
.onform-footer .footer-bottom { padding: 0; margin: clamp(64px, 7vw, 120px) var(--footer-gutter) 0; display: flex; justify-content: space-between; align-items: end; border-top: 1px solid #ffffff30; padding-top: 25px; gap: 24px; font-size: 12px; }
.onform-footer__location { line-height: 1.7; color: #ffffffb3; }
.onform-footer__location span { display: block; color: #fff; }
.onform-footer__navigation { display: flex; gap: clamp(20px, 2.8vw, 50px); flex-wrap: wrap; align-items: center; }
.onform-footer__navigation a { padding: 12px 0; }
.onform-footer__navigation a:hover { text-decoration: underline; text-underline-offset: 5px; }
.onform-footer__wordmark { display: block; margin: clamp(45px, 6vw, 100px) auto 0; width: max-content; max-width: 100%; font-size: clamp(100px, 20.2vw, 400px); font-weight: 600; line-height: .82; letter-spacing: -.055em; text-align: center; padding: 0 .045em; }
.onform-footer__legal { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px var(--footer-gutter) 24px; font-size: 10px; letter-spacing: .01em; color: #ffffffa6; }
.onform-footer__socials { display: flex; gap: 20px; }
.onform-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
@media(max-width:900px) {
  .onform-footer__grid { grid-template-columns: 1fr; gap: 34px; }
  .onform-footer h2 { font-size: clamp(54px, 10.8vw, 96px); }
  .onform-footer__aside { display: flex; align-items: end; justify-content: space-between; gap: 25px; }
  .onform-footer__contact { margin-top: 0; }
  .onform-footer .footer-bottom { margin-top: 54px; }
}
@media(max-width:600px) {
  .onform-footer__aside { display: block; }
  .onform-footer__contact { margin-top: 20px; min-height: 48px; }
  .onform-footer .footer-bottom { flex-direction: column; align-items: stretch; gap: 16px; margin-top: 50px; }
  .onform-footer__navigation { justify-content: space-between; gap: 14px; }
  .onform-footer__wordmark { margin-top: 40px; font-size: 20vw; }
  .onform-footer__legal { padding-top: 23px; flex-wrap: wrap; }
}
@media(prefers-reduced-motion:reduce) { .onform-footer__contact > span:last-child { transition: none; } }

.onform-footer__wordmark { user-select:none; -webkit-user-select:none; }
/* Inline letters retain the wordmark's spacing and shared sans typography. */
.onform-footer__letter { display:inline-block; pointer-events:none; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .onform-footer__wordmark.is-rippling .onform-footer__letter { will-change:transform; }
}
