/* Graphite & Copper palette. Alternative to mineral.css; load only one palette. */
:root {
  color-scheme: dark;
  --bg: #151719;
  --surface: #1c1f22;
  --surface-light: #24282c;
  --line: #3c3d3e;
  --text: #f1eee9;
  --muted: #b7b3ad;
  --dim: #aaa59f;
  --teal: #c99570;
  --accent: #c99570;
  --accent-hover: #deae8b;
  --accent-soft: #302821;
}
::selection { background: #644934; color: #f1eee9; }
.status-dot { box-shadow: none; }
.button-primary, .button-small, .button-light {
  background: var(--accent);
  border-color: var(--accent);
  color: #191b1d;
}
.button-primary:hover, .button-small:hover, .button-light:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: #191b1d;
}
.button-secondary {
  background: #24282c;
  border-color: #75604f;
  color: var(--accent);
}
.button-secondary:hover { background: #302821; border-color: var(--accent); }
.skip-link { background: var(--accent); color: #191b1d; }

/* Cinematic hero with warm copper typography. */
.hero {
  --text: #f1eee9;
  --muted: #c4c0ba;
  --teal: #c99570;
  color: var(--text);
}
.hero .button-secondary {
  color: #f1eee9;
  background: #24282ca6;
  border-color: #75604f;
}
.hero .button-secondary:hover { background: #3c3028; border-color: #c99570; }
.hero-note { color: #b7b3ad; }
.hero-bottom { color: #b7b3ad; }

/* Graphite navigation with restrained copper accents. */
.site-header { color: var(--text); }
.site-header:not(.scrolled):not(.menu-open) {
  --text: #f1eee9;
  --muted: #c4c0ba;
  --teal: #c99570;
  --line: #c9957040;
}
.site-header.scrolled, .site-header.menu-open {
  background: #151719f2;
  border-bottom-color: var(--line);
  box-shadow: 0 3px 20px #00000020;
}
.primary-nav > a:not(.button) { color: var(--muted); }
.primary-nav > a:hover, .primary-nav > a.active { color: var(--teal); }
.language-switcher a:hover { background: var(--accent-soft); color: var(--accent); }
.language-switcher a[aria-current="page"] {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: #8e6d54;
}
.site-header:not(.scrolled):not(.menu-open) .language-switcher a[aria-current="page"] {
  background: #302821;
  color: #ddb798;
  border-color: #8e6d54;
}

/* Layered graphite surfaces. */
.challenge, .industries, .engagement, .site-footer { background: var(--bg); }
.solutions, .integration, .approach, .about { background: var(--surface); }
.use-cases { background: #181b1e; }
.section-copy .emphasis, .section-subtitle { color: var(--text); }
.integration-note { color: var(--text) !important; }
.small-copy { color: var(--muted) !important; }
.technical-grid {
  background-image: linear-gradient(#c995700a 1px, transparent 1px), linear-gradient(90deg, #c995700a 1px, transparent 1px);
}
.micro-label, .diagram-caption, .diagram-footnote, .card-top > span,
.case-number, .values article > span { color: var(--muted); }

/* Engineering data diagrams. */
.flow-panel {
  background-color: #1c1f22;
  box-shadow: 0 16px 42px #00000020;
}
.flow-sources > div { background: #24282c; border-color: var(--line); color: var(--text); }
.flow-sources .icon { color: var(--accent); }
.flow-connector { border-bottom-color: #8e6d54; }
.flow-connector span { background: linear-gradient(#8e6d5444, #8e6d54); }
.flow-core { background: #302821; border-color: #8e6d54; }
.flow-core:before, .flow-stem { background: #8e6d54; }
.flow-stem:after { border-top-color: #8e6d54; }
.flow-results span { color: #dbb79c; border-color: #6d5645; background: #2b2622; }
.solution-card { background: #24282c; box-shadow: 0 7px 24px #00000015; }
.solution-card:hover { border-color: #b48565; box-shadow: 0 16px 32px #00000030; }
.solution-card li { color: var(--muted); }
.solution-card li:before { background: var(--accent); }
.card-link { color: var(--accent); }
.industry-card:hover { background: #202326; }
.ecosystem-center { background: #302821; border-color: #8e6d54; }
.ecosystem-center > span { color: var(--muted); }
.ecosystem-center strong { color: var(--text); }
.ecosystem-center:after, .ecosystem-groups > div:before { background: #8e6d54; }
.ecosystem-groups { border-left-color: #8e6d54; }
.ecosystem-pills span { background: #24282c; color: var(--text); }

/* Product feature and technical model. */
.product-section { background: #202326; }
.product-copy > .eyebrow, .product-features .icon { color: var(--accent); }
.arch-symbol { color: #ddb798; border-color: #8e6d54; }
.product-copy h3 { color: var(--text); }
.product-copy > p:not(.eyebrow), .product-features { color: var(--muted); }
.product-copy > .product-note { color: var(--muted) !important; }
.product-details summary { color: var(--accent); }
.product-visual {
  --teal: #c99570;
  --line: #c9957040;
  background-image: linear-gradient(#c9957008 1px, transparent 1px), linear-gradient(90deg, #c9957008 1px, transparent 1px);
  box-shadow: 0 20px 44px #00000030;
}
.visual-top, .visual-bottom { color: #c8b6a8; }

.approach-flow:before { background: #8e6d54; }
.approach-flow li { color: var(--text); }
.stage-dot { background: #191b1d; border-color: #8e6d54; }
.approach-flow li:last-child .stage-dot { background: var(--accent); border-color: var(--accent); color: #191b1d; }
.outline-tag { color: var(--accent); background: #302821; border-color: #6d5645; }
.steps li { border-top-color: #8e6d54; }
.steps li:before { background: var(--accent); }
.step-number { color: var(--accent); }

/* Closing section and footer. */
.contact { background-color: #202326; }
.contact:before { background: linear-gradient(90deg, #202326, transparent 40%, transparent 60%, #202326); }
.contact-note, .footer-brand > p, .footer-main > div:not(.footer-brand) > a,
.footer-bottom { color: var(--muted); }
.footer-email { color: var(--accent); }
.footer-main > div:not(.footer-brand) h3 { color: var(--text); }
.site-footer { border-top: 1px solid var(--line); }

/* Dialogs and fields use graphite surfaces and warm neutral text. */
dialog { background: #24282c; border-color: #75604f; box-shadow: 0 24px 100px #00000070; }
dialog::backdrop { background: #080a0cbb; }
.dialog-close, form label { color: var(--text); }
form label > span { color: var(--muted); }
input, textarea { background: #24282c; border-color: #75604f; color: var(--text); }
input::placeholder, textarea::placeholder { color: #aaa59f; }

@media (max-width: 1199px) {
  .primary-nav { background: #151719fc; box-shadow: 0 20px 30px #00000040; }
}
/* Non-JavaScript navigation fallback. */
html:not(.js) .site-header {
  --text: #f1eee9;
  --muted: #b7b3ad;
  --teal: #c99570;
  --line: #3c3d3e;
  background: #151719;
}
html:not(.js) .site-header .language-switcher a[aria-current="page"] {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: #8e6d54;
}

/* Blend the unchanged engineering image into a neutral graphite canvas. */
.hero { background: #151719; }
.hero:after {
  background: linear-gradient(90deg, #151719 0%, #151719f5 24%, #151719d9 32%, #15171964 45%, transparent 63%), linear-gradient(0deg, #151719 0%, transparent 15%, transparent 85%, #15171930);
}
.hero-description, .hero-disciplines { color: #c4c0ba; }
.hero-bottom i, .hero-bottom i:after { border-color: #a77d5e; }
.product-visual { background-color: #1d2223; border-color: #6d5645; }
.visual-bottom { border-top-color: #6d5645; }
.visual-bottom i { background: #c99570; }
@media (max-width: 959px) {
  .hero:after { background: linear-gradient(90deg, #151719 0%, #151719e8 28%, #151719a6 42%, #15171922 65%, transparent), linear-gradient(0deg, #151719, transparent 20%); }
}
@media (max-width: 699px) {
  .hero-art:after { background: linear-gradient(0deg, #151719, transparent 16%, transparent 86%, #151719); }
}
