.footer-resources { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .95fr) minmax(220px, .72fr); gap: 28px; margin-top: 20px; padding: 28px; border: 1px solid #d9d1e8; border-radius: 16px; background: radial-gradient(circle at 7% 8%, #ddd0f34d, transparent 34%), radial-gradient(circle at 90% 84%, #c9d9f14a, transparent 37%), linear-gradient(135deg, #fbfaff, #f5f2fa 62%, #eef4fb); color: #443d52; box-shadow: 0 14px 36px #41315b0d; }
.footer-resource-group { min-width: 0; }
.footer-resource-kicker { margin: 0 0 8px; color: #74618d; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.footer-resource-group h3 { margin: 0; color: #302a3e; font-size: 18px; line-height: 1.12; letter-spacing: -.03em; }
.footer-resource-group > p:not(.footer-resource-kicker) { max-width: 360px; margin: 10px 0 14px; color: #696278; font-size: 11px; line-height: 1.65; }
.footer-resource-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 14px; }
.footer-resource-links a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; min-height: 44px; padding: 7px 0; border-bottom: 1px solid #d8d0e4; color: #5a4173; font-size: 11px; font-weight: 750; line-height: 1.3; }
.footer-resource-links a:hover { color: #9b4d73; border-color: #b993c7; }
.footer-resource-links a > span { min-width: 0; }
.footer-resource-links small { flex: none; padding: 3px 5px; border: 1px solid #cfc2dc; border-radius: 4px; color: #786a89; background: #ffffff9c; font-size: 8px; font-weight: 800; letter-spacing: .06em; line-height: 1; }
.footer-resource-credit { padding-left: 24px; border-left: 1px solid #d5cce2; }
.footer-resource-credit h3 { font-size: 21px; }
.footer-resource-credit a { color: #5b3f78; font-weight: 800; text-decoration: underline; text-decoration-color: #b991ca; text-underline-offset: 3px; }
.footer-resource-permissions { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; margin-top: 4px; color: #5b3f78; font-size: 11px; line-height: 1.4; }
.footer-resource-permissions span { font-size: 16px; text-decoration: none; }
.footer-resources a:focus-visible { outline: 3px solid #8c67ad; outline-offset: 3px; border-radius: 4px; }
@media (max-width: 880px) { .footer-resources { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .footer-resource-credit { padding-left: 0; border-top: 1px solid #d5cce2; border-left: 0; padding-top: 22px; grid-column: 1 / -1; } }
@media (max-width: 600px) { .footer-resources { grid-template-columns: 1fr; gap: 24px; margin-top: 14px; padding: 22px 18px; } .footer-resource-links { grid-template-columns: 1fr; } .footer-resource-credit { grid-column: auto; } }
@media (prefers-reduced-motion: reduce) { .footer-resources * { transition: none !important; } }

@media (forced-colors: active) { .footer-resources { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }.footer-resources :is(h3, p, small) { color: CanvasText; background: Canvas; border-color: CanvasText; }.footer-resources a, .footer-resource-credit a { color: LinkText; border-color: CanvasText; text-decoration-color: LinkText; }.footer-resource-credit { border-color: CanvasText; }.footer-resources a:focus-visible { outline-color: Highlight; } }
