[x-cloak]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:'DM Sans',sans-serif;color:#17211f}
h1,h2,h3,h4{font-family:'Manrope',sans-serif}
.eyebrow{letter-spacing:.22em}
.hero-overlay{background:linear-gradient(90deg,rgba(248,246,240,.98) 0%,rgba(248,246,240,.91) 31%,rgba(248,246,240,.35) 53%,rgba(248,246,240,0) 73%)}
.image-zoom img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.image-zoom:hover img{transform:scale(1.06)}
.nav-link{position:relative}
.nav-link:after{content:"";position:absolute;left:0;bottom:-8px;height:2px;width:0;background:#b47a3c;transition:width .25s}
.nav-link:hover:after{width:100%}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:90;pointer-events:none;background:transparent}
.scroll-progress>span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#b47a3c,#073e35);transition:transform .1s linear}
.skeleton{position:relative;overflow:hidden;background:#e7e5e4}
.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:lakreo-shimmer 1.6s infinite}
@keyframes lakreo-shimmer{to{transform:translateX(100%)}}
.js .img-reveal{opacity:0;transition:opacity .45s ease}
.js .img-reveal.is-loaded{opacity:1}
.img-frame{overflow:hidden;background:#e7e5e4}
.img-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:767px){.hero-overlay{background:linear-gradient(90deg,rgba(248,246,240,.96),rgba(248,246,240,.82) 64%,rgba(248,246,240,.3))}}
@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.skeleton::after{animation:none;opacity:0}
.js .img-reveal{opacity:1;transition:none}
.scroll-progress>span{transition:none}
}

/* Cart drawer — bottom sheet on mobile, right panel on desktop */
.cart-drawer{position:fixed;inset:0;z-index:90;visibility:hidden}
.cart-drawer-backdrop{position:absolute;inset:0;background:rgba(23,33,31,.5);opacity:0;transition:opacity .3s ease}
.cart-drawer-panel{position:absolute;left:0;right:0;bottom:0;display:flex;max-height:85dvh;flex-direction:column;border-radius:1.5rem 1.5rem 0 0;background:#fff;box-shadow:0 -12px 40px rgba(14,43,36,.18);transform:translateY(102%);transition:transform .38s cubic-bezier(.32,.72,0,1)}
.cart-drawer.open{visibility:visible}
.cart-drawer.open .cart-drawer-backdrop{opacity:1}
.cart-drawer.open .cart-drawer-panel{transform:translateY(0)}
@media(min-width:640px){
.cart-drawer-panel{left:auto;right:0;top:0;bottom:0;height:100%;max-height:none;width:100%;max-width:28rem;border-radius:0;border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem;box-shadow:-12px 0 40px rgba(14,43,36,.18);transform:translateX(102%)}
.cart-drawer.open .cart-drawer-panel{transform:translateX(0)}
}
@media(prefers-reduced-motion:reduce){.cart-drawer-backdrop,.cart-drawer-panel{transition:none}}
