/* DOC N.I.L. / SIGNAL SYSTEM / REFERENCE EDITION 05. Optional design, never an Original override.
   Licensed local fonts load only when Signal System is enabled. Native geometry,
   copy, imagery and animation remain owned by each site. */
@font-face{font-family:"DN Signal Display";src:url("/docnil-signal-fonts/barlow-condensed-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"DN Signal Grotesk";src:url("/docnil-signal-fonts/dm-sans-variable.woff2") format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:"DN Signal Machine";src:url("/docnil-signal-fonts/ibm-plex-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
html[data-docnil-brand="active"]{
 --dn-brand-carbon:#080808!important;--dn-brand-graphite:#121212!important;--dn-brand-steel:#8C8F8F!important;--dn-brand-paper:#EBEBE8!important;--dn-brand-signal:#FF4D00!important;
 --dn-brand-display:"DN Signal Display","Arial Narrow",Impact,sans-serif;
 --dn-brand-system:"DN Signal Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
 --dn-brand-machine:"DN Signal Machine","SFMono-Regular",Consolas,monospace;
 --dn-brand-grain:url("/docnil-signal-fonts/signal-grain.svg");
 --dn-brand-paper-grain:url("/docnil-signal-fonts/signal-paper-grain.svg");
 --dn-brand-registration:url("/docnil-signal-fonts/signal-registration.svg");
}
/* Important declarations in a dedicated layer beat native unlayered glass skins.
   The attribute gates every rule; removing it restores the original cascade. */
@layer dnSignalBrand{
 @media not (forced-colors:active){
  /* The reference is a physical print/operations system: grain belongs to the
     surface paint, never to an overlay above text, photographs or interaction. */
  html[data-docnil-brand="active"] body{font-family:var(--dn-brand-system)!important;background-image:var(--dn-brand-grain)!important;background-size:192px 192px!important}
  /* A broad industrial grotesk is the second display voice; the tall condensed
     face remains the primary headline. Existing sizes and line boxes stay native. */
  html[data-docnil-brand="active"] body :is(.large-statement,.brand-statement,.wide-statement,.wide-title){font-family:var(--dn-brand-system)!important;font-weight:850!important;letter-spacing:-.035em!important;text-transform:uppercase!important}
  /* Ruled board construction. Outlines/inset rules do not change layout size.
     No photograph, artwork or player wrapper receives replacement paint. */
  html[data-docnil-brand="active"] body :is(main>section,.dn-section,.dn-home-section,.detail-section-intro,.calc-section,.engagement-section,.group-section,.catalog-section,.related-section){outline:1px solid color-mix(in srgb,var(--dn-brand-steel) 36%,transparent)!important;outline-offset:-1px!important}
  html[data-docnil-brand="active"] body :is(.card,.service-card,.project-card,.case-card,.panel,.dashboard-panel,.engagement-card,.group-card,.dn-price-panel,.calculator-panel,.summary-panel){outline:1px solid color-mix(in srgb,var(--dn-brand-steel) 62%,transparent)!important;outline-offset:-1px!important;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--dn-brand-paper) 10%,transparent),inset 0 -1px 0 color-mix(in srgb,var(--dn-brand-carbon) 24%,transparent)!important}
  /* These are data/form panels, not image cards. The restrained registration mark
     is construction detail, never invented telemetry, IDs or a machine-readable code. */
  html[data-docnil-brand="active"] body :is(.dn-price-panel,.calculator-panel,.summary-panel,.dashboard-panel,.stats-panel){background-image:var(--dn-brand-registration),var(--dn-brand-grain)!important;background-position:right 8px bottom 8px,left top!important;background-repeat:no-repeat,repeat!important;background-size:24px 24px,192px 192px!important}
  html[data-docnil-brand="active"] body :is(.metadata,.readout,.page-hero-meta,.dn-art-meta,.brand-hero-meta,.service-code,.section-index,.calc-kicker){box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--dn-brand-steel) 58%,transparent)!important}
  html[data-docnil-brand="active"] body :is(.section-top,.sectionhead,.section-heading,.dn-section-heading,.dn-home-section-heading){border-color:var(--dn-brand-steel)!important}

  html[data-docnil-brand="active"] body :is(p,li,dd,label,input,select,textarea){font-family:var(--dn-brand-system)!important}
  html[data-docnil-brand="active"] body :is(h1,h2,h3,h4,.display,.display-title,.hero-title){font-family:var(--dn-brand-display)!important;font-weight:800!important;font-stretch:condensed!important;text-transform:uppercase!important;letter-spacing:-.015em!important}
  html[data-docnil-brand="active"] body :is(h1,h2,h3,h4,.display,.display-title,.hero-title) :is(em,strong,span){font-family:inherit!important;font-weight:inherit!important;font-style:normal!important}
  html[data-docnil-brand="active"] body :is(.mono,.eyebrow,.micro-label,.section-label,.section-index,.service-code,.page-kicker,.section-code,.dn-kicker,.dn-card-number,.hb-signature,.metadata,.readout,.status-label,.stat-label,dt){font-family:var(--dn-brand-machine)!important;font-weight:400!important;letter-spacing:.065em!important;text-transform:uppercase!important}
  /* Solid, precise controls. Their existing dimensions and motion are retained. */
  html[data-docnil-brand="active"] body :is(button:not(.home-game-target,.wp-screen,.wp-case-hero-screen,.wp-hero-screen),a.btn,a.button,a.dn-button,a.hb-button,a.wp-button,a.calc-button,a.detail-button,a.form-submit,a.svs-project,a.bc-project-link,a.company-cinema-visit,a.nav-contact,a.hb-nav-cta,a.case-action,a.header-cta,a.nav-quote,a[role="button"],[data-slot="button"],input[type="submit"],input[type="button"],input[type="reset"]){
   font-family:var(--dn-brand-system)!important;border-radius:0!important;border-style:solid!important;border-color:var(--dn-brand-steel)!important;background-color:var(--dn-brand-graphite)!important;background-image:var(--dn-brand-grain)!important;background-size:192px 192px!important;color:var(--dn-brand-paper)!important;box-shadow:inset 0 1px 0 #EBEBE81A,inset 0 -1px 0 #080808!important;text-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important
  }
  @media(hover:hover){
   html[data-docnil-brand="active"] body :is(button:not(.home-game-target,.wp-screen,.wp-case-hero-screen,.wp-hero-screen),a.btn,a.button,a.dn-button,a.hb-button,a.wp-button,a.calc-button,a.detail-button,a[role="button"]):not(:disabled,[aria-disabled="true"]):hover{border-color:var(--dn-brand-signal)!important}
  }
  /* These pseudo-elements are the documented DN Creative glass sheen layer.
     Retain generated content, arrows and transforms; remove only its paint. */
  html[data-docnil-brand="active"] body.signal-system :is(button,a.detail-button,a.form-submit,a.svs-project,a.bc-project-link,a.company-cinema-visit,a[role="button"])::before{background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  html[data-docnil-brand="active"] body :is(.btn.light,.button-light,.calc-button-light,.btn-outline,.button-outline,.dn-button-outline){background-color:var(--dn-brand-paper)!important;background-image:var(--dn-brand-paper-grain)!important;color:var(--dn-brand-carbon)!important;border-color:var(--dn-brand-steel)!important}
  html[data-docnil-brand="active"] body :is(button[aria-pressed="true"],button[aria-selected="true"],[role="tab"][aria-selected="true"],.filter.selected,.filter.active,a[aria-current="page"],button[type="submit"],input[type="submit"],a.nav-contact,a.hb-nav-cta,a.header-cta,a.nav-quote,.button-signal,.dn-button-orange){background-color:var(--dn-brand-signal)!important;background-image:var(--dn-brand-paper-grain)!important;color:var(--dn-brand-carbon)!important;border-color:var(--dn-brand-signal)!important;box-shadow:none!important}
  html[data-docnil-brand="active"] body :is(.filter,.pill,.tag,[role="tab"],.card,.service-card,.project-card,.case-card,.panel,.dashboard-panel,fieldset){border-radius:0!important;border-color:var(--dn-brand-steel)!important}
  html[data-docnil-brand="active"] body :is(.filter,.pill,.tag,[role="tab"],fieldset){box-shadow:none!important}
  /* Preserve each page's light/dark section roles; unify only the site chrome. */
  html[data-docnil-brand="active"] body :is(.site-header,.dn-header,.hb-header,.header,.inkwell-site-nav,.site-footer,.dn-footer,.hb-footer,.footer){background-color:var(--dn-brand-carbon)!important;background-image:var(--dn-brand-grain)!important;color:var(--dn-brand-paper)!important;border-color:var(--dn-brand-steel)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  html[data-docnil-brand="active"] body :is(.site-header,.dn-header,.hb-header,.header,.inkwell-site-nav,.site-footer,.dn-footer,.hb-footer,.footer) :is(a:not(.btn,.button,.dn-button,.hb-button,.wp-button,.calc-button,.detail-button,.form-submit,.svs-project,.bc-project-link,.company-cinema-visit,.nav-contact,.hb-nav-cta,.header-cta,.nav-quote,[role="button"],[aria-current="page"]),small){color:var(--dn-brand-paper)!important}
  html[data-docnil-brand="active"] body :is(input:not([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="submit"],[type="button"],[type="reset"]),textarea,select){background-color:var(--dn-brand-paper)!important;background-image:var(--dn-brand-paper-grain)!important;color:var(--dn-brand-carbon)!important;border-color:var(--dn-brand-steel)!important;border-radius:0!important;box-shadow:none!important}
  html[data-docnil-brand="active"] body :is(input,textarea)::placeholder{color:var(--dn-brand-graphite)!important}
  html[data-docnil-brand="active"] body :is(input[type="checkbox"],input[type="radio"],input[type="range"]){accent-color:var(--dn-brand-signal)!important}
  html[data-docnil-brand="active"] body :is(hr,.divider,.rule,.section-rule){border-color:var(--dn-brand-steel)!important}
  html[data-docnil-brand="active"] body :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline-color:var(--dn-brand-signal)!important}
  html[data-docnil-brand="active"] ::selection{background-color:var(--dn-brand-signal)!important;color:var(--dn-brand-carbon)!important}
  html[data-docnil-brand="active"] [data-docnil-surface="carbon"]{background-color:var(--dn-brand-carbon)!important;background-image:var(--dn-brand-grain)!important;color:var(--dn-brand-paper)!important}
  html[data-docnil-brand="active"] [data-docnil-surface="graphite"]{background-color:var(--dn-brand-graphite)!important;background-image:var(--dn-brand-grain)!important;color:var(--dn-brand-paper)!important}
  html[data-docnil-brand="active"] [data-docnil-surface="paper"]{background-color:var(--dn-brand-paper)!important;background-image:var(--dn-brand-paper-grain)!important;color:var(--dn-brand-carbon)!important}
 }
}
