@layer components{.cta-banner{width:min(100% - clamp(2.5rem,6vw,4rem),var(--max-width));margin-inline:auto;margin-block:clamp(2rem,5vw,4rem)}.cta-banner__inner{background:linear-gradient(135deg,#3730a3,#1e1b4b);color:var(--c-paper);border-radius:var(--radius-lg);padding:clamp(2rem,4vw,3.5rem) clamp(1.5rem,4vw,3rem);display:grid;grid-template-columns:1fr auto;grid-gap:2rem;gap:2rem;align-items:center;position:relative;overflow:hidden}.cta-banner__inner:before{content:"";position:absolute;inset-block-start:-80px;inset-inline-end:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(165,180,252,.09) 0,transparent 70%);pointer-events:none}.cta-banner__content{position:relative}.cta-banner__heading{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;margin:0 0 .5rem;line-height:1.2}.cta-banner__text{color:#e0e7ff;font-size:var(--text-base);font-weight:300;max-width:52ch;margin:0;line-height:1.65}.cta-banner__actions{display:flex;flex-direction:column;gap:.75rem;flex-shrink:0;position:relative}.cta-banner__btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:inherit;font-size:var(--text-sm);font-weight:600;line-height:1.2;letter-spacing:.01em;padding:.65rem 1.5rem;min-block-size:44px;border-radius:var(--radius);border:none;cursor:pointer;text-decoration:none;transition:opacity .15s,background .15s;white-space:nowrap;text-align:center}.cta-banner__btn:focus-visible{outline:3px solid #fff;outline-offset:4px}.cta-banner__btn--cta{background:#ffffff;color:var(--c-accent);font-size:var(--text-base);padding:.85rem 1.75rem}.cta-banner__btn--cta:hover{opacity:.95}.cta-banner__btn--ghost{background:transparent;color:var(--c-paper);border:1px solid #ffffff33}.cta-banner__btn--ghost:hover{background:#ffffff14;border-color:#ffffff55}@media (max-width:900px){.cta-banner__inner{grid-template-columns:1fr;gap:1.75rem}.cta-banner__actions{flex-direction:row;flex-wrap:wrap}}@media (max-width:500px){.cta-banner__actions{flex-direction:column}.cta-banner__btn{width:100%}}}.notification-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem clamp(1.25rem,4vw,2rem);width:100%;box-sizing:border-box}.notification-banner:before{content:"";width:44px;flex-shrink:0}.notification-banner--success{background:#0d5c2a;color:#fff}.notification-banner--error{background:#7f1d1d;color:#fff}.notification-banner__message{flex:1 1;margin:0;line-height:1.5;text-align:center}.notification-banner__close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.5rem;background:transparent;border:1px solid transparent;border-radius:4px;color:inherit;cursor:pointer;flex-shrink:0;transition:border-color .15s}.notification-banner__close:hover{border-color:rgba(255,255,255,.5)}.notification-banner__close:focus-visible{outline:3px solid #fff;outline-offset:2px}