/* Site-wide appearance is chosen in maintenance, never inferred from the OS.
   All dark rules are opt-in: the existing light design remains unchanged. */
:root { color-scheme: light; }
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #171b21; --surface: #20262e; --surface-2: #272f38; --surface-3: #343e49;
  --ink: #f2f4f7; --ink-2: #d0d7df; --muted: #aeb8c4; --faint: #93a0ae;
  --line: #ffffff18; --line-2: #ffffff2b; --grid: #aabbd00a;
  --brand: #ef914e; --brand-600: #f1a56e; --brand-700: #ffc497;
  --brand-50: #352b25; --brand-100: #49372a;
  --sh-1: 0 1px 3px #0003; --sh-2: 0 10px 35px -20px #0008;
  --sh-3: 0 24px 60px -20px #0009;
}
:root[data-theme="dark"] body { background: var(--bg); color: var(--ink-2); }
:root[data-theme="dark"] :is(.n-x,.n-metrics,.n-page-hero,.n-history-section) { background: var(--bg); }
:root[data-theme="dark"] :is(.n-nav,.n-nav.is-scrolled) { background: #20262ef0; border-color: var(--line-2); box-shadow: 0 10px 30px -20px #0009; }
:root[data-theme="dark"] :is(.n-nav__links a.is-active,.n-nav__links a:hover) { background: var(--surface-3); color: var(--ink); }
:root[data-theme="dark"] .n-nav__toggle { background: var(--surface-3); }
:root[data-theme="dark"] .n-nav__toggle span { background: var(--ink); }
/* Supplied white artwork is transparent; no plate, inversion or colour filter. */
:root[data-theme="dark"] :is(.n-nav__brand img,.n-footer__brand img) { background: transparent; border-radius: 0; outline: none; filter: none; opacity: 1; mix-blend-mode: normal; }
:root[data-theme="dark"] :is(.n-nav__brand img,.n-footer__brand img)[src*="newson-white-supplied.png"] { width: 176px; height: 47px; object-fit: cover; object-position: 47% 62%; }
:root[data-theme="dark"] :is(.n-btn--dark,.n-story .n-btn--dark,.n-nav__actions .n-btn) { background: #35414e; color: #fff; border-color: #617080; }
:root[data-theme="dark"] :is(.n-btn--dark:hover,.n-story .n-btn--dark:hover) { background: #455464; color: #fff; }
:root[data-theme="dark"] .n-btn--primary { color: #20252b; }
:root[data-theme="dark"] .n-btn--primary:hover { background: #ffae72; color: #20252b; }
:root[data-theme="dark"] .n-x__copy .n-hero__actions .n-btn { background: var(--brand); color: #20252b; border-color: transparent; }
:root[data-theme="dark"] :is(.n-top,.n-search__dialog,.n-modal__box) { background: var(--surface); color: var(--ink); border-color: var(--line-2); }
:root[data-theme="dark"] :is(.n-search__field input,.n-search__field button) { color: var(--ink); background: transparent; }
:root[data-theme="dark"] :is(.n-search__esc,.n-search__hint kbd) { background: var(--surface-3); border-color: var(--line-2); color: var(--muted); }
:root[data-theme="dark"] .n-skip { background: var(--brand); color: #20252b; }

/* Anatomy studio: translucent WebGL canvas, real material colours retained. */
:root[data-theme="dark"] .n-x__frame { background: radial-gradient(ellipse at 60% 38%,#414b57,#252d37 65%,#1b222a); }
:root[data-theme="dark"] .n-x__frame::before { background: radial-gradient(ellipse at 56% 38%,#444f5d,#2a333e 60%,#202832); }
:root[data-theme="dark"] :is(.n-x__copy .n-eyebrow,.n-x__copy .n-lead,.n-hero__trust li,.n-studio__caption,.n-x__cue) { color: var(--muted); }
:root[data-theme="dark"] .n-x__copy .n-lead strong { color: var(--ink); }
:root[data-theme="dark"] .n-x__copy .n-hero__trust { border-color: var(--line-2); }
:root[data-theme="dark"] .n-hero__glow { opacity: .15; }
:root[data-theme="dark"] .n-atlas__number { color: #ffffff07; }
:root[data-theme="dark"] :is(.n-atlas__legend,.n-atlas__axis,.n-x__hud-top,.n-x__hud-bottom) { color: #a5b3c2; }
:root[data-theme="dark"] .n-atlas::before { border-color: #cad8e612; box-shadow: 0 0 0 44px #cad8e605,0 0 0 90px #cad8e603; }
:root[data-theme="dark"] :is(.n-x__hud-title,.n-x__readout b) { color: #f0f3f7; }
:root[data-theme="dark"] :is(.n-x__tools,.n-x__readout,.n-x__expand) { background: #202832c9; border-color: #ffffff2a; color: #d6dee8; }
:root[data-theme="dark"] :is(.n-x__readout .n-mono,.n-x__tool) { color: #c7d0dc; }
:root[data-theme="dark"] .n-x__tool[data-auto-toggle] { color: var(--brand); }
:root[data-theme="dark"] :is(.n-x__tool:hover,.n-x__tool[aria-pressed="true"],.n-x__expand:hover) { background: #ffffff20; color: #fff; }
:root[data-theme="dark"] :is(.n-x__tabs,.n-studio__caption) { background: var(--surface); border-color: var(--line-2); }
:root[data-theme="dark"] .n-x__tab { color: var(--muted); }
:root[data-theme="dark"] :is(.n-x__tab.is-active,.n-x__tab:hover) { background: var(--surface-3); color: var(--ink); }
:root[data-theme="dark"] .n-x__outro { background: #242d37f5; border-color: #ffffff26; }
:root[data-theme="dark"] :is(.n-x__outro h2,.n-x__outro a,.n-hot__card b) { color: var(--ink); }
:root[data-theme="dark"] :is(.n-x__outro p,.n-atlas-card__tags span) { color: var(--muted); }
:root[data-theme="dark"] .n-hot__card { background: #202a35ed; border: 1px solid #ffffff25; }
:root[data-theme="dark"] .n-hot__card small { color: var(--brand); }

/* Content surfaces; product and manufacturer images keep neutral light wells. */
:root[data-theme="dark"] :is(.n-marquee,.n-story,.n-certs,.n-footer,.n-auth,.n-section--surface) { background: #1e242c; border-color: var(--line); }
:root[data-theme="dark"] :is(.n-award:hover,.n-profile:hover,.n-profile:target) { background: var(--surface-2); }
:root[data-theme="dark"] :is(.n-spec:nth-child(n),.n-stat:nth-child(n),.n-doc,.n-cert,.n-carbon,.n-profile,.n-brand,.n-dir,.n-info-card__body,.n-auth__card,.n-form-card,.n-cms-detail__copy,.n-catalog-intro) { background: var(--surface); border-color: var(--line-2); }
:root[data-theme="dark"] :is(.n-spec:hover,.n-brand:hover,.n-dir:hover,.n-stat:hover) { background: #29333e; border-color: #976c4b; }
:root[data-theme="dark"] :is(.n-purpose__card,.n-purpose__card--vision,.n-cta,.n-contact-note) { background: #29323d; border: 1px solid #ffffff1c; }
:root[data-theme="dark"] :is(.n-story h2,.n-story .n-timeline__year,.n-proof-heading p,.n-htrack__year,.n-purpose__card--vision h2,.n-crumbs b,.n-form-step,.n-form-step b) { color: var(--ink); }
:root[data-theme="dark"] :is(.n-spec__body p,.n-spec__explore,.n-spec__tags,.n-story .n-lead,.n-story .n-link,.n-story .n-timeline__text,.n-pillar p,.n-footer__brand p,.n-footer__col a,.n-footer__contact p,.n-page-hero .n-lead,.n-page-kicker,.n-page-hero__meta span:first-child,.n-catalog-copy p,.n-catalog-copy .n-chips span,.n-stat span,.n-purpose__card--vision p,.n-brand-search input,.n-brand-filters button,.n-catalog-section-title p) { color: var(--muted); }
:root[data-theme="dark"] :is(.n-head>p,.page-inicio .n-head>p,.n-metrics p,.n-footer__col h3,.n-footer__bottom,.n-footer__bottom .n-maintenance-link,.n-marquee__label,.n-proof-heading>span,.n-story .n-timeline-card__head,.n-story .n-muted,.n-certs__list small) { color: var(--muted); }
:root[data-theme="dark"] :is(.n-footer__bottom a:hover,.n-footer__col a:hover) { color: var(--brand); }
:root[data-theme="dark"] .n-footer__wordmark { color: #313b46; }
:root[data-theme="dark"] .n-page-signature { color: #262e38; }
:root[data-theme="dark"] :is(.n-pillar__icon,.n-banner__icon,.n-info-list i,.n-spec__arrow) { background: #323d49; color: #d1d9e3; border-color: var(--line-2); }
:root[data-theme="dark"] :is(.n-metrics__grid>div,.n-spec__tags,.n-story .n-timeline-card__head,.n-footer__bottom,.n-footer__certs,.n-footer__certs span,.n-value,.n-banner,.n-award,.n-tabs__panel,.n-catalog-section-title,.n-profile .n-link) { border-color: var(--line-2); }
:root[data-theme="dark"] :is(.n-page-hero__aside .n-editorial-link,.n-purpose__card--vision .n-chips span) { color: var(--ink-2); border-color: var(--line-2); }
:root[data-theme="dark"] :is(.n-spec__media,.n-cms-product__image) { mix-blend-mode: normal; background: #e3e7e9; border-radius: 12px; padding: 14px; }
:root[data-theme="dark"] :is(.n-spec__media img,.n-cms-product__image img) { mix-blend-mode: multiply; }
:root[data-theme="dark"] :is(.n-brand__logo,.n-certs__logo) { background: #eef0ed; border-radius: 7px; }
:root[data-theme="dark"] .n-cert__logo { width: min(120px,100%); height: 96px; padding: 12px; background: #f5f6f3; border: 1px solid #fff; border-radius: 10px; }
:root[data-theme="dark"] :is(.n-cert__logo img,.n-certs__logo img,.n-brand__logo img,.n-profile__logo img,.n-marquee__item img) { mix-blend-mode: normal; filter: none; opacity: 1; }
:root[data-theme="dark"] .n-cert__logo img { max-width: 100%; max-height: 70px; }
:root[data-theme="dark"] .n-certs__logo { width: 58px; height: 58px; padding: 5px; }
:root[data-theme="dark"] .n-marquee__item { background: #e6e9e7; border-radius: 6px; }
:root[data-theme="dark"] .n-marquee__item img { opacity: .85; }
:root[data-theme="dark"] .n-section-nav { background: #171b21f5; border-color: var(--line-2); }
:root[data-theme="dark"] .n-section-nav a { color: var(--muted); }
:root[data-theme="dark"] .n-section-nav a.is-active { color: var(--ink); }
:root[data-theme="dark"] .n-htrack__node { box-shadow: 0 0 0 6px var(--bg); }
:root[data-theme="dark"] .n-htrack::before { background: var(--surface-3); }

/* Forms, catalogue and legacy Bootstrap content. */
:root[data-theme="dark"] :is(.n-field input,.n-field textarea,.n-field select,.n-brand-search,.n-choice span,.n-auth input,.n-auth select) { background: #181f27; color: var(--ink); border-color: #4a5562; }
:root[data-theme="dark"] :is(.n-field input::placeholder,.n-field textarea::placeholder,.n-auth input::placeholder) { color: #95a2b1; }
:root[data-theme="dark"] .n-choice input:checked+span { background: #47372b; border-color: var(--brand); color: #ffd6b8; }
:root[data-theme="dark"] .n-check__box { background: var(--surface-3); border-color: #697788; }
:root[data-theme="dark"] .n-brand-filters button[aria-pressed="true"] { background: var(--surface-3); color: var(--ink); border-color: #667687; }
:root[data-theme="dark"] .n-form-msg .alert-success { background: #303843; border-color: var(--line-2); color: var(--ink); }
:root[data-theme="dark"] .n-cms-product { background: var(--surface); border-color: var(--line-2); color: var(--ink)!important; }
:root[data-theme="dark"] .n-cms-product p { color: var(--muted); }
:root[data-theme="dark"] .page-productos #navbar_prods .nav-tabs { background: var(--surface); border-color: var(--line-2); }
:root[data-theme="dark"] .page-productos #navbar_prods .nav-tabs .nav-link { color: var(--muted)!important; background: transparent; }
:root[data-theme="dark"] .page-productos #navbar_prods .nav-tabs .nav-link.active { background: #35414e!important; color: #fff!important; }
:root[data-theme="dark"] .page-productos #navbar_prods .nav-tabs li+li { border-color: var(--line-2); }
:root[data-theme="dark"] .page-productos [id$="Menu"].accordion { background: var(--surface); border-color: var(--line-2); }
:root[data-theme="dark"] .page-productos :is(.accordion-item,.accordion-body,.accordion-button,.carousel-item>.row) { background: var(--surface)!important; color: var(--ink-2)!important; border-color: var(--line-2)!important; }
:root[data-theme="dark"] .page-productos .accordion-button:not(.collapsed) { background: var(--surface-3)!important; color: var(--ink)!important; }
:root[data-theme="dark"] .page-productos .seccion-productos a:not(.n-btn) { color: var(--ink-2); }
:root[data-theme="dark"] .page-productos .col_desc :is(h3,p) { color: var(--ink-2); }
@media(max-width:1024px) {
  :root[data-theme="dark"] .n-nav__menu { background: #20262efc; border-color: var(--line-2); }
}
@media(max-width:600px) {
  :root[data-theme="dark"] .n-nav__brand img[src*="newson-white-supplied.png"] { width: 150px; height: 40px; }
}

/* Shared editorial polish. No DOM changes: maintenance field IDs and the
   scroll-driven anatomy studio retain their existing structure and behavior. */
:root {
  --polish-edge: #26313d1c;
  --polish-highlight: #ffffffd9;
  --polish-shadow: 0 12px 32px -24px #25303e55;
  --polish-glow: #ef863d0c;
}
:root[data-theme="dark"] {
  --polish-edge: #cbd8e329;
  --polish-highlight: #ffffff09;
  --polish-shadow: 0 16px 36px -24px #000b;
  --polish-glow: #ef914e09;
}
.n-nav { box-shadow: 0 8px 30px -22px #11182750; }
.n-nav__links a { transition: background .2s, color .2s; }
.n-nav__links a.is-active { box-shadow: inset 0 -2px var(--brand); }
:is(a,button,input,textarea,select):focus-visible {
  outline: 2px solid var(--brand); outline-offset: 4px;
}
.n-btn { box-shadow: 0 6px 16px -12px #11182780; }
.n-btn--primary { color: #252a30; }
.n-btn--primary:hover { color: #171b21; }
:root:not([data-theme="dark"]) :is(.n-spec__body p,.n-page-hero .n-lead,.n-footer__brand p,.n-footer__col a,.n-footer__contact p) { color: #606b75; }
:is(.n-spec,.n-brand,.n-dir,.n-stat,.n-doc,.n-cms-product,.n-form-card,.n-auth__card) {
  border-radius: 18px;
  border-color: var(--polish-edge);
  box-shadow: inset 0 1px var(--polish-highlight),var(--polish-shadow);
  background-image: linear-gradient(140deg,var(--polish-highlight),transparent 48%);
  transition: border-color .22s,box-shadow .22s,background-color .22s;
}
.n-spec__tags { padding-top: 15px; }
.n-spec__arrow { border-radius: 50%; }
.n-spec__body h3 { letter-spacing: -.035em; }
.n-brand__meta { border-color: var(--polish-edge); }
.n-brand__logo { border-radius: 10px; margin-block: 10px; }
.n-brand__logo img { opacity: 1; }
:root[data-theme="dark"] .n-brand__logo { color: #39444f; }
.n-brand__meta small { font-size: 11px; line-height: 1.65; }
.n-cert { padding-block: 25px; }
.n-cert__logo { margin-bottom: 12px; }
.n-certs__logo img { filter: none; opacity: 1; }
.n-form-card { border-top: 3px solid var(--brand); }
.n-field :is(input,textarea,select) { border-radius: 9px; transition: border-color .2s,box-shadow .2s; }
.n-field :is(input,textarea,select):focus { border-color: var(--brand); box-shadow: 0 0 0 3px #ef863d18; }
.n-brand-filters button { min-height: 38px; border-radius: 8px; }
.n-profile { border-radius: 14px; }
.n-section-nav { backdrop-filter: blur(16px); }
.n-footer { background-image: radial-gradient(ellipse at 5% 100%,var(--polish-glow),transparent 60%); }
.n-footer__certs span { border-radius: 6px; background: var(--polish-highlight); }
.n-footer__col a { text-underline-offset: 5px; }
.n-footer__col a:hover { text-decoration: underline; }
:root[data-theme="dark"] :is(.n-spec:nth-child(n),.n-stat:nth-child(n),.n-brand,.n-dir,.n-form-card,.n-cms-product) {
  background-image: linear-gradient(145deg,#ffffff05,transparent 55%);
  border-color: var(--polish-edge);
  box-shadow: inset 0 1px var(--polish-highlight),var(--polish-shadow);
}
:root[data-theme="dark"] :is(.n-brand__index,.n-brand__index i,.n-brand-explorer__top>span,.n-brand__meta small) { color: #b3beca; }
@media(hover:hover) {
  :is(.n-spec,.n-brand,.n-dir,.n-cms-product):hover {
    border-color: #c58b60;
    box-shadow: inset 0 1px var(--polish-highlight),0 18px 40px -26px #28344370;
  }
  :root[data-theme="dark"] :is(.n-spec,.n-brand,.n-dir,.n-cms-product):hover { border-color: #bd875d; box-shadow: 0 18px 40px -25px #000c; }
}
@media(max-width:600px) {
  :is(.n-spec,.n-brand,.n-dir,.n-form-card) { border-radius: 14px; }
  .n-brand-filters button { min-height: 44px; font-size: 11px; }
  .n-brand__meta small { font-size: 10px; }
  .n-section-nav a { min-height: 44px; }
}
@media(prefers-reduced-motion:reduce) {
  :is(.n-spec,.n-brand,.n-dir,.n-stat,.n-doc,.n-cms-product,.n-form-card,.n-auth__card,.n-nav__links a,.n-field input,.n-field textarea,.n-field select) { transition: none; }
}
