/* =====================================================================
   Shared footer — identical on every page (home and product pages).
   Markup: templates/footer.html. Self-contained: does not depend on the
   home or product-page tokens, so it looks the same wherever it is used.
   ===================================================================== */
.u-footer {
  --ft-bg: #f5f5f7; --ft-ink: #1d1d1f; --ft-text: #6e6e73; --ft-link: #424245; --ft-rule: #d2d2d7;
  --ft-font: "SF Pro Text", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ft-max: 980px; --ft-gutter: clamp(16px, 4vw, 22px);
  margin: 16px; border-radius: 48px;
  background: var(--ft-bg); color: var(--ft-text);
  padding: 40px var(--ft-gutter) 32px;
  font-family: var(--ft-font); font-size: 12px; line-height: 1.33; letter-spacing: -0.12px;
}
.u-footer__grid {
  max-width: var(--ft-max); margin: 0 auto;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px;
  padding-bottom: 28px; border-bottom: 1px solid var(--ft-rule);
}
.u-footer ul { list-style: none; margin: 0; padding: 0; }
/* Column titles +40% and link rows +25% over the original 12px */
.u-footer h3 { margin: 0 0 14px; font: 600 16.8px/1.3 var(--ft-font); letter-spacing: normal; text-transform: none; color: var(--ft-ink); }
.u-footer li a { font-size: 15px; line-height: 1.4; }
.u-footer li + li { margin-top: 10px; }
.u-footer a { color: var(--ft-link); text-decoration: none; overflow-wrap: anywhere; }
.u-footer a:hover { text-decoration: underline; color: var(--ft-ink); }
.u-footer__base {
  max-width: var(--ft-max); margin: 20px auto 0;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 15px;
}
.u-footer__base .motion-optin { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; }
@media (max-width: 833px) {
  .u-footer { border-radius: 36px; }
  .u-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
