/* BeeToGreen geometry and choreography, expressed in BearStack's palette. */
.bs-cta,.wp-block-button__link{--button-ground:#17130A;--button-ink:#F4F1E8;--button-bridge:#F4F1E8;--button-over:#F7B500;--button-over-ink:#17130A;--button-radius:12px;--button-py:18px;--button-px:32px;--button-size:16px;--button-leading:24px;--button-ease:cubic-bezier(.32,.72,0,1);--button-spring:linear(0, .5737 7.6%, .8382 11.87%, .9463 14.19%, 1.0292 16.54%, 1.0886 18.97%, 1.1258 21.53%, 1.137 22.97%, 1.1424 24.48%, 1.1423 26.1%, 1.1366 27.86%, 1.1165 31.01%, 1.0507 38.62%, 1.0219 42.57%, .9995 46.99%, .9872 51.63%, .9842 58.77%, 1.0011 81.26%, 1)}
.bs-cta--compact{--button-radius:8px;--button-py:12px;--button-px:20px;--button-size:12px;--button-leading:16.8px}
.bs .bs-button{--button-ground:#F7B500;--button-ink:#17130A;--button-bridge:#F4F1E8;--button-over:#17130A;--button-over-ink:#F4F1E8}
.wp-block-button__link{--button-ground:#F7B500;--button-ink:#17130A;--button-over:#17130A;--button-over-ink:#F4F1E8}
.bs .bs-problem-cta,.bs .bs-ref-82 .bs-cta{--button-ground:#F4F1E8;--button-ink:#17130A;--button-bridge:#FF6B00;--button-over:#F7B500;--button-over-ink:#17130A}
.bs .bs-motion-toggle[aria-pressed=true]{--button-ground:#F7B500;--button-ink:#17130A;--button-over:#F4F1E8}
.bs .bs-cta,.wp-block-button__link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:0;position:relative;isolation:isolate;width:auto;max-width:100%;min-height:calc(var(--button-leading) + 2 * var(--button-py));padding:var(--button-py) var(--button-px);border:0;border-radius:var(--button-radius);background:var(--button-ground);color:var(--button-ink);font:600 var(--button-size)/var(--button-leading) Inter,system-ui,sans-serif;letter-spacing:0;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;overflow:visible;transition:none}
.bs .bs-cta:has(.bs-cta-frame),.wp-block-button__link:has(.bs-cta-frame){padding:0;background:transparent}
.bs-cta::before{content:'';position:absolute;inset:-2px;z-index:-1;pointer-events:auto}
.bs-cta-surface{position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:clip;background:var(--button-ground);pointer-events:none}
.bs-cta-sweep{position:absolute;inset:0;display:block;width:120%;background:var(--button-bridge);translate:-10% 100%;rotate:-12deg;transform-origin:100% 0}
.bs-cta-sweep+.bs-cta-sweep{background:var(--button-over)}
.bs-cta-frame{display:grid;position:relative;z-index:1;border-radius:inherit;overflow:clip;padding:var(--button-py) var(--button-px);pointer-events:none}
.bs-cta-label,.bs-cta-copy{grid-area:1/1;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--button-ink)}
.bs-cta-label{transform-origin:0 0}
.bs .bs-cta-frame,.bs .bs-cta-label,.bs .bs-cta-copy{font:inherit}
.bs-cta-copy{color:var(--button-over-ink);opacity:0;translate:0 2em;rotate:1 1 .5 -30deg;transform-origin:100% 0}
.bs .bs-problem-cta .bs-cta-label>span,.bs .bs-problem-cta .bs-cta-copy>span{font-size:20px;line-height:24px}
.bs .bs-services-video-toggle .bs-cta-frame{min-width:123px}
.bs .bs-services .bs-ref-14.bs-cta{min-height:60px}
.bs .bs-cta[hidden]{display:none!important}
.bs .bs-cta:disabled,.bs .bs-cta[aria-disabled=true]{cursor:not-allowed;opacity:.6}
.bs .bs-cta[aria-busy=true]{cursor:wait}
.bs .bs-cta:focus-visible,.wp-block-button__link:focus-visible{outline:2px solid var(--focus-ring,#17130A);outline-offset:4px}
/* Hover matches the reference. Keyboard focus and touch never run the label swap. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 body.bs-button-motion .bs-cta-surface{transition:scale .45s var(--button-ease)}
 body.bs-button-motion .bs-cta-sweep{transition:translate .6s var(--button-ease),rotate .5s var(--button-ease);transition-delay:calc(var(--layer)*-42ms)}
 body.bs-button-motion .bs-cta-label,body.bs-button-motion .bs-cta-copy{transition:translate .75s var(--button-spring),rotate .5s var(--button-ease),opacity .2s ease-out}
 body.bs-button-motion .bs-cta:hover:not(:focus-visible):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]) .bs-cta-surface{scale:1.065 1.095}
 body.bs-button-motion .bs-cta:hover:not(:focus-visible):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]) .bs-cta-sweep{translate:-10% 0;rotate:0deg;transition-delay:calc(var(--layer)*64ms)}
 body.bs-button-motion .bs-cta:hover:not(:focus-visible):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]) .bs-cta-label{translate:0 -2em;rotate:1 1 .45 -60deg;opacity:0}
 body.bs-button-motion .bs-cta:hover:not(:focus-visible):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]) .bs-cta-copy{translate:0 0;rotate:1 1 .45 0deg;opacity:1;transition-delay:.1s}
 body.bs-button-motion .bs-cta:active:not(:focus-visible):not(:disabled){transform:scale(.98)}
 body.bs-button-motion .bs-cta:focus-visible .bs-cta-surface,body.bs-button-motion .bs-cta:focus-visible .bs-cta-sweep,body.bs-button-motion .bs-cta:focus-visible .bs-cta-label,body.bs-button-motion .bs-cta:focus-visible .bs-cta-copy{transition:none}
}
/* Every non-CTA keeps the reference's matching semantic treatment. */
.bs .nav-btn,.bs .bs-mobile-toggle{border-radius:0;min-height:44px;background:transparent;transition:none}
.bs .nav-btn[aria-expanded=true]>svg,.bs .bs-mobile-toggle[aria-expanded=true]>span{rotate:180deg}
.bs .bs-ref-140{border-radius:0;transition:none}
.bs .bs-ref-140>span{flex-shrink:0}
.bs .bs-services-index a,.bs .bs-link:not(.bs-cta){text-decoration-thickness:1px;text-underline-offset:5px}
@media(hover:hover) and (pointer:fine){.bs .nav-btn:hover,.bs .bs-link:not(.bs-cta):hover{text-decoration:underline;text-underline-offset:5px}.bs .bs-ref-140:hover{text-decoration:underline;text-underline-offset:5px}}
@media(max-width:960px){.bs .bs-problem-cta.bs-cta{width:100%}.bs .bs-problem-cta .bs-cta-frame{width:100%;white-space:normal}.bs .bs-problem-cta .bs-cta-label,.bs .bs-problem-cta .bs-cta-copy{text-align:left}}
@media(prefers-reduced-motion:reduce){.bs .bs-cta,.bs .bs-cta *{transition:none!important;animation:none!important}.bs .bs-cta:active{transform:none}}
body:not(.bs-button-motion) .bs-cta:active{transform:none}
.bs .bs-cta:focus-visible:active{transform:none}
