/* Shared vector scenes. Uploaded CMS covers keep their existing presentation. */
.editorial-illustration{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none}
.premium-site .service-icon:has(.service-illustration){display:block;width:184px;height:138px;margin:22px 0 23px}
.service-illustration{display:block;width:100%;height:100%;object-fit:contain}
.premium-site .service-icon:has(.catalog-illustration-art){display:block;width:184px;height:138px;margin:22px 0 23px}
.service-icon>.catalog-generic-art.catalog-illustration-art{width:100%;height:100%;padding:0;background:none;border:0;min-height:0}
.service-icon>.catalog-illustration-art:before,.service-icon>.catalog-illustration-art:after,.service-icon>.catalog-illustration-art>.catalog-generic-number{display:none}
.premium-site .case-art:has(.refined-scene){padding:28px;min-height:420px;background:linear-gradient(145deg,var(--surface-mist,#f4f7fd),var(--brand-soft,#eaf0ff));position:relative}
.refined-scene{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.refined-scene-top,.refined-scene-bottom{display:flex;justify-content:space-between;gap:16px;color:var(--text-body,#52627d);font-size:8px;font-weight:600;letter-spacing:1.7px;line-height:1.8}
.refined-scene-top>span{font-size:7px;color:var(--text-body,#52627d);font-weight:400}
.refined-scene>.editorial-illustration{flex:1;min-height:0;max-height:375px;margin:8px auto}
.refined-scene-bottom{font-size:6px;letter-spacing:.8px;color:var(--text-body,#52627d);border-top:1px solid var(--line-soft,#dce4f4);padding-top:14px}
.page-case-visual:has(>.editorial-illustration){height:350px;padding:23px 26px;background:linear-gradient(135deg,var(--surface-mist,#f4f7fd),var(--brand-soft,#eaf0ff))}
.page-case-featured .page-case-visual:has(>.editorial-illustration){height:100%;min-height:405px}
.page-case-visual>.editorial-illustration{flex:1;min-height:0;margin:8px auto;max-height:350px}
.page-case-visual:has(>.editorial-illustration) .page-visual-heading{color:var(--text-body,#52627d);position:relative;z-index:1}
.page-case-visual:has(>.editorial-illustration) .page-visual-bottom{color:var(--text-body,#52627d);border-top:1px solid var(--line-soft,#dce4f4);padding-top:12px}
.catalog-generic-art.catalog-illustration-art{background:linear-gradient(135deg,var(--surface-mist,#f4f7fd),var(--brand-soft,#eaf0ff));padding:24px;overflow:hidden;min-height:320px;display:flex;flex-direction:column;justify-content:space-between}
.catalog-illustration-art:before,.catalog-illustration-art:after{display:none}
.catalog-illustration-art>.catalog-generic-number{position:static;font-size:10px;color:var(--text-body,#52627d);line-height:1;letter-spacing:2px}
.catalog-illustration-art>.editorial-illustration{position:relative;flex:1;min-height:0;max-height:340px}
.catalog-illustration-art>.catalog-generic-label{position:static;color:var(--text-body,#52627d);font-size:10px;letter-spacing:1px}
.premium-site[data-page="services"] .page-network-art:has(>.editorial-illustration),.premium-site[data-page="services"] .page-support-art:has(>.editorial-illustration){padding:28px;background:linear-gradient(140deg,var(--surface-mist,#f4f7fd),var(--brand-soft,#eaf0ff));overflow:hidden}
.premium-site[data-page="services"] .page-network-art>.editorial-illustration,.premium-site[data-page="services"] .page-support-art>.editorial-illustration{height:315px;margin:0 auto}
.refined-art-legend{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-top:1px solid var(--line-soft,#dce4f4);font-size:10px;letter-spacing:.4px;color:var(--text-body,#52627d)}
.premium-site[data-page="services"] .page-network-art .page-art-foot{margin-top:6px;padding-top:0;border:0;font-size:11px}
.premium-site[data-page="services"] .page-support-art>p{margin:7px 0 0;font-size:11px}
.service-development-visual:has(>.editorial-illustration){padding:27px 26px 22px;overflow:hidden;background:linear-gradient(145deg,var(--brand-blue,#3458d4),var(--brand-deep,#203b88))}
.service-development-visual:has(>.editorial-illustration) h3{font-size:26px;line-height:1.35;margin:15px 0 0}
.service-development-visual>.editorial-illustration{height:255px;margin:-8px auto 0;filter:drop-shadow(0 14px 24px rgba(32,59,136,.16))}
.service-development-visual:has(>.editorial-illustration) .service-workflow-nodes{margin-top:0}
.service-development-visual:has(>.editorial-illustration) .service-workflow-nodes>div{padding:10px 7px}
.service-development-visual:has(>.editorial-illustration) .service-workflow-base{margin-top:12px}
.service-development-visual:has(>.editorial-illustration)>p{margin:14px 0 0}
.delivery-proof-heading>.delivery-proof-illustration{display:block;width:100%;max-width:330px;height:auto;max-height:164px;object-fit:contain;margin:18px 0 -10px}
.delivery-proof:has(.delivery-proof-illustration) .delivery-proof-items{align-self:center}
.article-art:has(>.editorial-illustration),.page-article-thumb:has(>.editorial-illustration){background:linear-gradient(135deg,var(--surface-mist,#f4f7fd),var(--brand-soft,#eaf0ff));position:relative}
.article-art>.editorial-illustration{width:100%;height:calc(100% - 26px);position:absolute;inset:0 0 26px;object-fit:contain;padding:7px 25px}
.article-art:has(>.editorial-illustration)>span{color:var(--text-body,#52627d);z-index:1;font-size:8px;letter-spacing:1.1px}
.page-article-thumb>.editorial-illustration{width:100%;height:100%;padding:5px 18px 28px;object-fit:contain}
.page-article-thumb:has(>.editorial-illustration)>span,.page-article-thumb:has(>.editorial-illustration)>i{color:var(--text-body,#52627d)}
.page-feature-art:has(>.feature-illustration),.page-feature-art:has(>.editorial-illustration){background:linear-gradient(145deg,var(--brand-blue,#3458d4),var(--brand-deep,#203b88));isolation:isolate}
.page-feature-art>.feature-illustration,.page-feature-art>.editorial-illustration{position:relative;display:block;width:100%;height:255px;object-fit:contain;margin:6px auto -10px;z-index:0;pointer-events:none}
.page-feature-art:has(>.feature-illustration) .page-feature-art-caption{margin:0;font-size:25px;line-height:1.45}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .service-illustration,.article-art>.editorial-illustration,.page-article-thumb>.editorial-illustration,.page-feature-art>.feature-illustration{transition:transform .45s cubic-bezier(.22,.65,.3,1)}
 .service-card:hover .service-illustration,.home-article:hover .editorial-illustration,.page-article-thumb:hover>.editorial-illustration,.page-feature-art:hover>.feature-illustration{transform:translateY(-4px)}
}
@media(max-width:1050px){
 .premium-site .service-icon:has(.service-illustration),.premium-site .service-icon:has(.catalog-illustration-art){width:156px;height:117px}
 .premium-site .case-art:has(.refined-scene){padding:23px;min-height:370px}
 .refined-scene-bottom{flex-direction:column;gap:4px}
 .premium-site[data-page="services"] .page-network-art>.editorial-illustration,.premium-site[data-page="services"] .page-support-art>.editorial-illustration{height:265px}
 .service-development-visual>.editorial-illustration{height:230px}
}
@media(max-width:700px){
 .premium-site .service-icon:has(.service-illustration),.premium-site .service-icon:has(.catalog-illustration-art){width:164px;height:123px;margin:13px 0 16px}
 .premium-site .case-art:has(.refined-scene){min-height:305px;padding:22px 18px}
 .refined-scene>.editorial-illustration{max-height:260px;margin:8px 0}
 .refined-scene-top{font-size:7px;letter-spacing:1px}
 .refined-scene-top>span{font-size:6px}
 .refined-scene-bottom{flex-direction:row;font-size:5px;gap:12px;letter-spacing:.3px;padding-top:10px}
 .page-case-visual:has(>.editorial-illustration),.page-case-featured .page-case-visual:has(>.editorial-illustration){height:295px;min-height:0;padding:21px}
 .page-case-visual>.editorial-illustration{max-height:220px;margin:4px 0}
 .catalog-generic-art.catalog-illustration-art{min-height:280px}
 .premium-site[data-page="services"] .page-network-art:has(>.editorial-illustration),.premium-site[data-page="services"] .page-support-art:has(>.editorial-illustration){padding:23px 18px;min-height:0}
 .premium-site[data-page="services"] .page-network-art>.editorial-illustration,.premium-site[data-page="services"] .page-support-art>.editorial-illustration{height:auto;max-height:285px}
 .refined-art-legend{font-size:9px;gap:6px}
 .service-development-visual>.editorial-illustration{height:auto;max-height:240px;margin:0 auto}
 .delivery-proof-heading>.delivery-proof-illustration{max-width:300px;max-height:165px;margin:15px auto 0}
 .article-art>.editorial-illustration{padding:0 20px}
 .page-feature-art>.feature-illustration,.page-feature-art>.editorial-illustration{height:225px}
 .page-feature-art:has(>.feature-illustration) .page-feature-art-caption{font-size:24px}
}

/* Keep uploaded covers and illustrations in the same reading order on tablets. */
@media(min-width:701px) and (max-width:1000px){
 .premium-site .service-card{grid-template-columns:168px minmax(0,1fr);gap:12px 30px}
 .premium-site .service-card-top{grid-row:1;margin-bottom:8px}
 .premium-site .service-card .service-icon{grid-column:1;grid-row:2/5;align-self:center;margin:0}
 .premium-site .service-card .service-icon.catalog-service-cover{width:168px;height:126px}
 .premium-site .service-card h3{grid-column:2;grid-row:2}
 .premium-site .service-card p{grid-column:2;grid-row:3;min-height:0;margin:0}
 .premium-site .service-card .card-tags{grid-column:2;grid-row:4}
}

/* Preserve white-on-cobalt text on the few strong illustration surfaces. */
.service-development-visual:has(>.editorial-illustration){border-color:rgb(226 234 255 / 25%);color:var(--on-blue,#fff)}
.service-development-visual:has(>.editorial-illustration) :is(h3,.service-workflow-nodes strong){color:var(--on-blue,#fff)}
.service-development-visual:has(>.editorial-illustration) :is(.eyebrow,.service-workflow-nodes div>span,.service-workflow-nodes small,.service-workflow-nodes>i,.service-workflow-base span),.service-development-visual:has(>.editorial-illustration)>p{color:var(--on-blue-muted,#e2eaff)}
.service-development-visual:has(>.editorial-illustration) .service-workflow-nodes>div,.service-development-visual:has(>.editorial-illustration) .service-workflow-base{background:rgb(255 255 255 / 8%);border-color:rgb(226 234 255 / 25%)}
.service-development-visual:has(>.editorial-illustration) .service-workflow-base span+span{border-color:rgb(226 234 255 / 25%)}
.service-development-visual:has(>.editorial-illustration) .service-workflow-base:before{background:rgb(226 234 255 / 40%)}
.page-feature-art:has(>.feature-illustration),.page-feature-art:has(>.editorial-illustration){color:var(--on-blue,#fff)}
.page-feature-art:has(>.feature-illustration) :is(.page-feature-art-caption,.page-visual-heading),.page-feature-art:has(>.editorial-illustration) :is(.page-feature-art-caption,.page-visual-heading){color:var(--on-blue,#fff)}
.page-feature-art:has(>.feature-illustration) .page-feature-label,.page-feature-art:has(>.editorial-illustration) .page-feature-label{color:var(--on-blue-muted,#e2eaff);border-color:rgb(226 234 255 / 30%)}

.service-development-visual:has(>.editorial-illustration) :is(.service-workflow-nodes div>span,.service-workflow-nodes small,.service-workflow-base span){color:var(--on-blue,#fff)}
