.roll-art{perspective:900px;overflow:visible}.film-cartridge{position:relative;display:block;width:min(100%,430px);aspect-ratio:1.657/1;filter:drop-shadow(0 28px 28px rgba(0,0,0,.72));transform:rotateX(-2deg) rotateY(4deg);transition:transform .35s ease}.roll-card:hover .film-cartridge,.roll-card:focus-visible .film-cartridge{transform:rotateX(0) rotateY(0) translateY(-5px)}.cartridge-blank{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain}.dynamic-label{position:absolute;z-index:2;left:18.1%;right:17.2%;top:21.5%;bottom:19.1%;display:flex;flex-direction:column;align-items:stretch;justify-content:center;overflow:hidden;color:#17171b;transform:perspective(700px) rotateY(-1deg);container-type:inline-size}.dynamic-label:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 18%,transparent 76%,rgba(0,0,0,.08));mix-blend-mode:multiply}.label-top,.label-bottom{position:relative;z-index:1;display:block;flex:0 0 auto;max-width:100%;padding-inline:3%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4f4e54;font:700 clamp(6px,1.15vw,10px)/1.15 var(--mono);letter-spacing:.1em;text-align:center;text-transform:uppercase}.label-top{padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.12)}.label-bottom{padding-top:4px;border-top:1px solid rgba(0,0,0,.12);color:#1c1b20}.stock-name{position:relative;z-index:1;display:-webkit-box;flex:1;min-height:0;align-content:center;max-width:100%;margin:0;padding:2px 4%;overflow:hidden;color:#7553c8;font-family:var(--sans);font-weight:900;line-height:.84;letter-spacing:-.055em;text-align:center;text-transform:uppercase;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.stock-name.fit-lg{font-size:clamp(23px,4.5vw,43px)}.stock-name.fit-md{font-size:clamp(19px,3.7vw,35px)}.stock-name.fit-sm{font-size:clamp(15px,3vw,28px);line-height:.9}.stock-name.fit-xs{font-size:clamp(12px,2.35vw,22px);line-height:.94;letter-spacing:-.025em}.roll-card:nth-child(3n+2) .stock-name{color:#c74334}.roll-card:nth-child(3n+3) .stock-name{color:#32735c}@media(max-width:600px){.film-cartridge{width:min(100%,370px)}.dynamic-label{left:18.2%;right:17.2%;top:21.5%;bottom:19.2%}.label-top,.label-bottom{font-size:clamp(6px,2.2vw,9px)}.stock-name.fit-lg{font-size:clamp(25px,10vw,39px)}.stock-name.fit-md{font-size:clamp(20px,8vw,32px)}.stock-name.fit-sm{font-size:clamp(16px,6.5vw,26px)}.stock-name.fit-xs{font-size:clamp(13px,5.2vw,21px)}}@media(prefers-reduced-motion:reduce){.film-cartridge{transition:none}}
