.promo-page{background:#fff9fb}.promo-page header{max-width:1450px}.promo-page header nav{gap:14px}.promo-main{background:radial-gradient(ellipse at 50% 12%,#620d31 0%,#370515 45%,#250310 100%);color:#fff3f7;padding-bottom:64px}.promo-hero{text-align:center;padding:64px 0 24px}.promo-main .eyebrow{color:#f6a9c9;letter-spacing:.18em}.promo-hero h1{color:#fff5ed;font-size:clamp(2.7rem,5vw,4.9rem);margin:16px 0}.promo-hero>p:not(.eyebrow){color:#eed8e1;font-size:1.2rem}.promo-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:32px 0 10px}.promo-tabs a{color:#fff4f8;border:1px solid #a85678;padding:13px 22px;border-radius:50px;font-size:1rem;text-decoration:none;transition:background .2s}.promo-tabs a:hover,.promo-tabs a:focus-visible{background:#f50075;border-color:#f50075}.promo-feature{max-width:1240px}.promo-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c66691 #441228;padding:12px 4px 20px;overscroll-behavior-x:contain}.promo-poster{flex:0 0 36%;min-width:0;scroll-snap-align:start;background:#fff0f5;border:1px solid #edb6cd;border-radius:18px;overflow:hidden;color:#5e0b2f;box-shadow:0 12px 32px #0003}.poster-open{display:block;position:relative;width:100%;padding:12px;border:0;cursor:zoom-in;background:#fff6f9;text-align:center}.poster-open img{display:block;width:100%;height:450px;object-fit:contain;background:#fff;max-width:100%}.poster-zoom{display:block;font-size:.875rem;font-weight:600;color:#8b1048;margin:12px 0 2px}.promo-poster h3{font-family:inherit;font-size:1rem;line-height:1.5;margin:0;padding:16px 20px;min-height:72px}.poster-expired{position:absolute;top:18px;left:18px;right:18px;border-radius:8px;background:#3e263bef;color:#fff;padding:9px;font-size:.875rem;z-index:1}.promo-slider-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem;color:#d9b7c7;padding:2px 4px}.promo-slider-footer>div{display:flex;gap:10px}.promo-slider-footer button{height:44px;width:44px;border-radius:50%;background:#f90079;color:white;border:1px solid #f46eac;font-size:1.35rem;cursor:pointer}.promo-slider-footer button:hover{background:#a90b55}.promo-category-section{padding-top:50px;padding-bottom:40px;text-align:center}.promo-category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:24px}.promo-category-grid a{display:flex;flex-direction:column;border:1px solid #aa5c7e;overflow:hidden;border-radius:16px;text-decoration:none;background:#ffeaf2;color:#680b34}.promo-category-grid img{width:100%;height:145px;object-fit:cover}.promo-category-grid span{padding:16px 8px;font-weight:600;font-size:1rem}.promo-category{scroll-margin-top:28px;padding-top:42px;padding-bottom:20px;border-top:1px solid #7d3c57;margin-top:24px}.promo-section-heading{display:flex;gap:18px;align-items:center;margin-bottom:22px}.promo-number{font-size:1rem;letter-spacing:.05em;border:1px solid #b46a8c;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;color:#ffd2e5}.promo-section-heading h2{color:#fff2ed;font-size:clamp(1.8rem,3vw,2.7rem);margin:0}.promo-section-heading p{font-size:1rem;color:#dfbfce;margin:8px 0 0}.promo-count{margin-left:auto;white-space:nowrap;color:#efb1cb;font-size:.875rem}.promo-awaiting{display:flex;align-items:center;gap:32px;background:#fff0f5;border:1px solid #edb6cd;border-radius:18px;overflow:hidden;color:#60324a}.promo-awaiting>img{width:30%;height:230px;object-fit:cover}.promo-awaiting>div{padding:24px 24px 24px 0}.promo-awaiting h3{color:#700c39;font-size:1.4rem}.promo-awaiting p{font-size:1rem;line-height:1.6}.promo-note{margin-top:56px;border-radius:22px;background:#f9d9e6;color:#6d1a40;text-align:center;padding:40px}.promo-note h2{color:#6d0d39;font-size:2rem}.promo-note p{max-width:850px;margin:16px auto 24px;font-size:1rem;line-height:1.8}#poster-dialog{width:min(940px,94vw);max-height:94dvh;padding:0;border:1px solid #e3a8c2;border-radius:16px;background:#fff7fa;color:#590f30}#poster-dialog::backdrop{background:#190410e6}.poster-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid #eac5d5}.poster-dialog-toolbar h2{font-family:inherit;font-size:1.1rem;line-height:1.4;margin:0}.poster-close{border:1px solid #92114b;border-radius:24px;color:#92114b;background:#fff;padding:10px 16px;cursor:pointer;white-space:nowrap}.poster-dialog-scroll{overflow:auto;max-height:78dvh;padding:12px;text-align:center}.poster-dialog-scroll img{height:auto;max-width:100%;width:auto;display:inline-block}.promo-main a:focus-visible,.promo-main button:focus-visible,.promo-track:focus-visible{outline:3px solid #ffb8d8;outline-offset:4px}@media(max-width:1000px){.promo-poster{flex-basis:47%}.promo-category-grid{gap:10px}.promo-category-grid img{height:100px}.promo-category-grid span{font-size:.875rem}.poster-open img{height:380px}}@media(max-width:640px){.promo-hero{padding:40px 0 16px}.promo-tabs{gap:8px;margin-top:24px}.promo-tabs a{padding:10px 14px;font-size:.875rem}.promo-poster{flex-basis:86%}.promo-track{gap:14px}.poster-open img{height:380px}.promo-category-grid{grid-template-columns:repeat(2,1fr)}.promo-category-grid a:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.promo-category-grid img{height:130px}.promo-section-heading{gap:12px;align-items:flex-start;flex-wrap:wrap}.promo-count{margin-left:56px}.promo-awaiting{flex-direction:column;gap:0}.promo-awaiting>img{width:100%;height:190px}.promo-awaiting>div{padding:24px}.promo-note{padding:28px 20px}.promo-note h2{font-size:1.6rem}.poster-dialog-toolbar{padding:12px}.poster-dialog-toolbar h2{font-size:1rem}.promo-page header nav{gap:12px}}
/* Six campaign categories. */
.promo-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.promo-section-heading>div{min-width:0}.promo-section-heading h2{overflow-wrap:break-word}@media(max-width:640px){.promo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-category-grid a:last-child{grid-column:auto;display:flex}.promo-section-heading>div{flex:1}}

/* Unique posters: scroll the actual cards without cloned content. */
.promo-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;touch-action:auto;scroll-behavior:smooth;padding:12px 4px 20px}
.promo-track>.promo-poster{width:clamp(280px,32vw,410px);flex:0 0 auto;scroll-snap-align:start}
.promo-slider-footer[hidden]{display:none}
@media(max-width:640px){.promo-track{gap:14px}.promo-track>.promo-poster{width:76vw;max-width:380px;min-width:240px}}
@media(prefers-reduced-motion:reduce){.promo-track{scroll-behavior:auto}}
