/* Shared footer, kept separate from the visual work on page sections. */
.dc-site-footer {
  padding: 0;
  background: var(--dc-charcoal);
  color: var(--dc-paper);
  border-top: 1px solid #654a35;
}
.dc-site-footer .dc-footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(9rem, .65fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: clamp(3rem, 5vw, 5rem);
  align-items: start;
}
.dc-site-footer .dc-footer-main > * { min-width: 0; margin: 0; }
.dc-site-footer .dc-footer-brand { margin: 0 0 1.25rem; font-size: clamp(1.8rem, 2.8vw, 2.65rem); line-height: 1.05; }
.dc-site-footer .dc-footer-brand a { text-decoration: none; color: inherit; }
.dc-site-footer .dc-footer-about .dc-footer-note { max-width: 22rem; margin: 0; font-size: .95rem; line-height: 1.7; }
.dc-site-footer :is(.dc-footer-links,.dc-footer-follow) h2 { margin: .25rem 0 1.2rem; font: 700 .77rem/1.3 var(--dc-font-reading); letter-spacing: .13em; text-transform: uppercase; color: #edc99e; }
.dc-site-footer .dc-footer-links .wp-block-navigation { width: auto; justify-content: flex-start; }
.dc-site-footer .dc-footer-links .wp-block-navigation__container { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; width: auto; }
.dc-site-footer .wp-block-navigation-item__content { width: fit-content; min-height: 2.2rem; padding: .3rem 0; color: var(--dc-paper); font-size: .92rem; line-height: 1.5; text-decoration: none; }
.dc-site-footer .wp-block-navigation-item__content:hover { color: #edc99e; text-decoration: underline; text-underline-offset: .2em; }
.dc-site-footer .dc-footer-follow p { max-width: 17rem; margin: 0 0 1rem; font-size: .92rem; line-height: 1.65; }
.dc-site-footer .dc-footer-channel-link a { display: inline-flex; align-items: center; min-height: 44px; color: #edc99e; font-size: .9rem; font-weight: 700; text-underline-offset: .25em; }
.dc-site-footer .dc-footer-bottom { display: flex; justify-content: space-between; gap: .5rem 2rem; margin: 0 auto; padding-block: 1.3rem 1.6rem; border-top: 1px solid #654a35; }
.dc-site-footer .dc-footer-bottom .dc-footer-note { margin: 0; color: #d3c1ac; font-size: .78rem; }
.dc-site-footer a:focus-visible { outline: 2px solid #edc99e; outline-offset: 4px; }
@media(max-width: 850px) {
  .dc-site-footer .dc-footer-main { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .dc-site-footer .dc-footer-about { grid-column: 1 / -1; }
}
@media(max-width: 520px) {
  .dc-site-footer .dc-footer-main { grid-template-columns: 1fr 1fr; gap: 2.5rem 1rem; }
  .dc-site-footer .dc-footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* Gutenberg's constrained group margins should not recenter each footer item. */
.dc-site-footer .dc-footer-main > .wp-block-group > * { margin-inline: 0 !important; }
@media(max-width: 520px) {
  .dc-site-footer .dc-footer-main,
  .dc-site-footer .dc-footer-bottom { width: calc(100% - 32px); margin-inline: auto; }
  .dc-site-footer .dc-footer-main { grid-template-columns: 1fr; gap: 2rem; }
  .dc-site-footer .dc-footer-about { grid-column: auto; }
  .dc-site-footer .dc-footer-links .wp-block-navigation__container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: .1rem 1rem; }
  .dc-site-footer .dc-footer-follow p { max-width: 24rem; }
}
