:root{--motion-scale:1;--motion-factor:1;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-micro:calc(120ms * var(--motion-scale) * var(--motion-factor));--dur-fast:calc(180ms * var(--motion-scale) * var(--motion-factor));--dur-base:calc(260ms * var(--motion-scale) * var(--motion-factor));--dur-slow:calc(340ms * var(--motion-scale) * var(--motion-factor));--dur-morph:calc(420ms * var(--motion-scale) * var(--motion-factor));--motion-rise:8px;--motion-push:24px;--motion-blur:4px;--motion-scale-from:0.96}html[data-motion=subtle]{--motion-factor:0.6;--motion-rise:0px;--motion-push:0px;--motion-blur:0px;--motion-scale-from:1}html[data-motion=off] *,html[data-motion=off] :after,html[data-motion=off] :before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}html[data-motion=off] .animate-spin{animation-duration:1s!important;animation-iteration-count:infinite!important}html[data-motion=off]::view-transition-group(*),html[data-motion=off]::view-transition-new(*),html[data-motion=off]::view-transition-old(*){animation:none!important}@media print{*,:after,:before{animation:none!important;transition:none!important}}.skeleton{position:relative;overflow:hidden;background:hsl(var(--muted)/.7)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsl(var(--background)/.55),transparent);animation:skeleton-shimmer 1.4s var(--ease-in-out) infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.skeleton-delay{animation:skeleton-appear var(--dur-fast) var(--ease-out) .12s both}@keyframes skeleton-appear{0%{opacity:0}to{opacity:1}}html[data-motion=off] .skeleton:after,html[data-motion=subtle] .skeleton:after{animation:none;display:none}.route-progress{position:fixed;inset:0 auto auto 0;z-index:90;height:2px;width:0;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary)/.5);opacity:0;pointer-events:none}.route-progress[data-state=loading]{opacity:1;width:85%;transition:width 8s cubic-bezier(.1,.7,.2,1) .15s,opacity var(--dur-fast) linear .15s}.route-progress[data-state=done]{opacity:0;width:100%;transition:width var(--dur-fast) var(--ease-out),opacity var(--dur-base) linear var(--dur-fast)}:root{--motion-page-push:48px;--motion-page-swipe:28vw}html[data-motion=subtle]{--motion-page-push:0px;--motion-page-swipe:0px}::view-transition-new(root),::view-transition-old(root){animation:none}::view-transition-group(page){animation:none}::view-transition-new(page),::view-transition-old(page){animation:none;mix-blend-mode:normal}html:active-view-transition-type(nav-sibling)::view-transition-old(page){animation:vt-fade-out var(--dur-fast) var(--ease-in) both}html:active-view-transition-type(nav-sibling)::view-transition-new(page){animation:vt-rise-in var(--dur-slow) var(--ease-out) both}html:active-view-transition-type(nav-forward)::view-transition-old(page){animation:vt-push-out var(--dur-base) var(--ease-in) both}html:active-view-transition-type(nav-forward)::view-transition-new(page){animation:vt-push-in var(--dur-slow) var(--ease-out) both}html:active-view-transition-type(nav-back)::view-transition-old(page){animation:vt-pop-out var(--dur-base) var(--ease-in) both}html:active-view-transition-type(nav-back)::view-transition-new(page){animation:vt-pop-in var(--dur-slow) var(--ease-out) both}html:active-view-transition-type(nav-left)::view-transition-old(page){animation:vt-swipe-out-left var(--dur-slow) var(--ease-in-out) both}html:active-view-transition-type(nav-left)::view-transition-new(page){animation:vt-swipe-in-right var(--dur-slow) var(--ease-in-out) both}html:active-view-transition-type(nav-right)::view-transition-old(page){animation:vt-swipe-out-right var(--dur-slow) var(--ease-in-out) both}html:active-view-transition-type(nav-right)::view-transition-new(page){animation:vt-swipe-in-left var(--dur-slow) var(--ease-in-out) both}html:active-view-transition-type(nav-reveal)::view-transition-old(page){animation:vt-fade-out var(--dur-fast) linear both}html:active-view-transition-type(nav-reveal)::view-transition-new(page){animation:vt-fade-in var(--dur-base) var(--ease-out) both}html:not([data-motion=subtle]):active-view-transition-type(nav-back) .shop-gallery-main,html:not([data-motion=subtle]):active-view-transition-type(nav-back) [data-shop-return],html:not([data-motion=subtle]):active-view-transition-type(nav-forward) [data-shop-hero],html:not([data-motion=subtle]):active-view-transition-type(nav-reveal) [data-shop-hero]{view-transition-name:shop-hero}::view-transition-group(shop-hero){animation-duration:var(--dur-morph);animation-timing-function:var(--ease-out);z-index:10}::view-transition-new(shop-hero),::view-transition-old(shop-hero){animation-duration:var(--dur-morph);animation-timing-function:var(--ease-out);height:100%;object-fit:contain}html:active-view-transition-type(theme-reveal)::view-transition-old(root){animation:none;z-index:1}html:active-view-transition-type(theme-reveal)::view-transition-new(root){animation:theme-reveal var(--dur-morph) var(--ease-in-out) both;z-index:2}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--reveal-x,50%) var(--reveal-y,50%))}to{clip-path:circle(var(--reveal-r,150vmax) at var(--reveal-x,50%) var(--reveal-y,50%))}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-rise-in{0%{opacity:0;transform:translateY(var(--motion-rise))}}@keyframes vt-push-in{0%{opacity:0;transform:translateX(var(--motion-page-push))}}@keyframes vt-push-out{to{opacity:0;transform:translateX(calc(var(--motion-page-push) * -.35))}}@keyframes vt-pop-in{0%{opacity:0;transform:translateX(calc(var(--motion-page-push) * -1))}}@keyframes vt-pop-out{to{opacity:0;transform:translateX(calc(var(--motion-page-push) * .35))}}@keyframes vt-swipe-in-right{0%{opacity:.4;transform:translateX(var(--motion-page-swipe))}}@keyframes vt-swipe-out-left{to{opacity:0;transform:translateX(calc(var(--motion-page-swipe) * -1))}}@keyframes vt-swipe-in-left{0%{opacity:.4;transform:translateX(calc(var(--motion-page-swipe) * -1))}}@keyframes vt-swipe-out-right{to{opacity:0;transform:translateX(var(--motion-page-swipe))}}.motion-fade-in{animation:vt-fade-in var(--dur-base) var(--ease-out) both}.kb-hover-summary{transition:opacity var(--dur-fast) var(--ease-out),visibility 0s linear var(--dur-fast)}.group\/item:hover .kb-hover-summary{transition:opacity var(--dur-fast) var(--ease-out) .35s,visibility 0s linear .35s}.motion-bump{animation:motion-bump var(--dur-base) var(--ease-out)}@keyframes motion-bump{40%{transform:scale(1.35)}}html[data-motion=subtle] .motion-bump{animation:none}.motion-check{animation:motion-check-pop var(--dur-base) var(--ease-out) calc(var(--dur-morph) + .12s) both}.motion-check-circle{stroke-dasharray:145;stroke-dashoffset:145;animation:motion-draw var(--dur-morph) var(--ease-in-out) both}.motion-check-mark{stroke-dasharray:36;stroke-dashoffset:36;animation:motion-draw var(--dur-base) var(--ease-out) calc(var(--dur-morph) * .7) both}@keyframes motion-draw{to{stroke-dashoffset:0}}@keyframes motion-check-pop{50%{transform:scale(1.08)}}html[data-motion=subtle] .motion-check{animation:vt-fade-in var(--dur-base) var(--ease-out) both}html[data-motion=off] .motion-check-circle,html[data-motion=off] .motion-check-mark,html[data-motion=subtle] .motion-check-circle,html[data-motion=subtle] .motion-check-mark{animation:none;stroke-dashoffset:0}.page-frame{timeline-scope:--page-frame-body}.page-frame-body{scroll-timeline:--page-frame-body y}@supports (animation-timeline:scroll()){.page-frame-header{animation:page-frame-shadow linear both;animation-timeline:--page-frame-body;animation-range:0 24px}}@keyframes page-frame-shadow{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 8px 16px -12px rgb(0 0 0/.28)}}.motion-img[data-fading=waiting]{opacity:0}.motion-img[data-fading=in]{opacity:1;transition:opacity var(--dur-base) var(--ease-out)}.motion-reveal{animation:motion-reveal var(--dur-base) var(--ease-out) both;animation-delay:calc(var(--motion-i, 0) * 30ms * var(--motion-scale))}@keyframes motion-reveal{0%{opacity:0;transform:translateY(var(--motion-rise))}}