/* Shared icon motion. An explicit choice overrides only icon motion, never video. */
:is(.need-icon,.value-icon,.expertise-icon) svg{overflow:visible}
.value-star,.value-book-cover,.value-heart,.expertise-compass-needle{transform-box:view-box;transform-origin:12px 12px}
.value-star{fill:var(--accent);fill-opacity:0;--icon-animation:bhc-star}
.value-check{stroke-dasharray:1;stroke-dashoffset:0;--icon-animation:bhc-check}
.value-check-2{--icon-delay:.2s}
.value-book-cover{--icon-animation:bhc-book}
.value-heart{--icon-animation:bhc-heart}
.gauge-needle{transform-box:view-box;transform-origin:12px 14px;transform:rotate(-65deg);--icon-animation:bhc-gauge}
.door-leaf{transform-box:view-box;transform-origin:19px 13px;--icon-animation:bhc-door}
.team-member{transform-box:view-box;transform:scale(.88)}
.team-front{transform-origin:10px 21px;--icon-animation:bhc-team}
.team-back{transform-origin:20px 20px;--icon-animation:bhc-team;--icon-delay:.08s}
.expertise-compass-needle{--icon-animation:bhc-compass}
.expertise-glass{transform-box:view-box;transform-origin:12px 20px;--icon-animation:bhc-toast}
/* !important is scoped to these paths so the site's blanket reduced-motion
   reset cannot defeat a visitor's explicit opt-in. */
html[data-icon-motion="on"] .is-animating :is(.value-star,.value-check,.value-book-cover,.value-heart,.gauge-needle,.door-leaf,.team-member,.expertise-compass-needle,.expertise-glass){animation:var(--icon-animation) 1s var(--icon-delay,0s) ease-in-out both!important}
/* Hover and keyboard still work if JavaScript is unavailable. */
@media(prefers-reduced-motion:no-preference){
 html:not([data-icon-motion]) :is(.need-row,.value-card,.expertise-detail>summary):is(:hover,:focus-visible) :is(.value-star,.value-check,.value-book-cover,.value-heart,.gauge-needle,.door-leaf,.team-member,.expertise-compass-needle,.expertise-glass){animation:var(--icon-animation) 1s var(--icon-delay,0s) ease-in-out both}
}
@keyframes bhc-star{0%,100%{transform:scale(1) rotate(0);fill-opacity:0}40%{transform:scale(1.18) rotate(12deg);fill-opacity:.45}70%{transform:scale(1.05) rotate(-5deg);fill-opacity:.15}}
@keyframes bhc-check{0%{stroke-dashoffset:1;opacity:0}15%{opacity:1}65%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes bhc-book{0%,100%{transform:scaleX(1)}35%{transform:scaleX(.5)}70%{transform:scaleX(1.08)}}
@keyframes bhc-heart{0%,100%{transform:scale(1)}30%{transform:scale(1.16)}55%{transform:scale(1)}75%{transform:scale(1.1)}}
@keyframes bhc-gauge{0%,100%{transform:rotate(-65deg)}40%,65%{transform:rotate(30deg)}}
@keyframes bhc-door{0%,100%{transform:perspective(48px) rotateY(0)}40%,65%{transform:perspective(48px) rotateY(-62deg)}}
@keyframes bhc-team{0%,100%{transform:scale(.88)}40%,65%{transform:scale(1.13) translateY(-1px)}}
@keyframes bhc-compass{0%,100%{transform:rotate(0)}35%{transform:rotate(-45deg)}65%{transform:rotate(20deg)}}
@keyframes bhc-toast{0%,100%{transform:translateY(0) rotate(0)}40%,65%{transform:translateY(-2px) rotate(-12deg)}}
.icon-motion-toggle{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border:0;background:transparent;color:inherit;font:inherit;font-size:.875rem;line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.icon-motion-toggle[hidden]{display:none}
.icon-motion-toggle:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.footer-bottom{flex-wrap:wrap;gap:12px 24px}
