/* Progressive enhancement: no JavaScript means fully visible content. */
:is(.bdb-heading,.bdb-button)[data-bdb-reveal].bdb-motion-ready:not(.bdb-is-visible):not(:focus-within) { opacity: 0; }
:is(.bdb-heading,.bdb-button)[data-bdb-reveal]:is(.bdb-is-visible,.bdb-is-previewing) {
    animation-duration: var(--bdb-motion-duration, 650ms);
    animation-delay: var(--bdb-motion-delay, 0ms);
    animation-timing-function: cubic-bezier(.2,.65,.3,1);
    animation-fill-mode: both;
    animation-iteration-count: 1;
}
:is(.bdb-heading,.bdb-button)[data-bdb-reveal="fade"]:is(.bdb-is-visible,.bdb-is-previewing) { animation-name: bdb-fade; }
:is(.bdb-heading,.bdb-button)[data-bdb-reveal="fade-up"]:is(.bdb-is-visible,.bdb-is-previewing) { animation-name: bdb-fade-up; }
:is(.bdb-heading,.bdb-button)[data-bdb-reveal="fade-down"]:is(.bdb-is-visible,.bdb-is-previewing) { animation-name: bdb-fade-down; }
:is(.bdb-heading,.bdb-button)[data-bdb-reveal="slide-left"]:is(.bdb-is-visible,.bdb-is-previewing) { animation-name: bdb-slide-left; }
:is(.bdb-heading,.bdb-button)[data-bdb-reveal="slide-right"]:is(.bdb-is-visible,.bdb-is-previewing) { animation-name: bdb-slide-right; }
:is(.bdb-heading,.bdb-button)[data-bdb-reveal="zoom-in"]:is(.bdb-is-visible,.bdb-is-previewing) { animation-name: bdb-zoom-in; }
:is(.bdb-heading,.bdb-button)[data-bdb-reveal="blur"]:is(.bdb-is-visible,.bdb-is-previewing) { animation-name: bdb-blur; }
@keyframes bdb-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes bdb-fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes bdb-fade-down { from { opacity: 0; transform: translateY(-24px); } to { opacity: 1; transform: none; } }
@keyframes bdb-slide-left { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
@keyframes bdb-slide-right { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
@keyframes bdb-zoom-in { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes bdb-blur { from { opacity: 0; filter: blur(6px); } to { opacity: 1; filter: none; } }
:is(.bdb-heading,.bdb-button)[data-bdb-hover] {
    transition: translate var(--bdb-motion-duration, 650ms), scale var(--bdb-motion-duration, 650ms), box-shadow var(--bdb-motion-duration, 650ms);
}
.bdb-button[data-bdb-hover] > .bdb-button__link,
.bdb-heading[data-bdb-hover] > :is(.bdb-heading__main,.bdb-heading__sub) { transition: filter var(--bdb-motion-duration, 650ms); }
:is(.bdb-heading,.bdb-button)[data-bdb-hover="lift"]:is(:hover,:focus-within) { translate: 0 -4px; }
:is(.bdb-heading,.bdb-button)[data-bdb-hover="grow"]:is(:hover,:focus-within) { scale: 1.025; }
:is(.bdb-heading,.bdb-button)[data-bdb-hover="sink"]:is(:hover,:focus-within) { translate: 0 3px; }
.bdb-button[data-bdb-hover="glow"]:is(:hover,:focus-within) > .bdb-button__link { box-shadow: 0 0 18px color-mix(in srgb, var(--bdb-primary), transparent 50%); }
.bdb-heading[data-bdb-hover="glow"]:is(:hover,:focus-within) > :is(.bdb-heading__main,.bdb-heading__sub) { filter: drop-shadow(0 2px 6px color-mix(in srgb, var(--bdb-primary), transparent 60%)); }
.bdb-button[data-bdb-hover="brighten"]:is(:hover,:focus-within) > .bdb-button__link,
.bdb-heading[data-bdb-hover="brighten"]:is(:hover,:focus-within) > :is(.bdb-heading__main,.bdb-heading__sub) { filter: brightness(1.15); }
.bdb-button[data-bdb-hover="shine"] > .bdb-button__link { overflow: hidden; }
.bdb-button[data-bdb-hover="shine"] > .bdb-button__link::before {
    content: ''; position: absolute; inset-block: -25%; left: -60%; width: 35%;
    background: linear-gradient(90deg, transparent, #ffffff66, transparent); transform: skewX(-20deg); pointer-events: none;
}
.bdb-button[data-bdb-hover="shine"]:is(:hover,:focus-within) > .bdb-button__link::before { animation: bdb-shine var(--bdb-motion-duration, 650ms) ease-out; }
@keyframes bdb-shine { from { left: -60%; } to { left: 140%; } }
.bdb-button[data-bdb-hover="arrow"] > .bdb-button__link::after { transition: transform var(--bdb-motion-duration, 650ms); }
.bdb-button[data-bdb-hover="arrow"]:is(:hover,:focus-within) > .bdb-button__link::after { transform: translateX(5px); }
/* Keyboard focus must never wait for a reveal animation. */
:is(.bdb-heading,.bdb-button)[data-bdb-reveal]:focus-within { opacity: 1 !important; animation: none !important; }
@media (prefers-reduced-motion: reduce) {
    :is(.bdb-heading,.bdb-button)[data-bdb-reveal] { opacity: 1 !important; animation: none !important; transform: none !important; filter: none !important; }
    :is(.bdb-heading,.bdb-button)[data-bdb-hover],
    .bdb-button[data-bdb-hover] > .bdb-button__link,
    .bdb-button[data-bdb-hover] > .bdb-button__link::before,
    .bdb-button[data-bdb-hover] > .bdb-button__link::after,
    .bdb-heading[data-bdb-hover] > :is(.bdb-heading__main,.bdb-heading__sub) { animation: none !important; transition: none !important; transform: none !important; translate: none !important; scale: none !important; filter: none !important; }
}
