/* One visual language across the presentation and project detail. */
:root {
  color-scheme:dark;
  --noe-bg:#090e14;
  --noe-surface:#111923;
  --noe-surface-raised:#17222e;
  --noe-text:#f2f0ea;
  --noe-muted:#a0afc0;
  --noe-subtle:#8495a9;
  --noe-accent:#efb583;
  --noe-line:rgba(176,190,205,.18);
  --noe-line-strong:rgba(176,190,205,.32);
  --noe-radius:6px;
  --noe-control-radius:4px;
  --noe-font:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
body { font-family:var(--noe-font);background:var(--noe-bg);color:var(--noe-text); }
button,input,select,textarea { font-family:var(--noe-font); }

.light-section,.work-section .scene-inner,.faq-section { background:var(--noe-bg);color:var(--noe-text);color-scheme:dark; }
.work-section .scene-inner { background:radial-gradient(ellipse at 75% 53%,#efb58305,transparent 60%),var(--noe-bg); }
.approach-section .scene-inner { background:radial-gradient(ellipse at 85% 95%,#efb58307,transparent 62%),var(--noe-bg); }
.cases-section .scene-inner { background:radial-gradient(ellipse at 76% 48%,#26324732,transparent 59%),var(--noe-bg); }
.contact-section { background:radial-gradient(ellipse at 80% 115%,#efb5830d,transparent 57%),var(--noe-bg); }
.light-section .eyebrow,.workflow-top,.panel-status { color:var(--noe-subtle); }
.hero-description,.heading-row>p,.approach-section .heading-row>p,.cases-heading>p,.faq-intro,.faq-list details p,.contact-bottom p { color:var(--noe-muted); }
.heading-row h2,.faq-grid h2,.contact-section h2 { font-weight:520; }

.header-contact,.button-warm,.button-dark { background:var(--noe-accent);color:var(--noe-bg);border:1px solid var(--noe-accent);border-radius:var(--noe-control-radius);font-weight:550; }
.header-contact:hover,.button-warm:hover,.button-dark:hover { background:#f3c39a;border-color:#f3c39a; }
.button-outline { border-color:#efb58366;border-radius:var(--noe-control-radius);color:var(--noe-accent);background:transparent; }
.button-outline:hover { background:#efb5830d;border-color:var(--noe-accent); }
.text-button { color:var(--noe-text);border-bottom-color:var(--noe-line-strong); }
.language-button { border-color:#e6b38d80;background:linear-gradient(135deg,#e9b48426,#d88e7110);color:#f3cdad; }
.industry-tabs { border-color:var(--noe-line); }
.industry-tabs button { border-radius:var(--noe-control-radius);color:var(--noe-muted); }
.industry-tabs button.is-active { background:var(--noe-accent);color:var(--noe-bg); }

/* The service chapter uses the same dark navigation as the other chapters. */
body[data-scene-active=services]:not(.is-reading) .header-brand img { filter:none; }
body[data-scene-active=services]:not(.is-reading) .service-header nav a { color:#bbc4cf; }
body[data-scene-active=services]:not(.is-reading) .service-header nav a[aria-current] { color:var(--noe-accent); }
body[data-scene-active=services]:not(.is-reading) .service-header nav a::after { background:var(--noe-accent); }
body[data-scene-active=services]:not(.is-reading) .header-contact { background:var(--noe-accent);color:var(--noe-bg); }
body[data-scene-active=services]:not(.is-reading) .header-contact:hover { background:#f3c39a;border-color:#f3c39a; }
body[data-scene-active=services]:not(.is-reading) .language-button { border-color:#e6b38d80;background:linear-gradient(135deg,#e9b48426,#d88e7110);color:#f3cdad; }
body[data-scene-active=services]:not(.is-reading) .language-button:hover { background:#efb58330;border-color:#f1c5a1; }
body[data-scene-active=services]:not(.is-reading) .scene-chrome { color:var(--noe-muted); }
body[data-scene-active=services]:not(.is-reading) .scene-index button { color:#92a0b1; }
body[data-scene-active=services]:not(.is-reading) .scene-index button[aria-current] { color:var(--noe-accent); }
body[data-scene-active=services]:not(.is-reading) .scene-direction button { color:#b7c3d3;border-color:var(--noe-line-strong); }
body[data-scene-active=services]:not(.is-reading) .scene-direction button:hover { color:var(--noe-bg);background:var(--noe-accent); }
body[data-scene-active=services]:not(.is-reading) .scene-cue { color:#9cabbc; }
.light-section :is(button,a,summary):focus-visible,.preview-dialog :is(button,a,summary):focus-visible,
body[data-scene-active=services]:not(.is-reading) :is(.service-header,.scene-chrome) :is(button,a):focus-visible { outline-color:var(--noe-accent); }

.work-selectors,.work-row { border-color:var(--noe-line); }
.work-row { color:var(--noe-subtle); }
.work-row.is-active,.work-row:hover { color:var(--noe-text); }
.work-row.is-active .row-num { color:var(--noe-accent); }
.work-row small { color:var(--noe-muted); }
.workflow-panel { background:var(--noe-surface);border-color:var(--noe-line);border-radius:var(--noe-radius); }
.workflow-top,.workflow-summary { border-color:var(--noe-line); }
.panel-status i,.flow-line i { background:var(--noe-accent); }
.flow-visual { background:radial-gradient(ellipse at center,#efb58308,transparent 70%); }
.flow-files span { background:var(--noe-surface-raised);border-color:var(--noe-line-strong);color:var(--noe-muted);border-radius:var(--noe-control-radius); }
.flow-line { background:var(--noe-line-strong); }
.flow-center { background:var(--noe-surface-raised);border-color:#efb5834d;border-radius:var(--noe-control-radius);box-shadow:none; }
.flow-center img { filter:brightness(0) invert(1); }
.flow-center span,.flow-result>span:last-child,.workflow-summary p { color:var(--noe-muted); }
.workflow-summary>span { color:var(--noe-subtle); }
.flow-result strong { color:var(--noe-text); }
.result-symbol,.step-number,.industry-badge { color:var(--noe-accent); }

.sector-workspace { background:var(--noe-surface);border-color:var(--noe-line);border-radius:var(--noe-radius);box-shadow:none; }
.sector-workspace-head { color:var(--noe-subtle);border-color:var(--noe-line); }
.sector-paper { background:var(--noe-surface-raised);color:var(--noe-text);border:1px solid var(--noe-line-strong);border-radius:var(--noe-control-radius);box-shadow:none; }
.paper-lines i { background:var(--noe-line-strong); }
.paper-loop span { border-color:var(--noe-line-strong);border-radius:var(--noe-control-radius); }
.paper-loop b { color:var(--noe-accent); }
.paper-tick { color:#efb58366; }
.sector-example { color:var(--noe-muted); }

.faq-section { border-top-color:var(--noe-line); }
.faq-list,.faq-list details { border-color:var(--noe-line); }
.faq-list summary { color:var(--noe-text); }
.faq-list summary:hover { color:var(--noe-accent); }
.faq-list summary i::before,.faq-list summary i::after { background:var(--noe-accent); }

.preview-dialog { background:var(--noe-surface);color:var(--noe-text);border-color:var(--noe-line-strong);border-radius:var(--noe-radius);color-scheme:dark; }
.dialog-close,.preview-dialog .eyebrow,.dialog-description,.preview-dialog label { color:var(--noe-muted); }
.preview-dialog input,.preview-dialog select,.preview-dialog textarea { background:var(--noe-surface-raised);color:var(--noe-text);border-color:var(--noe-line-strong);border-radius:var(--noe-control-radius); }
.preview-dialog input:focus,.preview-dialog select:focus,.preview-dialog textarea:focus { border-color:var(--noe-accent);box-shadow:0 0 0 3px #efb58315; }
.preview-dialog input:-webkit-autofill { -webkit-text-fill-color:var(--noe-text);box-shadow:0 0 0 1000px var(--noe-surface-raised) inset; }
.form-preview-note { color:var(--noe-subtle); }
.form-status { color:var(--noe-accent); }
