/* Brain Lead public-site foundation — light, clear, and intentionally restrained. */
:root {
    --void: #ffffff;
    --void-light: #f8fafc;
    --void-lighter: #eef4fb;
    --bg: #ffffff;
    --surface: #ffffff;
    --surface-2: #f5f8fc;
    --surface-3: #eaf1fa;
    --neural-cyan: #1463e8;
    --neural-purple: #1463e8;
    --accent: #1463e8;
    --accent-2: #0e4db9;
    --accent-hover: #0b4abb;
    --accent-soft: #e9f1ff;
    --success: #16845b;
    --plasma-green: #16845b;
    --danger: #c83349;
    --synapse-pink: #c83349;
    --warning: #a96800;
    --neural-amber: #a96800;
    --text-primary: #0b1f3a;
    --text-secondary: #52647c;
    --text-tertiary: #72839a;
    --glass-bg: #ffffff;
    --glass-bg-hover: #ffffff;
    --glass-border: #dbe5f1;
    --glass-border-hover: #a9c7f8;
    --border: #dbe5f1;
    --border-strong: #c5d4e6;
    --gradient-primary: linear-gradient(135deg, #1463e8 0%, #0c52cf 100%);
    --gradient-secondary: linear-gradient(135deg, #e9f1ff 0%, #f8fbff 100%);
    --shadow-sm: 0 1px 2px rgba(15, 37, 68, 0.05);
    --shadow-md: 0 10px 28px rgba(15, 37, 68, 0.08);
    --shadow-lg: 0 22px 50px rgba(15, 37, 68, 0.12);
    --shadow-glow-cyan: 0 16px 32px rgba(20, 99, 232, 0.16);
    --radius-sm: 10px;
    --radius-md: 14px;
    --radius-lg: 18px;
    --radius-xl: 24px;
    --max-width: 1200px;
    --nav-height: 72px;
}

body {
    background: var(--bg);
    color: var(--text-primary);
    font-family: 'Inter', sans-serif;
}

html { scroll-padding-top: calc(var(--nav-height) + 24px); }
body::before { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width: 1080px) {
    .site-header .desktop-only { display:none !important; }
    .site-header .nav-toggle { display:flex !important; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto !important; }
    *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* A fixed header must never sit on top of a page title. The home page owns
   its own hero spacing, so it is deliberately exempt. */
main > *:first-child { padding-top: calc(var(--nav-height) + 2rem) !important; }
main > .home-page:first-child { padding-top: 0 !important; }

h1, h2, h3, h4, h5, h6 { color: var(--text-primary); }
p { color: var(--text-secondary); }
a { color: var(--accent); }
::selection { background: #cfe0ff; color: #0b1f3a; }

.site-header {
    height: var(--nav-height);
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom: 1px solid rgba(219, 229, 241, 0.9) !important;
    box-shadow: none !important;
    backdrop-filter: blur(16px);
}
.site-header .container { height: 100%; }
.site-logo { color: var(--text-primary) !important; font-weight: 750; }
.site-logo span { color: var(--text-primary) !important; }
.site-logo img { filter: none !important; }
.site-nav a { color: #43546b !important; font-weight: 600; }
.site-nav a:hover, .site-nav a.active { color: var(--accent) !important; }
.site-nav .cta a, .site-nav li.cta a {
    color: #fff !important;
    background: var(--accent) !important;
    border: 1px solid var(--accent) !important;
    box-shadow: 0 8px 18px rgba(20, 99, 232, 0.18) !important;
}
.mobile-menu { background: #fff !important; border-color: var(--border) !important; }
.mobile-menu a { color: var(--text-primary) !important; }

.btn-neural, .bl-btn-primary, .btn-checkout, .bl-nav-cta {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    box-shadow: 0 9px 20px rgba(20, 99, 232, 0.18) !important;
    color: #fff !important;
}
.btn-neural:hover, .bl-btn-primary:hover, .btn-checkout:hover, .bl-nav-cta:hover {
    background: var(--accent-hover) !important;
    box-shadow: 0 12px 26px rgba(20, 99, 232, 0.24) !important;
}
.btn-ghost, .bl-btn-secondary, .btn-icon, .btn-small {
    background: #fff !important;
    color: var(--text-primary) !important;
    border-color: var(--border-strong) !important;
    box-shadow: none !important;
}
.btn-ghost:hover, .bl-btn-secondary:hover, .btn-icon:hover, .btn-small:hover {
    border-color: var(--accent) !important;
    background: #f7faff !important;
    color: var(--accent) !important;
}

.section { padding: 6rem 0; }
.section-tight { padding: 3.5rem 0; }
.section-eyebrow {
    color: #0e4db9;
    background: #e9f1ff;
    border-color: #cbdcff;
    font-family: 'Inter', sans-serif;
    font-weight: 750;
    letter-spacing: .08em;
}
.text-gradient { color: var(--accent) !important; -webkit-text-fill-color: currentColor !important; background: none !important; }

.glass-card, .bl-glass, .card, .bl-card, .card-neural {
    background: #fff !important;
    border-color: var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
    backdrop-filter: none !important;
}
.glass-card:hover, .bl-glass:hover, .card:hover, .bl-card:hover, .card-neural:hover {
    border-color: #b8d0f5 !important;
    box-shadow: var(--shadow-md) !important;
}
.form-input, .form-select, input, select, textarea {
    background: #fff !important;
    color: var(--text-primary) !important;
    border-color: var(--border-strong) !important;
}
.form-input:focus, .form-select:focus, input:focus, select:focus, textarea:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 4px rgba(20, 99, 232, 0.12) !important;
}

.bl-footer { background: #0b1f3a !important; border-top: 0 !important; }
.bl-footer, .bl-footer p, .bl-footer h4, .bl-footer a, .bl-footer .site-logo { color: #dfeafa !important; }
.bl-footer a:hover { color: #fff !important; }

@media (max-width: 768px) {
    .section { padding: 4rem 0; }
}
