/* Dark presentation; the original emerald Triangle mark stays unchanged. */
:root {
  color-scheme: dark;
  --brand-bg: #0c1013;
  --brand-surface: #141b20;
  --brand-line: #303d45;
  --brand-muted: #b0bfc5;
  --brand-shadow: 0 16px 40px rgb(0 0 0 / .18);
  --ink: #f1f5f7;
  --muted: var(--brand-muted);
  --paper: var(--brand-bg);
  --white: var(--brand-surface);
  --line: var(--brand-line);
  --emerald-dark: #66dfb8;
  --emerald-soft: #16352b;
}
html, body { background: var(--brand-bg); color: var(--ink); }
body::before, .hero::before, .page-hero::after { display: none; }
.site-header, .site-header.scrolled { background: #0c1013; border-color: var(--brand-line); backdrop-filter: none; }
.site-header .legacy-logo-light { filter: brightness(0) invert(1); opacity: .96; }
.site-header .legacy-logo-accent { display: block; }
.desktop-nav a, .language-switch, .breadcrumbs, .breadcrumbs a { color: var(--brand-muted); }
.desktop-nav a:hover, .desktop-nav a.active, .language-switch a.active { color: var(--ink); }
.menu-toggle span { background: var(--ink); }
.mobile-menu, .context-bar { background: var(--brand-bg); }
.mobile-menu nav > a:not(.button) { color: var(--ink); }
.mobile-menu nav > a.active { color: var(--emerald-dark); }
.hero, .page-hero, .case-hero, .selected-work, .site-footer { background: var(--brand-bg); }
.hero h1 em, .page-hero h1 em, .case-hero h1 em { color: var(--emerald-dark); }
.hero .eyebrow { color: #c0d1ca; }
.hero-proof span { background: var(--brand-surface); }
.system-stage { background: #141d23; box-shadow: none; }
.system-core { background: #0c151a; }
.system-node { background: #1b282f; border-color: #41535c; color: var(--ink); }
.system-node small { color: var(--brand-muted); }
.system-caption { background: var(--brand-surface); }
.system-ambient, .system-scan, .core-pulse { display: none; }
.industry-strip, .technology-partners, .services, .web-catalog,
.catalog-products, .work-catalog, .process, .principles, .faq,
.paper-summary, .paper-analysis, .case-story, .case-delivery, .legal-page,
.demo-intro { background: var(--brand-bg); color: var(--ink); }
.technology-partners::before, .platform-card::after, .service-row::before,
.service-row:nth-child(2)::before, .service-row:nth-child(3)::before { display: none; }
.platform-card, .platform-card:first-child, .platform-card:last-of-type,
.service-row, .case-card, .web-type-card, .work-index-card, .catalog-product-card,
.principle-grid article, .catalog-note, .compact-cta, .paper-architecture article,
.partner-status, .confidential-badge, .filter-bar button {
  background: var(--brand-surface); color: var(--ink); border-color: var(--brand-line); box-shadow: none;
}
.partner-intro h2, .service-copy h3, .type-copy h3, .catalog-product-copy h2,
.work-index-copy h2, .process-intro h2, .process-list h3, .faq-intro h2,
.faq-list summary, .principle-grid h3, .demo-intro h1, .demo-intro h2,
.detail-modal-intro h2 { color: var(--ink); }
.strip-list, .service-items li, .partner-status, .type-copy > span,
.catalog-product-meta, .work-index-meta, .platform-status, .platform-label,
.service-number, .strip-inner > span, .case-card-top, .real-project-label,
.detail-modal-code span { color: var(--brand-muted); }
.section-kicker, .process-list li > span, .principle-grid article > span,
.context-back, .detail-modal-label { color: var(--emerald-dark); }
.platform-icon, .platform-card:last-of-type .platform-icon, .detail-modal-code i {
  background: var(--emerald-soft); border-color: #305948; color: var(--emerald-dark);
}
.paper-document-head, .paper-architecture, .paper-indicators, .delivery-grid {
  background: var(--brand-surface); color: var(--ink);
}
.button, .type-link, .service-action { border-radius: 8px; }
.button-primary { box-shadow: none; }
.button-dark, .button-secondary, .type-link, .service-action,
.detail-modal-close { background: #1e2a31; color: var(--ink); border-color: #465861; box-shadow: none; }
.button-dark:hover, .button-secondary:hover, .type-link:hover,
.service-action:hover, .detail-modal-close:hover { background: #2c3c45; color: #fff; }
.text-link, .work-card-actions button { color: var(--ink); }
.filter-bar button.active { background: var(--brand-green); border-color: var(--brand-green); color: #061f16; }
.final-cta { background: #152920; color: var(--ink); border-top: 1px solid #305343; }
.final-cta::before { display: none; }
.final-cta h2 { color: var(--ink); }
.final-cta .section-kicker { color: var(--emerald-dark); }
.final-cta p { color: #bed1c8; }
.final-cta .button-light { background: var(--brand-green); color: #06291f; }
.detail-modal { color: var(--ink); }
.detail-modal-panel { background: var(--brand-bg); }
.detail-modal-panel::before { background: var(--brand-green); }
.detail-modal-grid section, .detail-modal-scope { background: var(--brand-surface); }
.detail-modal-grid p, .detail-modal-scope li { color: var(--brand-muted); }
.detail-modal-close { width: 44px; height: 44px; }
:is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--emerald-dark); outline-offset: 4px; }
.skip-link { background: var(--ink); color: var(--brand-bg); }
/* Keep content readable when JavaScript is unavailable. */
.reveal { opacity: 1; transform: none; }
@media (max-width: 700px) {
  .site-header, .site-header.scrolled, .mobile-menu { background: var(--brand-bg); }
  .mobile-menu nav > a:not(.button) { color: var(--ink); }
  .mobile-menu nav > a.active { color: var(--emerald-dark); }
}
/* Grid items must shrink when the viewport narrows after fonts have loaded. */
.case-hero-grid > *, .legal-layout > *, .paper-abstract-grid > * { min-width: 0; }
.case-detail-meta { flex-wrap: wrap; }
.case-detail-meta span { max-width: 100%; overflow-wrap: anywhere; }
.case-hero h1, .legal-layout h1, .paper-abstract h2 { overflow-wrap: anywhere; }
.legal-layout article { overflow-wrap: anywhere; }
