/* The footer separates contact, navigation and personal preferences into
   three calm bands. Its dark surface remains deliberate in either theme. */
.site-footer.footer26 {
  background:#080817;
  color:#fafaff;
  padding:clamp(3.5rem,6vw,6rem) 0 2rem;
  margin-top:0;
  --footer26-muted:#b7b7ca;
  --footer26-rule:#ffffff24;
}
.footer26::before { display:none; }
.footer26 :is(a,button,select,summary):focus-visible { outline:3px solid #b9c5ff; outline-offset:5px; }
.footer26 a { color:inherit; text-underline-offset:.22em; }
.footer26 a:hover { color:#c4cbff; }
.footer26-masthead {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  align-items:start;
  gap:2.5rem 4rem;
  padding-bottom:clamp(3rem,6vw,5rem);
}
.footer26 .footer26-brand { grid-column:auto; min-width:0; }
.footer26 .footer26-brand > a { display:block; width:fit-content; }
.footer26 .footer26-brand img { width:10.5rem; margin:0 0 1.25rem; }
.footer26 .footer26-brand > p { margin:0; max-width:25ch; color:var(--footer26-muted); font:400 1rem/1.55 var(--av-body); letter-spacing:0; }
.footer26-label,
.footer26 .footer-main nav > p { margin:0 0 1.25rem; color:var(--footer26-muted); font-size:.8125rem; line-height:1.5; }
.footer26-contact { min-width:0; }
.footer26 .footer26-email { display:inline-block; max-width:100%; font:400 clamp(1.5rem,3.3vw,3.5rem)/1.2 var(--av-heading); letter-spacing:-.045em; text-decoration:none; overflow-wrap:anywhere; }
.footer26-email:hover { text-decoration:underline; text-decoration-thickness:1px; }
.footer26-contact-meta { display:flex; flex-wrap:wrap; gap:.75rem 2rem; margin-top:1.5rem; font-size:.875rem; line-height:1.6; color:var(--footer26-muted); }
.footer26-contact-meta a { text-decoration:none; }
.footer26-contact-meta a:hover { text-decoration:underline; }
.footer26 .footer26-navigation {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);
  gap:3rem 4rem;
  padding-block:clamp(2.5rem,5vw,4rem);
  border-top:1px solid var(--footer26-rule);
}
.footer26 .footer-main nav { gap:.15rem; }
.footer26 .footer-main nav > p { margin:0 0 1rem; }
.footer26 .footer-main nav a { min-height:2.75rem; display:flex; align-items:center; width:fit-content; max-width:100%; padding:.4rem 0; color:#f4f4fb; font-size:1rem; line-height:1.45; text-decoration:none; }
.footer26 .footer-main nav a:hover { color:#c4cbff; text-decoration:underline; }
.footer26-site > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; width:100%; }
.footer26 .footer26-resource { min-width:0; }
.footer26-resource > p:not(.footer26-label) { max-width:26ch; margin:0 0 1.5rem; font:400 1.125rem/1.5 var(--av-body); letter-spacing:-.01em; color:#f4f4fb; }
.footer26 .footer26-resource .footer-library { display:inline-flex; align-items:center; justify-content:space-between; gap:1.5rem; max-width:100%; min-height:2.75rem; padding:.5rem 0; border-bottom:1px solid #9595af; color:#f4f4fb; font-size:.875rem; line-height:1.5; text-decoration:none; }
.footer26 .footer26-resource .footer-library:hover { border-color:#c4cbff; color:#c4cbff; }
.footer26 .footer-library span { flex:none; }
.footer26-preferences { display:grid; grid-template-columns:minmax(0,.55fr) minmax(0,2fr); align-items:start; gap:1rem 3rem; padding-block:2rem; border-top:1px solid var(--footer26-rule); }
.footer26-preferences > .footer26-label { padding-top:.65rem; margin:0; }
.footer26 .footer-preferences { gap:1rem 1.5rem; }
.footer26 .footer-preferences :is(button,select) { border-color:#5e5e75; border-radius:.25rem; font-size:.8125rem; }
.footer26 .footer-preferences .theme-control { font-size:.8125rem; }
.footer26 .footer-preferences select { background:#141424; color:#f4f4fb; }
.footer26 .display-preferences { margin-top:0; border-top-color:var(--footer26-rule); }
.footer26 .display-preferences > summary { font-size:.875rem; }
.footer26 .footer-preference-note { margin:0; color:var(--footer26-muted); }
.footer26 .footer26-base { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1.5rem 3rem; margin:0; padding-top:2rem; border-top:1px solid var(--footer26-rule); color:var(--footer26-muted); }
.footer26 .footer26-base > p { width:auto; margin:0; line-height:1.7; font-size:.75rem; }
.footer26 .footer26-base > p > span { color:var(--footer26-muted); font-size:inherit; }
.footer26 .footer-utility { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 2rem; font-size:.8125rem; }
.footer26 .footer-utility a { display:flex; align-items:center; min-height:2.75rem; text-decoration:none; }
.footer26 .footer-utility a:hover { text-decoration:underline; }

@media (max-width:64rem) {
  .footer26-masthead { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:2.5rem; }
  .footer26 .footer26-navigation { gap:2rem; grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,1fr); }
  .footer26-site > div { grid-template-columns:1fr; }
  .footer26 .footer26-email { font-size:clamp(1.5rem,3.5vw,2.5rem); }
  .footer26-preferences { grid-template-columns:1fr; gap:1.25rem; }
  .footer26-preferences > .footer26-label { padding:0; }
}
@media (max-width:44rem) {
  .footer26-masthead { grid-template-columns:1fr; gap:2.5rem; }
  .footer26 .footer26-email { font-size:clamp(1.5rem,6.1vw,2.4rem); }
  .footer26 .footer26-navigation { grid-template-columns:1fr 1fr; gap:2.5rem 1.5rem; }
  .footer26 .footer26-resource { grid-column:1 / -1; border-top:1px solid var(--footer26-rule); padding-top:2rem; }
  .footer26-resource > p:not(.footer26-label) { max-width:35ch; }
  .footer26 .footer-main nav a { font-size:.9375rem; overflow-wrap:anywhere; }
}
@media (max-width:24rem) {
  .footer26 .footer26-navigation { grid-template-columns:1fr; }
  .footer26 .footer26-site > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer26 .footer26-resource { grid-column:auto; }
  .footer26 .footer-preferences > .theme-control { flex-wrap:wrap; }
}
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .footer26-masthead { grid-template-columns:1fr; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .footer26 .footer26-navigation { grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .footer26 .footer26-resource { grid-column:auto; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .footer26-preferences { grid-template-columns:1fr; }
html[data-av-text-size="largest"] .footer26 .footer26-navigation { grid-template-columns:1fr; }
@media (forced-colors:active) {
  .footer26 :is(.footer26-navigation,.footer26-preferences,.footer26-base,.footer26-resource,.footer-library) { border-color:CanvasText; }
}
