@font-face { font-family: Caveat; src: url('assets/caveat-variable.ttf') format('truetype'); font-weight: 400 700; font-display: swap; }
.site-footer { min-height: 645px; position: relative; isolation: isolate; overflow: hidden; background: var(--ink); color: #fff; padding: 72px 32px; }
.footer-artwork { position: absolute; z-index: -1; pointer-events: none; top: 0; bottom: 0; left: calc(50% - 331px); width: 873px; overflow: hidden; opacity: .5; }
.footer-artwork img { position: absolute; width: 100%; height: 144.87%; left: 0; top: -11.93%; }
.footer-inner { max-width: 1310px; margin: auto; }
.footer-logo { position: relative; display: block; width: 201px; height: 54px; overflow: hidden; margin-bottom: 24px; }
.footer-logo img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.footer-main { display: grid; grid-template-columns: 442fr 289fr 317fr 262fr; min-height: 407px; }
.footer-brand p { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.4; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 22.4px; min-width: 0; }
.footer-column h2 { font-size: 24px; font-weight: 800; line-height: 1.4; margin: 0 0 5.6px; }
.footer-column a, .footer-column button, .footer-bottom p { font: 600 16px/1.4 Nunito, sans-serif; }
.footer-column button, .footer-bottom button { background: none; border: 0; padding: 0; text-align: left; }
.footer-navigation a { text-decoration: underline; text-decoration-thickness: 1.2px; text-underline-offset: 2px; }
.footer-social { position: relative; height: 176px; margin-top: 43.2px; }
.footer-linkedin { display: grid; place-items: center; width: 64px; height: 64px; border: 0; border-radius: 50%; background: url('assets/footer-social-circle.svg') center / cover; color: #fff; font: 700 32px/1 Nunito, sans-serif; }
.footer-arrow { position: absolute; left: 94px; top: 34px; width: 55px; height: 54px; transform: rotate(-9.1deg); }
.footer-social-note { position: absolute; left: 94px; top: 91px; font: 700 24px/1 Caveat, cursive; opacity: .75; transform: rotate(-8.49deg); white-space: nowrap; }
.footer-bottom { border-top: 1px solid #ffffff40; padding-top: 71px; text-align: center; }
.site-footer a:focus-visible, .site-footer button:focus-visible { outline-color: #fff; }
.footer-column a, .footer-column button, .footer-bottom button, .footer-linkedin { transition: transform 240ms ease, opacity 240ms ease; }
@media (hover: hover) and (pointer: fine) {
  .footer-column a:hover, .footer-column button:hover, .footer-bottom button:hover { transform: none; opacity: .75; }
  .footer-linkedin:hover { transform: scale(1.045); }
}
@media (max-width: 1100px) {
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 32px; padding-bottom: 48px; }
  .footer-column { gap: 24px; }
}
@media (max-width: 600px) {
  .site-footer { padding: 48px 24px; }
  .footer-main { grid-template-columns: 1fr; gap: 32px; }
  .footer-artwork { left: 0; height: 645px; width: 873px; top: auto; }
  .footer-column a, .footer-column button { min-height: 44px; display: flex; align-items: center; }
  .footer-column { gap: 12px; }
  .footer-social { height: 152px; }
  .footer-bottom { padding-top: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .footer-column a, .footer-column button, .footer-bottom button, .footer-linkedin { transition: none; }
  .footer-column a:hover, .footer-column button:hover, .footer-bottom button:hover, .footer-linkedin:hover { transform: none; }
}

.footer-bottom p { margin: 0; color: #fff; }
