@font-face {
  font-family: Prix Footer;
  src: url('/fonts/services/inter-tight-latin-wght-normal.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
.px-footer-sculpture {
  --footer-paper: #eeeae2;
  position: relative;
  margin: 4rem 2% 0;
  border-top: 1px solid #ffffff26;
  color: var(--footer-paper);
  font-family: 'Prix Footer', 'Inter Tight', sans-serif;
}
.px-footer-contact small { display: block; margin-bottom: 12px; }
.px-footer-stage {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: clamp(130px, 23vw, 420px);
  overflow: hidden;
  contain: layout paint;
}
.px-footer-typography {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .14em;
  overflow: hidden;
  font-size: clamp(70px, 17.45vw, 320px);
  font-weight: 900;
  line-height: .8;
  letter-spacing: -.065em;
  white-space: nowrap;
  user-select: none;
}
.px-footer-typography span:last-child {
  padding-right: .055em;
}
.px-footer-stage canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  touch-action: pan-y;
  cursor: grab;
  outline-offset: -6px;
}
.px-footer-stage canvas:active {
  cursor: grabbing;
}
.px-footer-stage canvas:focus-visible {
  outline: 2px solid #e8e4da;
}
.px-footer-sculpture-caption,
.px-footer-signoff {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 56px;
  padding: 12px 0;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #bbbcb5;
}
.px-footer-sculpture-caption button {
  border: 0;
  background: none;
  color: inherit;
  padding: 10px 0 10px 16px;
  font: inherit;
  letter-spacing: 0.03em;
  cursor: pointer;
}
.px-footer-sculpture-caption button[hidden] {
  display: none;
}
.px-footer-sculpture-caption button:hover {
  color: #fff;
}
.px-footer-signoff { padding-bottom: 28px; }
.px-footer-signoff a {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 10px 0;
  color: var(--footer-paper);
  font-size: 12px;
  letter-spacing: 0;
}
.px-footer-signoff a:hover { text-decoration: underline; text-underline-offset: 5px; }
.px-cookie-settings {
  max-width: 900px;
  margin: 60px auto;
  padding: 32px;
  background: #f0f0ea;
  color: #142822;
  scroll-margin-top: 120px;
  border-radius: 8px;
}
.px-cookie-settings h2 {
  font-size: clamp(24px, 4vw, 36px);
  line-height: 1.18;
  margin: 0 0 16px;
}
.px-cookie-settings p {
  line-height: 1.6;
  max-width: 60ch;
}
.px-cookie-settings button {
  padding: 14px 22px;
  border: 1px solid #142822;
  border-radius: 40px;
  background: #142822;
  color: #fff;
  cursor: pointer;
}
.px-cookie-settings button:focus-visible,
.px-footer-sculpture-caption button:focus-visible,
.px-footer-signoff a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
@media (max-width: 600px) {
  .px-footer-sculpture {
    margin-top: 2rem;
  }
  .px-footer-sculpture-caption {
    gap: 8px;
    font-size: 9px;
  }
  .px-footer-stage { height: 28vw; min-height: 108px; }
  .px-footer-typography { font-size: 17.1vw; }
  .px-footer-sculpture-caption button {
    padding-left: 0;
  }
  .px-cookie-settings {
    margin: 32px 20px;
    padding: 24px;
  }
}
