/* A shop inside the same animated Factory as the landing page. */
.factory.factory-display{--scene-ink:#fff8e9!important;background:#09274f;color:#fff8e9;min-height:100svh}
.factory-display-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#09274f}
.factory-display-backdrop video{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.88)}
.factory-display-shade{position:absolute;inset:0;background:linear-gradient(180deg,#05152a85 0%,#071c3f35 35%,#071c3f80 100%)}
.factory.factory-display .nav{position:relative;z-index:20;background:transparent;border:0;height:118px;color:#fff8e9}
.factory.factory-display .factory-logo,.factory.factory-display .factory-logo-caption,.factory.factory-display .nav nav a{color:#fff8e9}
.factory.factory-display .factory-logo>span{color:#ffea00}
.factory.factory-display .scene-layout{display:block;margin:0}
.factory.factory-display .scene-art{display:none}
.factory.factory-display .scene-shopping{margin:0;padding:8px 5% 30px 170px}
.factory-display .scene-heading{position:relative;max-width:1080px;margin:0 auto;text-align:center;text-shadow:0 2px 20px #001c45}
.factory.factory-display h1{font-size:clamp(44px,5vw,70px);margin:10px 0 12px;color:#fff8e9}
.factory-display .scene-heading h1 em{color:#ffea00}
.factory-display .scene-heading>.eyebrow{font-size:9px;color:#ffea00;letter-spacing:2px}
.factory-display .scene-heading>p:not(.eyebrow){max-width:none;margin-left:auto;margin-right:auto}
.factory-display .scene-heading .scene-deal{margin-top:12px;padding:7px 13px;text-shadow:none}
.factory-display .scene-filterbar{top:144px;width:145px}
.factory-display .theme-filters button{background:#0c285bbb;color:#fff8e9;backdrop-filter:blur(12px);box-shadow:0 4px 12px #001b3a35;border:1px solid #fff2;border-left:0}
.factory-display .theme-filters button:hover{background:#1535a1;color:#ffea00}
.factory-display .theme-filters button[aria-pressed=true]{background:#ffea00;color:#1535a1;box-shadow:2px 4px 0 #07225255}
.factory.factory-display .shop-catalog{max-width:1100px;margin:0 auto;padding-top:4px}
.factory.factory-display .product-grid.has-card-racks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;align-items:start}
.factory-display .card-display-rack{width:100%;max-width:none;translate:none;margin:0;aspect-ratio:1}
.factory-display .card-display-rack::before{background:radial-gradient(ellipse,#020c20b0 0%,#020c2060 38%,#020c2000 74%);filter:blur(7px)}
.factory-display .card-display-rack::after{background:radial-gradient(ellipse,#010819aa,#01081900 72%)}
.factory-display .shop-footnote{margin-top:10px;justify-content:center;color:#fff8e9}
.factory-display .shop-footnote a{color:#fff8e9;border-color:#fff6}
.factory-display footer{display:none}
.factory-display .scene-empty{grid-column:1/-1;min-height:300px;display:grid;place-items:center;text-align:center;font-size:18px;color:#fff8e9}
@media(max-width:1000px) and (min-width:801px){.factory.factory-display .scene-shopping{padding-left:155px;padding-right:3%}.factory-display .scene-filterbar{width:135px}}
@media(max-width:800px){
 .factory.factory-display .nav{height:145px;padding-top:20px}
 .factory.factory-display .scene-shopping{padding:20px 18px 32px 118px}
 .factory-display .scene-filterbar{top:164px;width:107px}
 .factory-display .scene-heading{text-align:left}
 .factory.factory-display h1{font-size:clamp(35px,6vw,52px)}
 .factory-display .scene-heading>.eyebrow{font-size:8px;line-height:1.7}
 .factory-display .scene-heading>p:not(.eyebrow){font-size:12px;line-height:1.6}
 .factory.factory-display .product-grid.has-card-racks{grid-template-columns:1fr;gap:10px}
 .factory-display .card-display-rack{translate:none;margin:0;max-width:500px}
 .factory-display .shop-footnote a{white-space:normal}
}

/* Clean Factory scenery, with repeatable rails overlaid independently. */
.factory-display-backdrop>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.88)}
.factory-display-shade{background:linear-gradient(180deg,#06193380,transparent 32%,#06193320)}
.factory.factory-display .scene-shopping{padding-left:175px;padding-right:6%}
.factory.factory-display .shop-catalog{padding-top:24px;max-width:1180px}
.factory.factory-display .product-grid.has-card-rails{display:block;padding:0}
.factory-rail-row{position:relative;isolation:isolate;width:100%;height:clamp(210px,20vw,285px);margin-bottom:30px;--rail-card-width:calc(88% / var(--rail-columns,5))}
.factory-rail-layer{position:absolute;left:0;top:24px;width:100%;height:auto;max-width:none;translate:0 -50%;z-index:0;pointer-events:none;filter:drop-shadow(0 5px 3px #001a3845)}
.factory.factory-display .shop-catalog .factory-rail-row .rail-card{position:absolute;left:var(--rail-x);top:34px;translate:-50% 0;width:var(--rail-card-width);aspect-ratio:var(--visible-ratio,1.585);z-index:1;border:0;border-radius:0;overflow:visible;margin:0;background:transparent;transform-origin:50% 0;transition:transform .3s cubic-bezier(.2,.75,.25,1)}
.factory.factory-display .shop-catalog .factory-rail-row .rail-card.rack-portrait{width:calc(var(--rail-card-width) / 1.585)}
.factory.factory-display .shop-catalog .factory-rail-row .product-art{position:absolute;inset:0;margin:0;overflow:visible;background:transparent;isolation:auto}
.factory.factory-display .shop-catalog .factory-rail-row .card-preview-trigger{position:absolute;inset:0;width:100%;height:100%;transform:none;transform-origin:50% 0;border-radius:5px}
.factory.factory-display .shop-catalog .factory-rail-row .card-cutout{position:absolute;display:block;inset:0;width:100%;height:100%;padding:0;aspect-ratio:auto;transform:none}
.factory.factory-display .shop-catalog .factory-rail-row .fit-artwork{left:50%;top:50%;width:var(--art-width,100%);height:auto;max-width:none;translate:var(--art-x,-50%) var(--art-y,-50%);transform:none!important;filter:drop-shadow(0 4px 3px #00112755) drop-shadow(0 12px 12px #00112750)}
.factory.factory-display .shop-catalog .factory-rail-row .fit-artwork.is-portrait{width:auto;height:var(--rack-art-height,100%)}
.factory-rail-row .rack-clip{width:20%;translate:-50% -40%}
.factory-rail-row .rack-portrait .rack-clip{width:31.7%}
.factory.factory-display .shop-catalog .factory-rail-row .rail-card:hover,.factory.factory-display .shop-catalog .factory-rail-row .rail-card:focus-within{z-index:10;transform:scale(1.15)}
.factory.factory-display .shop-catalog .factory-rail-row .rail-card:hover .card-preview-trigger,.factory.factory-display .shop-catalog .factory-rail-row .card-preview-trigger:focus-visible{transform:none}
.factory-display .scene-empty{display:block;min-height:250px;padding-top:100px}
@media(max-width:1000px) and (min-width:801px){.factory.factory-display .scene-shopping{padding-left:155px;padding-right:4%}}
@media(max-width:800px){
 .factory.factory-display .scene-shopping{padding:20px 18px 32px 118px}
 .factory-rail-row{height:clamp(175px,30vw,230px);margin-bottom:20px}
 .factory-display-backdrop>img{object-position:50% center}
}
@media(prefers-reduced-motion:reduce){.factory.factory-display .shop-catalog .factory-rail-row .rail-card{transition:none}}

.factory.factory-display{position:relative;isolation:isolate}
.factory-display-backdrop{z-index:0}
.factory.factory-display main{position:relative;z-index:1}

/* Independent rotation lets hanging cards sway without changing hover scaling. */
@keyframes factory-card-sway {
  0%,100% { rotate: calc(-1 * var(--sway-angle,1.5deg)); }
  50% { rotate: var(--sway-angle,1.5deg); }
}
@media(prefers-reduced-motion:no-preference) {
  .factory-rail-row .rail-card {
    animation: factory-card-sway var(--sway-duration,6s) var(--sway-delay,0s) ease-in-out infinite;
  }
  .factory-rail-row .rail-card:hover,
  .factory-rail-row .rail-card:focus-within,
  .factory-rail-row .rail-card:has(.preview-source-hidden) { animation-play-state: paused; }
}
