/* LUMINIER motion: one-time entrances, direct feedback, reduced-motion support. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.25,.8,.25,1)}
.scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--sand);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
.header{transition:box-shadow .4s ease,background .4s ease}.header.is-scrolled{box-shadow:0 8px 30px #07101924;background:#17232df5}.header nav a{transition:color .25s}.header nav a:after{content:'';position:absolute;bottom:22px;height:1px;background:var(--sand);width:100%;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.header nav a.active:after,.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.brand{transition:opacity .3s,transform .4s var(--ease-out)}.brand:hover{opacity:.85;transform:translateY(-1px)}
.fade-in{animation:page-arrive .55s var(--ease-out) both}@keyframes page-arrive{from{opacity:0}to{opacity:1}}
.hero-photo{animation:hero-settle 2.2s var(--ease-out) both;transform-origin:72% 45%}@keyframes hero-settle{from{transform:scale(1.055)}to{transform:scale(1)}}
.hero-inner>*{animation:hero-copy .95s var(--ease-out) both}.hero-inner>.eyebrow{animation-delay:.08s}.hero-inner>h1{animation-delay:.18s}.hero-inner>p{animation-delay:.28s}.hero-inner>.btn{animation-delay:.38s}.hero-bottom{animation:hero-copy .9s .5s var(--ease-out) both}@keyframes hero-copy{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.motion-reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease-out) var(--reveal-delay,0ms),transform .85s var(--ease-out) var(--reveal-delay,0ms)}.motion-reveal.is-visible{opacity:1;transform:none}.motion-reveal:focus-within{opacity:1;transform:none;transition-delay:0ms}
.product-card .product-image,.category-card .product-image{transition:transform .8s var(--ease-out),filter .6s ease}.product-card .photo{isolation:isolate}.product-card .photo:after{content:'';position:absolute;inset:0;border:1px solid #ffffff00;transition:border-color .5s;pointer-events:none}.tag{transition:transform .5s var(--ease-out),background .3s}.product-info h3 a,.product-info .arrow{transition:color .3s,transform .4s var(--ease-out)}.product-info .arrow{display:inline-block}.cat-label>span{transition:transform .45s var(--ease-out)}
.btn{position:relative;overflow:hidden;isolation:isolate;transition:background .3s,color .3s,border-color .3s,box-shadow .35s,transform .35s var(--ease-out)}.btn:after{content:'';position:absolute;inset:-80% auto -80% -100%;width:50%;background:linear-gradient(90deg,transparent,#ffffff24,transparent);transform:skewX(-22deg);pointer-events:none;transition:left .7s var(--ease-soft)}.btn>span,.text-link>span,.header-consult>span{display:inline-block;transition:transform .35s var(--ease-out)}.btn:active{transform:translateY(0) scale(.98)}.text-link{position:relative;transition:color .25s,border-color .25s}.icon-button{transition:transform .3s var(--ease-out),color .3s}.icon-button:active{transform:scale(.9)}.hero-bottom .round{transition:background .3s,transform .3s}.hero-bottom a:hover .round{background:#ffffff15;transform:translateY(3px)}
.category-filter,.option-btn,.swatch{transition:background .25s,border-color .25s,box-shadow .25s,transform .3s var(--ease-out),color .25s}.category-filter:active,.option-btn:active,.swatch:active{transform:scale(.96)}.option-btn.selected{box-shadow:inset 0 -2px var(--sand)}.swatch.selected span{animation:swatch-select .35s var(--ease-out)}@keyframes swatch-select{from{transform:scale(.8)}to{transform:scale(1)}}
.tabs button{transition:color .25s,border-color .35s}.tabs button:hover{color:#a37c55}.thumb{transition:opacity .25s,transform .35s,border-color .25s}.thumb:hover{transform:translateY(-3px)}.quantity button{transition:background .2s,color .2s}.quantity button:hover:not(:disabled){background:var(--cream)}
.contact-form input,.contact-form select,.contact-form textarea{transition:border-color .25s,background .25s,box-shadow .25s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{background:#fff9;box-shadow:0 4px 14px #7f5e3b0b}.contact-line{transition:padding-left .35s var(--ease-out)}.faqs summary:after{transition:transform .3s}.faqs details[open] summary:after{transform:rotate(180deg)}.faqs details[open] p{animation:answer-arrive .35s var(--ease-out)}@keyframes answer-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.inspiration a{isolation:isolate;transition:box-shadow .4s}.inspiration h3{transition:transform .5s var(--ease-out)}.inspiration .inspire-product{transition:transform 1s var(--ease-out)}.inspiration .inspire-shade{transition:opacity .5s}.floating-contact{transition:transform .35s var(--ease-out),background .3s,box-shadow .35s}.footer-grid a:not(.brand){width:fit-content;transition:color .25s,transform .35s var(--ease-out)}
@media(hover:hover) and (pointer:fine){.product-card:hover .product-image,.category-card:hover .product-image{transform:scale(1.045)}.product-card:hover .photo:after{border-color:#ffffff40}.product-card:hover .tag{transform:translateY(-2px)}.product-card:hover .arrow,.category-card:hover .cat-label>span{transform:translate(3px,-3px)}.btn:hover{box-shadow:0 7px 22px #0f1b2517}.btn:hover:after{left:155%}.btn:hover>span,.text-link:hover>span,.header-consult:hover>span{transform:translate(3px,-3px)}.text-link:hover{color:#92704c;border-color:#92704c}.icon-button:hover{color:var(--sand);transform:translateY(-2px)}.category-filter:hover{background:#f4e7da99}.option-btn:hover{border-color:#ad8b69}.swatch:hover{transform:translateY(-2px)}.contact-line:hover{padding-left:7px}.inspiration a:hover h3{transform:translateY(-7px)}.inspiration a:hover .inspire-product{transform:scale(1.035)}.inspiration a:hover .inspire-shade{opacity:.85}.floating-contact:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0003;background:#2c3e4a}.footer-grid a:not(.brand):hover{color:var(--sand);transform:translateX(3px)}}
@media(max-width:760px){.header nav{display:flex;max-height:0;overflow:hidden;visibility:hidden;opacity:0;transform:translateY(-8px);padding:0 5%;border-color:transparent;pointer-events:none;transition:max-height .4s var(--ease-out),padding .4s var(--ease-out),opacity .25s,transform .4s var(--ease-out),visibility .4s,border-color .3s}.header nav.open{max-height:340px;visibility:visible;opacity:1;transform:none;padding:18px 5% 28px;border-color:#ffffff20;pointer-events:auto}.header nav a{opacity:0;transform:translateY(-5px);transition:opacity .25s,transform .35s var(--ease-out),color .25s}.header nav.open a{opacity:1;transform:none}.header nav.open a:nth-child(2){transition-delay:.04s}.header nav.open a:nth-child(3){transition-delay:.08s}.header nav.open a:nth-child(4){transition-delay:.12s}.header nav a:after{bottom:7px;width:30px}.menu svg{transition:transform .35s var(--ease-out)}.menu[aria-expanded=true] svg{transform:rotate(90deg)}.motion-reveal{transform:translateY(16px)}.motion-reveal.is-visible{transform:none}.hero-photo{animation-duration:1.6s}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-reveal{opacity:1!important;transform:none!important}.hero-photo,.hero-inner>*,.hero-bottom{transform:none!important;opacity:1!important}.scroll-progress{display:none}}
