[data-lp-carousel]{--carousel-card-width:300px;--carousel-gap:24px;position:relative}
[data-carousel-viewport]{overflow:hidden;touch-action:pan-y pinch-zoom;outline-offset:5px}
[data-carousel-track]{display:flex;gap:var(--carousel-gap);will-change:transform}
[data-carousel-track]>*{flex:0 0 var(--carousel-card-width);min-width:0}
[data-carousel-track] a{display:block;border-radius:16px;overflow:hidden}
[data-carousel-track] img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;user-select:none;-webkit-user-drag:none}
[data-carousel-moving=true] [data-carousel-viewport]{pointer-events:none}
.lp-carousel-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}
.lp-carousel-controls button{min-width:44px;min-height:44px;border:1px solid #9d2235;border-radius:24px;color:#9d2235;background:white;padding:8px 18px;font:inherit;cursor:pointer}
.lp-carousel-controls button:disabled{opacity:.5;cursor:wait}
[data-lp-carousel] :focus-visible{outline:3px solid #348999;outline-offset:4px}
[data-carousel-status]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){[data-carousel-track]{transition:none!important}}

.pc .lp-banner-carousel{position:absolute;left:204px;top:178px;width:1128px;--carousel-card-width:360px;--carousel-gap:24px}.lp-carousel-link{display:block;width:100%;padding:0;background:transparent;border:0;border-radius:16px;overflow:hidden;cursor:pointer}.lp-carousel-controls button{font-size:14px;line-height:1.4}.sp #sp-specialty{height:480px!important}.sp .lp-banner-carousel{position:absolute;left:20px;top:204px;width:335px;--carousel-card-width:335px;--carousel-gap:20px}.sp .lp-carousel-controls{gap:12px}.sp .lp-carousel-controls button{min-width:44px;padding:8px 12px}

/* user-requested: no persistent visible carousel controls */
.lp-carousel-controls{position:absolute;right:0;bottom:-36px;margin:0!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lp-carousel-controls [data-carousel-prev],.lp-carousel-controls [data-carousel-next]{display:none!important}.lp-carousel-controls:focus-within{width:auto;height:auto;overflow:visible;clip-path:none;z-index:20}.lp-carousel-controls [data-carousel-play]{min-width:0;min-height:0;border:0;border-radius:3px;padding:5px 9px;background:white;font-size:12px;text-decoration:underline}.lp-carousel-controls [data-carousel-play]:disabled{display:none}

/* Stationary three-banner layout; only a short, gentle periodic emphasis. */
[data-lp-carousel][data-banner-motion="gentle-wiggle"] [data-carousel-viewport]{overflow-x:auto;overflow-y:hidden;padding-block:4px;margin-block:-4px;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none}
[data-lp-carousel][data-banner-motion="gentle-wiggle"] [data-carousel-viewport]::-webkit-scrollbar{display:none}
[data-lp-carousel][data-banner-motion="gentle-wiggle"] [data-carousel-track]{transform:none!important;will-change:auto}
@media(max-width:767px){[data-lp-carousel][data-banner-motion="gentle-wiggle"] [data-carousel-viewport]{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none}[data-lp-carousel][data-banner-motion="gentle-wiggle"] [data-carousel-viewport]::-webkit-scrollbar{display:none}[data-lp-carousel][data-banner-motion="gentle-wiggle"] [data-carousel-track]>*{scroll-snap-align:start}}
@media(prefers-reduced-motion:reduce){[data-lp-carousel][data-banner-motion="gentle-wiggle"] [data-carousel-track]>*{animation:none!important;transform:none!important}}

/* r23: TOP specialty banners stack only on small screens; preserve complete 2:1 images. */
@media(max-width:767px){.top-page .topflow-specialty .flow-banner-carousel [data-carousel-viewport]{overflow:visible;scroll-snap-type:none;touch-action:pan-y pinch-zoom}.top-page .topflow-specialty .flow-banner-carousel [data-carousel-track]{flex-direction:column;gap:20px}.top-page .topflow-specialty .flow-banner-carousel [data-carousel-track]>*{flex:0 0 auto;width:100%;min-width:0;aspect-ratio:2/1;scroll-snap-align:none}.top-page .topflow-specialty .flow-banner-carousel [data-carousel-track] img{display:block;width:100%;height:100%;aspect-ratio:2/1;object-fit:contain}}
