body.home-v2,
[data-theme='dark'] body.home-v2,
[data-theme='dark'] .home-v2 {
    --v2-bg: #050b14;
    --v2-surface: #091522;
    --v2-ink: #edf6ff;
    --v2-muted: #a3b4c8;
    --v2-faint: #7e91a8;
    --v2-line: #1d3045;
    --v2-accent: #9bdfff;
    --v2-accent-bright: #67d5ff;
    --v2-dark: #050b14;
    --v2-dark-surface: #091522;
    --v2-dark-line: #1d3045;
    background: var(--v2-bg);
    color: var(--v2-ink);
}

.home-v2 .navbar {
    background: rgba(5, 11, 20, 0.88);
    border-bottom-color: #1d3045;
}

[data-theme='dark'] .home-v2 .nav-cta {
    background: #eaf6ff;
    color: #07111e !important;
}

[data-theme='dark'] .home-v2 .nav-cta:hover {
    background: #9bdfff;
    color: #07111e;
}

.v2-hero {
    min-height: 0;
    padding: 128px 0 88px;
    background:
        radial-gradient(ellipse at 50% 12%, rgba(64, 167, 226, 0.13), transparent 48%),
        linear-gradient(rgba(40, 72, 102, 0.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40, 72, 102, 0.15) 1px, transparent 1px);
    background-size: auto, 68px 68px, 68px 68px;
}

.v2-hero::after {
    background: linear-gradient(180deg, transparent 65%, var(--v2-bg));
}

.hero-grid {
    grid-template-columns: 1fr;
    gap: 64px;
    text-align: center;
}

.hero-copy {
    max-width: 1160px;
    margin: 0 auto;
}

.hero-statement {
    max-width: 1160px;
    margin: 0 auto;
    color: #b5e7ff;
    font-size: clamp(48px, 6vw, 84px);
    font-weight: 500;
    letter-spacing: -0.055em;
    line-height: 1.08;
}

.hero-statement .accent-line {
    color: #b5e7ff;
}

.hero-statement .accent-line::after {
    display: none;
}

.hero-lead {
    max-width: 720px;
    margin: 30px auto 0;
    color: #a3b4c8;
    font-size: 18px;
}

.hero-actions {
    justify-content: center;
}

.hero-note {
    justify-content: center;
}

.v2-btn-primary {
    background: #eaf6ff;
    color: #07111e;
}

.v2-btn-primary:hover {
    background: #9bdfff;
    color: #07111e;
}

.v2-btn-quiet {
    border-color: #2b4056;
    background: rgba(9, 21, 34, 0.7);
    color: #edf6ff;
}

.v2-btn-quiet:hover {
    border-color: #67d5ff;
    color: #9bdfff;
}

.architecture {
    width: min(100%, 940px);
    margin: 0 auto;
    border-color: #24435f;
    border-radius: 14px;
    background: linear-gradient(180deg, #0b1829, #07111e);
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.36), 0 0 80px rgba(73, 182, 255, 0.08);
}

.architecture::before {
    display: none;
}

.architecture-head,
.architecture-foot {
    color: #7e91a8;
}

.architecture-live {
    color: #67e8f9;
}

.arch-node rect {
    fill: #0e1b2c;
    stroke: #2b4965;
}

.arch-node text {
    fill: #d7efff;
}

.arch-node .node-sub {
    fill: #7e91a8;
}

.arch-node-accent rect {
    fill: #102c40;
    stroke: #67d5ff;
}

.flow-line {
    stroke: #67d5ff;
}

.proof-strip {
    background: #07111e;
}

.proof-item strong {
    color: #c2ebff;
}

.proof-item span {
    color: #91a5ba;
}

.v2-section {
    background: transparent;
}

.section-heading {
    max-width: 900px;
    margin: 0 auto 64px;
    text-align: center;
}

.section-heading h2,
.contact-layout h2 {
    color: #b5e7ff;
    font-weight: 500;
}

.section-heading > p:not(.v2-eyebrow) {
    margin-right: auto;
    margin-left: auto;
    color: #a3b4c8;
}

.service-grid-v2 {
    border-color: #1d3045;
}

.service-v2-card,
.service-v2-card:first-child {
    border-color: #1d3045;
    background: #07111e;
    color: #edf6ff;
}

.service-v2-card:hover {
    background: #0c1b2b;
}

