.banner__inner {
	position: relative; display: flex; align-items: center; min-height: 260px; padding: clamp(28px, 5vw, 56px);
	border-radius: var(--r-xl); overflow: hidden; color: #fff;
	background: linear-gradient(135deg, var(--accent), #2a3a8f);
}
.banner__inner.has-image { background: var(--banner-img) center / cover; }
.banner__inner.has-image::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,8,30,.6), rgba(6,8,30,.05)); }
.banner__copy { position: relative; display: grid; gap: 12px; justify-items: start; max-width: 520px; }
.banner__copy h2 { font-size: clamp(26px, 4vw, 40px); }
.banner__copy p { opacity: .85; }
.banner__copy .btn { margin-top: 6px; }
