.rf-footer { padding: 48px 0 30px; margin: 0; border-top: 1px solid #ffffff1a; background: #000; }
.rf-footer * { box-sizing: border-box; }
.rf-footer-inner { max-width: 1120px; padding: 0 24px; margin: auto; }
.rf-footer-grid { display: grid; grid-template-columns: 1.2fr 1.15fr 1.1fr .6fr; gap: 32px; }
.rf-footer a { color: #aaaab1; font-size: 14px; line-height: 1.5; text-decoration: none; }
.rf-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.rf-footer a:focus-visible { outline: 2px solid #2997ff; outline-offset: 4px; border-radius: 4px; }
.rf-footer .rf-footer-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; color: #f5f5f7; font-weight: 600; text-decoration: none; }
.rf-footer-brand img { display: block; width: 24px; height: 24px; }
.rf-footer-brand span span { font-weight: 400; color: #929296; }
.rf-footer .rf-footer-note { max-width: 250px; margin: 14px 0 0; color: #96969f; font-size: 13px; line-height: 1.7; }
.rf-footer h2 { margin: 0 0 14px; color: #dedee3; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.rf-footer-links { display: grid; gap: 4px; }
.rf-footer-links a { padding: 5px 0; }
.rf-footer-social { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 32px; padding-top: 22px; border-top: 1px solid #ffffff14; }
.rf-footer-social a { padding: 8px 0; font-size: 13px; }
.rf-footer .rf-footer-copyright { margin: 18px 0 0; color: #96969f; font-size: 12px; }
@media (max-width: 800px) { .rf-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; } }
@media (max-width: 440px) { .rf-footer-grid { grid-template-columns: 1fr; gap: 28px; } .rf-footer-inner { padding-inline: 20px; } }
