.pd-promo { min-height: 0; padding: 0; margin: 10px 0 24px; overflow: hidden; border: 1px solid #d4e0e6; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px #173e5610; color: #1e3442; }
.pd-promo-slide { display: block; color: #1e3442; text-decoration: none; }
.pd-promo-slide:hover { color: #1e3442; text-decoration: none; }
.pd-promo-slide + .pd-promo-slide { border-top: 1px solid #d4e0e6; }
.pd-promo.is-ready .pd-promo-slides { display: grid; }
.pd-promo.is-ready .pd-promo-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; pointer-events: none; border: 0; transition: opacity 450ms ease, visibility 450ms; }
.pd-promo.is-ready .pd-promo-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.pd-promo-art { background: #f0f5f8; }
.pd-promo-art svg { display: block; width: 100%; height: auto; max-height: 180px; }
.pd-promo-expansion { background: #edf4ef; }
.pd-promo-copy { padding: 24px 28px 26px; }
.pd-promo-kicker { display: block; color: #586c79; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.pd-promo .pd-promo-copy h2 { margin: 12px 0; color: #174b73; font-size: clamp(22px, 2.1vw, 30px); font-weight: 700; line-height: 1.2; }
.pd-promo-copy p { margin: 0 0 18px; color: #526774; font-size: 15px; line-height: 1.5; }
.pd-promo-link { color: #174b73; font-size: 14px; font-weight: 700; }
.pd-promo-slide:hover .pd-promo-link { text-decoration: underline; }
.pd-promo-controls { display: flex; justify-content: space-between; align-items: center; padding: 12px 24px; border-top: 1px solid #e3ebef; background: #fafcfd; }
.pd-promo-controls[hidden] { display: none; }
.pd-promo-selectors { display: flex; gap: 6px; }
.pd-promo-controls button { min-width: 32px; min-height: 32px; border: 1px solid #c4d3dc; border-radius: 50%; background: #fff; color: #174b73; font-size: 12px; cursor: pointer; }
.pd-promo-controls button[aria-current="true"] { background: #174b73; border-color: #174b73; color: #fff; }
.pd-promo-controls .pd-promo-pause { border: 0; border-radius: 4px; background: transparent; padding: 6px 8px; }
.pd-promo a:focus-visible, .pd-promo button:focus-visible { outline: 3px solid #6f773d; outline-offset: -3px; }
@media (max-width: 767px) { .pd-promo { margin-top: 28px; } .pd-promo-copy { padding: 22px; } }
@media (prefers-reduced-motion: reduce) { .pd-promo.is-ready .pd-promo-slide { transition: none; } }
