.ct-ban {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 420px;
	overflow: hidden;
	background: #eef2f6;
	text-decoration: none;
}
.ct-ban__img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform .6s;
}
a.ct-ban:hover .ct-ban__img, .ct-ban:hover .ct-ban__img { transform: scale(1.04); }
.ct-ban::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0) 60%); pointer-events: none; }
.ct-ban--dark::after { background: linear-gradient(to top, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 60%); }
.ct-ban__body { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 6px; width: 100%; padding: 22px; }
.ct-ban--left .ct-ban__body { align-items: flex-start; text-align: left; }
.ct-ban--center .ct-ban__body { align-items: center; text-align: center; }
.ct-ban--right .ct-ban__body { align-items: flex-end; text-align: right; }
.ct-ban__sub { font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; }
.ct-ban__t { font-family: var(--ct-font-title); font-size: 22px; font-weight: 600; line-height: 1.2; }
.ct-ban__c { font-size: 14px; line-height: 1.55; }
.ct-ban--light .ct-ban__sub, .ct-ban--light .ct-ban__t, .ct-ban--light .ct-ban__c { color: #fff; }
.ct-ban--dark .ct-ban__sub, .ct-ban--dark .ct-ban__t, .ct-ban--dark .ct-ban__c { color: var(--ct-ink); }
.ct-ban .ct-btn { margin-top: 8px; }
@media (max-width: 767px) { .ct-ban { min-height: 320px; } .ct-ban__t { font-size: 18px; } .ct-ban__c { font-size: 13px; } }
