.rivoli-product-logo{display:block;width:100%;height:100%;object-fit:contain;transform-origin:center;}
.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:100vh;text-align:center;}
.loading .mark,.loading .brand-mark{width:clamp(180px,24vw,300px);height:clamp(180px,24vw,300px);object-fit:contain;}
.app-icon{background:transparent!important;padding:2px;}
.brand-mark,.mini-brand,.app-icon,.rivoli-product-logo{transition:transform .35s ease;}
.logo-is-loading{animation:none!important;}
.brand:hover .brand-mark,.mini-brand:hover,.app-icon:hover,.logo-loading{animation:none;}
.logo-loading{animation-duration:1.15s;}
@keyframes rivoli-logo-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.brand-mark,.mini-brand,.app-icon,.rivoli-product-logo{animation:none!important;transition:none}}

/* Progressive enhancement and shared form/accessibility details. */
.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.js-ready .reveal{opacity:0;transform:translateY(18px)}
.js-ready .reveal.visible{opacity:1;transform:none}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-hint{color:var(--muted);font-size:13px;margin-top:8px}
.service-hero h1 em{font-style:normal;color:var(--green)}
.page-hero h1 em{font-style:normal;color:var(--green)}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.reveal,.js-ready .reveal,.js-ready .reveal.visible{opacity:1!important;transform:none!important;transition:none!important}}
