/* Listing Home Decor v4.6 showcase motion system. Layout dimensions never animate. */
body.motion-enabled{--motion-duration:620ms;--motion-image-duration:900ms;--motion-distance:26px;--motion-horizontal:30px;--motion-scale:1.04;--motion-stagger:90ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
body.motion-intensity-subtle{--motion-duration:450ms;--motion-image-duration:700ms;--motion-distance:12px;--motion-horizontal:14px;--motion-scale:1.018;--motion-stagger:65ms}
body.motion-intensity-standard{--motion-duration:620ms;--motion-image-duration:900ms;--motion-distance:26px;--motion-horizontal:30px;--motion-scale:1.04;--motion-stagger:90ms}
body.motion-intensity-showcase{--motion-duration:780ms;--motion-image-duration:1080ms;--motion-distance:42px;--motion-horizontal:52px;--motion-scale:1.065;--motion-stagger:115ms}

/* JS opt-in keeps content visible if scripting or IntersectionObserver is unavailable. */
body.motion-scroll-reveal.motion-ready .motion-reveal{opacity:0;transform:translate3d(0,var(--motion-distance),0);transition:opacity var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
body.motion-scroll-reveal.motion-ready .motion-reveal--left{transform:translate3d(calc(var(--motion-horizontal) * -1),0,0)}
body.motion-scroll-reveal.motion-ready .motion-reveal--right{transform:translate3d(var(--motion-horizontal),0,0)}
body.motion-scroll-reveal.motion-ready .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
body.motion-scroll-reveal.motion-ready .motion-reveal.motion-complete{--motion-delay:0ms!important;will-change:auto}
body.motion-scroll-reveal.motion-ready .motion-section{isolation:isolate}

/* Mask/crop image reveal. QR images are explicitly excluded. */
body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image{overflow:hidden;-webkit-clip-path:inset(0 0 18% 0 round 1px);clip-path:inset(0 0 18% 0 round 1px);transition:opacity var(--motion-image-duration) var(--motion-ease),transform var(--motion-image-duration) var(--motion-ease),-webkit-clip-path var(--motion-image-duration) var(--motion-ease);transition:clip-path var(--motion-image-duration) var(--motion-ease),opacity var(--motion-image-duration) var(--motion-ease),transform var(--motion-image-duration) var(--motion-ease);transition:clip-path var(--motion-image-duration) var(--motion-ease),opacity var(--motion-image-duration) var(--motion-ease),transform var(--motion-image-duration) var(--motion-ease),-webkit-clip-path var(--motion-image-duration) var(--motion-ease)}
body.motion-intensity-showcase.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image{-webkit-clip-path:inset(0 0 28% 0 round 1px);clip-path:inset(0 0 28% 0 round 1px)}
body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image.is-visible{-webkit-clip-path:inset(0 round 1px);clip-path:inset(0 round 1px)}
body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image>img,body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image>picture>img{transform:scale(var(--motion-scale)) translate3d(0,2%,0);transition:transform var(--motion-image-duration) var(--motion-ease);transform-origin:center}
body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image.is-visible>img,body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image.is-visible>picture>img{transform:scale(1) translate3d(0,0,0)}
.motion-hero-image{transition-duration:calc(var(--motion-image-duration) + 100ms)!important}

/* Reformia owns sticky positioning; this makes its native scrolled state clearer. */
body.motion-sticky-header #header #header__main-container,body.motion-sticky-header #header #header-main,body.motion-sticky-header #header .header__logo{transition:background-color 360ms var(--motion-ease),border-color 360ms var(--motion-ease),transform 360ms var(--motion-ease),opacity 360ms var(--motion-ease),box-shadow 360ms var(--motion-ease)}
body.motion-sticky-header #header:not(.header--on-top) #header__main-container{background:rgba(253,251,247,.91);border-bottom:1px solid rgba(40,41,35,.11);box-shadow:0 8px 24px rgba(40,41,35,.045)}
@supports ((-webkit-backdrop-filter: blur(12px)) or (backdrop-filter: blur(12px))){body.motion-sticky-header #header:not(.header--on-top) #header__main-container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}
body.motion-sticky-header #header:not(.header--on-top) #header-main{--header__main-group-spacing-top-pc:2px!important;--header__main-group-spacing-bottom-pc:2px!important;--header__main-group-spacing-top-mobile:11px!important;--header__main-group-spacing-bottom-mobile:11px!important}
body.motion-sticky-header #header:not(.header--on-top) .header__logo{opacity:.94;transform:scale(.94);transform-origin:center}

/* First-level navigation underline. */
body.motion-enabled .header__menu-item>.header__menu__expand-title{position:relative}
body.motion-enabled .header__menu-item>.header__menu__expand-title::after{content:"";position:absolute;right:10px;bottom:0;left:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 320ms var(--motion-ease),opacity 320ms var(--motion-ease);opacity:.7}
@media (hover:hover) and (pointer:fine){body.motion-enabled .header__menu-item>.header__menu__expand-title:hover::after,body.motion-enabled .header__menu-item>.header__menu__expand-title:focus-visible::after{transform:scaleX(1)}}

/* CTA feedback. */
body.motion-cta-hover :where(.b2b-btn,.lh-button,.b2b-quote-trigger){cursor:pointer;transition:transform 320ms var(--motion-ease),background-color 320ms var(--motion-ease),border-color 320ms var(--motion-ease),box-shadow 320ms var(--motion-ease),color 320ms var(--motion-ease)}
@media (hover:hover) and (pointer:fine){body.motion-cta-hover :where(.b2b-btn,.lh-button,.b2b-quote-trigger):hover{transform:translate3d(0,-4px,0);box-shadow:0 14px 30px rgba(40,41,35,.14)}body.motion-cta-hover :where(.b2b-btn,.lh-button):not(.b2b-btn--outline):not(.lh-button--light):hover{background-color:#3b3b32}body.motion-cta-hover :where(.b2b-btn--outline,.lh-button--light):hover{background-color:#f0e9df;border-color:rgba(40,41,35,.55)}body.motion-cta-hover :where(.b2b-btn,.lh-button) span{transition:transform 320ms var(--motion-ease)}body.motion-cta-hover :where(.b2b-btn,.lh-button):hover span{transform:translateX(5px)}}
body.motion-cta-hover :where(.b2b-btn,.lh-button,.b2b-quote-trigger):active{transform:translate3d(0,0,0) scale(.985);transition-duration:120ms}

/* Stronger card feedback without geometry changes. */
.motion-card{cursor:default}.motion-card.motion-complete{transition:transform 420ms var(--motion-ease),border-color 420ms var(--motion-ease),box-shadow 420ms var(--motion-ease),background-color 420ms var(--motion-ease)}.motion-card a,.lh-category,.b2b-product-card a{cursor:pointer}.b2b-product-card>a{display:block;color:inherit;text-decoration:none}
@media (hover:hover) and (pointer:fine){body.motion-card-hover .motion-card.motion-complete:hover{transform:translate3d(0,-8px,0);border-color:rgba(40,41,35,.32);box-shadow:0 18px 42px rgba(40,41,35,.11)}body.motion-image-zoom .motion-card:not(.motion-qr-card) :where(img,picture img){transition:transform 720ms var(--motion-ease);transform-origin:center}body.motion-image-zoom .motion-card:not(.motion-qr-card):hover :where(img,picture img){transform:scale(var(--motion-scale))}body.motion-image-zoom .motion-hero-image:hover>img,body.motion-image-zoom .motion-hero-image:hover>picture>img{transform:scale(1.018)}.lh-category.motion-card:hover .lh-category__text span{transform:translateX(6px)}.b2b-contact-item.motion-card:hover .b2b-line-icon{transform:translateY(-2px)}}
.lh-category__text span,.b2b-line-icon{transition:transform 360ms var(--motion-ease)}
.motion-card :where(.lh-category__image,.b2b-product-card__image,.b2b-gallery__item){overflow:hidden}
.motion-qr-card img,.motion-qr-card picture img{transform:none!important;filter:none!important;opacity:1!important;transition:none!important}

/* About process line and steps reveal as one narrative on desktop. */
@media (min-width:901px){body.motion-scroll-reveal.motion-ready .b2b-process-grid.motion-process-line{position:relative}body.motion-scroll-reveal.motion-ready .b2b-process-grid.motion-process-line::before{content:"";position:absolute;z-index:0;top:0;left:0;width:100%;height:1px;background:rgba(40,41,35,.24);transform:scaleX(0);transform-origin:left;transition:transform 850ms var(--motion-ease) 120ms}body.motion-scroll-reveal.motion-ready .b2b-process-grid.motion-process-line.is-visible::before{transform:scaleX(1)}.b2b-process-grid.motion-process-line>*{position:relative;z-index:1}}

/* Very small desktop-only parallax applied by one rAF-throttled listener. */
@media (min-width:901px){body.motion-parallax-enabled .motion-parallax{--motion-parallax-y:0px}body.motion-parallax-enabled .motion-parallax>img,body.motion-parallax-enabled .motion-parallax>picture>img{translate:0 var(--motion-parallax-y);will-change:translate}body.motion-parallax-enabled .motion-parallax.motion-complete>img,body.motion-parallax-enabled .motion-parallax.motion-complete>picture>img{transition:translate 120ms linear,transform 720ms var(--motion-ease)}}

/* Existing FAQ details retain a modern transition with fallback. */
body.motion-enabled .b2b-faq{interpolate-size:allow-keywords}body.motion-enabled .b2b-faq details{overflow:hidden}body.motion-enabled .b2b-faq summary{position:relative;padding-right:42px;list-style:none}body.motion-enabled .b2b-faq summary::-webkit-details-marker{display:none}body.motion-enabled .b2b-faq summary::after{content:"+";position:absolute;top:50%;right:8px;transform:translateY(-50%);transition:transform 300ms var(--motion-ease),opacity 300ms var(--motion-ease)}body.motion-enabled .b2b-faq details[open] summary::after{content:"−"}body.motion-enabled .b2b-faq details::details-content{height:0;opacity:0;overflow:hidden;transition:height 440ms var(--motion-ease),content-visibility 440ms allow-discrete,opacity 320ms ease}body.motion-enabled .b2b-faq details[open]::details-content{height:auto;opacity:1}

/* Quote List submit: visible text, premium warm-clay treatment. */
.b2b-quote-submit{width:100%;min-height:52px;margin-top:5px;background:#9b684f!important;border-color:#9b684f!important;color:#fff!important;font-weight:700;letter-spacing:.08em}.b2b-quote-submit:hover{background:#80513d!important;border-color:#80513d!important;color:#fff!important}.b2b-quote-submit:focus-visible{outline:2px solid #9b684f;outline-offset:3px}

@supports not ((-webkit-clip-path: inset(0)) or (clip-path: inset(0))){body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image{-webkit-clip-path:none;clip-path:none}}
@media (max-width:900px){body.motion-enabled{--motion-distance:20px;--motion-horizontal:20px;--motion-stagger:70ms}body.motion-parallax-enabled .motion-parallax>img,body.motion-parallax-enabled .motion-parallax>picture>img{translate:none!important;will-change:auto}}
@media (max-width:640px){body.motion-enabled{--motion-distance:16px;--motion-horizontal:0px;--motion-stagger:55ms;--motion-scale:1.02}body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image{-webkit-clip-path:inset(0 0 10% 0);clip-path:inset(0 0 10% 0)}body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image>img,body.motion-image-reveal.motion-scroll-reveal.motion-ready .motion-image>picture>img{transform:scale(1.02)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body.motion-enabled{--motion-distance:0px;--motion-horizontal:0px;--motion-scale:1;--motion-stagger:0ms}body.motion-enabled .motion-reveal,body.motion-enabled .motion-image,body.motion-enabled .motion-image>img,body.motion-enabled .motion-image>picture>img,body.motion-enabled .motion-card,body.motion-enabled :where(.b2b-btn,.lh-button,.b2b-quote-trigger),body.motion-enabled #header *,body.motion-enabled .b2b-faq details::details-content{opacity:1!important;transform:none!important;translate:none!important;-webkit-clip-path:none!important;clip-path:none!important;transition-duration:.01ms!important;transition-delay:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body.motion-enabled .b2b-process-grid::before{transform:none!important;transition:none!important}}

@media (hover:hover) and (pointer:fine){body.motion-image-zoom.motion-card-hover .motion-card.motion-complete:not(.motion-qr-card):hover img{transform:scale(var(--motion-scale))!important}}
@media (prefers-reduced-motion:reduce){body.motion-image-zoom.motion-card-hover .motion-card:hover img{transform:none!important}}
