/* Shared service card layout and bounded stacking for the full service range. */
.metric.metric-services strong{font-size:clamp(21px,2.1vw,29px);letter-spacing:-.035em;line-height:1.2}
.metric.metric-services span{font-size:11px;letter-spacing:.04em}
.metric-services:focus-visible{outline:2px solid #a6f6de;outline-offset:5px}
.stack-card{--stack-rest-top:calc(100px + min(var(--card-index),3)*16px);top:min(var(--stack-rest-top),calc(100svh - var(--stack-card-height,0px) - 20px));scroll-margin-top:150px}
.stack-card:nth-child(4n+2){--card-tilt:1.2deg}
.stack-card:nth-child(4n+3){--card-tilt:-1deg}
.stack-card:nth-child(4n+4){--card-tilt:1deg}
.stack-card:nth-child(4n+2) .stack-surface{background:linear-gradient(120deg,#124485,#183a70)}
.stack-card:nth-child(4n+3) .stack-surface{background:linear-gradient(120deg,#603481,#402762)}
.stack-card:nth-child(4n+4) .stack-surface{background:linear-gradient(120deg,#075e65,#103957)}
.stack-card:focus-within{z-index:40}
.service-copy h3{overflow-wrap:break-word}
@media(max-width:760px){.stack-card{--stack-rest-top:calc(86px + min(var(--card-index),3)*8px);scroll-margin-top:120px}.metric.metric-services strong{font-size:22px}.metric.metric-services span{font-size:10px}}
@media(max-width:380px){.metric.metric-services strong{font-size:18px}.metric.metric-services span{font-size:9px}}
/* Tall cards scroll fully into view before pinning, at every viewport height. */
@media(prefers-reduced-motion:reduce){.stack-card{position:relative;top:auto!important;scroll-margin-top:100px}.stack-surface{transform:none!important;will-change:auto}.stack-surface:after{opacity:0!important}}
