﻿:root { --ls-flame: #D7272E; --ls-navy: #1D1F2A; --ls-steel: #A2A9AD; --ls-black: #101820; --ls-sky: #0075C8; --ls-royal: #003CA5; --ls-bg: #ffffff; --ls-surface: #f7f7f9; --ls-surface-2: #f2f3f5; --ls-ink: var(--ls-black); --ls-ink-muted: rgba(16,24,32,.72); --ls-border: rgba(29,31,42,.14); --ls-shadow-sm: 0 .25rem .75rem rgba(16,24,32,.08); --ls-shadow-md: 0 .75rem 2rem rgba(16,24,32,.14); --ls-radius: .9rem; --ls-radius-lg: 1.15rem; --bs-body-bg: var(--ls-bg); --bs-body-color: var(--ls-ink); --bs-border-color: var(--ls-border); --bs-primary: var(--ls-flame); --bs-secondary: var(--ls-navy); --bs-dark: var(--ls-black); --bs-light: var(--ls-surface); --bs-link-color: var(--ls-flame); --bs-link-hover-color: var(--ls-royal); --bs-font-sans-serif: 'FX Ambasans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; --bs-heading-color: var(--ls-navy); --bs-border-radius: var(--ls-radius); --bs-border-radius-lg: var(--ls-radius-lg); --bs-focus-ring-color: rgba(215,39,46,.35); --bs-focus-ring-width: .2rem --bs-link-color: var(--ls-navy); --bs-link-color-rgb: 12, 35, 64; }
@font-face { font-family: 'FX Ambasans'; src: url(/s/fonts/fxambasans-blackexpanded.woff2) format('woff2'); font-weight: 900; font-style: normal; font-display: swap }
@font-face { font-family: 'FX Ambasans'; src: url(/s/fonts/fxambasans-bold.woff2) format('woff2'); font-weight: 700; font-style: normal; font-display: swap }
@font-face { font-family: 'FX Ambasans'; src: url(/s/fonts/fxambasans-medium.woff2) format('woff2'); font-weight: 500; font-style: normal; font-display: swap }
body { font-family: var(--bs-font-sans-serif); font-weight: 500; letter-spacing: .01em }
h1 { font-weight: 900;  letter-spacing: .03em }
h2, h3 { font-weight: 700;  letter-spacing: .025em }
h4, h5, h6, p { font-weight: 500 }
.bg-surface { background: var(--ls-surface) !important }
.bg-surface-2 { background: var(--ls-surface-2) !important }
.border-subtle { border-color: var(--ls-border) !important }
.text-muted { color: var(--ls-ink-muted) !important }
.lso-section { padding: 3rem 0 }
.lso-section--navy { background: var(--ls-navy); color: #fff }
.lso-section--navy h1, .lso-section--navy h2, .lso-section--navy h3, .lso-section--navy h4, .lso-section--navy h5, .lso-section--navy h6 { color: #fff }
.lso-section--navy a { color: #fff; text-decoration-color: rgb(255 255 255 / .55) }
.lso-section--navy a:hover { color: var(--ls-flame) }
.lso-section--flame { background: var(--ls-flame); color: #fff }
.lso-section--flame a { color: #fff; text-decoration-color: rgb(255 255 255 / .65) }
.btn { border-radius: var(--ls-radius); font-weight: 700; letter-spacing: .07em }
.btn-primary { background: var(--ls-flame); border-color: var(--ls-flame); box-shadow: var(--ls-shadow-sm) }
.btn-primary:hover { background: #B81F24; border-color: #B81F24; transform: translateY(-1px) }
.btn-primary:active { transform: translateY(0) }
.btn-secondary { background: var(--ls-navy); border-color: var(--ls-navy) }
.btn-secondary:hover { background: #141520; border-color: #141520 }
.btn-outline-primary { color: var(--ls-flame); border-color: var(--ls-flame) }
.btn-outline-primary:hover { background: var(--ls-flame); border-color: var(--ls-flame); color: #fff; transform: translateY(-1px) }
.btn-outline-secondary { color: var(--ls-navy); border-color: rgb(29 31 42 / .35) }
.btn-outline-secondary:hover { background: var(--ls-navy); border-color: var(--ls-navy); color: #fff }
.btn-cta { padding: .85rem 1.25rem; box-shadow: var(--ls-shadow-md) }
.card { border: 1px solid var(--ls-border); border-radius: var(--ls-radius-lg); box-shadow: none; overflow: hidden }
.card.shadow, .card.shadow-sm, .card.shadow-lg { box-shadow: var(--ls-shadow-sm) !important }
.card-header { background: var(--ls-surface); border-bottom: 1px solid var(--ls-border); font-weight: 700;letter-spacing: .08em; color: var(--ls-navy) }
.card--navy .card-header { background: var(--ls-navy); color: #fff; border-bottom-color: rgb(255 255 255 / .12) }
.card--navy .card-body { background: rgb(29 31 42 / .02) }
.badge { font-weight: 700; letter-spacing: .06em; text-transform: uppercase }
.text-bg-primary { background-color: var(--ls-flame) !important }
.text-bg-secondary { background-color: var(--ls-navy) !important }
.text-bg-dark { background-color: var(--ls-black) !important }
.badge-steel { background: var(--ls-steel); color: var(--ls-black) }
.form-control, .form-select { border-color: rgb(29 31 42 / .20); border-radius: var(--ls-radius) }
.form-control:focus, .form-select:focus { border-color: rgb(215 39 46 / .55); box-shadow: 0 0 0 .2rem rgb(215 39 46 / .20) }
.table { border-color: var(--ls-border) }
.table thead th { font-weight: 700; letter-spacing: .08em; font-size: .85rem; color: var(--ls-navy); background: var(--ls-surface) }
.table-hover tbody tr:hover { background: rgb(215 39 46 / .05) }
.table-leaderboard tbody tr { transition: background .12s ease }
.table-leaderboard .rank { font-weight: 900; color: var(--ls-navy) }
.table-leaderboard .score { font-weight: 700 }
.alert { border-radius: var(--ls-radius-lg); border-color: var(--ls-border) }
.alert-primary { background: rgb(215 39 46 / .08); border-color: rgb(215 39 46 / .22); color: var(--ls-black) }
.alert-secondary { background: rgb(29 31 42 / .06); border-color: rgb(29 31 42 / .18); color: var(--ls-black) }
.breadcrumb { --bs-breadcrumb-divider-color: rgba(16,24,32,.35) }
.page-link { border-radius: var(--ls-radius); border-color: var(--ls-border); color: var(--ls-navy) }
.page-link:hover { color: var(--ls-flame); background: rgb(215 39 46 / .06) }
.page-item.active .page-link { background: var(--ls-flame); border-color: var(--ls-flame) }
.lso-hero { background: linear-gradient(135deg,rgb(29 31 42) 0%,rgb(16 24 32) 55%,rgb(29 31 42) 100%); color: #fff; border-bottom: 4px solid var(--ls-flame) }
.lso-hero h1, .lso-hero h2, .lso-hero h3 { color: #fff }
.lso-hero .lead { color: rgb(255 255 255 / .82) }
.lso-hero .hero-card { background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .14); border-radius: var(--ls-radius-lg); box-shadow: none }
.lso-rule { height: 4px; background: linear-gradient(90deg,var(--ls-flame),var(--ls-royal)); border-radius: 999px }
.dropdown-menu { transform-origin: top; animation: dropdownFade .12s ease-out; }

@keyframes dropdownFade {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.dropdown-menu { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(6px); }

@media (min-width: 992px) {
    .navbar .dropdown-menu { display: block;opacity: 0; visibility: hidden; pointer-events: none; margin-top: 0; transition: opacity .2s ease, visibility .2s ease, transform .2s ease, top .2s ease; }
    .navbar .dropdown-menu.show { opacity: 1; visibility: visible; pointer-events: auto; }
    .navbar .nav-item.dropdown:hover > .dropdown-menu { opacity: 1; visibility: visible; pointer-events: auto; top: 100%; transform: translateY(0); }
    .navbar.navbar-light .nav-item.dropdown:hover > .nav-link { color: var(--ls-navy); }
    .navbar .dropdown-menu.fade-down { top: 80%; transform: rotateX(-75deg); transform-origin: 0% 0%; }
    .navbar .dropdown-menu.fade-up { top: 180%; transform: translateY(6px); }
    .navbar .nav-item.dropdown:hover > .dropdown-menu.fade-down,.navbar .dropdown-menu.fade-down.show { top: 100%; transform: rotateX(0deg); }
    .navbar .nav-item.dropdown:hover > .dropdown-menu.fade-up, .navbar .dropdown-menu.fade-up.show { top: 100%; transform: translateY(0); }
}

.display-4 {font-weight:900}
@media (min-width: 1200px) {
    .display-4 { font-size: 3rem; }
}

.image-card img { transition: transform 0.3s ease; }
.image-card:hover img { transform: scale(1.05); filter: brightness(0.7); }
.image-card .card-img-overlay { transition: background-color 0.3s ease; background: rgba(0, 0, 0, 0.6); }
.image-card:hover .card-img-overlay { background: rgba(0, 0, 0, 0.3); }