:root {
  color-scheme: light;
  --bg: #f5f7f3;
  --deep: #e9eee9;
  --surface: #ffffff;
  --raised: #edf3ee;
  --text: #17231e;
  --muted: #5e6d65;
  --subtle: #7d8b83;
  --line: rgba(20,48,37,.12);
  --line-strong: rgba(20,48,37,.2);
  --green: #179968;
  --green-bright: #12865d;
  --green-deep: #0b714e;
}

body {
  background:
    radial-gradient(circle at 8% 18%,rgba(42,174,121,.09),transparent 27rem),
    radial-gradient(circle at 92% 78%,rgba(213,168,94,.08),transparent 25rem),
    var(--bg);
}
body::before { opacity: .32; }

.site-header {
  border-bottom-color: rgba(20,48,37,.09);
  background: rgba(247,249,245,.82);
  box-shadow: 0 1px rgba(255,255,255,.8);
}
.site-header.is-scrolled {
  background: rgba(247,249,245,.95);
  box-shadow: 0 12px 34px rgba(28,58,46,.08);
}
.brand-mark {
  border-color: rgba(23,153,104,.28);
  box-shadow: 0 8px 22px rgba(23,153,104,.13);
}
.nav-links>a:hover { color: var(--text); }
.nav-links .nav-cta {
  color: #153127;
  background: rgba(255,255,255,.7);
  box-shadow: 0 4px 15px rgba(31,66,52,.05);
}
.nav-links .nav-cta:hover {
  border-color: rgba(23,153,104,.32);
  background: #fff;
}

.hero {
  border-bottom-color: rgba(20,48,37,.08);
  background: linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0));
}
.hero-grid {
  opacity: .28;
  background-image:
    linear-gradient(rgba(21,85,61,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,85,61,.09) 1px,transparent 1px);
}
.hero-orb.one { background: radial-gradient(circle,rgba(40,188,130,.2),rgba(40,188,130,.05) 48%,transparent 70%); }
.hero-orb.two { background: radial-gradient(circle,rgba(213,168,94,.14),rgba(213,168,94,.025) 50%,transparent 70%); }
.eyebrow {
  border-color: rgba(23,153,104,.2);
  color: var(--green-deep);
  background: rgba(23,153,104,.07);
}
.hero h1 em {
  background: linear-gradient(100deg,#123e2e 5%,#159365 55%,#32bb82);
  background-clip: text;
  -webkit-background-clip: text;
}
.hero-copy>p { color: #596a61; }
.button.primary {
  color: #fff;
  background: linear-gradient(180deg,#23ad78,#10845a);
  box-shadow: 0 12px 30px rgba(18,132,90,.2),inset 0 1px rgba(255,255,255,.25);
}
.button.secondary {
  border-color: rgba(20,48,37,.18);
  color: #20362d;
  background: rgba(255,255,255,.68);
}
.button.secondary:hover {
  border-color: rgba(23,153,104,.34);
  background: #fff;
}
.signal-card {
  border-color: rgba(26,78,57,.14);
  background: linear-gradient(145deg,rgba(255,255,255,.95),rgba(232,242,235,.96));
  box-shadow: 0 32px 80px rgba(39,74,59,.13),inset 0 1px #fff;
}
.signal-card::before { opacity: .38; background-image: radial-gradient(rgba(21,85,61,.13) .7px,transparent .7px); }
.signal-card::after { background: rgba(42,190,132,.14); }
.signal-top { border-bottom-color: rgba(20,48,37,.1); }
.live,.online { color: #14744f; }
.signal-mark { box-shadow: 0 20px 44px rgba(23,153,104,.17); }
.signal-flow span {
  border-color: rgba(23,153,104,.2);
  color: #147a54;
  background: rgba(23,153,104,.07);
}

.capabilities-section { border-top-color: rgba(20,48,37,.07); }
.capability-card {
  border-color: rgba(20,48,37,.11);
  background: linear-gradient(145deg,rgba(255,255,255,.95),rgba(240,244,240,.95));
  box-shadow: 0 18px 46px rgba(38,67,55,.06);
}
.capability-card.featured {
  border-color: rgba(23,153,104,.2);
  background: radial-gradient(circle at 50% 10%,rgba(42,190,132,.1),transparent 38%),linear-gradient(145deg,#fff,#edf5ef);
}
.card-index,.card-detail { color: #829087; }
.capability-icon {
  border-color: rgba(23,153,104,.18);
  background: rgba(23,153,104,.06);
}

.approach-section { background: rgba(230,238,232,.72); }
.approach-steps>li>span {
  border-color: rgba(23,153,104,.2);
  color: #13764f;
  background: rgba(23,153,104,.07);
}
.company-card {
  border-color: rgba(23,153,104,.18);
  background: radial-gradient(circle at 10% 110%,rgba(42,190,132,.13),transparent 38%),linear-gradient(145deg,#fff,#edf4ee);
  box-shadow: 0 25px 70px rgba(39,74,59,.08);
}
.company-facts>div {
  background: rgba(255,255,255,.68);
}
.company-facts strong { color: #263b32; }

.cta-card {
  color: #07100e;
  background: radial-gradient(circle at 82% 14%,rgba(255,255,255,.34),transparent 26%),linear-gradient(125deg,#a4efd0,#55ce9b);
  box-shadow: 0 24px 60px rgba(31,124,86,.13);
}
.footer {
  border-top-color: rgba(20,48,37,.1);
  background: #e9eee9;
}
.footer-inner>div { color: #52645a; }
.footer-inner>small {
  border-top-color: rgba(20,48,37,.09);
  color: #78867e;
}

/* Keep the product vignette dark so Nodebase retains its own technical character. */
.product-section {
  color: #f4f7f3;
  background: #08110f;
}
.product-section .section-heading h2 { color: #f4f7f3; }
.product-section .section-heading>p { color: #a0ada6; }
.product-stage {
  --line: rgba(255,255,255,.1);
  --line-strong: rgba(255,255,255,.17);
  --green-bright: #72f0bd;
  color: #f4f7f3;
}
.product-copy h3 { color: #f4f7f3; }
.product-copy>p { color: #a4b2bd; }
.product-points { color: #cbd7df; }

/* Company, support, security, and legal pages */
.info-hero {
  background: radial-gradient(circle at 18% 10%,rgba(42,190,132,.12),transparent 34%);
}
.info-hero::after {
  opacity: .28;
  background-image:
    linear-gradient(rgba(21,85,61,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,85,61,.09) 1px,transparent 1px);
}
.info-toc>span { color: #30443a; }
.info-content h3,.info-content strong { color: #273c33; }
.info-content a { color: #0e7e55; text-decoration-color: rgba(14,126,85,.28); }
.info-callout {
  border-color: rgba(23,153,104,.18);
  background: linear-gradient(145deg,#fff,#edf5ef);
}
.info-grid>div,.info-card,.info-facts>div {
  background: rgba(255,255,255,.72);
}
.info-facts strong { color: #263b32; }
.info-note { background: rgba(23,153,104,.06); }

@media(max-width:760px) {
  .nav-toggle { background: rgba(255,255,255,.72); }
  .nav-toggle span { background: #263b32; }
  .nav-links {
    border-bottom-color: rgba(20,48,37,.1);
    background: rgba(247,249,245,.98);
  }
  .nav-links a { border-bottom-color: rgba(20,48,37,.07); }
}
