/* Canonical footer/location layout, loaded after the partner logo stylesheet. */
body section.cta.pk-pre-partner-footer {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

body,
body footer.footer--with-partner-logos {
  background-attachment: fixed !important;
}

@media (max-width: 620px) {
.pk-partner-band .pk-footer-logo-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px 16px !important;
  }

.pk-partner-band .pk-footer-logo-item:last-child {
    grid-column: auto !important;
  }
}

body .pk-location-section:has(> .wrap.pk-location-heading) {
  padding-top: 90px !important;
  background: var(--bg) !important;
  border-top: 1px solid var(--line) !important;
}

body .pk-location-section:has(> .wrap.pk-location-heading)::before {
  opacity: 1 !important;
  background: radial-gradient(ellipse at 50% 30%, var(--blue-dim), transparent 60%) !important;
  background-size: auto !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

@media (min-width: 981px) {
body .pk-location-section > .wrap,
body .pk-location-section > .wrap.pk-location-heading {
    width: 1320px !important;
    max-width: 1320px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

body .pk-location-section > .wrap.pk-location-heading {
    display: block !important;
    padding-bottom: 40px !important;
  }

body .pk-location-section .pk-location-kicker {
    display: block !important;
    margin: 0 0 28px !important;
    color: var(--text) !important;
    font-family: 'Epilogue', sans-serif !important;
    font-size: 35.54px !important;
    line-height: 41.73px !important;
    font-weight: 400 !important;
    letter-spacing: -.025em !important;
  }

body .pk-location-section .pk-location-kicker::before {
    display: none !important;
  }

body .pk-location-section .pk-location-details {
    width: 100% !important;
    grid-template-columns: minmax(220px, 1.15fr) minmax(200px, .85fr) minmax(270px, auto) !important;
    gap: clamp(22px, 3vw, 46px) !important;
  }
}

@media (max-width: 980px) {
body .pk-location-section:has(> .wrap.pk-location-heading) {
    padding-top: 49px !important;
  }

body .pk-location-section > .wrap.pk-location-heading {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 21px 30px !important;
  }

body .pk-location-section .pk-location-kicker {
    display: block !important;
    margin: 0 0 24px !important;
    font-family: 'Epilogue', sans-serif !important;
    font-size: 26.15px !important;
    line-height: 31.76px !important;
    font-weight: 400 !important;
    letter-spacing: -.02em !important;
  }

body .pk-location-section .pk-location-kicker::before {
    display: none !important;
  }

body .pk-location-section .pk-location-details {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

:root {--pk-fluid-shell: min(1320px, calc(100vw - clamp(48px, 6vw, 96px)));}

@media (min-width: 981px) {
body .pk-location-section > .wrap,
body .pk-location-section > .wrap.pk-location-heading {
    width: var(--pk-fluid-shell) !important;
    max-width: 1320px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
  }

body .footer-grid,
body .pk-location-details {
    min-width: 0 !important;
  }

body .footer-grid > *,
body .pk-location-details > * {
    min-width: 0 !important;
  }
}

@media (max-width: 768px) {
body {--pk-mobile-section-spacing: 56px;}

body section.cta.pk-pre-partner-footer {
    padding-top: var(--pk-mobile-section-spacing) !important;
    padding-bottom: var(--pk-mobile-section-spacing) !important;
  }

body section.pk-location-section {
    padding-top: var(--pk-mobile-section-spacing) !important;
  }
}