/* Shared, finite interaction polish. Packaging, type and hit areas stay still. */
body.dhd{--dhd-motion-ease:cubic-bezier(.2,.7,.2,1);--dhd-motion-gold:#efc982}
body.dhd.page-product .product-showcase .showcase-light{background:radial-gradient(ellipse at 50% 42%,#efc98230,transparent 64%);opacity:0;transition:opacity 240ms var(--dhd-motion-ease)}
body.dhd.page-product .product-showcase .product-stage:focus-within .showcase-light{opacity:1}
body.dhd .chapter-poster .poster-shade{opacity:1;transition:opacity 220ms var(--dhd-motion-ease)}
body.dhd .chapter-poster .poster-bottom>span:last-child{transform:none;transition:transform 220ms var(--dhd-motion-ease)}
body.dhd .chapter-poster:focus-visible .poster-shade{opacity:.94}
body.dhd .chapter-poster:focus-visible .poster-bottom>span:last-child{transform:translateX(3px)}

/* Underlines are decorative layers, so navigation never shifts. */
body.dhd :is(.desktop-nav,.footer-links)>a:not(.social-link){position:relative}
body.dhd :is(.desktop-nav,.footer-links)>a:not(.social-link)::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--dhd-motion-gold);pointer-events:none;transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--dhd-motion-ease)}
body.dhd :is(.desktop-nav,.footer-links)>a:not(.social-link):is(:focus-visible,[aria-current=page])::after{transform:scaleX(1)}
body.dhd .social-link svg{transform:none;transition:transform 180ms var(--dhd-motion-ease)}
body.dhd .social-link:focus-visible svg{transform:translateY(-2px)}

/* Existing process tabs own selection; this layer only reflects aria-selected. */
body.dhd .dhd-process .process-step::before,body.dhd .dhd-process .process-step::after{content:"";position:absolute;pointer-events:none;background:var(--process-gold,var(--dhd-motion-gold));opacity:0;transform:scaleX(.65);transition:opacity 220ms var(--dhd-motion-ease),transform 220ms var(--dhd-motion-ease)}
body.dhd .dhd-process .process-step::before{left:0;right:0;top:11px;height:2px}
body.dhd .dhd-process .process-step::after{left:14px;right:14px;bottom:6px;height:1px}
body.dhd .dhd-process .process-step[aria-selected=true]::before,body.dhd .dhd-process .process-step[aria-selected=true]::after{opacity:1;transform:scaleX(1)}

/* Two breaths, then a quiet static state. Native selects keep only the outline. */
body.dhd .site-head .delivery-announcement{animation:none!important;opacity:1!important}
body.dhd .delivery-signal{animation:dhd-delivery-cue 2.2s ease-in-out 2}
body.dhd .dhd-next-action{outline:2px solid #eac77b!important;outline-offset:4px;animation:none!important;box-shadow:none!important}
body.dhd :is(a,button).dhd-next-action{position:relative}
body.dhd :is(a,button).dhd-next-action::before{content:"";position:absolute;inset:-6px;border:1px solid #eac77b;border-radius:inherit;pointer-events:none;opacity:0;animation:dhd-action-cue 2.2s ease-in-out 2}
@keyframes dhd-delivery-cue{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes dhd-action-cue{0%,100%{opacity:0}50%{opacity:.85}}

@media(hover:hover) and (pointer:fine){
 body.dhd.page-product .product-showcase .product-stage:hover .showcase-light{opacity:1}
 body.dhd .chapter-poster:hover .poster-shade{opacity:.94}
 body.dhd .chapter-poster:hover .poster-bottom>span:last-child{transform:translateX(3px)}
 body.dhd :is(.desktop-nav,.footer-links)>a:not(.social-link):hover::after{transform:scaleX(1)}
 body.dhd .social-link:hover svg{transform:translateY(-2px)}
}
html[data-dhd-motion-paused] body.dhd .delivery-signal,html[data-dhd-motion-paused] body.dhd :is(a,button).dhd-next-action::before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 body.dhd .delivery-signal,body.dhd :is(a,button).dhd-next-action::before{animation:none!important}
 body.dhd :is(.showcase-light,.poster-shade,.social-link svg),body.dhd .chapter-poster .poster-bottom>span:last-child,body.dhd :is(.desktop-nav,.footer-links)>a::after,body.dhd .process-step::before,body.dhd .process-step::after{transition:none!important}
 body.dhd .chapter-poster:is(:hover,:focus-visible) .poster-bottom>span:last-child,body.dhd .social-link:is(:hover,:focus-visible) svg{transform:none}
}
