/* Shared footer matching the supplied reference. */
.reference-footer { background: #fff; color: #333; padding: 48px max(24px, calc((100% - 1456px) / 2)) 19px; font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.65; }
.reference-footer-grid { display: grid; grid-template-columns: 390fr 300fr 300fr 360fr; gap: 16px; max-width: 1400px; }
.reference-footer-brand { padding-right: 12px; }
.reference-footer-brand img { display: block; width: 126px; height: 34px; margin-bottom: 22px; }
.reference-footer p { margin: 0; line-height: 1.65; }
.reference-footer-brand strong { color: #ff0080; }
.reference-footer-brand p + p { margin-top: 15px; }
.reference-footer h2 { margin: 0 0 21px; padding: 0; border: 0; color: #171717; font-size: 22px; line-height: 34px; font-weight: 700; letter-spacing: 0; }
.reference-footer ul { list-style: none; padding: 0; margin: 0; }
.reference-footer li a { display: flex; align-items: center; gap: 11px; min-height: 45px; color: #222; }
.reference-footer li a::before { content: ''; flex: 0 0 14px; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.5' fill='%230d56d9'/%3E%3Cpath d='M6.5 4.5L10 8l-3.5 3.5z' fill='white'/%3E%3C/svg%3E") center / contain no-repeat; }
.reference-footer-important li + li { border-top: 1px solid #e0e0e0; }
.reference-footer a:hover { color: #0d56d9; }
.reference-footer a:focus-visible { outline: 2px solid #0d56d9; outline-offset: 4px; }
.reference-contact-row { display: flex; align-items: center; gap: 14px; padding: 10px 0 12px; color: #222; }
.reference-contact-row + .reference-contact-row { border-top: 1px solid #e0e0e0; padding-top: 13px; }
.reference-contact-row svg { width: 16px; height: 16px; flex: 0 0 16px; fill: #0d56d9; }
.reference-footer .reference-footer-tags { margin-top: 19px; }
.reference-footer .reference-footer-copyright { width: fit-content; max-width: 100%; margin: 70px auto 0; padding-top: 20px; border-top: 1px solid #e0e0e0; color: #555; font-size: 14px; text-align: center; }
.blank-page { background: #fff; }
.blank-page main { min-height: 180px; }
#signup, #login { scroll-margin-top: 100px; }
@media (max-width: 1050px) { .reference-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; } }
@media (max-width: 600px) { .reference-footer { padding: 36px 24px 88px; } .reference-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; } .reference-footer-brand { padding: 0; } .reference-footer h2 { margin-bottom: 14px; } .reference-footer .reference-footer-copyright { margin-top: 40px; } }
