/* Production components share the existing dark, cyan and Manrope direction. */
:root{--production-gutter:clamp(22px,5vw,80px);--production-line:#273743}
.skip-link{position:fixed;left:-9999px;top:10px;z-index:1000;background:#fff;color:#071b2b;padding:12px}.skip-link:focus{left:10px}.noscript-note{padding:24px;color:#d8f3f8}.noscript-note a{text-decoration:underline}
.nav .nav-current{color:#79ddea!important}
.home-services .section-heading{display:block;margin-bottom:32px;text-align:left}
.home-services .section-heading h2{margin-bottom:0}
.home-services .section-heading>p{max-width:650px;margin:22px 0 0}
.home-services>h2{margin-bottom:0}
.home-services>h2+p{max-width:650px;margin:22px 0 32px;color:#bacbd7;font-size:16px;line-height:1.65}
.method-examples,.insight-hub,.service-overview,.scope-note{padding:64px var(--production-gutter)}
.method-examples h2,.insight-hub h2,.service-overview h2,.production-cta h2{font-size:clamp(32px,3.4vw,52px);line-height:1.12;letter-spacing:-.035em;max-width:850px;margin:0 0 20px}
.example-disclosure{max-width:800px;color:#b9cbd7;font-size:16px;line-height:1.65;margin:0 0 32px;border-left:3px solid #55dcef;padding-left:18px}
.bp-visual{position:relative}.image-caption{position:absolute;inset:auto 18px 18px;background:#030609e8;border-left:2px solid #55dcef;padding:10px 14px;color:#d8e4ec;font-size:14px;line-height:1.5;max-width:520px}
.method-grid,.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.method-card,.editorial-grid>article{background:#0d141d;border:1px solid var(--production-line);padding:30px;display:flex;flex-direction:column;min-width:0}
.method-card-top{display:flex;gap:12px;align-items:center;color:#55dcef;font-size:14px;line-height:1.5;margin-bottom:22px}
.method-card-top svg{width:30px;height:30px;flex:none}
.method-card h3,.editorial-grid h3{font-size:26px;line-height:1.25;letter-spacing:-.025em;margin:0 0 18px;color:#f3f7fa}
.method-card h4,.deliverable-label{font-size:14px;line-height:1.5;margin:18px 0 6px;color:#55dcef}
.method-card p,.editorial-grid p,.scope-note p,.service-overview p{font-size:16px;line-height:1.65;color:#bacbd7;margin:0 0 12px;max-width:800px}
.method-card>.text-link{margin-top:auto;padding-top:24px;min-height:44px}
.method-card details{margin-bottom:18px}
.method-card summary,.ai-capability summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:16px;font-weight:700;color:#d8f3f8;line-height:1.5}
.method-card summary::marker,.ai-capability summary::marker{color:#55dcef}
.method-card details[open]{border-top:1px solid #273743;margin-top:14px}
.page-index{display:flex;flex-wrap:wrap;gap:10px 24px;padding:24px var(--production-gutter);background:#091018;border-bottom:1px solid #273743}
.page-index a{font-size:16px;min-height:44px;display:flex;align-items:center;color:#79ddea;text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.service-overview{padding-bottom:0}.service-overview+.service-grid{padding-top:28px}
#main .service-symbol svg,#main .concept-grid svg{color:#55dcef}
.service-card{min-height:0!important;display:flex;flex-direction:column}.service-card .text-link{margin-top:auto!important;padding-top:22px;min-height:44px}
.ai-intro-split{grid-template-columns:1fr!important}.ai-intro-text{max-width:850px}.ai-text-items{gap:0!important}
.ai-capability{border-bottom:1px solid #273743;padding:4px 0 10px;min-width:0}.ai-capability p{font-size:16px;line-height:1.65;color:#bacbd7}.ai-capability .text-link{display:inline-flex;padding:10px 0;min-height:44px}
/* Quiet separators; cyan identifies actions rather than a permanent selection. */
#main .ai-text-group{border-top:1px solid var(--production-line);border-image:none}
#main .ai-text-items{column-gap:28px!important;row-gap:0!important}
#main .ai-capability:last-child:nth-child(odd){grid-column:1 / -1}
body[data-page="insights"] #main .editorial-grid>article{border:1px solid var(--production-line);border-image:none;box-shadow:none}
@media(hover:hover){body[data-page="insights"] #main .editorial-grid>article:hover{border-color:#55dcef}}
body[data-page="insights"] #main .editorial-grid>article:focus-within{border-color:#55dcef}
.scope-note{padding-top:32px;max-width:1100px}.scope-note h3{font-size:26px;line-height:1.3}
.industry-scope{margin:12px var(--production-gutter) 24px;max-width:900px;font-size:16px;color:#bacbd7}
.industry-grid.expanded{padding-top:28px}.industry-grid .industry-card{min-height:0!important;display:flex;flex-direction:column}.industry-card>.industry-contact{margin-top:auto!important;padding-top:22px!important}
.industry-tags{display:flex!important;flex-wrap:wrap!important;align-content:flex-start}.industry-tags span{background:transparent!important;border:0!important;border-left:2px solid #55dcef!important;padding:2px 9px!important;font-weight:400!important;color:#c1d3de!important;font-size:14px!important}
.about-production{background-image:none!important;background:#070d13!important}.about-production::before{display:none}.about-production>p:last-child{max-width:850px}.strategy-note{padding:32px;border-left:3px solid #55dcef;background:#0d141d;margin-top:32px}.strategy-note h3{font-size:25px;line-height:1.3}.strategy-note p{font-size:16px;line-height:1.65;max-width:850px;color:#bacbd7}
.production-cta{padding:64px var(--production-gutter);background:#091018}.production-cta p{max-width:700px;color:#bacbd7;font-size:16px;margin-bottom:26px}
.editorial-grid h3 a:hover{color:#79ddea}.editorial-grid .text-link{margin-top:auto;padding-top:20px;min-height:44px}.article-meta{font-size:14px!important;color:#96aebb!important;line-height:1.6}
.editorial-article{max-width:880px;padding:58px 28px 80px;margin:0 auto}.editorial-article>.eyebrow{margin-top:32px}.editorial-article h1{font-size:clamp(36px,4.8vw,62px);line-height:1.1;letter-spacing:-.04em;margin:12px 0 20px}.editorial-article h2{font-size:28px;line-height:1.25;margin:32px 0 14px}.editorial-article p{font-size:17px;line-height:1.75;color:#c4d4df}.editorial-article .article-intro{font-size:20px}.article-takeaway{padding:26px;margin-top:38px;background:#0d141d;border-left:3px solid #55dcef}.article-takeaway h2{margin-top:0}
.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fact-grid>article{padding:22px;background:#0d141d;border:1px solid #273743;min-width:0}.fact-grid strong{font-size:29px;color:#55dcef;line-height:1.2}.fact-grid p{font-size:16px}.fact-grid a{font-size:14px;color:#79ddea;text-decoration:underline;display:inline-flex;padding:8px 0;min-height:44px}
.inquiry-context{padding:14px 16px;background:#071b25;border-left:3px solid #55dcef;color:#d8f3f8;font-size:16px;overflow-wrap:anywhere;margin:0 0 24px}
.legal-page{max-width:780px}.legal-index{display:flex;flex-wrap:wrap;gap:8px 20px;padding:18px 0;margin:18px 0;border-block:1px solid #273743}.legal-index a{color:#79ddea;text-decoration:underline;font-size:14px;min-height:44px;padding:10px 0}.legal-page a{color:#79ddea;text-decoration:underline;text-underline-offset:4px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #79ddea;outline-offset:5px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #79ddea;outline-offset:2px}
[id]{scroll-margin-top:calc(var(--site-header-height,128px) + 24px)}
@media(max-width:1050px){.method-grid,.editorial-grid{grid-template-columns:1fr}.method-card{padding:28px}.method-card h3{font-size:28px}.method-card>.text-link{margin-top:0}}
@media(max-width:800px){.method-examples,.insight-hub,.service-overview,.scope-note,.production-cta{padding:44px var(--production-gutter)}.service-overview{padding-bottom:0}.ai-text-group{grid-template-columns:1fr!important}.editorial-article{padding:40px 22px 56px}.strategy-note{padding:24px}.fact-grid{grid-template-columns:1fr}.page-index{gap:4px 20px}.industry-scope{margin-top:16px}.industry-card h2{overflow-wrap:anywhere}.contact-form input,.contact-form select,.contact-form textarea{min-width:0;width:100%}.hero-copy{max-width:calc(100% - 44px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.service-reveal{opacity:1!important;transform:none!important}}

/* Shared card feedback with calmer editorial emphasis. */
#main .industry-grid .industry-card{position:relative;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
body[data-page="insights"] #main .editorial-grid>article{position:relative;transition:background-color .2s ease,border-color .2s ease}
.editorial-grid h3 a::after{content:"";position:absolute;inset:0}
.editorial-grid h3 a:focus-visible{outline:none}
body[data-page="insights"] #main .editorial-grid>article:has(a:focus-visible){outline:2px solid #55dcef;outline-offset:4px}
#main .industry-grid .industry-card:focus-within{background:#131b25;border-color:#55dcef;box-shadow:0 0 18px #55dcef12}
body[data-page="insights"] #main .editorial-grid>article:focus-within{background:#111923}
body[data-page="insights"] #main .editorial-grid>article:focus-within h3 a,body[data-page="insights"] #main .editorial-grid>article:focus-within .text-link{color:#79ddea}
@media(hover:hover) and (pointer:fine){
#main .industry-grid .industry-card:hover{background:#131b25;border-color:#55dcef;box-shadow:0 0 18px #55dcef12}
body[data-page="insights"] #main .editorial-grid>article:hover{background:#111923;border-color:#55dcef}
body[data-page="insights"] #main .editorial-grid>article:hover h3 a,body[data-page="insights"] #main .editorial-grid>article:hover .text-link{color:#79ddea}
}
@media(prefers-reduced-motion:reduce){#main .industry-grid .industry-card,body[data-page="insights"] #main .editorial-grid>article{transition:none}}

/* Service cards share cyan feedback without touch hover states. */
#main .service-card{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
#main .service-card::after{background:radial-gradient(220px circle at var(--glow-x,50%) var(--glow-y,50%),#55dcef14,transparent 70%)}
#main .service-card:hover,#main .service-card:focus-within{background:#0c1118;border-color:#283341;box-shadow:0 14px 32px #0006}
#main .service-card:hover::after{opacity:0}
#main .service-card:has(a:focus-visible){background:#131b25;border-color:#55dcef;box-shadow:0 0 18px #55dcef12}
#main .service-card:has(a:focus-visible)::after{opacity:1;background:radial-gradient(220px circle at 50% 50%,#55dcef14,transparent 70%)}
@media(hover:hover) and (pointer:fine){
#main .service-card:hover{background:#131b25;border-color:#55dcef;box-shadow:0 0 18px #55dcef12}
#main .service-card:hover::after{opacity:1}
}
@media(prefers-reduced-motion:reduce){#main .service-card{transition:none}#main .service-card::after{display:none}}

/* Home service links follow the shared cyan interaction. */
#main .home-services .concept-grid .feature{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
#main .home-services .concept-grid .feature::after{background:radial-gradient(220px circle at var(--glow-x,50%) var(--glow-y,50%),#55dcef14,transparent 70%)}
#main .home-services .concept-grid .feature:hover{background:#0d131b;border-color:#283341;box-shadow:none}
#main .home-services .concept-grid .feature:hover::after{opacity:0}
#main .home-services .concept-grid .feature:focus-visible{background:#131b25;border-color:#55dcef;box-shadow:inset 0 0 0 1px #55dcef,0 0 18px #55dcef12}
#main .home-services .concept-grid .feature:focus-visible::after{opacity:1;background:radial-gradient(220px circle at 50% 50%,#55dcef14,transparent 70%)}
#main .method-card .text-link{transition:color .2s ease;text-underline-offset:4px}
#main .method-card .text-link:focus-visible{color:#a5edfa;text-decoration:underline}
@media(hover:hover) and (pointer:fine){
#main .home-services .concept-grid .feature:hover{background:#131b25;border-color:#55dcef;box-shadow:inset 0 0 0 1px #55dcef,0 0 18px #55dcef12}
#main .home-services .concept-grid .feature:hover::after{opacity:1}
#main .method-card .text-link:hover{color:#a5edfa;text-decoration:underline}
}
@media(prefers-reduced-motion:reduce){#main .home-services .concept-grid .feature,#main .method-card .text-link{transition:none}#main .home-services .concept-grid .feature::after{display:none}}

/* Method examples retain separate controls and quiet card feedback. */
#main .method-grid .method-card{transition:background-color .2s ease,border-color .2s ease}
#main .method-grid .method-card:has(:focus-visible){background:#111923;border-color:#55dcef}
@media(hover:hover) and (pointer:fine){#main .method-grid .method-card:hover{background:#111923;border-color:#55dcef}}
@media(prefers-reduced-motion:reduce){#main .method-grid .method-card{transition:none}}

/* The original header logo remains underneath the one-time entry animation. */
.site-header .logo-header{position:relative}
.logo-entry-animation{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;background:#000}
@media(prefers-reduced-motion:reduce){.logo-entry-animation{display:none}}

/* Keep the original static logo on mobile and touch devices. */
@media(max-width:800px),(hover:none),(pointer:coarse){.logo-entry-animation{display:none}}

/* Approved cyan and blue dispersion logo, static on mobile. */
.logo-header,.logo-footer{background-image:url("/assets/dmg-logo-dispersion.webp")}

/* Cyan and blue palette follows the approved dispersion logo. */
:root{--cyan:#55dcef;--blue:#2164bb;--purple:#2164bb;--section-label-cyan:#55dcef;--action-link-cyan:#55dcef;--production-line:#273743;--section-divider:linear-gradient(90deg,transparent,#55dcef,#2164bb,transparent)}
#main .text-link,#main .industry-card>.industry-contact{color:#55dcef}
#main .text-link:hover,#main .industry-card>.industry-contact:hover{color:#a5edfa}
.about-process{background:radial-gradient(ellipse at 75% 40%,#2164bb16,transparent 65%),#05070a}
.process-timeline>li:nth-child(1){--stage:#55dcef}
.process-timeline>li:nth-child(2){--stage:#48c7ef}
.process-timeline>li:nth-child(3){--stage:#65b6ef}
.process-timeline>li:nth-child(4){--stage:#7baaf0}
.process-timeline::before{background:linear-gradient(90deg,#55dcef,#48c7ef,#65b6ef,#7baaf0);box-shadow:0 0 18px #2164bb33}
#main .services-process,#main .ai-overview,#main .ai-text-group,#main .ai-closing-split,#main .ai-engagements,#main .ai-pilot,#main .about-process>#strategy,#main .measure-list>div,#main .effect-steps li,#main .process-grid>div,#main .ai-system>div{border-top:1px solid #273743;border-image:none}
#main .insight-feature{border-bottom:1px solid #273743;border-image:none}
#main .digital-measure{border-block:1px solid #273743;border-image:none}
.footer-legal{border-top-color:#273743}
@media(max-width:900px){.process-timeline::before{background:linear-gradient(#55dcef,#48c7ef,#65b6ef,#7baaf0)}}

/* Home AI introduction: balanced copy and artwork, with the full illustration visible. */
body[data-page="home"] #ai-marketing .ai-intro-split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:clamp(28px,4vw,64px);align-items:center}
body[data-page="home"] #ai-marketing .ai-intro-text{max-width:590px;min-width:0}
body[data-page="home"] #ai-marketing .ai-general-image{width:100%;max-width:630px;max-height:420px;aspect-ratio:3/2;justify-self:center;min-width:0}
body[data-page="home"] #ai-marketing .ai-general-image img{display:block;object-fit:contain}
@media(max-width:900px){
 body[data-page="home"] #ai-marketing .ai-intro-split{grid-template-columns:minmax(0,1fr)!important;gap:26px}
 body[data-page="home"] #ai-marketing .ai-intro-text{max-width:680px}
 body[data-page="home"] #ai-marketing .ai-general-image{max-width:540px;max-height:none}
}

#main .service-symbol-group{display:flex;align-items:center;gap:18px;width:auto}
#main .service-symbol-group svg{flex-shrink:0}

/* Practical preparation note beneath the marketing process. */
#main .about-process .strategy-note{padding:26px 30px;margin-top:32px;min-height:0;border:0;border-left:3px solid var(--cyan);background:#0d141d}
#main .about-process .strategy-note h3{margin:0 0 12px}
#main .about-process .strategy-note p{margin:0;max-width:900px}
@media(max-width:600px){#main .about-process .strategy-note{padding:22px 20px}}

/* Sector navigation uses the same symbols as the industry cards. */
#main .industry-index{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:16px 10px;padding:24px var(--production-gutter)}
#main .industry-index a{flex-direction:column;justify-content:flex-start;gap:10px;text-align:center;min-width:0;padding:8px 4px;text-decoration:none;border-radius:6px}
#main .industry-index .industry-icon{height:24px;gap:6px;align-items:center;justify-content:center}
#main .industry-index .industry-icon svg{width:24px;height:24px;flex-shrink:0}
#main .industry-index-label{font-size:14px;line-height:1.4;text-decoration:underline;text-underline-offset:4px}
#main .industry-index a:hover{background:rgba(85,220,239,.055)}
#main .industry-index a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(max-width:1100px) and (min-width:701px){#main .industry-index{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:20px}}
@media(max-width:700px){
 #main .industry-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:20px var(--production-gutter)}
 #main .industry-index a{flex-direction:row;justify-content:flex-start;gap:10px;text-align:left;min-height:48px}
 #main .industry-index .industry-icon{width:54px;flex-shrink:0;justify-content:flex-start}
 #main .industry-index .industry-icon svg{width:22px;height:22px}
}

/* Readable feedback against the dark contact form. */
#main .form-error{color:#ffb4b4!important}
#main .form-success{color:#9ae6c7!important}
#main .bp-points strong{display:block}
