.hero--side .campaign-carousel{display:block;min-width:0}
.campaign-viewport{position:relative;overflow:hidden;border-radius:22px;touch-action:pan-y}
.campaign-rail{display:flex;transition:transform .3s ease}
.campaign-slide{flex:0 0 100%;min-width:0}
.campaign-slide>a,.campaign-slide>div{display:block;position:relative;aspect-ratio:1}
.hero--side .campaign-carousel img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;margin:0;animation:none;border-radius:0}
.campaign-soon{position:absolute;bottom:14%;left:50%;transform:translateX(-50%) rotate(-5deg);padding:8px 24px;border:2px solid #d9b98a;background:#060608ed;color:#ffe6b5;font-family:var(--font-tech);font-size:clamp(19px,3vw,32px);font-weight:800;letter-spacing:.13em}
.campaign-controls{display:flex;align-items:center;justify-content:center;gap:0;padding-top:4px}
.campaign-controls .campaign-dot{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:none;cursor:pointer}
.campaign-dot::after{content:'';width:7px;height:7px;border-radius:50%;background:#d9b98a55;transition:background .2s}
.campaign-dot[aria-pressed=true]::after{background:#d9b98a}
.campaign-controls button:focus-visible,.campaign-slide a:focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.campaign-rail{transition:none}}
