/* ==========================================================================
   EOS Solutions — dark technical theme
   Applied after styles.css. Flat surfaces, hairline rules, no gradients.
   ========================================================================== */

:root {
  color-scheme: dark;
  --paper: #0b1220;
  --paper-2: #111c2e;
  --ink: #f8fafc;
  --ink-soft: #e2e8f0;
  --muted: #94a3b8;
  --faint: #64748b;
  --line: rgba(248, 250, 252, 0.12);
  --line-soft: rgba(248, 250, 252, 0.07);
  --forest: #cbd5e1;
  --forest-deep: #0d1728;
  --forest-soft: #1e293b;
  --lime: #f8fafc;
  --white: #f8fafc;
  --serif: var(--sans);
}

body {
  background: var(--paper);
  color: var(--ink);
}

body::before {
  background-image: radial-gradient(rgba(248, 250, 252, 0.14) 0.7px, transparent 0.7px);
  opacity: 0.22;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 70%);
}

::selection {
  background: var(--ink);
  color: var(--paper);
}

.site-header {
  background: rgba(11, 18, 32, 0.86);
  border-bottom-color: var(--line-soft);
}

.brand-text strong {
  color: var(--ink);
}

.brand-text span {
  color: var(--muted);
}

.nav a {
  color: var(--muted);
}

.nav a:hover {
  color: var(--ink);
}

.eyebrow {
  color: #cbd5e1;
}

.eyebrow::before {
  background: var(--faint);
}

/* Buttons */

.btn {
  background: var(--ink);
  border-color: var(--ink);
  color: #0b1220;
}

.btn:hover {
  background: #cbd5e1;
  border-color: #cbd5e1;
}

.btn--ghost {
  background: transparent;
  border-color: var(--line);
  color: var(--ink);
}

.btn--ghost:hover {
  background: transparent;
  border-color: rgba(248, 250, 252, 0.4);
}

.btn--lime {
  background: var(--ink);
  border-color: var(--ink);
  color: #0b1220;
}

.btn--lime:hover {
  background: #cbd5e1;
  border-color: #cbd5e1;
}

/* Hero */

.hero h1 {
  font-weight: 600;
  letter-spacing: -0.05em;
}

.hero h1 em {
  font-style: normal;
  color: #cbd5e1;
  font-weight: 500;
}

.hero .lede {
  color: var(--muted);
}

.hero-note {
  color: var(--faint);
}

/* Orbit */

.orbit__grid {
  background-image: radial-gradient(rgba(248, 250, 252, 0.16) 0.7px, transparent 0.7px);
  opacity: 0.3;
}

.orbit__ring--outer {
  border-color: rgba(248, 250, 252, 0.22);
}

.orbit__ring--mid {
  border-color: rgba(248, 250, 252, 0.12);
}

.orbit__ring--inner {
  border-color: rgba(248, 250, 252, 0.18);
  background: radial-gradient(circle at 50% 40%, rgba(248, 250, 252, 0.06), transparent 68%);
}

.orbit__dot {
  background: var(--ink);
  box-shadow: 0 0 0 5px rgba(248, 250, 252, 0.07);
}

.orbit__core {
  background: #0f172a;
  border: 1px solid rgba(248, 250, 252, 0.18);
  box-shadow: none;
}

.orbit__symbol {
  color: var(--ink);
  opacity: 1;
}

.orbit__core small {
  color: var(--faint);
}

.orbit__mark {
  color: var(--ink);
}

.orbit__label {
  background: var(--paper);
  color: #dbe4ef;
  border-color: var(--line);
  box-shadow: none;
}

.orbit__caption {
  color: var(--faint);
}

/* Credibility strip */

.strip {
  border-color: var(--line);
}

.strip__inner {
  background: var(--line-soft);
}

.strip__item {
  background: var(--paper);
}

.strip__item strong {
  font-weight: 600;
}

.strip__item span {
  color: var(--faint);
}

/* Sections */

.section-head h2,
.fit h2,
.contact h2,
.legal h1 {
  font-weight: 600;
  letter-spacing: -0.045em;
}

.section-head .section-copy {
  color: var(--muted);
}

.card {
  border-color: var(--line);
}

.card h3 {
  font-weight: 500;
}

.card p {
  color: var(--muted);
}

.card__num {
  color: var(--faint);
}

.card__tags span {
  border-color: var(--line);
  color: var(--muted);
}

/* Manifesto */

.manifesto {
  background: var(--forest-deep);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.manifesto::after {
  border-color: rgba(248, 250, 252, 0.1);
  box-shadow: none;
}

.manifesto .eyebrow {
  color: #cbd5e1;
}

.manifesto .eyebrow::before {
  background: var(--faint);
}

.manifesto blockquote {
  font-weight: 500;
  letter-spacing: -0.035em;
}

.manifesto blockquote em {
  color: var(--muted);
  font-style: normal;
}

.manifesto p {
  color: var(--muted);
}

/* Approach */

.steps li {
  border-color: var(--line);
}

.steps h3 {
  font-weight: 500;
}

.steps p {
  color: var(--muted);
}

/* Fit */

.fit {
  background: var(--paper-2);
  border-color: var(--line);
}

.fit p {
  color: var(--muted);
}

.fit__list {
  border-color: var(--line);
}

.fit__list li {
  border-color: var(--line);
}

.fit__list strong {
  font-weight: 500;
}

.fit__list span {
  color: var(--muted);
}

/* Contact */

.contact__inner {
  background: var(--paper-2);
  border: 1px solid var(--line);
}

.contact__inner::after {
  color: rgba(248, 250, 252, 0.035);
}

.contact .eyebrow {
  color: #cbd5e1;
}

.contact .eyebrow::before {
  background: var(--faint);
}

.contact h2 {
  color: var(--ink);
}

.contact p {
  color: var(--muted);
}

.contact__mail {
  color: var(--faint);
}

.contact__note {
  color: var(--faint);
}

/* Legal */

.legal__back {
  color: var(--muted);
}

.legal__back:hover {
  color: var(--ink);
}

.legal__meta {
  color: var(--faint);
  border-color: var(--line);
}

.legal__body h2 {
  font-weight: 500;
  color: var(--ink);
}

.legal__body p,
.legal__body li {
  color: var(--muted);
}

.legal__body a {
  color: #dbe4ef;
}

.legal__note {
  background: var(--paper-2);
  border-color: var(--line);
  color: var(--muted);
}

/* Footer */

.site-footer {
  background: #070d18;
  border-top: 1px solid var(--line-soft);
  color: rgba(226, 232, 240, 0.68);
}

.footer-brand p {
  color: rgba(148, 163, 184, 0.72);
}

.footer-col a {
  color: rgba(226, 232, 240, 0.7);
}

.footer-col a:hover {
  color: var(--ink);
}

.footer-bottom {
  color: rgba(148, 163, 184, 0.5);
  border-color: var(--line-soft);
}

/* Misc */

.steps__num {
  color: var(--faint);
}

.section-head .section-copy + .section-copy {
  color: var(--muted);
}
