/* 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; } }

/* Dismissible animated banner, with space reserved below the page. */
body { --sticky-ad-space: 0px; padding-bottom: var(--sticky-ad-space); }
.sticky-ad { position: fixed; z-index: 65; bottom: max(8px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: min(728px, calc(100% - 24px)); border: 1px solid rgba(115,162,218,.45); border-radius: 10px; background: #0d2039; color: #fff; box-shadow: 0 6px 30px rgba(0,0,0,.25); overflow: hidden; }
.sticky-ad[hidden] { display: none; }
.sticky-ad-link, .sticky-ad-image { display: block; width: 100%; }
.sticky-ad-image { height: auto; aspect-ratio: 728 / 90; object-fit: contain; }
body .floating-actions, body .scroll-top-fab { bottom: calc(var(--sticky-ad-space) + max(1rem, env(safe-area-inset-bottom))); }

.sticky-ad { background: transparent; }
.sticky-ad-close { position: absolute; top: 2px; right: 2px; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(12,27,46,.8); color: #fff; font: 16px/1 Arial, sans-serif; cursor: pointer; }
.sticky-ad-close:hover { background: #183059; }
.sticky-ad-close:focus-visible, .sticky-ad-link:focus-visible { outline: 2px solid #facc15; outline-offset: -3px; }
