.sponsored-banner-mount { width: min(calc(100% - 14px), 1900px); aspect-ratio: 1920 / 260; margin: 14px auto 18px; }
.sponsored-banner { position: relative; isolation: isolate; width: 100%; height: 100%; overflow: hidden; border: 1px solid rgba(15,45,107,.12); border-radius: 16px; background: #061b45; box-shadow: 0 10px 28px rgba(8,28,70,.12); }
.sponsored-banner__link,.sponsored-banner__media,.sponsored-banner__image { display: block; width: 100%; height: 100%; }
.sponsored-banner__link { color: inherit; text-decoration: none; }
.sponsored-banner__image { object-fit: cover; object-position: center 45%; }
.sponsored-banner__link:focus-visible { outline: 3px solid #1f66c2; outline-offset: 3px; border-radius: inherit; }
.sponsored-banner::before { content: ""; position: absolute; z-index: 2; inset: -45% auto -45% -34%; width: 24%; pointer-events: none; background: linear-gradient(105deg,transparent 0%,rgba(255,255,255,.03) 34%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.03) 66%,transparent 100%); transform: translateX(-140%) skewX(-14deg); animation: sponsored-banner-sweep 7s ease-in-out infinite; }
.sponsored-banner__accent { position: absolute; z-index: 2; top: 43%; right: 3%; width: 7%; aspect-ratio: 1; border-radius: 50%; pointer-events: none; background: radial-gradient(circle,rgba(255,220,35,.16),rgba(255,220,35,.05) 45%,transparent 72%); opacity: .36; animation: sponsored-banner-glow 7s ease-in-out infinite; }
@keyframes sponsored-banner-sweep { 0%,68% { transform: translateX(-140%) skewX(-14deg); opacity: 0; } 72% { opacity: .7; } 90% { transform: translateX(610%) skewX(-14deg); opacity: .25; } 100% { transform: translateX(610%) skewX(-14deg); opacity: 0; } }
@keyframes sponsored-banner-glow { 0%,62%,100% { opacity: .24; transform: scale(.96); } 76% { opacity: .5; transform: scale(1.04); } }
@media (max-width:900px) { .sponsored-banner-mount { width: calc(100% - 20px); aspect-ratio: 16 / 5; margin: 12px auto 16px; } .sponsored-banner { border-radius: 14px; } .sponsored-banner__image { object-position: center; } }
@media (max-width:560px) { .sponsored-banner-mount { aspect-ratio: 3 / 1; } .sponsored-banner { border-radius: 12px; } }
@media (prefers-reduced-motion:reduce) { .sponsored-banner::before,.sponsored-banner__accent { animation: none; } .sponsored-banner::before { display: none; } }
