/* Shared finishing layer. Service-specific layouts remain in their family files. */
#main[data-dn-sitewide] { --dn-cream:#f5f2e9; --dn-sage:#e7eee8; --dn-navy:#0b1d3a; --dn-teal:#00b2a9; }
#main[data-dn-sitewide] .service-brand-hero[data-dn-hero-badge] { overflow:visible; }
#main[data-dn-sitewide] .dn-discovery-badge { position:absolute; z-index:5; right:5%; top:calc(55% - 77px); width:208px; padding:11px 14px; border:1px solid #ffffff26; border-left:3px solid #00b2a9; border-radius:7px; background:#0b1d3a!important; color:#fffdf7; box-shadow:0 8px 20px #0b1d3a22; transform:rotate(-3deg); }
#main[data-dn-sitewide] .dn-discovery-badge>p { margin:0 0 6px; color:#a3e0da; font:750 9px/1.4 Inter,Arial,sans-serif; letter-spacing:.015em; }
.dn-discovery-stage { position:relative; height:34px; }
.dn-discovery-item { position:absolute; inset:0; display:flex; align-items:center; gap:9px; opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .18s,transform .18s,visibility .18s; }
.dn-discovery-item.is-active { opacity:1; visibility:visible; transform:none; }
.dn-discovery-item strong { color:#fffdf7; font:800 16px/1.2 Inter,Arial,sans-serif; letter-spacing:-.025em; }
.dn-discovery-icon { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; padding:5px; background:#fffdf7; border-radius:7px; }
.dn-discovery-icon img { width:24px; height:24px; object-fit:contain; display:block; }
/* Exactly70% of the previous desktop strip frame; preserve logo proportions and colours. */
#main[data-dn-sitewide] .client-logo-section { --logo-width:126px; --logo-gap:29.4px; padding-block:23px; }
#main[data-dn-sitewide] .client-logo-section .client-logo-badge { height:71.4px; padding:7px; background:transparent; border:0; }
.inner-page #main[data-dn-sitewide] .client-logo-section { --logo-width:147px; --logo-gap:19.6px; padding-block:18px; background:#fffdf8; }
.inner-page #main[data-dn-sitewide] .client-logo-section .client-logo-badge { width:147px; height:60.2px; padding:5.6px; }
#main[data-dn-sitewide] .client-logo-section .client-logo-group>li { display:grid; align-items:center; justify-items:center; }
#main[data-dn-sitewide] .client-logo-section .client-logo-badge img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
#main[data-dn-sitewide] .client-logo-section .client-logo-heading { margin-bottom:8px; }
#main[data-dn-sitewide] .client-logo-section .client-logo-name { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); margin:0; }
/* Chapter backgrounds. Navy/teal chapters use an explicit heading/intro colour. */
#main[data-dn-sitewide] section[data-dn-surface="cream"] { background:#f5f2e9!important; color:#0b1d3a; }
#main[data-dn-sitewide] section[data-dn-surface="sage"] { background:#e7eee8!important; color:#0b1d3a; }
#main[data-dn-sitewide] section[data-dn-surface="white"] { background:#fffdf8!important; color:#0b1d3a; }
#main[data-dn-sitewide] section[data-dn-surface="teal"] { background:#00b2a9!important; color:#0b1d3a; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] { background:#0b1d3a!important; color:#fffdf7; --muted:#c9d7db; --line:#ffffff35; }
#main[data-dn-sitewide] section[data-dn-surface] .dn-section-opening>:is(h2,.eyebrow,.dn-section-intro) { color:inherit; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] .dn-section-opening { color:#fffdf7; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] .dn-section-opening>.eyebrow { color:#80d9d0; }
#main[data-dn-sitewide] section[data-dn-surface="teal"] .dn-section-opening { color:#0b1d3a; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] .dn-section-glyph i { background:#80d9d0; }
#main[data-dn-sitewide] section[data-dn-surface="teal"] .dn-section-glyph i { background:#0b1d3a; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] :is(.brand-prose,.brand-plan-paper,.brand-plan-paper h3,.ai-service-process,.site-card,.cs-card,.dn-technology-marquee) { color:#0b1d3a; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] .brand-prose { color:#e4ebe9; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] :is(.ai-service-process,.brand-plan-paper) :is(p,h3,li) { color:#0b1d3a; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] :is(.faq-list,.site-faq,.ai-story-faq) :is(summary,p) { color:#fffdf7; }
#main[data-dn-sitewide] section[data-dn-surface="navy"] :is(.site-prose,.brand-technical-grid)>:is(p,ul) { color:#d8e5e2; }
#main[data-dn-sitewide] section[data-dn-surface="teal"] :is(.ai-why-points h3,.ai-why-points p,.ai-story-people strong,.ai-story-people span) { color:#0b1d3a; }
#main#main[data-dn-sitewide] #why-digital-neighbour[data-dn-surface="teal"] p { color:#0b1d3a; }
#main#main[data-dn-sitewide] .ai-evidence-kind { color:#006d66; }
#main#main[data-dn-sitewide] section[data-dn-surface="navy"] .brand-prose p { color:#e4ebe9; }
#main#main[data-dn-sitewide] section[data-dn-surface="navy"] :is(.technical-detail,.brand-plan-paper,.cp-window,.cp-scope-item,.package-card) .brand-prose p { color:#0b1d3a; }
#main#main[data-dn-sitewide] section[data-dn-surface]:not([data-dn-surface="navy"]) .dn-section-opening { color:#0b1d3a; }
#main#main[data-dn-sitewide] section[data-dn-surface] .dn-section-opening>:is(h2,.eyebrow,.dn-section-intro) { color:inherit; }
#main#main[data-dn-sitewide] .results-evidence-note { color:#0b1d3a; }
#main#main[data-dn-sitewide] .sup-search-outcome .ai-evolution-outcome>strong { color:#006d66; }
/* Real cover finish for existing notebooks; no duplicated pitch section. */
#main[data-dn-sitewide] .service-notebook[data-dn-book-cover] { position:relative; border-radius:3px 10px 10px 3px; border-left:12px solid #06182c; background:#0b1d3a; box-shadow:inset 5px 0 12px #0004,7px 5px 0 #e5dfd0,9px 5px 0 #d5cfbf,0 18px 30px #0b1d3a20; color:#fffdf7; }
#main[data-dn-sitewide] .service-notebook[data-dn-book-cover]>.notebook-view { max-height:310px; object-fit:cover; object-position:50% 65%; border-radius:90px 90px 3px 3px; }
#main[data-dn-sitewide] .service-notebook[data-dn-book-cover]>:is(strong,p,small) { color:#fffdf7; }
.dn-fieldbook { position:relative; width:174px; max-width:100%; display:grid; gap:10px; padding:17px 15px 15px 20px; border-left:8px solid #05182d; border-radius:2px 7px 7px 2px; color:#fffdf7; background:#0b1d3a; box-shadow:5px 3px 0 #e7dfcc,7px 3px 0 #d3cbb7,0 12px 24px #0b1d3a24; }
.dn-fieldbook-logo { width:100px; height:44px; object-fit:contain; object-position:left center; }
.dn-fieldbook strong { color:#fffdf7; font:850 24px/1.04 Inter,Arial,sans-serif; letter-spacing:-.04em; }
.dn-fieldbook-view { width:100%; height:140px; object-fit:cover; object-position:50% 75%; border-radius:65px 65px 2px 2px; }
.dn-fieldbook>span { color:#91ded8; font-size:10px; font-weight:750; }
#main [data-dn-book-finale]>.container { position:relative; padding-right:235px; min-height:300px; display:flex; flex-direction:column; justify-content:center; }
#main [data-dn-book-finale]>.container>.dn-fieldbook { position:absolute; right:28px; top:50%; transform:translateY(-50%); }
#main :is(.cs-cta,.cs-index-note)[data-dn-book-finale] { position:relative; display:block; min-height:300px; padding-right:240px; }
#main :is(.cs-cta,.cs-index-note)[data-dn-book-finale]>.dn-fieldbook { position:absolute; top:50%; right:30px; transform:translateY(-50%); }
/* All chosen platforms are available together; the decorative repeat is not announced. */
.dn-technology-section { padding-block:48px; }
.dn-technology-section .dn-section-opening { margin-bottom:24px; }
.dn-technology-marquee { overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); padding-block:12px; }
.dn-technology-track { display:flex; width:max-content; }
.dn-technology-group { display:flex; align-items:center; gap:44px; flex-shrink:0; list-style:none; padding:0 44px 0 0; margin:0; }
.dn-technology-group>li { flex:0 0 155px; }
.dn-technology-group>li>:is(a,span) { display:flex; align-items:center; justify-content:center; gap:10px; min-height:54px; color:#0b1d3a; text-decoration:none; font:750 14px/1.4 Inter,Arial,sans-serif; }
.dn-technology-group img { width:32px; height:32px; flex-shrink:0; display:block; object-fit:contain; }
.dn-technology-group a:focus-visible { outline:3px solid #00867b; outline-offset:5px; }
.dn-technology-marquee.is-playing .dn-technology-track { animation:dn-technology-flow 35s linear infinite; }
.dn-technology-marquee:is(:hover,:focus-within) .dn-technology-track { animation-play-state:paused; }
.dn-technology-marquee:not(.is-ready) { overflow:visible; mask-image:none; }
.dn-technology-marquee:not(.is-ready) .dn-technology-track { width:100%; }
.dn-technology-marquee:not(.is-ready) .dn-technology-group { flex-wrap:wrap; justify-content:center; width:100%; padding:0; gap:12px 24px; }
.dn-technology-marquee:not(.is-ready) [aria-hidden] { display:none; }
@keyframes dn-technology-flow { to { transform:translateX(-50%); } }
@media(max-width:900px) {
 #main[data-dn-sitewide] .dn-discovery-badge { top:calc(54% - 73px); width:190px; right:5%; }
}
@media(max-width:700px) {
 #main[data-dn-sitewide] .service-brand-hero[data-dn-hero-badge] { margin-bottom:108px; }
 #main[data-dn-sitewide] .dn-discovery-badge { top:calc(100% + 32px); left:0; right:0; width:min(100%,310px); margin-inline:auto; transform:none; display:grid; grid-template-columns:minmax(0,1fr) 135px; align-items:center; gap:10px; padding:11px 13px; }
 #main[data-dn-sitewide] .dn-discovery-badge>p { font-size:10px; margin:0; }
 .dn-discovery-item strong { font-size:14px; }
 .inner-page #main[data-dn-sitewide] .client-logo-section { --logo-width:133px; --logo-gap:15.4px; }
 .inner-page #main[data-dn-sitewide] .client-logo-section .client-logo-badge { width:133px; height:56px; padding:5.6px; }
 #main[data-dn-sitewide] .client-logo-section { --logo-width:105px; --logo-gap:21px; }
 #main[data-dn-sitewide] .client-logo-section .client-logo-badge { height:60.2px; padding:5.6px; }
 .dn-technology-section { padding-block:34px; }
 .dn-technology-group { gap:24px; padding-right:24px; }
 .dn-technology-group>li { flex-basis:140px; }
 .dn-technology-group>li>:is(a,span) { font-size:12px; }
 .dn-technology-group img { width:28px; height:28px; }
 #main [data-dn-book-finale]>.container { padding-right:22px; min-height:0; display:block; }
 #main [data-dn-book-finale]>.container>.dn-fieldbook { position:relative; inset:auto; transform:none; float:right; width:110px; padding:10px 8px 10px 12px; margin:5px 0 16px 20px; gap:7px; border-left-width:6px; }
 #main [data-dn-book-finale] .dn-fieldbook strong { font-size:19px; }
 #main [data-dn-book-finale] .dn-fieldbook-logo { width:78px; height:35px; }
 #main [data-dn-book-finale] .dn-fieldbook-view { height:92px; }
 #main :is(.cs-cta,.cs-index-note)[data-dn-book-finale] { min-height:0; padding:28px 24px; }
 #main :is(.cs-cta,.cs-index-note)[data-dn-book-finale]>.dn-fieldbook { position:relative; inset:auto; transform:none; float:right; width:110px; padding:10px 8px 10px 12px; margin:5px 0 16px 20px; gap:7px; border-left-width:6px; }
}
@media(prefers-reduced-motion:reduce),print {
 .dn-discovery-item { transition:none; }
 .dn-technology-marquee { overflow:visible; mask-image:none; }
 .dn-technology-marquee .dn-technology-track { width:100%; animation:none; transform:none; }
 .dn-technology-marquee .dn-technology-group { flex-wrap:wrap; justify-content:center; width:100%; gap:12px 24px; padding:0; }
 .dn-technology-marquee [aria-hidden] { display:none; }
}
