.ad-campaigns{max-width:1180px;margin:12px auto;padding:0 16px;box-sizing:border-box;color:var(--text,#17243d)}
.ad-campaigns[hidden],.ad-slide[hidden]{display:none!important}
.ad-viewport{height:clamp(220px,22vw,280px);position:relative;overflow:hidden;border-radius:18px;background:transparent}
.ad-slide{position:absolute;inset:0;height:100%}
.ad-outgoing{z-index:1;pointer-events:none}
.ad-incoming{z-index:2;animation:ad-fade .45s ease-in-out}
.ad-image-surface{display:block;width:100%;height:100%;min-width:0;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;color:inherit;box-sizing:border-box;text-decoration:none}
button.ad-image-surface,a.ad-image-surface{cursor:pointer}
.ad-image-surface picture{display:block;width:100%;height:100%}
.ad-image-surface img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ad-image-surface:focus-visible{outline:3px solid #e8a61d;outline-offset:-4px}
.ad-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:8px}
.ad-controls .ad-dot{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer}
.ad-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #8996a6}
.ad-dot[aria-pressed=true]::before{background:#132b46}
.ad-controls button:focus-visible{outline:3px solid #e8a61d;outline-offset:2px}
.auth-intro:has(#login-ads:not([hidden]))>:not(#login-ads){display:none!important}
.portal .auth-intro:has(#login-ads:not([hidden])){padding:0}
#login-ads{width:100%;margin:0;padding:0}
#login-ads .ad-viewport{height:clamp(180px,20vw,260px)}
@keyframes ad-fade{from{opacity:0}to{opacity:1}}
@media(min-width:601px) and (max-width:1024px){.ad-viewport{height:220px}#login-ads .ad-viewport{height:200px}}
@media(max-width:760px){
 .portal .auth-layout:has(#login-ads:not([hidden])){grid-template-areas:"form" "intro"}
 .portal .auth-layout .auth-intro:has(#login-ads:not([hidden])){display:block}
}
@media(max-width:600px){.ad-campaigns{padding:0 12px;margin:8px auto}.ad-viewport{height:160px}.ad-controls{gap:4px}#login-ads .ad-viewport{height:160px}}
@media(prefers-reduced-motion:reduce){.ad-slide{animation:none}}
