/* Keep desktop composition; mobile uses readable live copy and cropped product art. */
.duo-promo-slot {min-width:0; grid-column:1 / -1;}
.duo-promo-slot .duo-promo-banner {position:relative; display:flex; align-items:center; box-sizing:border-box; width:100%; min-height:80px; border:0; border-radius:0; background:#f5f5f7; color:#1d1d1f; font-family:"Pretendard",sans-serif; text-decoration:none;}
.duo-promo-slot .duo-promo-banner:focus-visible {outline:2px solid #3617ce; outline-offset:4px;}
.duo-promo-copy {position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:4px; box-sizing:border-box; width:calc(100% - 240px); padding:12px 30px;}
.duo-promo-heading {display:flex; align-items:center; gap:12px;}
.duo-promo-logo {position:relative; display:block; flex:none; overflow:hidden; width:144px; aspect-ratio:170 / 30;}
.duo-promo-logo img {position:absolute; display:block; width:1129.411765%; max-width:none; height:auto; left:-352.941176%; top:-516.666667%;}
.duo-promo-title {font-size:22px; font-weight:700; line-height:1.2; letter-spacing:-.03em; white-space:nowrap;}
.duo-promo-title--mobile {display:none;}
.duo-promo-slot .duo-promo-mobile {display:none;}
.duo-promo-tagline {font-size:15px; line-height:1.4; color:#555; word-break:keep-all;}
.duo-promo-art {position:absolute; right:0; bottom:0; width:240px; height:100%; overflow:hidden; pointer-events:none;}
.duo-promo-art img {position:absolute; right:0; bottom:0; display:block; width:auto; max-width:none; height:100%; border:0; border-radius:0;}
.duo-promo-slot--slim {margin-bottom:24px;}
.detail-period > .duo-promo-slot--slim {margin:16px -16px -16px; padding-top:24px; background:#fff;}
.detail-period > .duo-promo-slot--slim .duo-promo-banner {overflow:hidden; border-radius:12px;}
@media (min-width:901px) and (max-width:1100px) {
    .detail-period > .duo-promo-slot--slim .duo-promo-copy {width:calc(100% - 190px); padding:12px;}
    .detail-period > .duo-promo-slot--slim .duo-promo-heading {gap:8px;}
    .detail-period > .duo-promo-slot--slim .duo-promo-logo {width:100px;}
    .detail-period > .duo-promo-slot--slim .duo-promo-title {font-size:16px;}
    .detail-period > .duo-promo-slot--slim .duo-promo-tagline {font-size:12px;}
    .detail-period > .duo-promo-slot--slim .duo-promo-art {width:190px;}
    .detail-period > .duo-promo-slot--slim .duo-promo-art img {height:76px; max-height:100%;}
}
@media (max-width:1024px) {
    .duo-promo-slot--wide {margin-bottom:24px;}
}
@media (max-width:900px) {
    .duo-promo-slot {container-type:inline-size;}
    .duo-promo-slot .duo-promo-banner {min-height:clamp(64px, 16.666667cqw, 80px);}
    .duo-promo-copy {width:66%; padding:6px; gap:4px;}
    .duo-promo-heading {flex-direction:row; align-items:center; gap:3px; white-space:nowrap;}
    .duo-promo-logo {width:clamp(64px, 25cqw, 112px);}
    .duo-promo-title--desktop, .duo-promo-art {display:none;}
    .duo-promo-title--mobile {display:block; font-size:clamp(10px, 3.8cqw, 18px);}
    .duo-promo-tagline {font-size:clamp(8px, 3.1cqw, 14px); line-height:1.35; white-space:nowrap;}
    .duo-promo-tagline span {display:inline;}
    .duo-promo-slot .duo-promo-mobile {position:absolute; display:block; right:4px; bottom:0; width:34%; max-width:160px; aspect-ratio:460 / 230; overflow:hidden; pointer-events:none;}
    /* Source crop: x875..1335, y10..240; exclude baked-in copy and outer whitespace. */
    .duo-promo-mobile img {position:absolute; display:block; right:-22.826087%; bottom:0; width:313.043478%; max-width:none; height:auto; border:0; border-radius:0;}
    .duo-promo-slot--slim {margin-bottom:16px;}
    .detail-period > .duo-promo-slot--slim {padding-top:16px;}
}
