/* TOB frontend motion: scoped interactions, no page-load reveal. */
body.lumora{--tob-motion-fast:160ms;--tob-motion-normal:220ms;--tob-motion-ease:cubic-bezier(.2,.7,.2,1)}
.lumora :is(.lm-btn,.lm-button,.br-button,.lm-navigation a,.lm-header-actions button,.lm-account-dropdown a,.lm-account-dropdown button,.br-faq-contact,.pe-service-copy a){transition-property:background-color,color,border-color,box-shadow,transform;transition-duration:var(--tob-motion-fast);transition-timing-function:var(--tob-motion-ease)}
.lumora :is(.lm-service-card,.lm-project-card,.lm-package,.lm-subservice,.br-card,.pe-service,.pe-quality-grid article,.pe-steps article){transition-property:transform,box-shadow,border-color,background-color;transition-duration:var(--tob-motion-normal);transition-timing-function:var(--tob-motion-ease)}
.lumora :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){transition:border-color var(--tob-motion-fast) ease,box-shadow var(--tob-motion-fast) ease,background-color var(--tob-motion-fast) ease}
.lumora :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea):focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}
.lumora :is(.pe-faq,.br-faq,.lm-service-faq-list) details{transition:border-color var(--tob-motion-fast) ease,background-color var(--tob-motion-fast) ease,box-shadow var(--tob-motion-fast) ease}
.lumora :is(.lm-customer-menu[open] .lm-account-dropdown,.tob-bell[open] .nb-popover,.lm-service-disclosure[open]>div){animation:tob-soft-pop var(--tob-motion-normal) var(--tob-motion-ease) both;transform-origin:top center}
@keyframes tob-soft-pop{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine){.lumora :is(.lm-btn,.lm-button,.br-button):not(:disabled):hover{translate:0 -2px;box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 13%,transparent)}.lumora :is(.lm-btn,.lm-button,.br-button){transition:background-color var(--tob-motion-fast) ease,color var(--tob-motion-fast) ease,border-color var(--tob-motion-fast) ease,box-shadow var(--tob-motion-normal) ease,translate var(--tob-motion-normal) var(--tob-motion-ease)}.lumora :is(.lm-service-card,.lm-project-card,.br-card,.pe-quality-grid article,.pe-steps article):hover{translate:0 -3px;box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 8%,transparent)}.lumora :is(.lm-service-card,.lm-project-card,.br-card,.pe-quality-grid article,.pe-steps article){transition-property:translate,transform,box-shadow,border-color,background-color}}
@media(prefers-reduced-motion:reduce){.lumora :is(.lm-btn,.lm-button,.br-button,.lm-navigation a,.lm-header-actions button,.lm-account-dropdown a,.lm-account-dropdown button,.br-faq-contact,.pe-service-copy a,.lm-service-card,.lm-project-card,.lm-package,.lm-subservice,.br-card,.pe-service,.pe-quality-grid article,.pe-steps article,input,select,textarea){transition:none!important;translate:none!important}.lumora :is(.lm-customer-menu[open] .lm-account-dropdown,.tob-bell[open] .nb-popover,.lm-service-disclosure[open]>div){animation:none!important}}

/* Opening/closing are managed together so native details does not hide early. */
.lumora .tob-pop-motion{animation:none!important;will-change:opacity,translate}
@media(prefers-reduced-motion:reduce){.lumora .tob-pop-motion{will-change:auto}}
