/* Shared footer and informational pages: consistent, legible, and responsive. */
@media screen {
  .site-footer { background:#f2f7fd; border-top:1px solid #dce8f5; padding:0; }
  .site-footer .footer-content { max-width:1280px; display:grid; grid-template-columns:1.15fr 1fr 1fr 1.1fr; gap:38px; align-items:start; padding-block:52px 44px; }
  .site-footer .footer-intro .brand { font-size:26px; line-height:1.35; }
  .site-footer .footer-intro p { color:#53657d; font-size:15px; line-height:1.7; margin-top:14px; }
  .site-footer .footer-nav { display:block; color:#52647b; font-size:15px; }
  .site-footer .footer-nav h2 { color:#192942; font-size:16px; font-weight:700; letter-spacing:0; margin:4px 0 16px; }
  .site-footer .footer-nav ul { list-style:none; display:grid; gap:10px; margin:0; padding:0; }
  .site-footer .footer-nav a { display:inline-block; text-decoration:none; line-height:1.6; }
  .site-footer .footer-nav a:hover { color:#315f9a; text-decoration:underline; text-underline-offset:4px; }
  .site-footer .footer-note { background:#fff; border:1px solid #e1ebf7; border-radius:18px; color:#263a54; padding:19px 21px; }
  .site-footer .footer-note strong { display:block; font-size:15px; line-height:1.5; }
  .site-footer .footer-note p { color:#52647b; font-size:14px; line-height:1.75; margin-top:5px; }
  .site-footer .footer-bottom { max-width:1280px; border-top:1px solid #dce8f5; color:#52647b; padding-block:18px 22px; font-size:13px; line-height:1.6; }
  main .prose-heading { padding:clamp(26px,4vw,42px); margin-bottom:30px; border:1px solid #e5f0fb; border-radius:26px; background:linear-gradient(130deg,#f5faff 0%,#edf6ff 65%,#f9fcff 100%); }
  main .prose-heading h1 { color:#142138; font-size:clamp(34px,4vw,50px); line-height:1.4; }
  main .prose-heading .answer { margin-top:18px; color:#526277; font-size:clamp(17px,1.5vw,20px); line-height:1.8; }
}
@media screen and (max-width:900px) {
  .site-footer .footer-content { grid-template-columns:1fr 1fr; gap:30px 34px; padding-block:42px; }
  .site-footer .footer-intro, .site-footer .footer-note { grid-column:1 / -1; }
}
@media screen and (max-width:600px) {
  .site-footer .footer-content { gap:26px 20px; padding-block:34px; }
  .site-footer .footer-intro .brand { font-size:24px; }
  .site-footer .footer-intro p { margin-top:8px; }
  .site-footer .footer-nav h2 { margin:0 0 12px; }
  .site-footer .footer-nav ul { gap:10px; }
  .site-footer .footer-note { padding:16px 18px; }
  .site-footer .footer-bottom { padding-block:16px 20px; }
  main .prose-heading { padding:24px 20px; border-radius:20px; margin-bottom:24px; }
  main .prose-heading h1 { font-size:clamp(30px,7vw,38px); }
  main .prose-heading .answer { font-size:17px; margin-top:14px; }
}
/* Keep the numerical bar length correct throughout its entrance animation. */
@keyframes chart-fill-enter { from { opacity:.65; transform:none; } to { opacity:1; transform:none; } }
