/* Content is always readable without JavaScript; motion is progressively added. */
.stats strong,.image-badge strong,.hm-num,.number[data-number]{font-variant-numeric:tabular-nums}
.site-motion-toggle{display:block;margin-top:20px;font:700 11px/1.5 'Nunito Sans',Arial,sans-serif;border:1px solid #836171;border-radius:22px;padding:8px 14px;background:transparent;color:#e4c57e;cursor:pointer;min-height:36px}
.site-motion-toggle:hover{background:#4c102c;border-color:#e4c57e}
.reading-progress{position:fixed;z-index:100;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#4c102c,#d5ae56);transform:scaleX(0);transform-origin:left;pointer-events:none}
.back-to-top{position:fixed;bottom:22px;left:23px;z-index:39;width:44px;height:44px;border:1px solid #e9dce2;border-radius:50%;background:#fff;color:#4c102c;font:24px/1 Arial,sans-serif;box-shadow:0 4px 20px #4c102c15;cursor:pointer}
.back-to-top:hover{background:#4c102c;color:#fff}
html.site-motion-on .card .image-link img,html.site-motion-on .gallery img,html.site-motion-on .article-hero{transition:transform .65s cubic-bezier(.2,.65,.3,1)!important}
html.site-motion-on .card,html.site-motion-on .value-card,html.site-motion-on .contact-card,html.site-motion-on .profile-thumb,html.site-motion-on .back-to-top{transition:transform .3s,box-shadow .3s,border-color .3s,background .3s!important}
html.site-motion-on .text-link:after,html.site-motion-on .hm-link span{transition:transform .25s!important}
html.site-motion-on .text-link:hover:after{transform:translate(3px,-3px)}
html.site-motion-on .field input,html.site-motion-on .field select,html.site-motion-on .field textarea{transition:border-color .2s,box-shadow .2s!important}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#8b4163;box-shadow:0 0 0 3px #4c102c0c}
html.site-motion-on dialog[open]{animation:dialog-enter .25s ease-out!important}
html.site-motion-on .faq details[open]>p,html.site-motion-on .hm-faq details[open]>p{animation:detail-enter .3s ease-out!important}
html.site-motion-on .site-header .nav-links.open{animation:menu-enter .25s ease-out!important}
@media(hover:hover) and (pointer:fine){
 html.site-motion-on .card:hover .image-link img{transform:scale(1.045)}
 html.site-motion-on .card:hover,html.site-motion-on .value-card:hover,html.site-motion-on .contact-card:hover,html.site-motion-on .profile-thumb:hover{transform:translateY(-5px);box-shadow:0 14px 32px #4c102c0e}
 html.site-motion-on .back-to-top:hover{transform:translateY(-3px)}
}
@media(min-width:851px){html.site-motion-on .page-hero:after{animation:hero-outline-drift 12s ease-in-out infinite alternate!important}}
@media(max-width:540px){.site-footer{padding-bottom:85px}.back-to-top{left:14px;bottom:15px;width:40px;height:40px}.site-motion-toggle{min-height:44px}.reading-progress{height:2px}}
@keyframes hero-outline-drift{from{transform:translateY(0) rotate(30deg)}to{transform:translateY(-18px) rotate(34deg)}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes detail-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
html.site-motion-off *,html.site-motion-off *:before,html.site-motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html:not(.site-motion-on) *,html:not(.site-motion-on) *:before,html:not(.site-motion-on) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-motion-toggle,.reading-progress,.back-to-top{display:none!important}}
