@keyframes auth-visual-glow{0%{transform:translate(-3%,-2%)scale(1)}to{transform:translate(12%,10%)scale(1.15)}}.promo-banner{width:100%;margin:24px auto;padding:0 max(12px,50% - 840px)}.promo-banner__head{align-items:center;gap:14px;display:flex}.promo-banner__crest{background:var(--surface-strong);border:1px solid var(--border-strong);border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.promo-banner__crest svg{color:var(--primary);font-size:22px}.promo-banner__headings{flex:auto;min-width:0}.promo-banner__eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--primary);margin-bottom:4px;font-size:.78rem;font-weight:700}.promo-banner__title.custom{color:var(--text);margin:0;font-weight:700;line-height:1.12}.promo-banner__subtitle.custom{color:var(--text-muted);max-width:46ch;margin:0;line-height:1.5}.promo-banner__actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.promo-banner .custom-button.promo-banner__cta{background-color:var(--surface-inverse);color:var(--text-inverse);border-radius:999px;padding:6px 12px;font-weight:600}.promo-banner .custom-button.promo-banner__cta .custom-text,.promo-banner .custom-button.promo-banner__cta .icon{color:var(--text-inverse)}.promo-banner .custom-button.promo-banner__cta:hover{background-color:color-mix(in srgb, var(--surface-inverse) 88%, transparent)}.promo-banner .custom-button.promo-banner__cta--ghost{border:1px solid var(--primary);color:var(--primary);background-color:#0000}.promo-banner .custom-button.promo-banner__cta--ghost .custom-text,.promo-banner .custom-button.promo-banner__cta--ghost .icon{color:var(--primary)}.promo-banner .custom-button.promo-banner__cta--ghost:hover{background-color:color-mix(in srgb, var(--primary) 12%, transparent)}.promo-banner--contained .promo-banner__card{background:var(--background-soft);border:1px solid var(--border-strong);border-radius:24px;align-items:stretch;width:100%;min-height:220px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #0000002e}.promo-banner--contained.promo-banner--image-left .promo-banner__card{flex-direction:row-reverse}.promo-banner--contained .promo-banner__content{z-index:1;flex-direction:column;flex:58%;justify-content:center;align-items:flex-start;gap:12px;min-width:0;padding:clamp(20px,3vw,40px);display:flex;position:relative}.promo-banner--contained .promo-banner__media{background-image:var(--promo-img-dark);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:20px;flex:0 0 42%;align-self:stretch;min-height:200px;margin:clamp(16px,2vw,24px) clamp(16px,2vw,24px) clamp(16px,2vw,24px) 0}.promo-banner--contained.promo-banner--image-left .promo-banner__media{margin:clamp(16px,2vw,24px) 0 clamp(16px,2vw,24px) clamp(16px,2vw,24px)}.is-mobile .promo-banner--contained .promo-banner__card{min-height:150px}.is-mobile .promo-banner--contained .promo-banner__content{flex-basis:62%;gap:8px}.is-mobile .promo-banner--contained .promo-banner__head{flex-direction:column;align-items:flex-start;gap:8px}.is-mobile .promo-banner--contained .promo-banner__crest{width:36px;height:36px}.is-mobile .promo-banner--contained .promo-banner__crest svg,.is-mobile .promo-banner--contained .promo-banner__title.custom{font-size:20px}.is-mobile .promo-banner--contained .promo-banner__subtitle.custom{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.is-mobile .promo-banner--contained .promo-banner__media{min-height:unset;border-radius:0;flex-basis:38%;margin:0}.promo-banner--background .promo-banner__card{background:var(--background-soft);border:1px solid var(--border-strong);border-radius:24px;width:100%;height:470px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #0000002e}.promo-banner--background .promo-banner__card:after{content:"";pointer-events:none;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--background-1) 35%, transparent) 32%, var(--background-1) 60%);position:absolute;inset:0}.promo-banner--background .promo-banner__media{background-image:var(--promo-img-dark);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.promo-banner--background .promo-banner__content{z-index:1;flex-direction:column;justify-content:flex-end;gap:10px;width:100%;min-width:0;padding:clamp(20px,3vw,40px);display:flex;position:relative}.promo-banner--background .promo-banner__title.custom{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.promo-banner--background .promo-banner__subtitle.custom{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:52ch;display:-webkit-box;overflow:hidden}.promo-banner--background .promo-banner__actions{flex-direction:column;gap:10px;display:flex}.promo-banner--background .custom-button.promo-banner__cta{justify-content:center;gap:10px;padding:11px 20px}.is-mobile .promo-banner--background .promo-banner__title.custom{font-size:24px}@media (min-width:960px){.promo-banner--background .promo-banner__card{height:440px}.promo-banner--background .promo-banner__content{max-width:680px}.promo-banner--background .promo-banner__actions{flex-flow:wrap}.promo-banner--background.promo-banner--image-right .promo-banner__card:after{background:linear-gradient(to left, transparent 0%, color-mix(in srgb, var(--background-1) 35%, transparent) 32%, var(--background-1) 60%)}.promo-banner--background.promo-banner--image-right .promo-banner__media{inset:unset;width:60%;height:100%;right:0}.promo-banner--background.promo-banner--image-right .promo-banner__content{justify-content:center}.promo-banner--background.promo-banner--image-left .promo-banner__card:after{background:linear-gradient(to right, transparent 0%, color-mix(in srgb, var(--background-1) 35%, transparent) 32%, var(--background-1) 60%)}.promo-banner--background.promo-banner--image-left .promo-banner__card .promo-banner__media{inset:unset;width:60%;height:100%;left:0}.promo-banner--background.promo-banner--image-left .promo-banner__content{justify-content:center;margin-left:auto}}:root:has(.theme-light) .promo-banner__media{background-image:var(--promo-img-light)}@media (prefers-color-scheme:light){:root:not(.theme-dark) .promo-banner__media{background-image:var(--promo-img-light)}}
