.campaign-carousel [hidden] { display: none !important; }
.campaign-carousel #campaign-carousel-title { margin: 0 0 12px; max-width: none; font-size: clamp(28px, 3vw, 40px); }
.campaign-carousel > .shell > .campaign-notice { color: #d5ece8; margin-bottom: 30px; max-width: 64ch; }
.campaign-carousel .campaign-copy h3 { font: 500 clamp(24px, 2.7vw, 34px)/1.2 Figtree, system-ui, sans-serif; max-width: 25ch; margin: 0 0 18px; color: #fff; letter-spacing: -.03em; }
.campaign-carousel .campaign-screen { aspect-ratio: auto; }
.campaign-carousel-controls { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 28px; }
.campaign-carousel-controls button { min-height: 44px; padding: 10px 16px; border: 1px solid #86b9ac; border-radius: 8px; background: #143f43; color: #fff; font: inherit; cursor: pointer; }
.campaign-carousel-controls p { margin: 0; color: #d5ece8; white-space: nowrap; font-size: 14px; }
.campaign-carousel-controls button:focus-visible { outline: 3px solid #6fd6c3; outline-offset: 3px; }
@media (max-width: 700px) { .campaign-carousel .campaign-copy h3 { max-width: none; } .campaign-carousel-controls { gap: 8px; } .campaign-carousel-controls button { padding: 10px; font-size: 14px; } }
