:root{--ease-luxe:cubic-bezier(.2,.75,.2,1)}
.product-rail{padding-top:12px;padding-bottom:25px;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;scroll-padding-inline:0}
.product-rail::-webkit-scrollbar{display:none}.product-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.product-rail.is-dragging a{cursor:grabbing}
.product-card{transition:transform .65s var(--ease-luxe)}.product-image{position:relative;transition:box-shadow .65s var(--ease-luxe)}.product-image:hover img{opacity:1}
.discover-piece{position:absolute;bottom:14px;left:14px;right:14px;padding:13px 17px;background:#ffffffed;backdrop-filter:blur(12px);display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em;opacity:0;transform:translateY(12px);transition:opacity .45s,transform .55s var(--ease-luxe);pointer-events:none}
.product-heading h3 a{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .5s var(--ease-luxe)}
.favorite-button{transition:transform .4s var(--ease-luxe),background .3s,color .3s;box-shadow:0 3px 14px #332a2409}.favorite-button:hover{transform:rotate(-9deg) scale(1.1);background:var(--espresso);color:white}.favorite-button[aria-pressed=true]{background:var(--espresso);color:white}
.product-card:focus-within .discover-piece{opacity:1;transform:none}.product-card:focus-within .product-heading h3 a{background-size:100% 1px}
@media(hover:hover){.product-card:hover{transform:translateY(-7px)}.product-card:hover .product-image{box-shadow:0 14px 25px -15px #332a2450}.product-card:hover .discover-piece{opacity:1;transform:none}.product-card:hover .product-heading h3 a{background-size:100% 1px}}
.round-button{transition:background .35s,color .35s,transform .45s var(--ease-luxe);flex-shrink:0}.round-button:not(:disabled):hover{background:var(--espresso);color:var(--ivory);transform:rotate(-12deg)}.round-button:disabled{cursor:default;opacity:.3}
.rail-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:20px}.rail-footer p{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.rail-footer p span{margin-left:15px}
.rail-meter{height:2px;background:var(--line);position:relative;margin-top:10px}.rail-meter span{display:block;height:100%;background:var(--espresso);width:var(--rail-size,25%);transform:translateX(var(--rail-position,0%));transition:transform .12s linear}.rail-position{font-size:11px;letter-spacing:.1em;color:var(--muted);margin:10px 0 0;text-align:right;font-variant-numeric:tabular-nums}
.button{position:relative;overflow:hidden;transition:background .45s,color .45s,box-shadow .45s,transform .45s var(--ease-luxe)}.button:hover{box-shadow:0 8px 22px -12px var(--espresso);transform:translateY(-2px)}.button span{transition:transform .45s var(--ease-luxe)}.button:hover span{transform:translate(4px,-3px)}
.main-nav a,.text-link{position:relative}.main-nav a::after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-luxe)}.main-nav a:hover::after{transform:scaleX(1);transform-origin:left}.text-link{transition:color .3s,letter-spacing .4s}.text-link:hover{color:var(--taupe);letter-spacing:.025em}.utility-nav a svg{transition:transform .4s var(--ease-luxe)}.utility-nav a:hover svg{transform:translateY(-3px)}
.filter-tabs button{transition:background .35s,border-color .35s,color .35s}.filter-tabs button:hover{background:var(--ivory);border-color:var(--sand)}.filter-tabs button.active{background:var(--espresso);color:var(--ivory)}
.motion-reveal{opacity:0;transform:translateY(25px);transition:opacity .85s var(--ease-luxe),transform 1s var(--ease-luxe);transition-delay:var(--reveal-delay,0ms)}.motion-reveal.is-visible{opacity:1;transform:none}.route-enter{animation:page-arrival .65s var(--ease-luxe)}@keyframes page-arrival{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:hero-arrival 1.15s var(--ease-luxe) both}.hero-copy>:nth-child(2){animation-delay:.12s}.hero-copy>:nth-child(3){animation-delay:.24s}.hero-copy>:nth-child(4){animation-delay:.36s}@keyframes hero-arrival{from{opacity:0;transform:translateY(25px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
.universe-symbol{position:relative;overflow:hidden}.universe-symbol::before,.universe-symbol::after{content:'';position:absolute;width:75%;aspect-ratio:1;border:1px solid #a18d7838;border-radius:50%;transition:transform 1.5s var(--ease-luxe)}.universe-symbol::after{width:60%}.universe-symbol:hover::before{transform:scale(1.12)}.universe-symbol:hover::after{transform:scale(.9)}.universe-symbol img{transition:transform 1s var(--ease-luxe)}.universe-symbol:hover img{transform:translateY(-7px)}
.intro-screen{transition:opacity .6s,clip-path .65s var(--ease-luxe);clip-path:inset(0);background:#fff}.intro-screen>img{animation:signature-in 1.7s var(--ease-luxe) both}.intro-screen::before{content:'';position:absolute;width:min(70vw,460px);aspect-ratio:1;border:1px solid #d5c6b370;border-radius:50%;animation:signature-ring 2.3s var(--ease-luxe) both}.intro-screen.intro-leaving{opacity:0;clip-path:inset(0 0 100% 0);pointer-events:none}.intro-progress{animation-duration:2.2s}@keyframes signature-in{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(15px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes signature-ring{from{opacity:0;transform:scale(.8) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:700px){.collection-rail{grid-auto-columns:82%;margin-right:-6.8%}.rail-footer{margin-top:12px}.rail-footer p{font-size:9px;max-width:180px}.discover-piece{left:10px;right:10px;bottom:10px;font-size:11px}.rail-position{font-size:10px}.intro-screen>img{width:230px}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;transform:none}.product-card:hover,.button:hover{transform:none}.product-rail{scroll-behavior:auto}}
