/* The approved Home footer uses these same rules on every content page. */
.site-unified { --footer-left: max(20px,calc(100vw * 48 / 1908)); --footer-right: max(20px,calc(100vw * 40 / 1908)); --footer-type: clamp(12px,1.048vw,20px); }
.site-unified .site-footer { padding-inline: var(--footer-left) var(--footer-right); }
.site-unified .footer-links { display: flex; flex-wrap: wrap; align-items: baseline; gap: 18px 36px; }
.site-unified :is(.footer-links,.footer-links a,.footer-services,.footer-name,.footer-based p) { font-size: var(--footer-type); line-height: 1.15; }
.site-unified .footer-social { display: flex; gap: 32px; margin-left: auto; }
.site-unified .footer-email { display: none; }
.site-unified .footer-red-strip { margin-left: calc(-1 * var(--footer-left)); margin-right: calc(-1 * var(--footer-right)); }
.shop-page > main { position: relative; z-index: 2; background: #fff; margin-bottom: 100vh; }
.shop-page .shop-header { position: relative; z-index: 2; background: #fff; }
.shop-footer-information { padding: 28px var(--footer-left); border-top: 1px solid currentColor; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; font-size: 14px; }
.shop-footer-information nav { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.footer-in-flow.shop-page > main { margin-bottom: 0; }

/* Native touch scrolling and elastic overscroll must never expose a fixed
   footer behind the page. Keep its layout, with an ordinary document position. */
@media (any-pointer: coarse), (max-width: 1024px) {
  .site-unified .site-footer { position: relative; inset: auto; height: auto; min-height: 100svh; }
  .site-unified :is(.home-content,.work-archive,.work-more,.about-main,.contact-main,.blog-main,.blog-article-main,.collab-surface,.detail-outro),
  .site-unified.shop-page > main { margin-bottom: 0; }
}

@media (max-width: 760px) {
  .shop-page .shop-header .shop-section-name { display: none; }
  .shop-page .shop-header h1 {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
}

/* Touch footers are in normal flow: override the later detail outro rule. */
@media (any-pointer: coarse), (max-width: 1024px) {
  .site-unified.detail-editorial .detail-outro { margin-bottom: 0; }
}