.service-v2-card::before {
    display: none;
}

.service-v2-card p {
    color: #9cafc3;
}

.service-symbol,
.card-link,
.text-link {
    color: #9bdfff;
}

.cases-v2 {
    background: #050b14;
}

.cases-v2.scene-section {
    --scene-bg: #050b14;
}

.case-visual,
.case-secondary-visual {
    border-color: #24435f;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.32), 0 0 60px rgba(73, 182, 255, 0.06);
}

.case-copy h3,
.case-secondary-copy h3 {
    color: #b5e7ff;
    font-weight: 500;
}

.process-layout .section-heading {
    margin: 0;
    text-align: left;
}

.process-layout .section-heading > p:not(.v2-eyebrow) {
    margin-left: 0;
}

.principles-grid {
    border-color: #1d3045;
    background: #1d3045;
}

.principle {
    background: #07111e;
}

.principle p {
    color: #9cafc3;
}

.contact-v2 {
    background: #07111e;
}

.contact-v2.scene-section {
    --scene-bg: #07111e;
}

.contact-action p,
.contact-mail {
    color: #a3b4c8;
}

.home-v2 .footer {
    background: #03080f;
}

[data-theme='light'] body.home-v2,
[data-theme='light'] .home-v2 {
    --v2-bg: #f5f6f2;
    --v2-surface: #ffffff;
    --v2-ink: #101828;
    --v2-muted: #526071;
    --v2-faint: #758195;
    --v2-line: #d9dfe5;
    --v2-accent: #0e7490;
    --v2-accent-bright: #06b6d4;
    --v2-dark: #0b1220;
    --v2-dark-surface: #111b2d;
    --v2-dark-line: #2b3a4e;
}

[data-theme='light'] .home-v2 .navbar {
    background: rgba(245, 246, 242, 0.9);
}

[data-theme='light'] .hero-statement,
[data-theme='light'] .section-heading h2,
[data-theme='light'] .contact-layout h2 {
    color: #0e7490;
}

[data-theme='light'] .architecture {
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
}

[data-theme='light'] .arch-node rect {
    fill: #ffffff;
    stroke: #d9dfe5;
}

[data-theme='light'] .arch-node text {
    fill: #101828;
}

[data-theme='light'] .arch-node .node-sub {
    fill: #758195;
}

[data-theme='light'] .proof-strip,
[data-theme='light'] .service-v2-card,
[data-theme='light'] .service-v2-card:first-child,
[data-theme='light'] .principle,
[data-theme='light'] .contact-v2 {
    background: #ffffff;
    color: #101828;
}

[data-theme='light'] .cases-v2,
[data-theme='light'] .cases-v2.scene-section {
    background: #0b1220;
    --scene-bg: #0b1220;
}

@media (max-width: 1050px) {
    .hero-grid {
        gap: 48px;
    }

    .hero-statement {
        font-size: clamp(44px, 7vw, 68px);
    }
}

@media (max-width: 800px) {
    .v2-hero {
        padding: 104px 0 64px;
        background-size: auto, 44px 44px, 44px 44px;
    }

    .hero-statement {
        font-size: clamp(38px, 10vw, 56px);
        font-weight: 500;
    }

    .hero-lead {
        font-size: 17px;
    }

    .architecture {
        width: 100%;
    }

    .section-heading {
        margin-bottom: 40px;
        text-align: left;
    }

    .section-heading > p:not(.v2-eyebrow) {
        margin-left: 0;
    }
}

@media (max-width: 480px) {
    .hero-note {
        justify-content: flex-start;
        text-align: left;
    }
}

.v2-hero {
    padding: 96px 0 64px;
}

.hero-grid {
    gap: 44px;
}

.hero-statement {
    font-size: clamp(44px, 5.4vw, 72px);
}

.architecture {
    width: min(100%, 700px);
    padding: 14px;
}

.architecture-map {
    height: 340px;
}

@media (max-width: 1050px) {
    .hero-statement {
        font-size: clamp(42px, 6.5vw, 64px);
    }
}

@media (max-width: 800px) {
    .v2-hero {
        padding: 88px 0 52px;
    }

    .hero-grid {
        gap: 36px;
    }

    .hero-statement {
        font-size: clamp(36px, 9vw, 52px);
    }

    .architecture {
        width: 100%;
        padding: 12px;
    }

    .architecture-map {
        height: 300px;
    }
}
