/* Designed closing chapter: useful paths, then context and direct contact. */
.site-footer { background:var(--footer-bg); color:var(--footer-ink); margin-block-start:72px; border-block-start:1px solid var(--footer-line); }
.footer-help { display:flex; justify-content:space-between; align-items:center; gap:32px; padding-block:40px; }
.help-intro { display:flex; align-items:center; gap:20px; }
.help-intro>.icon { inline-size:44px; block-size:44px; color:var(--icon-accent); }
.footer-help .eyebrow { margin-block-end:8px; font-size:.68rem; }
.footer-help h2 { font-size:clamp(1.6rem,2.4vw,2.3rem); }
.footer-help .actions { flex:none; }
.footer-help .text-link { border:0; gap:10px; }
.footer-pathways { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--footer-line); background:var(--footer-band); }
.footer-pathways a { display:flex; gap:16px; align-items:center; padding:24px; min-width:0; }
.footer-pathways a+a { border-inline-start:1px solid var(--footer-line); }
.footer-pathways a>.icon:first-child { inline-size:27px; block-size:27px; color:var(--icon-accent); }
.footer-pathways span { flex:1; min-width:0; }
.footer-pathways strong { display:block; font-size:.95rem; font-weight:500; }
.footer-pathways small { display:block; margin-block-start:4px; font-size:.78rem; color:var(--footer-muted); }
.footer-pathways .arrow { inline-size:17px; block-size:17px; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1.05fr .75fr 1.15fr; gap:42px; padding-block:54px 42px; }
.footer-brand .logo { width:190px; height:auto; }
.footer-brand p { max-inline-size:290px; color:var(--footer-muted); font-size:.9rem; line-height:1.9; margin-block:22px; }
.footer-location { display:flex; align-items:center; gap:10px; color:var(--footer-muted); font-size:.85rem; }
.footer-location .icon { color:var(--icon-accent); }
.footer-grid h2 { font-family:var(--body); font-size:.9rem; font-weight:600; line-height:1.7; margin-block:6px 18px; }
.footer-links a { display:flex; align-items:center; gap:12px; min-height:44px; padding-block:9px; color:var(--footer-muted); font-size:.85rem; line-height:1.6; }
.footer-links .footer-all { color:var(--footer-ink); font-weight:500; }
.footer-all .arrow { inline-size:16px; block-size:16px; }
.footer-contact a { display:flex; align-items:center; gap:14px; padding-block:14px; border-block-end:1px solid var(--footer-line); min-height:74px; }
.footer-contact a>.icon { color:var(--icon-accent); }
.footer-contact small { display:block; color:var(--footer-muted); font-size:.75rem; margin-block-end:3px; }
.footer-contact bdi { font-size:.95rem; overflow-wrap:anywhere; }
.footer-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:16px 32px; padding-block:20px; border-block-start:1px solid var(--footer-line); font-size:.75rem; color:var(--footer-muted); }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:8px 24px; margin-inline-start:auto; }
.footer-bottom a { min-height:44px; display:inline-flex; align-items:center; }
.back-top { gap:12px; color:var(--footer-ink); }
.back-top .icon { inline-size:18px; block-size:18px; }
.site-footer :is(a,button):focus-visible { outline-color:var(--focus); }
.site-footer a:active { box-shadow:inset 0 0 0 2px var(--icon-accent); }
@media(hover:hover) and (pointer:fine) {
  .footer-links a:hover,.footer-bottom a:hover { color:var(--footer-ink); text-decoration:underline; text-underline-offset:5px; }
  .footer-contact a:hover { border-color:var(--icon-accent); }
  .footer-pathways a:hover { background:var(--footer-bg); }
}
@media(max-width:1199px) {
  .footer-help { align-items:start; }
  .footer-help .actions { flex-direction:column; align-items:start; gap:8px; }
  .footer-grid { grid-template-columns:1.2fr 1fr; gap:36px 64px; }
  .footer-pathways a { padding:20px 14px; gap:12px; }
}
@media(max-width:767px) {
  .site-footer { margin-block-start:48px; }
  .footer-help { flex-direction:column; gap:24px; padding-block:30px; }
  .help-intro { gap:14px; align-items:start; }
  .help-intro>.icon { inline-size:30px; block-size:30px; }
  .footer-help .actions { flex-direction:row; align-items:center; gap:16px; }
  .footer-help .button { padding-inline:16px; gap:14px; }
  .footer-pathways { grid-template-columns:1fr; }
  .footer-pathways a { padding:20px 16px; }
  .footer-pathways a+a { border-inline-start:0; border-block-start:1px solid var(--footer-line); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px 24px; padding-block:32px; }
  .footer-brand,.footer-contact { grid-column:1/-1; }
  .footer-brand p { max-inline-size:38ch; margin-block:18px; }
  .footer-grid h2 { margin-block-start:0; }
  .footer-bottom { gap:4px 20px; }
  .footer-bottom>span { flex-basis:100%; }
  .footer-bottom nav { margin-inline-start:0; gap:20px; }
  .back-top { margin-inline-start:auto; }
}
@media(max-width:359px) { .footer-grid {grid-template-columns:1fr} .footer-help .actions{align-items:stretch;flex-direction:column} }

.developer-credit { font-size:.75rem; text-underline-offset:4px; }
