/* Shared navy palette, based on the supplied visual reference. */
:root {
  color-scheme: dark;
  --ink: #0f172c;
  --paper: #141d30;
  --surface: #1d293c;
  --surface-raised: #303c50;
  --accent: #80bfff;
  --primary: #215eff;
  --text: #e5e9f0;
  --muted: #a9b5c7;
  --line: #33435b;
  --lime: var(--accent);
  --violet: var(--primary);
  --electric: var(--primary);
  --coral: var(--accent);
}
body { background: var(--ink); color: var(--text); }
::selection { background: #215eff; color: #fff; }
a { color: var(--accent); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.site-header { background: rgba(15,23,44,.7); border-color: var(--line); }
.hero { background: radial-gradient(ellipse at 66% 55%,rgba(74,91,111,.24),transparent 60%),linear-gradient(125deg,#101b36,#171e2a 65%,#171827); }
.hero-glow { background: #3877bd; opacity: .12; }
.hero h1, .section h2, .service-card h3, .steps h3, .metric-value { color: var(--accent); }
.hero h1 em { color: #b4d8ff; }
.main-nav a, .eyebrow, .hero-copy>p, .section-head>p, .service-card p,
.approach-intro>p, .steps p, .about-copy p, .about-copy .lead,
.values span, .contact-main p, .about-tag, .status { color: #bdc9d9; }
.hero-proof span, .scroll-note, .card-top, .card-bottom, .card-code span,
.card-code code, .service-no, .contact-details span,
.footer-row p, .footer-row>a { color: var(--muted); }
.scroll-note span { background: var(--muted); }
.main-nav .nav-cta, .button-primary { background: var(--primary); color: #fff; box-shadow: 0 8px 24px rgba(12,43,109,.22); }
.main-nav .nav-cta:hover, .button-primary:hover { background: #3972ff; }
.button-outline { background: #1a2e50; border-color: #438dff; color: #b7d6fb; }
.button-outline:hover { background: #253e65; }
.visual-card { background: rgba(29,41,60,.96); border-color: var(--line); box-shadow: 0 30px 65px rgba(3,9,23,.25); }
.card-main:after, .orbit { border-color: rgba(128,191,255,.18); }
.signal-chart i { background: linear-gradient(#80bfff,#215eff55); box-shadow: none; }
.services, .about, .contact, .footer { background: var(--paper); color: var(--text); }
.approach { background: linear-gradient(120deg,#111b30,#1a2332); }
.kicker, .kicker.light, .service-card a, .service-card a span, .values strong { color: var(--accent); }
.service-grid, .service-card, .values, .footer-row, .steps li, .steps li:last-child, .contact-details { border-color: var(--line); }
.service-card { background: var(--surface); }
.service-card.featured { background: #26354b; }
.service-card:hover { background: var(--surface-raised); box-shadow: 0 18px 45px rgba(3,9,23,.2); }
.service-icon { background: #243c5b; color: var(--accent); box-shadow: none; }
.about-panel, .contact-card { background: linear-gradient(135deg,#1d293c,#30394b); border: 1px solid var(--line); }
.about-panel:before { border-color: rgba(128,191,255,.3); box-shadow: 0 0 0 55px rgba(128,191,255,.025),0 0 0 110px rgba(128,191,255,.018); }
.contact-card:after { border-color: rgba(128,191,255,.2); }
.brand, .footer .brand, .footer .signature-logo strong { color: var(--text); }
.brand-mark { background: linear-gradient(145deg,#215eff,#80bfff); box-shadow: 0 9px 28px rgba(33,94,255,.18); }
.brand-copy small, .footer .brand-copy small, .about-signature>small { color: #b5c9e3; }
.brand-copy, .footer .brand-copy { border-color: var(--line); }
.signature-logo strong, .about-signature>strong { text-shadow: 0 3px 20px rgba(5,15,34,.5); }
.ss-arrangement i:first-child, .footer .ss-arrangement i:first-child,
.about-ss i:first-child { -webkit-text-stroke-color: rgba(128,191,255,.5); }
.ss-arrangement i:last-child, .footer .ss-arrangement i:last-child,
.about-ss i:last-child { -webkit-text-stroke-color: rgba(67,141,255,.45); }
/* MVC utility pages use the same palette as the landing page. */
.navbar.bg-white { background: var(--surface) !important; }
.navbar-light .navbar-brand, .navbar .nav-link.text-dark { color: var(--text) !important; }
.text-muted { color: var(--muted) !important; }
.border-top, .border-bottom { border-color: var(--line) !important; }
@media(max-width:900px) { .main-nav { background: #1d293c; border-bottom: 1px solid var(--line); } }
