
.cx-pressable { transition:scale 160ms var(--ease-out),color 160ms ease,background-color 160ms ease; }
.cx-pressable:active:not(:focus-visible) { scale:.97; }
.cx-hover-cta { position:relative; isolation:isolate; overflow:hidden; }
.cx-hover-cta::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:var(--color-bubblegum); transform:scaleY(0); transform-origin:center bottom; transition:transform 240ms var(--ease-out); }
.cx-hover-cta .button-bg { display:none; }
.cx-hover-link { position:relative; }
.cx-hover-link::after,.cx-desktop-nav .cx-hover-link::after { content:''; position:absolute; inset:auto 0 3px; height:2px; background:currentColor; transform:scaleX(0); transform-origin:left center; transition:transform 240ms var(--ease-out); }
.cx-hover-text { position:relative; isolation:isolate; }
.cx-hover-text::before { content:''; position:absolute; right:-8px; top:50%; z-index:-1; width:40px; height:40px; border-radius:50%; background:var(--color-bubblegum); opacity:0; transform:translateY(-50%) scale(.55); transition:transform 240ms var(--ease-out),opacity 160ms ease; }
.cx-hover-text::after { content:''; position:absolute; inset:auto 36px 6px 0; height:2px; background:currentColor; transform:scaleX(0); transform-origin:left center; transition:transform 240ms var(--ease-out); }
.cx-range-bottom span { max-width:none; min-width:0; flex:1; }
.cx-hover-article .text-block-8 { position:relative; z-index:1; transition:background-color 180ms ease,color 180ms ease; }
.cx-hover-article .hp-article-img { transform-origin:center center; }
.cx-hover-article .image-body { isolation:isolate; }
.cx-hover-tool:focus-visible { background:var(--color-coffee-brown); color:var(--color-warm-chalk); }
.cx-hover-cta:focus-visible::before { transform:scaleY(1); transition:none; }
.cx-hover-cta:focus-visible,.cx-header .cx-packaging-link.cx-hover-cta:focus-visible { color:var(--color-coffee-brown); }
.cx-hover-link:focus-visible::after,.cx-hover-text:focus-visible::after { transform:scaleX(1); transition:none; }
.cx-hover-text:focus-visible::before { transform:translateY(-50%) scale(1); opacity:1; transition:none; }
.cx-hover-article:focus-visible .text-block-8 { background:var(--color-coffee-brown); color:var(--color-warm-chalk); }
.cx-footer .cx-hover-link:is(:hover,:focus-visible) { text-decoration:none; }
.cx-faq summary { transition:color 160ms ease; }
@media(hover:hover) and (pointer:fine) {
 .cx-hover-cta:hover::before { transform:scaleY(1); }
 .cx-hover-cta:hover,.cx-header .cx-packaging-link.cx-hover-cta:hover { color:var(--color-coffee-brown); }
 .cx-hover-link:hover::after { transform:scaleX(1); }
 .cx-hover-link:hover { color:inherit; }
 .cx-footer .cx-hover-link:hover { color:var(--color-bubblegum); }
 .cx-hover-text:hover::before { transform:translateY(-50%) scale(1); opacity:1; }
 .cx-hover-text:hover::after { transform:scaleX(1); }
 .cx-hover-article:hover .text-block-8 { background:var(--color-coffee-brown); color:var(--color-warm-chalk); }
 .cx-header .cx-hover-tool:hover { background:var(--color-coffee-brown); color:var(--color-warm-chalk); }
 .cx-faq summary:hover { color:var(--color-coffee-brown); }
}
.local-reduced-motion .cx-pressable,.local-reduced-motion [class*='cx-hover-']::before,.local-reduced-motion [class*='cx-hover-']::after { transition:none; }
.local-reduced-motion .cx-pressable:active { scale:1; }
@media(prefers-reduced-motion:reduce) {
 .cx-pressable,[class*='cx-hover-']::before,[class*='cx-hover-']::after { transition:none; }
 .cx-pressable:active { scale:1; }
}



.cx-faq details.cx-faq-animated { transition:background-color 200ms ease,border-color 200ms ease,border-radius 200ms ease; }
.cx-faq details.cx-faq-animated:not(.is-expanded) { background:transparent; border-bottom-color:var(--color-soft-rose); border-radius:0; }
.cx-faq details.cx-faq-animated[open] .cx-plus-vertical { display:block; }
.cx-faq-answer { display:flow-root; }
.cx-faq .cx-plus-vertical { transform-box:fill-box; transform-origin:center; }
.local-reduced-motion .cx-faq details.cx-faq-animated { transition:none; }
@media(prefers-reduced-motion:reduce) { .cx-faq details.cx-faq-animated { transition:none; } }
