:root {
    color-scheme: dark;
    --acm-bg0: #070a08;
    --acm-bg1: #101610;
    --acm-ink: #edf2e8;
    --acm-muted: #a0ad9e;
    --acm-green: #b3ff59;
    --acm-line: #293428;
    --bs-body-bg: var(--acm-bg0);
    --bs-body-color: var(--acm-ink);
    --bs-secondary-color: var(--acm-muted);
    --bs-border-color: var(--acm-line);
    --bs-link-color: var(--acm-green);
    --bs-link-hover-color: #d2ffa0;
    --bs-primary-rgb: 179,255,89;
}
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(ellipse at 85% 12%, #14201055, transparent 42%), var(--acm-bg0); font-family: 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
::selection { background: var(--acm-green); color: #070a08; }
a { color: var(--acm-green); text-decoration: none; }
a:hover { color: #d2ffa0; }
.site-container { width: min(1320px, calc(100% - 96px)); margin-inline: auto; }
.site-content { flex: 1; padding-top: 28px; padding-bottom: 60px; }
.site-header { border-bottom: 1px solid var(--acm-line); }
.navbar { min-height: 98px; padding: 16px 0; }
.navbar-brand { display: flex; align-items: center; gap: 12px; color: var(--acm-ink); font-size: 19px; font-weight: 750; letter-spacing: -.6px; }
.navbar-brand:hover { color: var(--acm-green); }
.brand-mark { display: grid; place-items: center; width: 36px; height: 42px; border: 1px solid var(--acm-green); border-radius: 50% 50% 45% 45%; color: var(--acm-green); font: 27px Georgia, serif; transform: rotate(-12deg); }
.navbar-nav { gap: 24px; }
.navbar .nav-link { color: var(--acm-muted); font: 12px 'Consolas', monospace; padding: 12px 0; }
.nav-link span { color: #71816e; margin-right: 8px; font-size: 10px; }
.navbar .nav-link:hover, .navbar .nav-link[aria-current='page'] { color: var(--acm-green); }
.navbar .nav-link[aria-current='page'] { box-shadow: 0 1px var(--acm-green); }
.navbar-toggler { border-color: var(--acm-line); }
.navbar-collapse { justify-content: flex-end; }
.eyebrow { color: var(--acm-green); font: 11px/1.6 'Consolas', monospace; text-transform: uppercase; letter-spacing: 2px; }
h1, h2, h3 { font-weight: 600; letter-spacing: -.04em; }
.text-muted { color: var(--acm-muted) !important; }
.btn-primary { --bs-btn-color: #102006; --bs-btn-bg: var(--acm-green); --bs-btn-border-color: var(--acm-green); --bs-btn-hover-color: #070a08; --bs-btn-hover-bg: #d2ffa0; --bs-btn-hover-border-color: #d2ffa0; --bs-btn-active-bg: #91d640; --bs-btn-active-border-color: #91d640; --bs-btn-active-color: #070a08; border-radius: 2px; padding: 15px 22px; font-size: 13px; font-weight: 650; }
.btn-primary span { margin-left: 22px; }
:focus-visible { outline: 2px solid var(--acm-green) !important; outline-offset: 5px; box-shadow: none !important; }
.card { background: var(--acm-bg1); border-color: var(--acm-line); border-radius: 3px; }
.site-footer { border-top: 1px solid var(--acm-line); padding: 25px 0; color: var(--acm-muted); font: 10px/1.8 'Consolas', monospace; letter-spacing: 1px; }
.footer-inner { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.footer-inner a { color: var(--acm-muted); }
.footer-inner a:hover { color: var(--acm-green); }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 2000; background: var(--acm-green); color: #070a08; padding: 12px 20px; }
.skip-link:focus { top: 12px; }
@media (max-width: 767px) { .site-container { width: calc(100% - 40px); } .navbar { min-height: 78px; } .navbar-nav { gap: 4px; padding: 16px 0; } .site-content { padding-top: 20px; padding-bottom: 36px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }

/* Shared identity and cinematic homepage navigation. */
.brand-symbol { flex-shrink: 0; width: 36px; height: 36px; }
.brand-wordmark { display: flex; flex-direction: column; font: 8px/1.5 'Segoe UI', sans-serif; letter-spacing: 2.2px; }
.brand-wordmark strong { font-size: 22px; line-height: 1.1; letter-spacing: 4px; font-weight: 600; }
.navbar .nav-link { font-family: 'Segoe UI', sans-serif; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.4px; }
.nav-link span { display: none; }
.home-page { background: #080c0a; }
.home-page .site-header { position: absolute; inset: 0 0 auto; z-index: 10; background: linear-gradient(#050907a6, transparent); border-color: #ffffff1c; }
.home-content { width: 100%; padding: 0; }
.home-page .navbar .nav-link { color: #d8e0d3; }
.home-page .navbar .nav-link:hover, .home-page .navbar .nav-link[aria-current='page'] { color: var(--acm-green); }
@media (max-width: 767px) { .home-page .navbar-collapse { background: #080c0af5; padding-inline: 20px; border: 1px solid var(--acm-line); margin-top: 14px; } .home-content { padding: 0; } .brand-wordmark strong { font-size: 19px; } }
