/* 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:#161718!important;--dn-brand-steel:#8C8F8F!important;--dn-brand-paper:#E7E6E1!important;--dn-brand-signal:#F05A28!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 #E7E6E11A,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}
 }
}
/* Rev.06 reference composition. All paint and layout are opt-in. */
.dn-signal-board[hidden]{display:none!important}
@layer dnSignalBrand{
html[data-docnil-brand="active"]{--dn-brand-carbon:#080808!important;--dn-brand-graphite:#161718!important;--dn-brand-paper:#E7E6E1!important;--dn-brand-signal:#F05A28!important}
html[data-docnil-brand="active"] [data-docnil-original-hero]{display:none!important}
html[data-docnil-brand="active"] body .dn-signal-board{
 display:block;position:relative;isolation:isolate;box-sizing:border-box;width:calc(100% - 48px);max-width:1560px;height:auto;min-height:0;margin:24px auto 64px;padding:0;overflow:clip;background:var(--dn-brand-paper);background-image:var(--dn-brand-paper-grain);color:var(--dn-brand-carbon);border:1px solid #080808;box-shadow:0 20px 70px #08080818;text-align:left;transform:none;opacity:1;visibility:visible;
}
html[data-docnil-brand="active"] body .dn-signal-board *{box-sizing:border-box}
html[data-docnil-brand="active"] body .dn-signal-board :is(p,h1,strong,figure){margin:0}
html[data-docnil-brand="active"] body .dn-signal-board a{color:inherit;text-decoration:none}
html[data-docnil-brand="active"] body .dn-signal-board a:focus-visible{outline:3px solid #F05A28;outline-offset:-4px}
html[data-docnil-brand="active"] body .dn-signal-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 18px;background:#080808;color:#E7E6E1;font:11px/1.5 var(--dn-brand-machine);letter-spacing:.04em}
html[data-docnil-brand="active"] body .dn-signal-topline>a{font:800 28px/.85 var(--dn-brand-display);letter-spacing:-.02em}
html[data-docnil-brand="active"] body .dn-signal-state{display:flex;gap:12px;align-items:center}
html[data-docnil-brand="active"] body .dn-signal-state i{width:10px;height:10px;background:#F05A28}
html[data-docnil-brand="active"] body .dn-signal-spread{display:grid;grid-template-columns:7fr 5fr;border-bottom:1px solid #080808}
html[data-docnil-brand="active"] body .dn-signal-copy{min-width:0;padding:clamp(24px,3.6vw,60px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background-image:linear-gradient(#0808080b 1px,transparent 1px),linear-gradient(90deg,#0808080b 1px,transparent 1px);background-size:72px 72px}
html[data-docnil-brand="active"] body .dn-signal-eyebrow{font:11px/1.6 var(--dn-brand-machine)!important;letter-spacing:.045em!important;text-transform:uppercase;max-width:100%}
html[data-docnil-brand="active"] body .dn-signal-copy h1{font:800 clamp(74px,9vw,148px)/.82 var(--dn-brand-display)!important;letter-spacing:-.035em!important;text-transform:uppercase!important;color:#080808!important;margin:28px 0!important;max-width:100%;overflow-wrap:normal}
html[data-docnil-brand="active"] body .dn-signal-copy h1>span{display:block}
html[data-docnil-brand="active"] body .dn-signal-copy h1 .dn-signal-period{display:inline;color:#F05A28}
html[data-docnil-brand="active"] body .dn-signal-description{font:400 clamp(16px,1.35vw,20px)/1.55 var(--dn-brand-system)!important;max-width:32em;color:#303232!important;letter-spacing:0!important}
html[data-docnil-brand="active"] body .dn-signal-actions{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px;width:100%}
html[data-docnil-brand="active"] body .dn-signal-actions>a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:14px 18px;border:1px solid #080808;background:#E7E6E1;color:#080808;font:600 12px/1.4 var(--dn-brand-system);border-radius:0}
html[data-docnil-brand="active"] body .dn-signal-actions>a.dn-signal-primary{background:#F05A28;border-color:#F05A28;color:#080808}
html[data-docnil-brand="active"] body .dn-signal-actions>a:hover{background:#080808;color:#E7E6E1}
html[data-docnil-brand="active"] body .dn-signal-pillars{display:flex;flex-wrap:wrap;gap:12px;width:100%;padding-top:14px;border-top:1px solid #080808;font:400 11px/1.5 var(--dn-brand-machine)}
html[data-docnil-brand="active"] body .dn-signal-pillars span+span:before{content:'/';padding-right:12px;color:#777}
html[data-docnil-brand="active"] body .dn-signal-hero-art{position:relative;display:flex;flex-direction:column;min-width:0;border-left:1px solid #080808;background:#161718;color:#E7E6E1;overflow:hidden}
html[data-docnil-brand="active"] body .dn-signal-hero-art>img{display:block;width:100%;height:100%;min-height:490px;max-height:650px;object-fit:cover;object-position:center;flex:1;filter:none;mix-blend-mode:normal;opacity:1}
html[data-docnil-brand="active"] body .dn-signal-hero-art>figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#161718;color:#E7E6E1;font:10px/1.5 var(--dn-brand-machine);border-top:1px solid #8C8F8F}
html[data-docnil-brand="active"] body .dn-signal-hero-art>figcaption a{text-decoration:underline;text-underline-offset:3px}
html[data-docnil-brand="active"] body .dn-signal-routing{display:grid;grid-template-columns:1fr 2fr}
html[data-docnil-brand="active"] body .dn-signal-directory-title{padding:28px;border-right:1px solid #080808;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
html[data-docnil-brand="active"] body .dn-signal-directory-title>strong{display:flex;align-items:center;gap:16px;font:800 86px/.8 var(--dn-brand-display);letter-spacing:-.04em}
html[data-docnil-brand="active"] body .dn-signal-directory-title>strong>span{font:800 27px/.95 var(--dn-brand-display);letter-spacing:-.01em}
html[data-docnil-brand="active"] body .dn-signal-directory-title>p{font:14px/1.5 var(--dn-brand-system)!important;color:#454747!important}
html[data-docnil-brand="active"] body .dn-signal-directory-title>a{font:11px/1.5 var(--dn-brand-machine);text-decoration:underline;text-underline-offset:4px}
html[data-docnil-brand="active"] body .dn-signal-routing>nav{display:grid;grid-template-columns:1fr 1fr}
html[data-docnil-brand="active"] body .dn-signal-routing>nav>a{display:grid;grid-template-columns:22px 1fr 16px;gap:12px;align-items:center;padding:20px;min-height:94px;border-bottom:1px solid #08080855;border-right:1px solid #08080855;background:transparent;color:#080808!important;text-transform:none;letter-spacing:0}
html[data-docnil-brand="active"] body .dn-signal-routing>nav>a:nth-last-child(-n+2){border-bottom:0}
html[data-docnil-brand="active"] body .dn-signal-routing>nav>a:nth-child(even){border-right:0}
html[data-docnil-brand="active"] body .dn-signal-routing>nav>a:hover{background:#080808;color:#E7E6E1!important}
html[data-docnil-brand="active"] body .dn-signal-index{font:10px/1.5 var(--dn-brand-machine)}
html[data-docnil-brand="active"] body .dn-signal-routing b{display:block;font:800 clamp(20px,2vw,30px)/1.05 var(--dn-brand-display);text-transform:uppercase;letter-spacing:0}
html[data-docnil-brand="active"] body .dn-signal-routing small{display:block;margin-top:6px;font:11px/1.45 var(--dn-brand-system);color:inherit!important}
html[data-docnil-brand="active"] body .dn-signal-applications{display:block;border-top:1px solid #080808;background:#080808;color:#E7E6E1;padding:0}
html[data-docnil-brand="active"] body .dn-signal-applications>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;min-height:64px;padding:20px 24px;list-style:none;font:11px/1.6 var(--dn-brand-machine)}
html[data-docnil-brand="active"] body .dn-signal-applications>summary::-webkit-details-marker{display:none}
html[data-docnil-brand="active"] body .dn-signal-art-note{padding:0 24px 22px;font:15px/1.6 var(--dn-brand-system)!important;max-width:48em;color:#E7E6E1!important}
html[data-docnil-brand="active"] body .dn-signal-art-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#8C8F8F;border-top:1px solid #8C8F8F}
html[data-docnil-brand="active"] body .dn-signal-art-gallery>a{display:block;min-width:0;background:#161718;color:#E7E6E1}
html[data-docnil-brand="active"] body .dn-signal-art-gallery img{display:block;width:100%;height:300px;object-fit:contain;background:#080808;opacity:1;filter:none}
html[data-docnil-brand="active"] body .dn-signal-art-gallery figcaption{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;font:10px/1.5 var(--dn-brand-machine)}
html[data-docnil-brand="active"] body .dn-signal-bottomline{display:flex;justify-content:space-between;gap:20px;padding:10px 18px;border-top:1px solid #080808;font:9px/1.5 var(--dn-brand-machine)}
html[data-docnil-brand="active"] body.is-home #atmosphere-canvas{display:none}
@media(max-width:900px){
 html[data-docnil-brand="active"] body .dn-signal-board{width:calc(100% - 24px);margin-top:12px}
 html[data-docnil-brand="active"] body .dn-signal-copy h1{font-size:clamp(68px,10.5vw,104px)!important}
 html[data-docnil-brand="active"] body .dn-signal-spread{grid-template-columns:6fr 5fr}
 html[data-docnil-brand="active"] body .dn-signal-hero-art>img{min-height:440px;max-height:580px}
 html[data-docnil-brand="active"] body .dn-signal-routing{grid-template-columns:1fr}
 html[data-docnil-brand="active"] body .dn-signal-directory-title{border-right:0;border-bottom:1px solid #080808;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px}
 html[data-docnil-brand="active"] body .dn-signal-directory-title>.dn-signal-eyebrow{grid-column:1/-1}
 html[data-docnil-brand="active"] body .dn-signal-directory-title>a{grid-column:2}
}
@media(max-width:600px){
 html[data-docnil-brand="active"] body .dn-signal-topline{padding:12px;gap:12px;font-size:9px;flex-wrap:wrap}
 html[data-docnil-brand="active"] body .dn-signal-topline>a{font-size:25px}
 html[data-docnil-brand="active"] body .dn-signal-state{display:none}
 html[data-docnil-brand="active"] body .dn-signal-spread{grid-template-columns:1fr}
 html[data-docnil-brand="active"] body .dn-signal-copy{padding:28px 20px}
 html[data-docnil-brand="active"] body .dn-signal-copy h1{font-size:clamp(66px,18vw,106px)!important;line-height:.86!important;margin:24px 0!important}
 html[data-docnil-brand="active"] body .dn-signal-description{font-size:16px!important}
 html[data-docnil-brand="active"] body .dn-signal-actions{flex-direction:column;margin:24px 0}
 html[data-docnil-brand="active"] body .dn-signal-hero-art{border-left:0;border-top:1px solid #080808}
 html[data-docnil-brand="active"] body .dn-signal-hero-art>img{min-height:0;height:auto;max-height:450px;aspect-ratio:1/1;object-fit:cover}
 html[data-docnil-brand="active"] body .dn-signal-directory-title{padding:24px 20px;gap:12px}
 html[data-docnil-brand="active"] body .dn-signal-directory-title>strong{font-size:68px;gap:10px}
 html[data-docnil-brand="active"] body .dn-signal-directory-title>strong>span{font-size:21px}
 html[data-docnil-brand="active"] body .dn-signal-directory-title>p{font-size:12px!important}
 html[data-docnil-brand="active"] body .dn-signal-routing>nav{grid-template-columns:1fr}
 html[data-docnil-brand="active"] body .dn-signal-routing>nav>a{min-height:78px;padding:16px 20px;border-right:0;border-bottom:1px solid #08080855!important}
 html[data-docnil-brand="active"] body .dn-signal-routing>nav>a:last-child{border-bottom:0!important}
 html[data-docnil-brand="active"] body .dn-signal-routing b{font-size:27px}
 html[data-docnil-brand="active"] body .dn-signal-art-gallery{grid-template-columns:1fr}
 html[data-docnil-brand="active"] body .dn-signal-art-gallery img{height:340px}
 html[data-docnil-brand="active"] body .dn-signal-applications>summary{font-size:10px;padding:18px 16px;gap:12px}
 html[data-docnil-brand="active"] body .dn-signal-bottomline{font-size:8px;padding:12px;flex-direction:column;gap:5px}
}
@media(forced-colors:active){html[data-docnil-brand="active"] body .dn-signal-board{background:Canvas;color:CanvasText}}
@media(prefers-reduced-motion:reduce){html[data-docnil-brand="active"] body .dn-signal-board *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}
