/* Details A: one stationary reveal per data group. */
.specification .sp-mask { clip-path:inset(-.25em); }
.specification .specification-group.sp-group { clip-path:inset(0 var(--sp-cut,100%) 0 0); }
/* H1: preserve ::after and data-alt, which reserve both label widths. */
.specification .specification-more { position:relative; }
.specification .specification-more::before { content:'';position:absolute;inset:0;background:var(--ink);opacity:0;pointer-events:none;transition:opacity 160ms ease-out; }
.specification .specification-more span { position:relative;z-index:1;transition:color 160ms ease-out,transform 100ms ease-out; }
.specification .specification-more:focus-visible { outline:2px solid var(--ink);outline-offset:4px; }
.specification .specification-more:active span { transform:scale(.98); }
@media(hover:hover) and (pointer:fine) {
 .specification .specification-more:hover::before { opacity:1;transition-duration:180ms; }
 .specification .specification-more:hover span { color:var(--ground);transition-duration:180ms; }
}
@media(prefers-reduced-motion:reduce) {
 .specification .sp-mask,.specification .specification-group.sp-group { clip-path:none; }
 .specification .specification-more::before,.specification .specification-more span { transition:none; }
 .specification .specification-more:active span { transform:none; }
}
