.home {
    --nova-bg: #0b100e;
    --nova-panel: #111916;
    --nova-panel-strong: #141f1b;
    --nova-line: #27352f;
    --nova-ink: #edf2e9;
    --nova-muted: #9caaa0;
    --nova-lime: #baf85d;
    --nova-cyan: #5ac8c4;
    --nova-orange: #e7a35e;
    --nova-blue: #76aef8;
    background: var(--nova-bg);
    color: var(--nova-ink);
    font-family: "Instrument Sans", sans-serif;
}

.home .relay-nav {
    position: sticky;
    top: 0;
    z-index: 30;
    background: #0b100e;
    border-bottom: 1px solid var(--nova-line);
}

.home .relay-nav .relay-container,
.nova-shell {
    width: min(1180px, calc(100% - 56px));
    margin: 0 auto;
}

.home .relay-nav .relay-logo,
.home .relay-nav .relay-nav-links a { color: var(--nova-ink); }
.home .relay-nav .relay-nav-links > a:not(.relay-btn) { color: var(--nova-muted); }
.home .relay-nav .relay-nav-links > a:not(.relay-btn):hover { color: var(--nova-lime); }
.home .relay-nav .relay-btn {
    background: var(--nova-lime);
    border-color: var(--nova-lime);
    color: #10200c;
    box-shadow: none;
}
.home .relay-nav .relay-btn:hover { background: #d2ff8f; }

.nova-home { overflow: clip; }
.nova-hero { border-bottom: 1px solid var(--nova-line); }
.nova-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: 64px;
    align-items: center;
    padding: 92px 0 76px;
}

.nova-eyebrow,
.nova-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 20px;
    color: var(--nova-lime);
    font-family: "IBM Plex Mono", monospace;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.nova-signal,
