.page-loader { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; background: #fff; color: #008f46; transition: opacity .32s ease, visibility .32s ease; }
.page-loader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.page-loader-card { display: flex; flex-direction: column; align-items: center; gap: 20px; font-size: 15px; }
.page-loader-card img { width: 90px; height: 90px; object-fit: contain; }
.page-loader-spinner { width: 36px; height: 36px; border: 3px solid #d3f2e0; border-top-color: #009b4d; border-radius: 50%; animation: loader-turn .85s linear infinite; }
@keyframes loader-turn { to { transform: rotate(360deg); } }
.banner-strip { overflow: hidden; scroll-behavior: smooth; }
.banner-track { height: 100%; display: flex; flex: 0 0 auto; gap: 16px; }
.banner-strip .banner-track img { display: block; width: 580px; height: 152px; flex: 0 0 580px; object-fit: fill; border-radius: 10px; }
.members-block,.regulatory-block { margin-top: 24px; }
.members-block h2,.regulatory-block h2 { font-size: 19px; line-height: 1.3; margin: 0 0 15px; }
.member-window { height: 195px; overflow: hidden; border-radius: 15px; background: #f5f5f5; padding: 6px 14px; }
.member-rows { animation: member-scroll 190s linear infinite; }
.member-row { height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #e8e8e8; font-size: 13px; }
.member-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-row strong { color: #009b4d; font-size: 14px; white-space: nowrap; }
@keyframes member-scroll { to { transform: translateY(-50%); } }
.regulatory-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 16px; background: #f4f4f4; border-radius: 20px; }
.regulatory-grid > div { min-width: 0; display: flex; align-items: center; min-height: 150px; }
.regulatory-grid img { display: block; max-width: 100%; width: auto; height: auto; max-height: 150px; border-radius: 8px; object-fit: contain; }
@media (max-width:520px) { .banner-strip .banner-track img { width: 300px; flex-basis: 300px; } .regulatory-grid { padding: 14px; } .regulatory-grid > div { min-height: 138px; } .regulatory-grid img { max-height: 138px; } }
@media (prefers-reduced-motion:reduce) { .page-loader-spinner,.member-rows { animation: none; } .banner-strip { scroll-behavior: auto; } }
