/* Progressive motion: content is visible unless an observer explicitly arms it. */
.bh-reveal{transition:opacity 560ms cubic-bezier(.22,.7,.24,1),translate 560ms cubic-bezier(.22,.7,.24,1),transform 250ms ease,box-shadow 250ms ease;transition-delay:var(--bh-stagger,0ms)}
.bh-reveal.bh-reveal-pending{opacity:0;translate:0 22px}
.bh-reveal.bh-reveal-visible{opacity:1;translate:0 0}
.bh-sequence-stage{position:relative;isolation:isolate}
.bh-sequence-stage img.bh-sequence-layer{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important;padding:0!important;background:#edf1f5;opacity:0;z-index:1;pointer-events:none;transition:opacity 620ms cubic-bezier(.22,.7,.24,1)!important;transform:none!important}
.bh-sequence-stage img.bh-sequence-layer.is-visible{opacity:1}
.bh-sequence-label{position:absolute;bottom:12px;left:12px;z-index:2;max-width:calc(100% - 24px);background:#073764;color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;line-height:1.45;pointer-events:none;opacity:0;transition:opacity 300ms ease}
.bh-sequence-label.is-visible{opacity:1}
.bh-motion-toggle{appearance:none;display:inline-flex;align-items:center;background:transparent;border:1px solid #bac6cf;border-radius:999px;color:var(--brand-navy,#073764);font:inherit;font-size:.875rem;font-weight:600;line-height:1.25;min-height:44px;padding:10px 16px;cursor:pointer;white-space:nowrap;margin:12px 0 0}
.bh-motion-toggle[hidden]{display:none!important}.bh-motion-toggle:focus-visible{outline:3px solid var(--brand-gold,#c9a466);outline-offset:4px}
.build4-section-heading:has(.bh-motion-toggle){flex-wrap:wrap}.build4-section-heading .bh-motion-toggle{margin:0}
.bh-motion-enabled .button,.bh-motion-enabled .text-link,.bh-motion-enabled .work-card-action,.bh-motion-enabled .bh-motion-toggle{transition:background-color 220ms ease,color 220ms ease,box-shadow 220ms ease,text-decoration-color 220ms ease; text-underline-offset:5px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.bh-motion-enabled .button:hover{box-shadow:0 4px 12px #07376414}.bh-motion-enabled .text-link:hover{text-decoration:underline;text-decoration-thickness:1px}.bh-motion-enabled .work-card:hover{transform:translateY(-3px)}.bh-motion-enabled .build4-project:hover .portfolio-presentation{transform:scale(1.018)}.bh-motion-toggle:hover{background:#edf1f5}}
@media(max-width:700px){.bh-reveal{transition-duration:1100ms;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-delay:0ms}.bh-reveal.bh-reveal-pending{opacity:.35;translate:0 34px}.bh-sequence-stage img.bh-sequence-layer{transition-duration:450ms!important}}
@media(hover:none){.bh-motion-enabled .work-card:hover{transform:none}.bh-motion-enabled .build4-project:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.bh-reveal,.bh-reveal.bh-reveal-pending{opacity:1!important;translate:none!important;transition:none!important}.bh-sequence-layer,.bh-sequence-label{display:none!important}.bh-motion-enabled .button,.bh-motion-enabled .text-link,.bh-motion-enabled .work-card-action{transition:none!important}.bh-motion-enabled .build4-project:hover img{transform:none!important}.bh-motion-toggle{display:none!important}}
@media print{.bh-reveal,.bh-reveal.bh-reveal-pending{opacity:1!important;translate:none!important}.bh-sequence-layer,.bh-sequence-label,.bh-motion-toggle{display:none!important}}
.bh-motion-toggle{visibility:hidden}
@media(prefers-reduced-motion:no-preference){
.bh-motion-enabled .build4-slide.is-current .portfolio-presentation{animation:bh-reel-image 1200ms cubic-bezier(.2,.65,.25,1) both;transform-origin:center}
@keyframes bh-reel-image{from{opacity:.92;transform:translateY(28px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){.bh-motion-enabled .build4-slide.is-current .portfolio-presentation{animation-duration:1100ms}@keyframes bh-reel-image{from{opacity:.92;transform:translateY(22px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}
@media(prefers-reduced-motion:reduce){.build4-slide.is-current,.build4-slide.is-current img{animation:none!important}.bh-motion-toggle{display:none!important}}
