/* Shared product-page additions */
.product-hero .page-copy h1 em{background:linear-gradient(100deg,var(--cyan),var(--orange-bright));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-style:normal}
.page-hero-grid{animation:grid-pan 40s linear infinite}
.product-back-link{display:inline-block;margin-right:1.4rem;transition:transform var(--transition-fast),color var(--transition-fast)}
.product-back-link:hover{transform:translateX(-4px);color:var(--cyan)}
.editorial-prose p{transition:color .3s}
.section-heading-row h2,.editorial-split h2{position:relative;display:inline-block}
.section-heading-row h2::after,.editorial-split h2::after{content:"";position:absolute;left:0;bottom:-.35em;height:3px;width:0;background:linear-gradient(90deg,var(--orange),transparent);transition:width 1s var(--ease) .2s}
.is-visible h2::after,.in-view+* h2::after,section .shell:hover h2::after{width:60%}
.accelerator-ribbon span,.warehouse-principles span,.trace-domains span{transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}
.accelerator-ribbon span:hover,.warehouse-principles span:hover,.trace-domains span:hover{transform:translateY(-3px);border-color:var(--cyan);background:rgb(119 193 203/8%)}
.capability-ledger>div,.warehouse-ledger>div,.trace-accelerator-grid article,.signal-row{position:relative;transition:transform .35s var(--ease),border-color .35s,background .35s}
.capability-ledger>div:hover,.warehouse-ledger>div:hover,.trace-accelerator-grid article:hover{transform:translateY(-6px);background:rgb(119 193 203/6%);border-color:rgb(119 193 203/35%)}
.capability-ledger.in-view>div,.warehouse-ledger.in-view>div,.trace-accelerator-grid.in-view article{animation:rise .7s var(--ease) both}
.in-view>:nth-child(2){animation-delay:.1s}.in-view>:nth-child(3){animation-delay:.2s}.in-view>:nth-child(4){animation-delay:.3s}.in-view>:nth-child(5){animation-delay:.4s}.in-view>:nth-child(6){animation-delay:.5s}
.element-list li{transition:transform var(--transition-fast),color var(--transition-fast)}
.element-list li:hover{transform:translateX(8px);color:var(--cyan)}
.trace-elements aside img{transition:transform .8s var(--ease)}.trace-elements aside:hover img{transform:scale(1.04)}
.micro-label i{animation:core-beat 2s ease-in-out infinite}
@keyframes grid-pan{to{background-position:200px 200px}}
@keyframes rise{from{opacity:0;transform:translateY(30px)}}
@keyframes core-beat{0%,100%{scale:1}50%{scale:1.35}}
