/* The closing wordmark and company details share the existing colophon. */
.footer-shell .footer-top {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px 7vw;
  align-items:end;
}
.footer-shell .footer-brand {
  grid-column:1 / -1;
  min-width:0;
  margin:0;
}
.footer-shell .footer-contact-details {
  min-width:0;
  margin:0;
}
.footer-shell .footer-contact-details > p {
  margin:0;
  font-size:14px;
  line-height:1.5;
}
.footer-shell .footer-contact-details .footer-company {
  font-size:16px;
  line-height:1.4;
}
.footer-shell .footer-contact-details .footer-address { margin-top:6px; }
.footer-shell .footer-contact-details .footer-direct {
  display:flex;
  flex-wrap:wrap;
  gap:4px 20px;
  margin-top:8px;
}
.footer-shell .footer-direct a {
  display:inline-block;
  white-space:nowrap;
  text-decoration:none;
  text-underline-offset:4px;
}
.footer-shell .footer-direct a:hover { text-decoration:underline; }
.footer-shell .footer-direct a:focus-visible,
.footer-shell .footer-links a:focus-visible {
  outline:1px solid currentColor;
  outline-offset:4px;
}
.footer-shell .footer-links,
.panorama-active .scene-colophon .footer-links {
  position:static;
  display:grid;
  grid-template-columns:repeat(2,max-content);
  align-items:start;
  gap:0 clamp(20px,3vw,50px);
  margin:0;
}
.footer-shell .footer-links p,
.panorama-active .scene-colophon .footer-links p {
  margin:0;
  font-size:14px;
  line-height:2;
}
.panorama-active .scene-colophon .footer-top {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px 7vw;
  width:100%;
  margin:0;
}
.panorama-active .scene-colophon .footer-top .wp-block-site-title {
  margin:0!important;
}

@media screen {
  .panorama-desktop .scene-colophon .scene-scroll {
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto auto;
    gap:12px;
  }
  .panorama-desktop .scene-colophon .footer-top {
    grid-template-rows:minmax(0,1fr) auto;
    align-self:stretch;
    min-height:0;
    gap:clamp(14px,2.4vh,28px) 5vw;
  }
  .panorama-desktop .scene-colophon .footer-brand { align-self:center; }
  .panorama-desktop .scene-colophon .footer-top .wp-block-site-title {
    font-size:min(30vw,39vh)!important;
    line-height:.8;
    margin:0!important;
  }
  .panorama-desktop .scene-colophon .footer-bottom {
    margin:0;
    padding-top:12px;
    font-size:11px;
    line-height:1.5;
  }
  .panorama-desktop .scene-colophon .return-beginning {
    margin:0;
    padding:0;
    font-size:22px;
    line-height:1.3;
  }
}
@media screen and (max-height:740px) {
  .panorama-desktop .scene-colophon .footer-top .wp-block-site-title {
    font-size:min(30vw,32vh)!important;
  }
}
@media screen and (max-height:600px) {
  .panorama-desktop .scene-colophon .scene-scroll { gap:8px; }
  .panorama-desktop .scene-colophon .footer-top { row-gap:14px; }
  .panorama-desktop .scene-colophon .footer-top .wp-block-site-title {
    font-size:26vh!important;
  }
  .panorama-desktop .scene-colophon .footer-bottom {
    padding-top:8px;
    font-size:10px;
  }
  .panorama-desktop .scene-colophon .return-beginning { font-size:20px; }
}
@media (max-width:781px) {
  .footer-shell .footer-top,
  .panorama-active .scene-colophon .footer-top {
    grid-template-columns:minmax(0,1fr);
    gap:28px;
  }
  .footer-shell .footer-brand { grid-column:1; }
  .footer-shell .footer-links,
  .panorama-active .scene-colophon .footer-links {
    justify-content:start;
    gap:0 30px;
  }
  .footer-shell .footer-direct { gap:6px 20px; }
}
