/* Use the existing CI assets selectively. No new type sizes or font families. */
.ep-wave-card { position:relative; isolation:isolate; }
.ep-wave-card::after {
  content:""; position:absolute; inset:auto 0 0; height:58px;
  z-index:-1; pointer-events:none;
  background:url("graphics/ci-wave.svg") right bottom / 115% 100% no-repeat;
  opacity:.065;
}
.services-system__point.ep-wave-card:nth-child(3)::after { background-position:center bottom; }
.services-system__point.ep-wave-card:nth-child(5)::after { background-position:left bottom; }
.ep-wave-card--dark::after { opacity:.22; }
.ep-wave-card--dark::after { background-image:url("graphics/ci-flow-lines.svg"); }
/* The storage highlight uses an opaque edge Wave, with clear room for copy. */
.ss2-swro.ep-wave-card { align-items:flex-start; overflow:hidden; padding:30px 30px 114px; }
.ss2-swro.ep-wave-card::after {
  height:84px; background:url("graphics/ci-wave.svg") center bottom / 100% 100% no-repeat;
  opacity:1;
}
.services-contact p { max-width:none; }
.services-contact__phrase { display:block; }
.services-contact__phrase .th-nb { white-space:normal; }
.ep-parallax-frame { position:absolute; inset:20px; overflow:hidden; pointer-events:none; }
.ep-parallax-frame > .service-chapter--pipeline__media { inset:0; }
@media(min-width:768px) { .ep-parallax-frame { inset:34px; } }
/* Wrappers inherit the metric's registered role, overriding legacy broad span
   rules that otherwise shrink a nested counter or apply its unit typography. */
html[lang][data-language] body[data-editorial-motion] main .em-count-value {
  position:relative; display:inline-block; margin:0; color:inherit;
  font:inherit; letter-spacing:inherit; white-space:nowrap;
}
html[lang][data-language] body[data-editorial-motion] main .em-count-value > .hm-count-visual {
  margin:0; font:inherit; letter-spacing:inherit; color:inherit;
}
html[lang][data-language] body[data-editorial-motion] main .em-count-value.hm-counting { color:transparent; }
html[lang][data-language] body[data-editorial-motion] main .em-count-value.hm-counting > .hm-count-visual { color:var(--tank-blue); }
/* Filled actions keep their existing colors; the Wave sits behind their labels. */
[data-editorial-motion] .hm-wave:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
[data-editorial-motion] .hm-wave:active { transform:translateY(1px); }
[data-editorial-motion] .hm-wave > [aria-hidden="true"] { transition:transform .3s var(--ease); }
[data-editorial-motion] .hm-wave:focus-visible > [aria-hidden="true"] { transform:translateX(5px); }
/* Image-led destination tiles retain their frame and existing typography. */
[data-editorial-motion] .ab-tile > .photo { transition:transform .6s var(--ease); }
[data-editorial-motion] .ab-tile:focus-within > .photo { transform:scale(1.025); }
@media(hover:hover) and (pointer:fine) {
  [data-editorial-motion] .hm-wave:hover > [aria-hidden="true"] { transform:translateX(5px); }
  [data-editorial-motion] .ab-tile:hover > .photo { transform:scale(1.025); }
}
@media(prefers-reduced-motion:reduce) {
  [data-editorial-motion] .hm-wave:active { transform:none; }
  [data-editorial-motion] .hm-wave > [aria-hidden="true"],
  [data-editorial-motion] .ab-tile > .photo { transform:none!important; transition:none; }
  html[lang][data-language] body[data-editorial-motion] main .em-count-value.hm-counting { color:inherit; }
}
@media print {
  .ep-wave-card::after { display:none; }
  html[lang][data-language] body[data-editorial-motion] main .em-count-value.hm-counting { color:inherit; }
}
