:root {
    --dark-bg: #080b10;
    --dark-surface: #111720;
    --dark-surface-raised: #18212c;
    --dark-line: #303c49;
    --dark-text: #eef3f8;
    --dark-muted: #b3c2d0;
    --dark-accent: #81c5ff;
}

body { color: var(--dark-text); background: var(--dark-bg); }
a { color: var(--dark-accent); }

.site-header {
    border-bottom-color: var(--dark-line);
    background: rgba(8, 11, 16, .96);
}
.site-brand, .site-brand:hover, .site-navbar .nav-link { color: var(--dark-text); }
.site-brand small { color: var(--dark-muted); }
.site-navbar .nav-link:hover, .site-navbar .nav-link:focus {
    color: #fff;
    background: var(--dark-surface-raised);
}
.site-navbar .navbar-toggler { border-color: var(--dark-line); }
.site-navbar .navbar-toggler-icon { filter: invert(1); }
.site-header .site-nav-cta,
.site-header .site-nav-cta:visited {
    color: #fff;
    background: #226dc3;
}
.site-header .site-nav-cta:hover,
.site-header .site-nav-cta:focus-visible {
    color: #fff;
    background: #3582da;
}
.site-footer { background: #06080c; }
.skip-link { color: #080b10; background: #fff; }

.home-page {
    --home-ink: var(--dark-text);
    --home-slate: var(--dark-muted);
    --home-muted: var(--dark-muted);
    --home-line: var(--dark-line);
    --home-cloud: var(--dark-surface);
    --home-blue-dark: var(--dark-accent);
    --home-blue-soft: #1b344a;
    --home-white: #fff;
    color: var(--dark-text);
}
.subpage {
    --page-ink: var(--dark-text);
    --page-slate: var(--dark-muted);
    --page-muted: var(--dark-muted);
    --page-line: var(--dark-line);
    --page-cloud: var(--dark-surface);
    --page-blue-dark: var(--dark-accent);
    color: var(--dark-text);
}
.service-page {
    --service-ink: var(--dark-text);
    --service-slate: var(--dark-muted);
    --service-muted: var(--dark-muted);
    --service-line: var(--dark-line);
    --service-cloud: var(--dark-surface);
    --service-blue-dark: var(--dark-accent);
    color: var(--dark-text);
}

.home-hero, .subpage-hero, .service-hero {
    background: radial-gradient(circle at 75% 0%, #172535 0%, var(--dark-bg) 55%);
}
.home-kicker, .subpage-kicker, .service-eyebrow {
    border-color: var(--dark-line);
    color: var(--dark-accent);
    background: var(--dark-surface);
}
.home-hero h1 span {
    background: linear-gradient(105deg, #91ceff, #57b5ff 55%, #78ded2);
    -webkit-background-clip: text;
    background-clip: text;
}
.home-lead strong, .home-floating strong, .story-origin-grid blockquote { color: var(--dark-text); }
.home-trust, .service-trust, .home-floating > span { color: var(--dark-muted); }
.home-button-secondary, .service-button-secondary {
    border-color: var(--dark-line);
    color: var(--dark-text);
    background: var(--dark-surface-raised);
}
.home-button-secondary:hover, .service-button-secondary:hover {
    border-color: var(--dark-accent);
    color: #fff;
    background: #203348;
}
.home-button-light, .service-button-light, .subpage-final-card > a {
    color: #080b10;
    background: #f0f6fc;
}
.home-button-light:hover, .service-button-light:hover, .subpage-final-card > a:hover {
    color: #103f70;
    background: #dceeff;
}
.home-floating, .home-service-card, .home-case-grid > article,
.project-card, .role-card:not(.role-card-dark), .values-grid article,
.service-problem-grid article, .service-related-grid a, .demo-card {
    border-color: var(--dark-line);
    color: var(--dark-text);
    background: var(--dark-surface-raised);
}
.home-floating > i, .home-service-icon, .role-card:not(.role-card-dark) .role-icon,
.service-problem-grid article > span, .service-accordion summary i,
.project-card-meta small, .home-case-tag {
    color: var(--dark-accent);
    background: #203448;
}
.home-services, .home-process, .home-final, .home-cases,
.home-faq, .careers-values, .service-problems, .service-faq {
    background: var(--dark-bg);
}
.home-cases, .home-faq, .careers-values, .service-problems, .service-faq {
    background: var(--dark-surface);
}
.home-process-grid li > span {
    color: var(--dark-accent);
    background: var(--dark-surface);
    box-shadow: 0 0 0 7px var(--dark-surface);
}
.home-case-grid li, .project-card li { color: var(--dark-muted); background: #202a35; }
.home-service-card h3, .home-case-grid h3, .project-card h3,
.role-card h3, .values-grid h3 { color: var(--dark-text); }
.home-accordion, .home-accordion details, .service-accordion details,
.service-accordion details:first-child { border-color: var(--dark-line); }
.home-accordion summary, .service-accordion summary { color: var(--dark-text); }
.home-accordion summary i { border-color: var(--dark-line); }
.home-accordion summary i, .service-accordion summary i { color: var(--dark-accent); }
.subpage-hero-side, .project-capabilities, .project-capabilities span,
.story-origin-grid > div:last-child { border-color: var(--dark-line); }
.project-capabilities span { color: var(--dark-muted); }
.project-card-meta span, .project-card-copy > a, .values-grid article > span,
.service-related-grid a:hover { color: var(--dark-accent); }
.service-problem-grid p { color: var(--dark-muted); }
.service-related-grid a:hover { background: #223245; }
.demo-card .card-title { color: var(--dark-text) !important; }
.demo-card .card-text { color: var(--dark-muted) !important; }

.story-team { background: #0e141c; }
.story-founder-intro {
    max-width: 790px;
    margin-top: 42px;
    padding: 30px 0 0;
    border-top: 1px solid var(--dark-line);
}
.story-founder-intro span {
    color: #80e1d4;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}
.story-founder-intro h3 {
    margin: 14px 0;
    color: var(--dark-text);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}
.story-founder-intro p { color: var(--dark-muted); line-height: 1.75; }

@media (max-width: 991px) {
    .site-navbar .navbar-collapse {
        border-color: var(--dark-line);
        background: var(--dark-surface);
    }
}
