@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700&display=swap");
/* Self-contained footer styles. These selectors do not alter page content. */
.site-footer[data-shared-footer],
.site-footer[data-shared-footer] * { box-sizing: border-box; }
.site-footer[data-shared-footer] {
  display: grid;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(3rem, 6vw, 5.5rem) max(clamp(1.25rem, 4vw, 4rem), calc((100vw - 84rem) / 2)) 2rem;
  border: 0;
  background: #0e0e10;
  color: rgb(255 255 255 / 68%);
  gap: 3rem clamp(3rem, 7vw, 7rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.75fr) minmax(0, 1.15fr);
  font: 400 1rem/1.6 Geist, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: left;
}
.site-footer[data-shared-footer] > * { min-width: 0; }
.site-footer[data-shared-footer] p { margin: 0; font: inherit; color: inherit; }
.site-footer[data-shared-footer] a { color: inherit; text-decoration: none; }
.site-footer[data-shared-footer] a:focus-visible { outline: 3px solid #ff2e93; outline-offset: 4px; }
.site-footer[data-shared-footer] .social-links {
  display: flex; flex-wrap: wrap; margin: 1.5rem 0 0; padding: 0; gap: 1.15rem;
}
.site-footer[data-shared-footer] .social-links a {
  display: grid; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; padding: 0;
  border: 1px solid rgb(255 255 255 / 22%); border-radius: 50%; place-items: center;
  color: #fff; background: transparent;
}
.site-footer[data-shared-footer] .social-links a:hover { border-color: #ff2e93; background: #ff2e93; }
.site-footer[data-shared-footer] .social-links svg { display: block; width: 1rem; height: 1rem; fill: currentColor; }
.site-footer[data-shared-footer] .footer-links { display: grid; align-content: start; margin: 0; padding: 0; gap: 0.85rem; }
.site-footer[data-shared-footer] .footer-links a,
.site-footer[data-shared-footer] .footer-bottom a { color: rgb(255 255 255 / 72%); }
.site-footer[data-shared-footer] .footer-links a:hover,
.site-footer[data-shared-footer] .footer-bottom a:hover {
  color: white; text-decoration: underline; text-decoration-color: #ff2e93; text-underline-offset: 0.35rem;
}
.site-footer[data-shared-footer] .footer-contact { display: grid; align-content: start; margin: 0; padding: 0; gap: 1.35rem; }
.site-footer[data-shared-footer] .footer-button {
  display: flex; min-height: 3.6rem; padding: 0.9rem 1.2rem;
  background: #ff2e93; color: #0e0e10; align-items: center; justify-content: space-between;
  gap: 1rem; font-weight: 700; text-decoration: none;
}
.site-footer[data-shared-footer] .footer-bottom {
  display: flex; margin: 0; padding: 1.5rem 0 0; border-top: 1px solid rgb(255 255 255 / 16%);
  grid-column: 1 / -1; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; font-size: 0.78rem;
}
.site-footer[data-shared-footer] .footer-home-link { display: inline-flex; align-items: center; gap: 0.5rem; }
/* Preserve the /links page's own creation action, above its shared footer. */
.shared-footer-page-action { margin: 1.75rem 0 0; padding: 1rem 0 1.5rem; border-top: 1px solid #ded9cd; text-align: center; }
.shared-footer-page-action a { display: inline-flex; align-items: center; min-height: 44px; gap: 6px; font-size: 14px; line-height: 1.3; text-underline-offset: 4px; }
/* Only the unsubscribe page's existing body has fixed 20px/28px inset padding. */
.site-footer[data-shared-footer][data-shared-footer-inset] { width: calc(100% + 40px); margin: 0 -20px -28px; }
@media (max-width: 980px) {
  .site-footer[data-shared-footer] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .site-footer[data-shared-footer] .footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .site-footer[data-shared-footer] { grid-template-columns: minmax(0, 1fr); padding-inline: 1.25rem; }
  .site-footer[data-shared-footer] .footer-contact,
  .site-footer[data-shared-footer] .footer-bottom { grid-column: 1; }
  .site-footer[data-shared-footer] .footer-bottom { align-items: flex-start; flex-direction: column; }
  .site-footer[data-shared-footer] .social-links { gap: 0.65rem; }
}

/* Consistent site heading family; sizes remain page-specific. */
h1,h2,h3,h4,h5,h6 { font-family: "Bricolage Grotesque", Geist, sans-serif !important; }
