/* Supporting photography stays separate from the compact animated product cards. */
.dx-product-showcase { padding-block: clamp(36px, 5vw, 76px); background: #fff; }
.dx-product-showcase__grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.dx-product-showcase__copy { min-width: 0; max-width: 480px; }
.dx-product-showcase__copy h2 { margin: 12px 0 18px; color: var(--dx-ink); font-size: clamp(28px, 3vw, 43px); line-height: 1.12; letter-spacing: -.025em; }
.dx-product-showcase__copy > p:not(.dx-eyebrow) { color: var(--dx-muted); margin: 0 0 22px; line-height: 1.7; }
.dx-product-showcase__copy > a, .dx-product-collage a { color: var(--dx-navy); font-weight: 700; text-underline-offset: 4px; }
.dx-product-showcase a:focus-visible, .dx-product-collage a:focus-visible { outline: 3px solid var(--dx-navy); outline-offset: 5px; border-radius: 3px; }
.dx-product-collage { min-width: 0; margin: 0; }
.dx-product-collage img { display: block; width: 100%; height: auto; border-radius: 22px; border: 1px solid #e8edf2; }
.dx-product-collage figcaption { margin-top: 14px; font-size: 12px; line-height: 1.6; text-align: center; }
@media(max-width: 900px) { .dx-product-showcase__grid { grid-template-columns: 1fr; } .dx-product-showcase__copy { max-width: 620px; } }
@media(max-width: 540px) { .dx-product-collage img { border-radius: 14px; } }
.dx-editorial-photo { margin: 0; min-width: 0; }
.dx-editorial-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; }
.dx-editorial-photo figcaption { margin-top: 12px; color: var(--dx-muted); font-size: 13px; line-height: 1.65; }
.about-intro .dx-editorial-photo { margin-top: 28px; max-width: 560px; }
.service-process__photo-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 58px); align-items: center; }
.service-process__photo-layout .service-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.service-process__photo-layout .service-process__steps li,
.service-process__photo-layout .service-process__steps li:first-child { padding: 24px; min-height: 0; border-right: 0; border-bottom: 1px solid var(--dx-border); }
.service-process__photo-layout .service-process__steps li:nth-child(odd) { border-right: 1px solid var(--dx-border); }
.service-process__photo-layout .service-process__steps li:nth-last-child(-n+2) { border-bottom: 0; }
.service-process__photo-layout .service-process__steps h3 { margin-top: 18px; }
@media(max-width: 900px) { .service-process__photo-layout { grid-template-columns: 1fr; } .service-process__photo-layout .dx-editorial-photo { max-width: 640px; margin-inline: auto; } }
@media(max-width: 540px) {
 .service-process__photo-layout .service-process__steps { grid-template-columns: 1fr; }
 .service-process__photo-layout .service-process__steps li:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--dx-border); }
 .service-process__photo-layout .service-process__steps li:last-child { border-bottom: 0; }
}

/* Floating product composition: smaller, without the surrounding panel treatment. */
.dx-product-collage {width:86%;margin-inline:auto;background:transparent;border:0;box-shadow:none;}
.dx-product-collage img {border:0;border-radius:0;background:transparent;mix-blend-mode:multiply;animation:dx-collage-float 8s ease-in-out infinite;animation-play-state:paused;}
.dx-product-collage[data-floating="true"] img {animation-play-state:running;}
@keyframes dx-collage-float {0%,100%{transform:translateY(0) rotate(-.12deg);}50%{transform:translateY(-7px) rotate(.12deg);}}
@media(max-width:600px){.dx-product-collage {width:94%;}}
@media(prefers-reduced-motion:reduce){.dx-product-collage img {animation:none;transform:none;}}
