/* One deep-space material beneath the existing silver identity and living sky.
   Keep the meteor, card faces, reactor auras and original afterglow independent. */
:root {
  --space-base: #030405;
  --space-panel: #0a121b;
  --space-raised: #13212d;
  --space-ink: #edf2f6;
  --space-copy: #bcc9d3;
  --space-muted: #97aabb;
  --space-ice: #a4cce9;
  --space-line: #a4cce933;
  --space-line-active: #a4cce970;
  --text: var(--space-ink);
  --muted: var(--space-copy);
  --dim: var(--space-muted);
  --border: var(--space-line);
  --space-material:
    radial-gradient(ellipse at 16% 0%, #a4cce908, transparent 65%),
    linear-gradient(125deg, var(--space-raised), var(--space-panel) 62%, #080f17);
}

/* Consistent enclosures; the open space between them retains the real starfield. */
.nvl-metal-surface.nvl-metal-surface,
.experience-proof,
#experience .callcapture-preview {
  background: var(--space-material);
  border-color: var(--space-line);
  color: var(--space-ink);
  box-shadow: inset 0 1px 0 #d5edff08, 0 16px 45px -24px #0009;
}
.nvl-metal-surface.nvl-metal-surface::before {
  border-color: #a4cce914;
  box-shadow: none;
}
.nvl-metal-surface.nvl-metal-surface:hover,
#experience .callcapture-preview:hover { border-color: var(--space-line-active); }

/* The header and navigation belong to the same near-black sky. */
.site-header { background-color: #05090ff5; box-shadow: 0 -2px #05090f; border-bottom-color: var(--space-line); }
.mobile-nav { background-color: #070e16fa; }
.site-footer { border-top-color: var(--space-line); color: var(--space-muted); }
.desktop-nav a[aria-current="location"]::after { background: var(--space-ice); }

.hero h1, .section-heading h2, .integrations h2, .contact h2,
#experience .callcapture-copy > h2 { color: var(--space-ink); }
.hero h1 em, .section-heading h2 em, .integrations h2 em, .contact h2 em,
#experience .callcapture-copy > h2 em { color: #c5d5e0; }
.hero-description, .section-heading > p, .website-example-body > p:not(.eyebrow),
.integrations .section-heading > p, .contact-start > div > p,
#experience .callcapture-lead, #experience .callcapture-steps p { color: var(--space-copy); }
.eyebrow, .experience-proof > .proof-heading,
.integrations .ecosystem-tool .ecosystem-tool-label,
#experience .callcapture-kicker { color: var(--space-muted); }
.website-example-links a, #experience .callcapture-cta,
.site-footer > a:not(.brand) { color: var(--space-ice); }
.website-example-image { border-bottom-color: var(--space-line); }
.experience-proof > p, .experience-proof > .proof-more { color: var(--space-copy); }
.experience-proof > p strong { color: var(--space-ink); }
.experience-proof > p + p { border-left-color: var(--space-line); }

/* The document is a working preview housed in the same dark observatory. */
.document-workspace.nvl-metal-surface .document-workspace-header,
.document-workspace.nvl-metal-surface .document-tabs,
.document-workspace.nvl-metal-surface .document-sheet,
.document-workspace.nvl-metal-surface .document-workspace-footer { background: #030b1333; border-color: var(--space-line); }
.document-tabs button { color: var(--space-muted); }
.document-tabs button[aria-selected="true"] { color: var(--space-ink); border-bottom-color: var(--space-ice); }
.document-workspace.nvl-metal-surface .document-intro,
.document-workspace.nvl-metal-surface .document-scope p,
.document-workspace.nvl-metal-surface .document-authorization p,
.integrations .ecosystem-tool .ecosystem-tool-description { color: var(--space-copy); }
.document-fields dt, .document-preview-tag, .document-kicker,
.document-workspace.nvl-metal-surface .document-workspace-footer { color: var(--space-muted); }
.document-scope, .document-authorization, .document-enquiry,
#experience .callcapture-fields > div,
#experience .callcapture-handoff { border-color: var(--space-line); }
#experience .callcapture-fields dt, #experience .callcapture-person p,
#experience .callcapture-note, #experience .callcapture-scope,
#websites .website-preview-note { color: var(--space-muted); }
#experience .callcapture-initials { border-color: var(--space-line); color: var(--space-ice); background: #a4cce906; }

/* Silver remains the action material; its cool reflection matches Nova's light. */
:is(.button.button-light, .header-cta),
.ecosystem-filters button[aria-pressed="true"] {
  --metal-finish:
    linear-gradient(112deg, transparent 30%, #ffffff38 43%, #ffffff70 48%, transparent 63%) 110% 50% / 260% 100% no-repeat,
    repeating-linear-gradient(0deg, #ffffff14 0 .5px, #00000007 .5px 1.5px) 0 0 / 100% 100% no-repeat,
    linear-gradient(112deg, #cad5de, #e8eff4 19%, #afbdc9 43%, #dce6ed 71%, #b8c8d4) 0 0 / 100% 100% no-repeat #c9d7e2;
  background: var(--metal-finish);
  border-color: #e3edf5 #8b9faf #738a9d #cad9e4;
  color: #101c27;
}
.ecosystem-filters button { color: var(--space-copy); }
.ecosystem-search { border-color: var(--space-line); }
.ecosystem-search:focus-within { border-color: var(--space-ice); }
.ecosystem-search input::placeholder { color: var(--space-muted); }

/* Conversations and the existing optional email form share the same material. */
.nai-introduction, .nai-dock, #nai-dialog {
  --nai-blue: var(--space-ice);
  --nai-ice: var(--space-ink);
  --nai-line: var(--space-line);
  --nai-muted: var(--space-muted);
  --nai-ink: var(--space-panel);
}
#contact-dialog { --text: var(--space-ink); --muted: var(--space-copy); --dim: var(--space-muted); color: var(--space-ink); scrollbar-color: #58758b var(--space-panel); }
#contact-dialog .dialog-intro, #contact-form > label { color: var(--space-copy); }
#contact-form input, #contact-form select, #contact-form textarea {
  background: #070e16;
  border-color: var(--space-line);
  color: var(--space-ink);
}
#contact-form select option { background: var(--space-panel); color: var(--space-ink); }
#contact-form input::placeholder, #contact-form textarea::placeholder,
#contact-form .form-note { color: var(--space-muted); }
#contact-form input:focus, #contact-form select:focus, #contact-form textarea:focus {
  border-color: var(--space-ice);
  outline-color: var(--space-ice);
}
:is(.button, .header-cta, .ecosystem-filters button, .document-tabs button,
.nai-entry, .nai-replay, .nai-dock, #experience .callcapture-cta):focus-visible { outline-color: var(--space-ice); }

/* An opaque phone header keeps scrolled copy from showing through the sky. */
@media (max-width: 760px) {
  .site-header { background-color: #05090f; }
  .mobile-nav { background-color: #070e16; }
}

@media (forced-colors: active) {
  .nvl-metal-surface.nvl-metal-surface, .experience-proof,
  #experience .callcapture-preview { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
  .nvl-metal-surface.nvl-metal-surface::before { display: none; }
  :is(.button.button-light, .header-cta), .ecosystem-filters button[aria-pressed="true"] { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  #contact-form input, #contact-form select, #contact-form textarea { background: Field; color: FieldText; border-color: FieldText; }
}
