.fpRedesign2ShelfHost{--hz:62%;--sh:150px;position:fixed;inset:0;z-index:5;overflow:hidden}
.fpRedesign2ShelfHost.mob{--hz:61%;--sh:124px}
.fpRedesign2ShelfHost .head{position:absolute;left:0;right:0;top:118px;text-align:center;z-index:4;pointer-events:none}
.fpRedesign2ShelfHost .eyebrow{font-family:"Nunito",var(--tc);font-size:12px;letter-spacing:.42em;color:var(--dim)}
.fpRedesign2ShelfHost h1{font-family:"Nunito",var(--tc);font-weight:400;font-size:30px;letter-spacing:.14em;margin-top:18px}
.fpRedesign2ShelfHost h1 .n{font-family:var(--lat);font-weight:600;letter-spacing:.04em}
.fpRedesign2ShelfHost .sub{font-family:"Nunito",var(--tc);font-size:14px;letter-spacing:.14em;color:#4a4742;margin-top:16px}
.fpRedesign2ShelfHost .shelf{position:absolute;left:50%;top:calc(var(--hz) - var(--sh));transform:translateX(-50%);display:flex;align-items:flex-end;gap:54px;z-index:3}
.fpRedesign2ShelfHost .item{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .25s;border:0;background:transparent;padding:0;font:inherit;color:inherit}
.fpRedesign2ShelfHost .stand{position:relative;display:flex;align-items:flex-end;justify-content:center;height:var(--sh);transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.fpRedesign2ShelfHost .stand .obj{filter:drop-shadow(0 6px 10px rgba(60,52,40,.18))}
.fpRedesign2ShelfHost .mp3 .obj{width:92px}.fpRedesign2ShelfHost .cd .obj{width:138px}.fpRedesign2ShelfHost .tape .obj{width:172px}.fpRedesign2ShelfHost .vinyl .obj{width:150px}
.fpRedesign2ShelfHost .obj svg{display:block;width:100%;height:auto}
.fpRedesign2ShelfHost .refl{position:absolute;top:100%;left:50%;transform:translateX(-50%) scaleY(-1);opacity:.16;filter:blur(1.2px);mask:linear-gradient(0deg,#000 0%,transparent 38%);-webkit-mask:linear-gradient(0deg,#000 0%,transparent 38%);pointer-events:none}
.fpRedesign2ShelfHost .shadow{position:absolute;bottom:-3px;left:50%;width:70%;height:8px;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(40,34,26,.28),transparent 70%)}
.fpRedesign2ShelfHost .label{position:absolute;top:calc(100% + 30px);left:50%;transform:translateX(-50%);white-space:normal;text-align:center;pointer-events:none;width:min(160px, 22vw);max-width:160px}
.fpRedesign2ShelfHost .label b{display:block;font-family:"Nunito",var(--tc);font-weight:600;font-size:15px;letter-spacing:.16em;color:#2f2c28}
.fpRedesign2ShelfHost .label b.zh{font-family:"Nunito",var(--tc);font-weight:400}
.fpRedesign2ShelfHost .label span{display:block;font-family:"Nunito",var(--tc);font-size:11px;letter-spacing:.1em;color:rgba(26,24,22,.5);margin-top:6px}
.fpRedesign2ShelfHost .tick{width:5px;height:5px;border-radius:50%;background:var(--ink);margin:10px auto 0;opacity:0}
.fpRedesign2ShelfHost.has-sel .item:not(.sel){opacity:.42;filter:saturate(.5)}
.fpRedesign2ShelfHost .item.sel .stand{transform:translateY(-16px)}
.fpRedesign2ShelfHost .item.sel .shadow{width:52%;opacity:.55;bottom:-19px}
.fpRedesign2ShelfHost .item.sel .refl{opacity:.12;top:calc(100% + 16px)}
.fpRedesign2ShelfHost .item.sel .label b{color:var(--ink);font-weight:800}
.fpRedesign2ShelfHost .item.sel .tick{opacity:1}
.fpRedesign2ShelfHost .halo{position:absolute;left:50%;bottom:-10px;width:250px;height:250px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(255,252,244,.95),rgba(255,250,238,.45) 55%,rgba(255,250,238,0));opacity:0;z-index:-1}
.fpRedesign2ShelfHost .item.sel .halo{opacity:1}
.fpRedesign2ShelfHost .cta{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:4}
.fpRedesign2ShelfHost .btn{font-family:"Nunito",var(--tc);font-size:17px;letter-spacing:.24em;padding:0 40px 0 46px;height:56px;border-radius:99px;display:flex;align-items:center;gap:14px;border:0}
.fpRedesign2ShelfHost .btn.off{background:rgba(255,255,255,.22);color:rgba(26,24,22,.42);border:1px dashed rgba(26,24,22,.25)}
.fpRedesign2ShelfHost .btn.on{background:var(--ink);color:#f6f2ea;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 10px 24px -8px rgba(26,24,22,.55),0 2px 4px rgba(26,24,22,.25);cursor:pointer}
.fpRedesign2ShelfHost .btn.on .arr{font-family:var(--lat);font-size:18px;letter-spacing:0;opacity:.75}
.fpRedesign2ShelfHost .hint{font-family:"Nunito",var(--tc);font-size:11.5px;letter-spacing:.14em;color:rgba(26,24,22,.55);text-align:center}
.fpRedesign2ShelfHost .dots{display:none}
.fpRedesign2ShelfHost.voiceMode.mob .head{top:calc(env(safe-area-inset-top,0px) + 76px);padding:0 20px}
.fpRedesign2ShelfHost.voiceMode.mob h1{font-size:20px;line-height:1.5;margin-top:10px;letter-spacing:.08em}
.fpRedesign2ShelfHost.voiceMode.mob .eyebrow{font-size:11px;letter-spacing:.32em}
@media (max-width:520px){
 .fpRedesign2ShelfHost .head{top:92px;padding:0 28px}
 .fpRedesign2ShelfHost h1{font-size:25px;line-height:1.55;margin-top:14px;letter-spacing:.1em}
 .fpRedesign2ShelfHost h1 .br{display:block}
 .fpRedesign2ShelfHost .sub{font-size:13px;line-height:1.8;margin-top:12px}
 .fpRedesign2ShelfHost .shelf{left:0;transform:none;width:100%;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:flex-end;gap:8px;padding:0 8px 52px;scroll-snap-type:none;background:transparent}
 .fpRedesign2ShelfHost .scene,.fpRedesign2ShelfHost .sea,.fpRedesign2ShelfHost .hzline{width:100%;left:0;right:0}
 .fpRedesign2ShelfHost .shelf::-webkit-scrollbar{display:none}
 .fpRedesign2ShelfHost .item{scroll-snap-align:center;flex-shrink:0}
 .fpRedesign2ShelfHost.has-sel .item.sel .label{display:block;opacity:1;z-index:5}
 .fpRedesign2ShelfHost.has-sel .item.sel .label b{display:block;opacity:1;color:var(--ink);font-weight:800}
 .fpRedesign2ShelfHost.has-sel .item:not(.sel) .label b{opacity:.55}
 .fpRedesign2ShelfHost .mp3 .obj{width:48px}.fpRedesign2ShelfHost .cd .obj{width:62px}.fpRedesign2ShelfHost .tape .obj{width:78px}.fpRedesign2ShelfHost .vinyl .obj{width:66px}
 .fpRedesign2ShelfHost .halo{width:120px;height:120px}
 .fpRedesign2ShelfHost .label{top:calc(100% + 26px)}
 .fpRedesign2ShelfHost .label span{display:none}
 .fpRedesign2ShelfHost .tick{display:none}
 .fpRedesign2ShelfHost .dots{display:flex;gap:7px;position:absolute;left:50%;transform:translateX(-50%);top:calc(var(--hz) + 72px);z-index:4}
 .fpRedesign2ShelfHost .dots i{width:5px;height:5px;border-radius:50%;background:rgba(26,24,22,.22)}.fpRedesign2ShelfHost .dots i.on{background:var(--ink);width:16px;border-radius:3px}
 .fpRedesign2ShelfHost .cta{bottom:82px;width:100%;padding:0 28px}
 .fpRedesign2ShelfHost .btn{width:100%;justify-content:center;height:58px}
}