.nova-status-mark,
.nova-response-dot { width: 8px; height: 8px; background: var(--nova-lime); border-radius: 50%; display: inline-block; }
.nova-hero h1,
.nova-section-heading h2,
.nova-funding h2,
.nova-closing h2 {
    margin: 0;
    color: var(--nova-ink);
    font-size: 58px;
    font-weight: 600;
    line-height: .99;
    letter-spacing: 0;
}
.nova-hero h1 em { color: var(--nova-lime); font-style: normal; }
.nova-hero-lede {
    max-width: 620px;
    margin: 26px 0 0;
    color: var(--nova-muted);
    font-size: 19px;
    line-height: 1.55;
}
.nova-hero-actions,
.nova-closing-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.nova-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 6px;
    font: 600 14px/1 "Instrument Sans", sans-serif;
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.nova-btn:hover { transform: translateY(-1px); }
.nova-btn-primary { background: var(--nova-lime); color: #10200c; border-color: var(--nova-lime); }
.nova-btn-primary:hover { background: #d2ff8f; color: #10200c; }
.nova-btn-secondary { background: transparent; color: var(--nova-ink); border-color: #48594f; }
.nova-btn-secondary:hover { border-color: var(--nova-lime); color: var(--nova-lime); }
.nova-hero-notes { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 30px 0 0; padding: 0; list-style: none; color: var(--nova-muted); font-size: 13px; }
.nova-hero-notes li { display: inline-flex; align-items: center; gap: 8px; }
.nova-hero-notes li::before { content: ""; width: 4px; height: 4px; background: var(--nova-lime); border-radius: 50%; }

.nova-request-card {
    position: relative;
    padding: 20px;
    background: var(--nova-panel);
    border: 1px solid #33433a;
    border-radius: 8px;
    box-shadow: 12px 12px 0 #111714;
}
.nova-request-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 24px;
    width: 96px;
    height: 3px;
    background: var(--nova-lime);
}
.nova-request-topline,
.nova-request-response,
.nova-workbench-head,
.nova-workbench-foot,
.nova-provider-head,
.nova-section-heading-row,
.nova-funding-note { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.nova-request-topline { padding: 4px 0 18px; color: var(--nova-muted); font: 500 12px/1 "IBM Plex Mono", monospace; text-transform: uppercase; letter-spacing: .05em; }
.nova-live { display: inline-flex; align-items: center; gap: 7px; color: var(--nova-lime); }
.nova-live i { display: inline-block; width: 7px; height: 7px; background: var(--nova-lime); border-radius: 50%; }
.nova-request-path { padding: 12px 13px; background: #0b100e; border: 1px solid var(--nova-line); border-radius: 4px; color: var(--nova-ink); font: 500 13px/1.5 "IBM Plex Mono", monospace; }
.nova-request-path span { color: var(--nova-lime); margin-right: 10px; }
.nova-request-code { display: grid; gap: 10px; margin: 16px 0; padding: 16px 13px; border-top: 1px solid var(--nova-line); border-bottom: 1px solid var(--nova-line); color: #dce7df; font: 13px/1.4 "IBM Plex Mono", monospace; }
.nova-request-code b { padding: 0 8px; color: #526159; font-weight: 400; }
.nova-request-code code { color: var(--nova-cyan); }
.nova-code-muted { color: var(--nova-muted); }
.nova-request-response { color: var(--nova-muted); font: 12px/1.4 "IBM Plex Mono", monospace; }
.nova-request-response div { display: inline-flex; align-items: center; gap: 8px; }
.nova-request-response strong { color: var(--nova-lime); font-weight: 600; }
.nova-response-dot { width: 6px; height: 6px; }
.nova-request-response > span { padding: 4px 7px; border: 1px solid #3a4a40; border-radius: 4px; }
.nova-request-caption { margin: 18px 0 2px; color: var(--nova-muted); font-size: 13px; line-height: 1.5; }

.nova-proof { border-bottom: 1px solid var(--nova-line); background: #0e1512; }
.nova-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.nova-proof-item { min-height: 210px; padding: 34px 36px 32px; border-right: 1px solid var(--nova-line); }
.nova-proof-item:first-child { border-left: 1px solid var(--nova-line); }
.nova-proof-index { color: var(--nova-lime); font: 600 12px/1 "IBM Plex Mono", monospace; }
.nova-proof-item h2 { margin: 35px 0 10px; font-size: 21px; font-weight: 600; letter-spacing: 0; }
.nova-proof-item p { margin: 0; color: var(--nova-muted); font-size: 15px; line-height: 1.55; }

.nova-workflow,
.nova-models,
.nova-funding,
.nova-closing { padding: 112px 0; }
.nova-workflow { border-bottom: 1px solid var(--nova-line); }
.nova-section-heading { max-width: 720px; }
.nova-section-heading h2,
.nova-funding h2,
.nova-closing h2 { font-size: 42px; line-height: 1.06; }
.nova-section-heading > p:last-child,
.nova-funding-copy > p:not(.nova-kicker),
.nova-closing p:not(.nova-kicker) { margin: 18px 0 0; color: var(--nova-muted); font-size: 17px; line-height: 1.6; }
.nova-workflow-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 64px; margin-top: 54px; align-items: start; }
.nova-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--nova-line); }
.nova-steps li { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--nova-line); }
.nova-steps span { color: var(--nova-lime); font: 600 12px/1.5 "IBM Plex Mono", monospace; }
.nova-steps h3 { margin: 0; color: var(--nova-ink); font-size: 17px; font-weight: 600; }
.nova-steps p { margin: 6px 0 0; color: var(--nova-muted); font-size: 14px; line-height: 1.5; }
.nova-workbench { background: var(--nova-panel); border: 1px solid #33433a; border-radius: 8px; overflow: hidden; }
.nova-workbench-head { padding: 22px; border-bottom: 1px solid var(--nova-line); }
.nova-workbench-head p { margin: 0 0 5px; color: var(--nova-lime); font: 600 11px/1 "IBM Plex Mono", monospace; text-transform: uppercase; letter-spacing: .08em; }
.nova-workbench-head h3 { margin: 0; color: var(--nova-ink); font-size: 18px; font-weight: 600; }
.nova-workbench-head > span { padding: 5px 8px; background: #18261e; border: 1px solid #39513f; border-radius: 4px; color: var(--nova-lime); font: 11px/1 "IBM Plex Mono", monospace; }
.nova-model-tabs { display: flex; gap: 6px; padding: 18px 22px 0; }
.nova-model-tabs button { min-height: 31px; padding: 0 10px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--nova-muted); font: 500 12px/1 "IBM Plex Mono", monospace; cursor: pointer; }
.nova-model-tabs button:hover { color: var(--nova-ink); }
.nova-model-tabs button.is-active { border-color: #49644f; background: #17231b; color: var(--nova-lime); }
.nova-workbench pre { margin: 0; padding: 25px 22px; overflow-x: auto; color: #dbe8df; font: 13px/1.75 "IBM Plex Mono", monospace; }
.nova-workbench code { font-family: inherit; }
.nova-token-keyword { color: var(--nova-orange); }
.nova-token-string { color: var(--nova-cyan); }
.nova-workbench-foot { padding: 14px 22px; border-top: 1px solid var(--nova-line); justify-content: flex-start; color: var(--nova-muted); font-size: 13px; }
.nova-status-mark { width: 7px; height: 7px; margin-right: 3px; }

.nova-models { background: #0e1512; border-bottom: 1px solid var(--nova-line); }
.nova-section-heading-row { max-width: none; align-items: end; }
.nova-text-link { color: var(--nova-lime); font: 500 13px/1.4 "IBM Plex Mono", monospace; white-space: nowrap; text-decoration: none; }
.nova-text-link:hover { color: #d2ff8f; }
.nova-provider-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 44px; }
.nova-provider { padding: 25px; border: 1px solid var(--nova-line); border-radius: 7px; background: #101814; }
.nova-provider-head { justify-content: flex-start; gap: 14px; padding-bottom: 20px; border-bottom: 1px solid var(--nova-line); }
.nova-provider-mark { width: 13px; height: 13px; border-radius: 3px; display: block; }
.nova-provider h3 { margin: 0; color: var(--nova-ink); font-size: 19px; font-weight: 600; }
.nova-provider-head p { margin: 3px 0 0; color: var(--nova-muted); font-size: 13px; }
.nova-provider ul { display: grid; gap: 15px; margin: 20px 0 0; padding: 0; list-style: none; }
.nova-provider li { display: grid; gap: 4px; }
.nova-provider code { color: var(--nova-ink); font: 500 13px/1.35 "IBM Plex Mono", monospace; }
.nova-provider li span { color: var(--nova-muted); font-size: 13px; }
.nova-provider-openai .nova-provider-mark { background: var(--nova-lime); }
.nova-provider-anthropic .nova-provider-mark { background: var(--nova-orange); }
.nova-provider-google .nova-provider-mark { background: var(--nova-blue); }

.nova-funding { border-bottom: 1px solid var(--nova-line); }
.nova-funding-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 86px; }
.nova-funding-note { justify-content: flex-start; align-items: flex-start; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--nova-line); }
.nova-funding-note span { display: inline-flex; width: 18px; height: 18px; flex: 0 0 18px; align-items: center; justify-content: center; border: 1px solid var(--nova-lime); border-radius: 50%; color: var(--nova-lime); font: 600 11px/1 "IBM Plex Mono", monospace; }
.nova-funding-note p { margin: 0; color: var(--nova-muted); font-size: 14px; line-height: 1.5; }
.nova-funding-card { padding: 34px; background: var(--nova-panel); border: 1px solid #33433a; border-radius: 8px; }
.nova-funding-value { display: flex; align-items: baseline; gap: 8px; color: var(--nova-lime); }
.nova-funding-value span { font: 600 22px/1 "IBM Plex Mono", monospace; }
.nova-funding-value strong { font-size: 62px; font-weight: 600; letter-spacing: 0; }
.nova-funding-card > p { margin: 7px 0 0; color: var(--nova-muted); font-size: 14px; }
#nova-credit-slider { width: 100%; margin: 31px 0 0; accent-color: var(--nova-lime); cursor: pointer; }
.nova-range-labels { display: flex; justify-content: space-between; margin-top: 8px; color: #718077; font: 11px/1 "IBM Plex Mono", monospace; }
.nova-presets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 28px; }
.nova-presets button { min-height: 38px; border: 1px solid #3b4b42; border-radius: 4px; background: transparent; color: var(--nova-ink); font: 500 13px/1 "IBM Plex Mono", monospace; cursor: pointer; }
.nova-presets button:hover,
.nova-presets button.is-active { border-color: var(--nova-lime); background: #17231b; color: var(--nova-lime); }
.nova-topup-button { width: 100%; margin-top: 24px; }
.nova-topup-button:disabled { cursor: wait; opacity: .7; transform: none; }
.nova-funding-foot { text-align: center; }

.nova-closing { padding-bottom: 126px; text-align: center; }
.nova-closing-inner { max-width: 760px; }
.nova-closing .nova-kicker { justify-content: center; }
.nova-closing-actions { justify-content: center; }

.nova-reveal { opacity: 1; transform: none; }
.nova-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
    .nova-hero-grid,
    .nova-workflow-grid,
    .nova-funding-grid { grid-template-columns: 1fr; gap: 42px; }
    .nova-hero-grid { padding: 76px 0 62px; }
    .nova-hero h1 { font-size: 50px; }
    .nova-request-card { max-width: 680px; }
    .nova-proof-item { padding: 28px 24px; }
    .nova-proof-item h2 { margin-top: 27px; }
    .nova-workflow,
    .nova-models,
    .nova-funding,
    .nova-closing { padding: 82px 0; }
}

@media (max-width: 720px) {
    .home .relay-nav .relay-container,
    .nova-shell { width: min(100% - 36px, 1180px); }
    .home .relay-nav .relay-nav-links { background: #101814; border: 1px solid var(--nova-line); }
    .nova-hero-grid { padding: 54px 0 48px; gap: 36px; }
    .nova-hero h1 { font-size: 38px; line-height: 1.04; }
    .nova-hero-lede { margin-top: 20px; font-size: 16px; }
    .nova-hero-actions,
    .nova-closing-actions { display: grid; grid-template-columns: 1fr; }
    .nova-btn { width: 100%; }
    .nova-hero-notes { display: grid; grid-template-columns: 1fr; gap: 10px; }
    .nova-request-card { padding: 17px; box-shadow: 8px 8px 0 #111714; }
    .nova-proof-grid,
    .nova-provider-grid { grid-template-columns: 1fr; }
    .nova-proof-item,
    .nova-proof-item:first-child { min-height: auto; border-left: 1px solid var(--nova-line); border-bottom: 1px solid var(--nova-line); }
    .nova-proof-item:last-child { border-bottom: 0; }
    .nova-section-heading h2,
    .nova-funding h2,
    .nova-closing h2 { font-size: 31px; }
    .nova-workflow,
    .nova-models,
    .nova-funding,
    .nova-closing { padding: 64px 0; }
    .nova-workflow-grid { margin-top: 34px; }
    .nova-workbench-head,
    .nova-workbench-foot,
    .nova-workbench pre { padding-left: 16px; padding-right: 16px; }
    .nova-model-tabs { overflow-x: auto; padding-left: 16px; padding-right: 16px; }
    .nova-model-tabs button { flex: 0 0 auto; }
    .nova-section-heading-row { display: grid; gap: 20px; align-items: start; }
    .nova-text-link { white-space: normal; }
    .nova-funding-card { padding: 24px 18px; }
    .nova-funding-value strong { font-size: 50px; }
    .nova-presets { grid-template-columns: repeat(2, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .nova-reveal { opacity: 1; transform: none; transition: none; }
    .nova-btn { transition: none; }
}
