.cessto-twic-section {
	box-sizing: border-box;
	position: relative;
}

.cessto-twic-section *,
.cessto-twic-section *::before,
.cessto-twic-section *::after {
	box-sizing: border-box;
}

.cessto-twic-container {
	margin: 0 auto;
	max-width: 1180px;
	padding: 0 24px;
	width: 100%;
}

.cessto-twic-spacing-compact {
	padding-bottom: 48px;
	padding-top: 48px;
}

.cessto-twic-spacing-comfortable {
	padding-bottom: 80px;
	padding-top: 80px;
}

.cessto-twic-spacing-spacious {
	padding-bottom: 112px;
	padding-top: 112px;
}

.cessto-twic-section .grid {
	display: grid;
}

.cessto-twic-section .gap-10 {
	gap: 40px;
}

.cessto-twic-copy {
	max-width: 720px;
}

.cessto-twic-centered {
	margin: 0 auto;
	max-width: 860px;
	text-align: center;
}

.cessto-twic-eyebrow {
	color: #f97316;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.cessto-twic-heading,
.cessto-twic-footer-simple h2 {
	color: inherit;
	font-size: clamp(32px, 4vw, 54px);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0 0 18px;
}

.cessto-twic-description {
	color: inherit;
	font-size: 17px;
	line-height: 1.75;
	opacity: 0.78;
}

.cessto-twic-description p {
	margin: 0 0 14px;
}

.cessto-twic-description p:last-child {
	margin-bottom: 0;
}

.cessto-twic-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.cessto-twic-actions-center {
	justify-content: center;
}

.cessto-twic-button {
	align-items: center;
	background: #f97316;
	border: 1px solid #f97316;
	border-radius: 8px;
	color: #111827;
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.cessto-twic-button:hover,
.cessto-twic-button:focus {
	background: #fb923c;
	box-shadow: 0 12px 24px rgba(249, 115, 22, 0.22);
	color: #111827;
	transform: translateY(-1px);
}

.cessto-twic-button-secondary,
.cessto-twic-button-light {
	background: transparent;
	border-color: currentColor;
	color: inherit;
}

.cessto-twic-button-secondary:hover,
.cessto-twic-button-secondary:focus,
.cessto-twic-button-light:hover,
.cessto-twic-button-light:focus {
	background: rgba(255, 255, 255, 0.12);
	color: inherit;
}

.cessto-twic-media {
	min-width: 0;
	position: relative;
}

.cessto-twic-image {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.cessto-twic-fit-cover {
	object-fit: cover;
}

.cessto-twic-fit-contain {
	object-fit: contain;
}

.cessto-twic-fit-fill {
	object-fit: fill;
}

.cessto-twic-fit-scale-down {
	object-fit: scale-down;
}

.cessto-twic-position-center-center {
	object-position: center center;
}

.cessto-twic-position-left-top {
	object-position: left top;
}

.cessto-twic-position-center-top {
	object-position: center top;
}

.cessto-twic-position-right-top {
	object-position: right top;
}

.cessto-twic-position-left-center {
	object-position: left center;
}

.cessto-twic-position-right-center {
	object-position: right center;
}

.cessto-twic-position-left-bottom {
	object-position: left bottom;
}

.cessto-twic-position-center-bottom {
	object-position: center bottom;
}

.cessto-twic-position-right-bottom {
	object-position: right bottom;
}

.cessto-twic-video-media {
	border-radius: 14px;
	overflow: hidden;
}

.cessto-twic-play {
	align-items: center;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
	display: flex;
	height: 72px;
	justify-content: center;
	left: 50%;
	position: absolute;
	text-decoration: none;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 72px;
}

.cessto-twic-play span {
	border-bottom: 12px solid transparent;
	border-left: 18px solid #f97316;
	border-top: 12px solid transparent;
	display: block;
	margin-left: 5px;
}

.cessto-twic-stats {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 28px;
}

.cessto-twic-stats div,
.cessto-twic-card,
.cessto-twic-contact-card,
.cessto-twic-faq details {
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(17, 24, 39, 0.1);
	border-radius: 8px;
	color: #111827;
	padding: 20px;
}

.cessto-twic-stats strong {
	display: block;
	font-size: 30px;
	line-height: 1;
}

.cessto-twic-stats span {
	color: #64748b;
	display: block;
	font-size: 13px;
	margin-top: 7px;
}

.cessto-twic-cta-inner,
.cessto-twic-footer-inner {
	align-items: center;
	display: flex;
	gap: 28px;
	justify-content: space-between;
}

.cessto-twic-cta-inner .cessto-twic-copy {
	max-width: 760px;
}

.cessto-twic-faq-list {
	display: grid;
	gap: 12px;
}

.cessto-twic-faq summary {
	cursor: pointer;
	font-weight: 800;
}

.cessto-twic-faq p {
	color: #475569;
	margin: 12px 0 0;
}

.cessto-twic-card-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 32px;
}

.cessto-twic-gallery-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cessto-twic-gallery-item {
	border-radius: 8px;
	overflow: hidden;
}

.cessto-twic-card h3 {
	color: inherit;
	font-size: 20px;
	line-height: 1.25;
	margin: 14px 0 8px;
}

.cessto-twic-card p,
.cessto-twic-card blockquote,
.cessto-twic-card span,
.cessto-twic-footer-simple p {
	color: inherit;
	line-height: 1.65;
	margin: 0;
	opacity: 0.74;
}

.cessto-twic-card figcaption {
	margin-top: 18px;
}

.cessto-twic-card figcaption strong,
.cessto-twic-card figcaption span {
	display: block;
}

.cessto-twic-contact-card {
	display: grid;
	gap: 16px;
}

.cessto-twic-contact-card p {
	margin: 0;
}

.cessto-twic-contact-card strong,
.cessto-twic-contact-card span {
	display: block;
}

.cessto-twic-contact-card strong {
	font-size: 12px;
	text-transform: uppercase;
}

.cessto-twic-contact-card span {
	color: #475569;
	margin-top: 4px;
}

.cessto-twic-about-split {
	align-items: center;
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cessto-twic-about-media {
	min-width: 0;
	position: relative;
}

.cessto-twic-about-media-image {
	aspect-ratio: 1 / 1;
	border-radius: 16px;
	box-shadow: 0 28px 60px color-mix(in srgb, var(--twic-about-media-shadow, #4f46e5) 28%, transparent);
	display: block;
	width: 100%;
}

.cessto-twic-about-video-media {
	border-radius: 16px;
	overflow: hidden;
}

.cessto-twic-about-play {
	align-items: center;
	backdrop-filter: blur(3px);
	background: color-mix(in srgb, var(--twic-about-play-bg, #ffffff) 16%, transparent);
	border: 2px solid #fff;
	border-radius: 999px;
	display: flex;
	height: 72px;
	justify-content: center;
	left: 50%;
	position: absolute;
	text-decoration: none;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 180ms ease;
	width: 72px;
}

.cessto-twic-about-play:hover,
.cessto-twic-about-play:focus {
	transform: translate(-50%, -50%) scale(1.04);
}

.cessto-twic-about-play-icon {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	margin: var(--twic-about-icon-margin, 0px);
	padding: var(--twic-about-icon-padding, 0px);
}

.cessto-twic-about-play-svg {
	color: var(--twic-about-play-icon, #ffffff);
	display: block;
	height: var(--twic-about-icon-size, var(--twic-global-icon-size, 22px));
	width: var(--twic-about-icon-size, var(--twic-global-icon-size, 22px));
}

.cessto-twic-about-play-fallback {
	border-bottom: 9px solid transparent;
	border-left: 14px solid var(--twic-about-play-icon, #ffffff);
	border-top: 9px solid transparent;
	display: block;
	margin-left: 2px;
}

.cessto-twic-about-copy {
	color: inherit;
	font-family: var(--twic-about-font-body, var(--twic-global-font-body, inherit));
	font-size: 15px;
	max-width: 640px;
}

.cessto-twic-about-eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0;
	opacity: 0.95;
	text-transform: uppercase;
}

.cessto-twic-about-divider {
	background: linear-gradient(90deg, var(--twic-about-divider-start, #4f46e5), var(--twic-about-divider-end, #ddd9ff));
	border-radius: 999px;
	height: 3px;
	margin: 10px 0 0;
	width: 96px;
}

.cessto-twic-about-heading {
	font-family: var(--twic-about-font-heading, var(--twic-global-font-heading, inherit));
	font-size: clamp(24px, 3vw, 42px);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.15;
	margin: 20px 0 0;
}

.cessto-twic-about-text {
	line-height: 1.75;
	margin-top: 16px;
	opacity: 0.86;
}

.cessto-twic-about-text p {
	margin: 0 0 12px;
}

.cessto-twic-about-text p:last-child {
	margin-bottom: 0;
}

.cessto-twic-about-actions {
	margin-top: 26px;
}

.cessto-twic-about-gradient-btn {
	align-items: center;
	background: linear-gradient(90deg, var(--twic-about-btn-start, #4f46e5), var(--twic-about-btn-end, #8a7dff));
	border: 0;
	border-radius: 999px;
	color: var(--twic-about-btn-text, #ffffff);
	display: inline-flex;
	font-family: var(--twic-about-font-button, var(--twic-global-font-button, inherit));
	font-size: 14px;
	font-weight: 700;
	gap: 8px;
	min-height: 44px;
	padding: 0 22px;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.cessto-twic-about-gradient-btn:hover,
.cessto-twic-about-gradient-btn:focus {
	box-shadow: 0 12px 32px color-mix(in srgb, var(--twic-about-btn-start, #4f46e5) 35%, transparent);
	color: var(--twic-about-btn-text, #ffffff);
	transform: translateY(-1px);
}

.cessto-twic-about-center-head {
	margin: 0 auto 28px;
	max-width: 760px;
	text-align: center;
}

.cessto-twic-about-center-head h2 {
	font-family: var(--twic-about-font-heading, var(--twic-global-font-heading, inherit));
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0;
}

.cessto-twic-about-center-head p {
	line-height: 1.7;
	margin: 10px 0 0;
	opacity: 0.82;
}

.cessto-twic-about-gradient-features,
.cessto-twic-about-grid-layout,
.cessto-twic-about-grid-border {
	overflow: hidden;
}

.cessto-twic-about-gradient-features::before,
.cessto-twic-about-grid-layout::before,
.cessto-twic-about-grid-border::before {
	background: var(--twic-about-glow, #fbffe1);
	border-radius: 999px;
	content: "";
	filter: blur(140px);
	height: 420px;
	left: 50%;
	position: absolute;
	top: -190px;
	transform: translateX(-50%);
	width: min(90vw, 620px);
	z-index: 0;
}

.cessto-twic-about-gradient-features .cessto-twic-container,
.cessto-twic-about-grid-layout .cessto-twic-container,
.cessto-twic-about-grid-border .cessto-twic-container {
	position: relative;
	z-index: 1;
}

.cessto-twic-about-feature-layout {
	align-items: center;
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.cessto-twic-about-feature-copy h3 {
	font-family: var(--twic-about-font-heading, var(--twic-global-font-heading, inherit));
	font-size: clamp(24px, 2.6vw, 36px);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.cessto-twic-about-feature-lead {
	line-height: 1.7;
	margin: 10px 0 0;
	opacity: 0.82;
}

.cessto-twic-about-feature-stack {
	display: grid;
	gap: var(--twic-about-feature-gap, 34px);
	margin-top: 24px;
}

.cessto-twic-about-feature-item-row {
	align-items: flex-start;
	display: flex;
	gap: 14px;
}

.cessto-twic-about-feature-icon {
	align-items: center;
	background: var(--twic-about-icon-bg, #eef2ff);
	border: 1px solid var(--twic-about-icon-border, #c7d2fe);
	border-radius: 8px;
	color: var(--twic-about-icon-color, #4f46e5);
	display: inline-flex;
	flex-shrink: 0;
	height: 38px;
	justify-content: center;
	margin: var(--twic-about-icon-margin, 0px);
	padding: var(--twic-about-icon-padding, 10px);
	min-height: 38px;
	min-width: 38px;
	width: auto;
}

.cessto-twic-about-icon-svg {
	height: var(--twic-about-icon-size, var(--twic-global-icon-size, 18px));
	width: var(--twic-about-icon-size, var(--twic-global-icon-size, 18px));
}

.cessto-twic-about-feature-item-row h4 {
	color: var(--twic-about-feature-title, #334155);
	font-family: var(--twic-about-font-heading, var(--twic-global-font-heading, inherit));
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
}

.cessto-twic-about-feature-item-row p {
	color: var(--twic-about-feature-text, #64748b);
	line-height: 1.6;
	margin: 4px 0 0;
}

.cessto-twic-about-grid {
	display: grid;
	gap: var(--twic-about-grid-gap, 36px);
	grid-template-columns: repeat(var(--twic-about-grid-cols-desktop, 3), minmax(0, 1fr));
	margin-top: 40px;
}

.cessto-twic-about-grid-item h3 {
	color: var(--twic-about-feature-title, #334155);
	font-family: var(--twic-about-font-heading, var(--twic-global-font-heading, inherit));
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	margin: 14px 0 0;
}

.cessto-twic-about-grid-item p {
	color: var(--twic-about-feature-text, #64748b);
	line-height: 1.6;
	margin: 8px 0 0;
}

.cessto-twic-about-grid-has-borders {
	gap: var(--twic-about-grid-gap, 0px);
}

.cessto-twic-about-grid-has-borders .cessto-twic-about-grid-item {
	border: 1px solid var(--twic-about-grid-border, #e5e7eb);
	padding: var(--twic-about-grid-cell-padding, 40px);
}

.cessto-twic-about-community-media {
	border-radius: 16px;
	overflow: hidden;
}

.cessto-twic-about-community-card {
	align-items: center;
	background: var(--twic-about-community-badge-bg, #ffffff);
	border-radius: 12px;
	bottom: 20px;
	color: var(--twic-about-community-badge-text, #1e293b);
	display: flex;
	gap: 12px;
	left: 20px;
	max-width: calc(100% - 40px);
	padding: 12px 14px;
	position: absolute;
}

.cessto-twic-about-community-card p {
	font-family: var(--twic-about-font-body, var(--twic-global-font-body, inherit));
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}

.cessto-twic-about-use-global .cessto-twic-about-eyebrow {
	color: var(--twic-global-primary, #f47a00);
}

.cessto-twic-about-use-global .cessto-twic-about-heading,
.cessto-twic-about-use-global .cessto-twic-about-center-head h2,
.cessto-twic-about-use-global .cessto-twic-about-feature-copy h3,
.cessto-twic-about-use-global .cessto-twic-about-feature-item-row h4,
.cessto-twic-about-use-global .cessto-twic-about-grid-item h3 {
	color: var(--twic-global-heading, #232323);
}

.cessto-twic-about-use-global .cessto-twic-about-text,
.cessto-twic-about-use-global .cessto-twic-about-center-head p,
.cessto-twic-about-use-global .cessto-twic-about-feature-item-row p,
.cessto-twic-about-use-global .cessto-twic-about-grid-item p,
.cessto-twic-about-use-global .cessto-twic-about-community-card p {
	color: var(--twic-global-text, #151515);
}

.cessto-twic-about-avatar-stack {
	align-items: center;
	display: flex;
	flex-shrink: 0;
}

.cessto-twic-about-avatar {
	border: 3px solid #fff;
	border-radius: 999px;
	display: block;
	height: 36px;
	margin-left: -10px;
	object-fit: cover;
	width: 36px;
}

.cessto-twic-about-avatar:first-child {
	margin-left: 0;
}

.cessto-twic-about-avatar-count {
	align-items: center;
	background: var(--twic-about-community-count-bg, #4f46e5);
	border: 3px solid #fff;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 11px;
	font-weight: 700;
	height: 36px;
	justify-content: center;
	margin-left: -10px;
	min-width: 36px;
	padding: 0 8px;
}

@media (min-width: 900px) {
	.cessto-twic-section .lg\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cessto-twic-section .lg\:grid-cols-\[0\.8fr_1\.2fr\] {
		grid-template-columns: 0.8fr 1.2fr;
	}

	.cessto-twic-section .lg\:items-center {
		align-items: center;
	}
}

@media (max-width: 900px) {
	.cessto-twic-spacing-comfortable,
	.cessto-twic-spacing-spacious {
		padding-bottom: 64px;
		padding-top: 64px;
	}

	.cessto-twic-card-grid,
	.cessto-twic-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cessto-twic-about-grid {
		grid-template-columns: repeat(var(--twic-about-grid-cols-tablet, 2), minmax(0, 1fr));
	}

	.cessto-twic-cta-inner,
	.cessto-twic-footer-inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 640px) {
	.cessto-twic-container {
		padding-left: 18px;
		padding-right: 18px;
	}

	.cessto-twic-card-grid,
	.cessto-twic-gallery-grid,
	.cessto-twic-stats {
		grid-template-columns: 1fr;
	}

	.cessto-twic-about-split,
	.cessto-twic-about-feature-layout,
	.cessto-twic-about-grid {
		grid-template-columns: 1fr;
	}

	.cessto-twic-about-grid {
		grid-template-columns: repeat(var(--twic-about-grid-cols-mobile, 1), minmax(0, 1fr));
	}

	.cessto-twic-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cessto-twic-button {
		width: 100%;
	}

	.cessto-twic-about-community-card {
		left: 12px;
		max-width: calc(100% - 24px);
		right: 12px;
	}

	.cessto-twic-about-community-card p {
		font-size: 13px;
	}
}

.cessto-twic-custom-blank {
	overflow: hidden;
}

.cessto-twic-custom-blank-inner {
	margin: 0 auto;
	position: relative;
	width: 100%;
	z-index: 2;
}

.cessto-twic-custom-blank.width-full .cessto-twic-custom-blank-inner {
	max-width: none !important;
}

.cessto-twic-custom-bg-overlay,
.cessto-twic-custom-bg-video-wrap {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.cessto-twic-custom-bg-video-wrap {
	overflow: hidden;
}

.cessto-twic-custom-bg-video,
.cessto-twic-custom-bg-poster {
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

.cessto-twic-custom-bg-poster {
	z-index: 1;
}

.cessto-twic-custom-bg-video {
	z-index: 2;
}

.cessto-twic-blank-container {
	position: relative;
	width: 100%;
}

.cessto-twic-blank-container + .cessto-twic-blank-container {
	margin-top: 20px;
}

.cessto-twic-blank-container.cols-4 .cessto-twic-blank-grid {
	justify-items: center;
}

.cessto-twic-blank-container-bg {
	inset: 0;
	overflow: hidden;
	position: absolute;
	z-index: 0;
}

.cessto-twic-blank-container-bg img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cessto-twic-blank-grid {
	display: grid;
	position: relative;
	z-index: 1;
}

.cessto-twic-blank-column {
	display: grid;
	gap: 14px;
	min-width: 0;
	position: relative;
}

.cessto-twic-blank-element {
	min-width: 0;
}

.cessto-twic-blank-heading {
	margin: 0;
}

.cessto-twic-blank-text p {
	margin: 0 0 10px;
}

.cessto-twic-blank-text p:last-child {
	margin-bottom: 0;
}

.cessto-twic-blank-image-wrap,
.cessto-twic-blank-image-link {
	display: inline-block;
	max-width: 100%;
}

.cessto-twic-blank-image {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.cessto-twic-blank-button-wrap.align-center {
	text-align: center;
}

.cessto-twic-blank-button-wrap.align-right {
	text-align: right;
}

.cessto-twic-blank-button {
	align-items: center;
	border: 0;
	display: inline-flex;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	line-height: 1.1;
	text-decoration: none;
	transition: filter 160ms ease, transform 160ms ease;
}

.cessto-twic-blank-button:hover,
.cessto-twic-blank-button:focus {
	filter: brightness(1.05);
	transform: translateY(-1px);
}

.cessto-twic-blank-button.size-sm {
	min-height: 34px;
	padding: 0 12px;
}

.cessto-twic-blank-button.size-md {
	min-height: 42px;
	padding: 0 16px;
}

.cessto-twic-blank-button.size-lg {
	min-height: 48px;
	padding: 0 20px;
}

.cessto-twic-blank-button.size-xl {
	min-height: 56px;
	padding: 0 24px;
}

.cessto-twic-btn-icon {
	height: 1em;
	width: 1em;
}

.cessto-twic-blank-icon-wrap {
	display: inline-flex;
}

.cessto-twic-blank-icon-wrap.align-center {
	justify-content: center;
	width: 100%;
}

.cessto-twic-blank-icon-wrap.align-right {
	justify-content: flex-end;
	width: 100%;
}

.cessto-twic-blank-icon-svg {
	height: 1em;
	width: 1em;
}

.cessto-twic-blank-video,
.cessto-twic-blank-video-embed iframe {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.cessto-twic-blank-video-embed iframe {
	aspect-ratio: 16 / 9;
}

.cessto-twic-blank-video-placeholder {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: #f0f0f1;
	border: 1px dashed #8c8f94;
	border-radius: 4px;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.cessto-twic-blank-video-placeholder span {
	color: #646970;
	font-size: 12px;
	max-width: 90%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cessto-twic-blank-spacer {
	display: block;
	height: var(--spacer-desktop, 32px);
}

.cessto-twic-blank-divider-wrap {
	display: flex;
	width: 100%;
}

.cessto-twic-blank-divider-wrap.align-center {
	justify-content: center;
}

.cessto-twic-blank-divider-wrap.align-right {
	justify-content: flex-end;
}

.cessto-twic-blank-divider {
	border-top-width: 1px;
}

.cessto-twic-blank-list-header {
	margin: 0;
}

.cessto-twic-blank-list-subheader {
	margin: 6px 0 0;
}

.cessto-twic-blank-list {
	display: grid;
	list-style: disc;
	margin: 0;
	padding-left: 18px;
}

.cessto-twic-blank-list.has-icons,
.cessto-twic-blank-list.has-custom-icon {
	list-style: none;
	padding-left: 0;
}

.cessto-twic-blank-list.has-icons li,
.cessto-twic-blank-list.has-custom-icon li {
	align-items: flex-start;
	display: flex;
	gap: 8px;
}

.cessto-twic-blank-list.has-icons li::before {
	content: "\2022";
	display: inline-block;
	font-weight: 700;
}

.cessto-twic-blank-list-icon {
	display: inline-flex;
	flex-shrink: 0;
}

.cessto-twic-hide-desktop {
	display: none !important;
}

.is-anim-fade-in,
.is-anim-fade-up,
.is-anim-slide-left,
.is-anim-slide-right,
.is-anim-zoom-in {
	animation-duration: .5s;
	animation-fill-mode: both;
	animation-timing-function: ease;
}

.is-anim-fade-in {
	animation-name: twicFadeIn;
}

.is-anim-fade-up {
	animation-name: twicFadeUp;
}

.is-anim-slide-left {
	animation-name: twicSlideLeft;
}

.is-anim-slide-right {
	animation-name: twicSlideRight;
}

.is-anim-zoom-in {
	animation-name: twicZoomIn;
}

@keyframes twicFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes twicFadeUp {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes twicSlideLeft {
	from { opacity: 0; transform: translateX(16px); }
	to { opacity: 1; transform: translateX(0); }
}

@keyframes twicSlideRight {
	from { opacity: 0; transform: translateX(-16px); }
	to { opacity: 1; transform: translateX(0); }
}

@keyframes twicZoomIn {
	from { opacity: 0; transform: scale(.95); }
	to { opacity: 1; transform: scale(1); }
}

@media (max-width: 1024px) {
	.cessto-twic-custom-blank {
		margin-top: var(--twic-mt-tablet, 0px) !important;
		margin-bottom: var(--twic-mb-tablet, 0px) !important;
		padding-top: var(--twic-pt-tablet, 48px) !important;
		padding-bottom: var(--twic-pb-tablet, 48px) !important;
	}

	.cessto-twic-hide-desktop {
		display: block !important;
	}

	.cessto-twic-hide-tablet {
		display: none !important;
	}

	.cessto-twic-blank-container.stack-tablet .cessto-twic-blank-grid {
		grid-template-columns: 1fr !important;
	}

	.cessto-twic-blank-container.responsive-2-1 .cessto-twic-blank-grid,
	.cessto-twic-blank-container.responsive-auto.cols-3 .cessto-twic-blank-grid,
	.cessto-twic-blank-container.responsive-auto.cols-4 .cessto-twic-blank-grid {
		grid-template-columns: 1fr 1fr !important;
	}
}

@media (max-width: 768px) {
	.cessto-twic-custom-blank {
		margin-top: var(--twic-mt-mobile, 0px) !important;
		margin-bottom: var(--twic-mb-mobile, 0px) !important;
		padding-top: var(--twic-pt-mobile, 40px) !important;
		padding-bottom: var(--twic-pb-mobile, 40px) !important;
	}

	.cessto-twic-hide-mobile {
		display: none !important;
	}

	.cessto-twic-blank-container.stack-mobile .cessto-twic-blank-grid,
	.cessto-twic-blank-container.stack-tablet .cessto-twic-blank-grid,
	.cessto-twic-blank-container.responsive-2-1 .cessto-twic-blank-grid,
	.cessto-twic-blank-container.responsive-auto.cols-2 .cessto-twic-blank-grid,
	.cessto-twic-blank-container.responsive-auto.cols-3 .cessto-twic-blank-grid,
	.cessto-twic-blank-container.responsive-auto.cols-4 .cessto-twic-blank-grid {
		grid-template-columns: 1fr !important;
	}

	.cessto-twic-blank-container.mobile-reverse .cessto-twic-blank-grid > .cessto-twic-blank-column {
		order: 2;
	}

	.cessto-twic-blank-container.mobile-reverse .cessto-twic-blank-grid > .cessto-twic-blank-column:last-child {
		order: 1;
	}

	.cessto-twic-custom-bg-video {
		display: none;
	}
}

/* ==========================================================================
   Call To Action templates (prebuiltui-inspired)
   ========================================================================== */

.cessto-twic-cta2 {
	padding: 64px 0;
}

.cessto-twic-cta2-wrap {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1024px;
	padding: 0 16px;
	width: 100%;
}

.cessto-twic-cta-grad-text {
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	background-image: linear-gradient(90deg, var(--twic-cta-grad-start, #ffffff), var(--twic-cta-grad-end, #cabfff));
	color: transparent;
}

/* Interactions tab — card hover effects */
.cessto-twic-cta-fx {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cessto-twic-cta-hover-lift .cessto-twic-cta-fx:hover {
	box-shadow: 0 20px 44px rgba(15, 23, 42, 0.16);
	transform: translateY(-4px);
}

.cessto-twic-cta-hover-scale .cessto-twic-cta-fx:hover {
	transform: scale(1.015);
}

.cessto-twic-cta-hover-glow .cessto-twic-cta-fx:hover {
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25), 0 20px 44px rgba(15, 23, 42, 0.16);
}

/* 1. Grid gradient -------------------------------------------------------- */
.cessto-twic-cta-grid-card {
	background-image: linear-gradient(180deg, var(--twic-cta-card-start, #f8faff), var(--twic-cta-card-end, #eef2ff));
	border: 1px solid #e0e7ff;
	border-radius: 20px;
	padding: 56px 32px;
	text-align: center;
}

.cessto-twic-cta-grid-inner {
	margin: 0 auto;
	max-width: 600px;
}

.cessto-twic-cta-grid-title {
	color: #111827;
	font-size: var(--twic-cta-h-size, clamp(28px, 4vw, 44px));
	font-weight: var(--twic-cta-h-weight, 600);
	letter-spacing: var(--twic-cta-h-ls, -0.02em);
	line-height: 1.12;
	margin: 0 0 16px;
}

.cessto-twic-cta-grid-text {
	color: #525252;
	font-size: 14px;
	line-height: 1.6;
	margin: 0 auto 28px;
	max-width: 440px;
}

.cessto-twic-cta-grid-btn {
	align-items: center;
	background-image: linear-gradient(180deg, #1e1e1e, #050505);
	border: 1px solid #242424;
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	gap: 8px;
	padding: 12px 22px;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.cessto-twic-cta-grid-btn:hover {
	color: #fff;
	opacity: 0.9;
}

/* 2. Icon centered -------------------------------------------------------- */
.cessto-twic-cta-icon-card {
	align-items: center;
	background: var(--twic-cta-card-bg, #f1f5f9);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	padding: 64px 24px;
	text-align: center;
}

.cessto-twic-cta-icon-mark {
	color: var(--twic-cta-icon, #4f39f6);
	margin-bottom: 20px;
}

.cessto-twic-cta-icon-title {
	color: #0f172a;
	font-size: var(--twic-cta-h-size, clamp(22px, 3vw, 30px));
	font-weight: var(--twic-cta-h-weight, 500);
	letter-spacing: var(--twic-cta-h-ls, normal);
	margin: 0 0 8px;
	max-width: 640px;
}

.cessto-twic-cta-icon-text {
	color: #6b7280;
	font-size: 14px;
	line-height: 1.6;
	margin: 0 auto;
	max-width: 512px;
}

.cessto-twic-cta-icon-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 20px;
}

.cessto-twic-cta-btn-primary {
	background: var(--twic-cta-accent, #4f46e5);
	color: #fff;
	font-size: 14px;
	padding: 11px 32px;
	text-decoration: none;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.cessto-twic-cta-btn-primary:hover {
	color: #fff;
	transform: scale(1.05);
}

.cessto-twic-cta-btn-ghost {
	align-items: center;
	color: inherit;
	display: inline-flex;
	font-size: 14px;
	gap: 8px;
	padding: 11px 32px;
	text-decoration: none;
	transition: transform 0.3s ease;
}

.cessto-twic-cta-btn-ghost:hover {
	color: inherit;
	transform: scale(1.05);
}

/* 3. Simple gradient ------------------------------------------------------ */
.cessto-twic-cta-simple-card {
	align-items: center;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	padding: 72px 24px;
	text-align: center;
}

.cessto-twic-cta-simple-title {
	font-size: var(--twic-cta-h-size, clamp(24px, 4vw, 38px));
	font-weight: var(--twic-cta-h-weight, 700);
	letter-spacing: var(--twic-cta-h-ls, normal);
	margin: 0 0 16px;
}

.cessto-twic-cta-simple-text {
	color: #64748b;
	line-height: 1.6;
	margin: 0 auto;
	max-width: 576px;
}

.cessto-twic-cta-simple-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin-top: 24px;
}

.cessto-twic-cta-pill-primary {
	background: var(--twic-cta-accent, #6366f1);
	border-radius: 9999px;
	color: #fff;
	font-weight: 500;
	padding: 12px 32px;
	text-decoration: none;
	transition: filter 0.2s ease, transform 0.1s ease;
}

.cessto-twic-cta-pill-primary:hover {
	color: #fff;
	filter: brightness(0.92);
}

.cessto-twic-cta-pill-ghost {
	align-items: center;
	border: 1px solid #e5e7eb;
	border-radius: 9999px;
	color: #4b5563;
	display: inline-flex;
	font-weight: 500;
	gap: 8px;
	padding: 12px 32px;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.cessto-twic-cta-pill-ghost:hover {
	background: #f3f4f6;
	color: #4b5563;
}

.cessto-twic-cta-pill-ghost svg {
	transition: transform 0.2s ease;
}

.cessto-twic-cta-pill-ghost:hover svg {
	transform: translateX(3px);
}

/* 4. Gradient banner ------------------------------------------------------ */
.cessto-twic-cta-gradient-card {
	align-items: center;
	background-image: linear-gradient(to bottom left, var(--twic-cta-card-start, #4f46e5), var(--twic-cta-card-end, #312e81));
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 16px;
	color: #fff;
	display: flex;
	flex-direction: column;
	padding: 64px 24px;
	text-align: center;
}

.cessto-twic-cta-gradient-badge {
	backdrop-filter: blur(8px);
	background: rgba(255, 255, 255, 0.12);
	border-radius: 9999px;
	color: #e2e8f0;
	font-size: 12px;
	margin-bottom: 24px;
	padding: 8px 24px;
}

.cessto-twic-cta-gradient-title {
	color: #fff;
	font-size: var(--twic-cta-h-size, clamp(28px, 4vw, 40px));
	font-weight: var(--twic-cta-h-weight, 500);
	letter-spacing: var(--twic-cta-h-ls, normal);
	line-height: 1.2;
	margin: 0 0 32px;
	max-width: 672px;
}

.cessto-twic-cta-gradient-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}

.cessto-twic-cta-gradient-primary {
	align-items: center;
	background: #fff;
	border-radius: 9999px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
	color: #111827;
	display: inline-flex;
	font-size: 14px;
	gap: 8px;
	padding: 14px 24px;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.cessto-twic-cta-gradient-primary:hover {
	background: #f3f4f6;
	color: #111827;
}

.cessto-twic-cta-call {
	align-items: center;
	background: #fff;
	border-radius: 9999px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
	display: inline-flex;
	gap: 12px;
	padding: 6px 32px 6px 6px;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.cessto-twic-cta-call:hover {
	background: #f3f4f6;
}

.cessto-twic-cta-call-avatar {
	border-radius: 9999px;
	height: 36px;
	object-fit: cover;
	width: 36px;
}

.cessto-twic-cta-call-copy {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: left;
}

.cessto-twic-cta-call-text {
	color: #111827;
	font-size: 12px;
	line-height: 1.2;
}

.cessto-twic-cta-call-status {
	align-items: center;
	color: #111827;
	display: flex;
	font-size: 12px;
	font-weight: 500;
	gap: 6px;
	line-height: 1.2;
}

.cessto-twic-cta-call-dot {
	background: #22c55e;
	border-radius: 9999px;
	display: inline-block;
	height: 6px;
	width: 6px;
}

/* 5. Promotional (left) --------------------------------------------------- */
.cessto-twic-cta-promo-card {
	background-image: linear-gradient(to bottom, var(--twic-cta-card-start, #4c0083), var(--twic-cta-card-end, #180047));
	border-radius: 16px;
	color: #fff;
	padding: 64px 40px;
	text-align: left;
}

.cessto-twic-cta-promo-proof {
	align-items: center;
	display: flex;
	gap: 12px;
	margin-bottom: 20px;
}

.cessto-twic-cta-promo-avatars {
	display: flex;
}

.cessto-twic-cta-promo-avatar {
	border: 2px solid transparent;
	border-radius: 9999px;
	height: 32px;
	margin-right: -12px;
	object-fit: cover;
	width: 32px;
}

.cessto-twic-cta-promo-stars {
	display: flex;
	gap: 1px;
}

.cessto-twic-cta-promo-rating {
	color: #d1d5db;
	font-size: 13px;
	margin: 2px 0 0;
}

.cessto-twic-cta-promo-title {
	font-size: var(--twic-cta-h-size, clamp(30px, 4vw, 46px));
	font-weight: var(--twic-cta-h-weight, 600);
	letter-spacing: var(--twic-cta-h-ls, normal);
	line-height: 1.2;
	margin: 0 0 32px;
	max-width: 576px;
}

.cessto-twic-cta-promo-btn {
	background: rgba(126, 34, 206, 0.6);
	border: 1px solid #9333ea;
	border-radius: 9999px;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	padding: 11px 48px;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.cessto-twic-cta-promo-btn:hover {
	background: #6b21a8;
	color: #fff;
}

/* 6. Small banner --------------------------------------------------------- */
.cessto-twic-cta-small-card {
	align-items: center;
	background-image: linear-gradient(to bottom, var(--twic-cta-card-start, #4c0083), var(--twic-cta-card-end, #180047));
	border-radius: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: space-between;
	padding: 40px;
}

.cessto-twic-cta-small-title {
	font-size: var(--twic-cta-h-size, clamp(28px, 4vw, 46px));
	font-weight: var(--twic-cta-h-weight, 600);
	letter-spacing: var(--twic-cta-h-ls, normal);
	line-height: 1.2;
	margin: 0;
}

.cessto-twic-cta-small-text {
	font-size: 18px;
	margin: 6px 0 0;
}

.cessto-twic-cta-small-btn {
	background: #fff;
	border-radius: 9999px;
	color: #1e293b;
	flex: none;
	font-size: 14px;
	padding: 12px 48px;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.cessto-twic-cta-small-btn:hover {
	background: #e2e8f0;
	color: #1e293b;
}

/* 7. Github / repo star --------------------------------------------------- */
.cessto-twic-cta-github-band {
	align-items: center;
	border-bottom: 1px dashed #e2e8f0;
	border-top: 1px dashed #e2e8f0;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	justify-content: space-between;
	padding: 56px 16px;
}

.cessto-twic-cta-github-text {
	color: #1e293b;
	font-size: var(--twic-cta-h-size, 20px);
	font-weight: var(--twic-cta-h-weight, 500);
	letter-spacing: var(--twic-cta-h-ls, normal);
	margin: 0;
	max-width: 448px;
}

.cessto-twic-cta-github-btn {
	align-items: center;
	background: var(--twic-cta-accent, #4f46e5);
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	flex: none;
	gap: 8px;
	padding: 12px 32px;
	text-decoration: none;
	transition: filter 0.2s ease;
}

.cessto-twic-cta-github-btn:hover {
	color: #fff;
	filter: brightness(0.9);
}

/* 8. Team member cards ---------------------------------------------------- */
.cessto-twic-cta-team-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cessto-twic-cta-team-card {
	background: var(--twic-cta-team-card-bg, #fff);
	border: 1px solid rgba(107, 114, 128, 0.3);
	border-radius: 6px;
	color: #6b7280;
	font-size: 14px;
}

.cessto-twic-cta-footer-action {
	margin-top: 32px;
	text-align: center;
}

.cessto-twic-cta-team-head {
	align-items: flex-start;
	border-bottom: 1px solid rgba(107, 114, 128, 0.3);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 12px;
}

.cessto-twic-cta-team-name-row {
	align-items: center;
	display: flex;
	gap: 8px;
}

.cessto-twic-cta-team-name {
	color: #1f2937;
	font-size: 18px;
	font-weight: 400;
	margin: 0;
}

.cessto-twic-cta-team-badge {
	background: color-mix(in srgb, var(--twic-cta-team-badge, #16a34a) 18%, transparent);
	border: 1px solid color-mix(in srgb, var(--twic-cta-team-badge, #16a34a) 35%, transparent);
	border-radius: 9999px;
	color: var(--twic-cta-team-badge, #16a34a);
	font-size: 11px;
	padding: 1px 8px;
}

.cessto-twic-cta-team-role {
	margin: 2px 0 0;
}

.cessto-twic-cta-team-avatar {
	border-radius: 9999px;
	flex: none;
	height: 40px;
	object-fit: cover;
	width: 40px;
}

.cessto-twic-cta-team-actions {
	display: flex;
}

.cessto-twic-cta-team-action {
	align-items: center;
	color: #6b7280;
	display: flex;
	gap: 8px;
	justify-content: center;
	padding: 12px;
	text-decoration: none;
	transition: background-color 0.2s ease;
	width: 50%;
}

.cessto-twic-cta-team-action:first-child {
	border-right: 1px solid rgba(107, 114, 128, 0.3);
}

.cessto-twic-cta-team-action:hover {
	background: #f9fafb;
	color: #374151;
}

/* 9. Contact methods ------------------------------------------------------ */
.cessto-twic-cta-contact {
	color: #1f2937;
}

.cessto-twic-cta-contact-badge {
	border: 1px solid #d1d5db;
	border-radius: 9999px;
	display: inline-block;
	font-size: 12px;
	padding: 4px 10px;
}

.cessto-twic-cta-contact-title {
	font-size: var(--twic-cta-h-size, clamp(28px, 4vw, 36px));
	font-weight: var(--twic-cta-h-weight, 700);
	letter-spacing: var(--twic-cta-h-ls, normal);
	margin: 16px 0 0;
}

.cessto-twic-cta-contact-intro {
	margin: 16px 0 0;
}

.cessto-twic-cta-contact-intro a {
	color: var(--twic-cta-accent, #6366f1);
	margin-left: 4px;
}

.cessto-twic-cta-contact-grid {
	display: grid;
	gap: 32px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 56px;
}

.cessto-twic-cta-contact-icon {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: color-mix(in srgb, var(--twic-cta-accent, #6366f1) 20%, transparent);
	border-radius: 9999px;
	color: var(--twic-cta-accent, #6366f1);
	display: inline-flex;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.cessto-twic-cta-contact-icon svg {
	height: 22px;
	width: 22px;
}

.cessto-twic-cta-contact-card-title {
	font-size: 18px;
	font-weight: 700;
	margin: 8px 0 0;
}

.cessto-twic-cta-contact-card-text {
	color: #6b7280;
	margin: 4px 0 16px;
}

.cessto-twic-cta-contact-value {
	color: var(--twic-cta-accent, #6366f1);
	font-weight: 600;
	text-decoration: none;
}

@media (max-width: 900px) {
	.cessto-twic-cta-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cessto-twic-cta-contact-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 768px) {
	.cessto-twic-cta2 {
		padding: 40px 0;
	}

	.cessto-twic-cta-team-grid {
		grid-template-columns: 1fr;
	}

	.cessto-twic-cta-small-card {
		text-align: center;
	}

	.cessto-twic-cta-github-band {
		text-align: center;
	}

	.cessto-twic-cta-promo-proof {
		justify-content: flex-start;
	}
}

/* Style tab — heading / subtitle / label color overrides (vars always set per
   template; declared after the per-template rules so they take precedence). */
.cessto-twic-cta-grid-title,
.cessto-twic-cta-icon-title,
.cessto-twic-cta-gradient-title,
.cessto-twic-cta-github-text,
.cessto-twic-cta-contact-title,
.cessto-twic-cta-team-name {
	color: var(--twic-cta-h-color, currentColor);
}

.cessto-twic-cta-grid-text,
.cessto-twic-cta-icon-text,
.cessto-twic-cta-simple-text,
.cessto-twic-cta-promo-rating,
.cessto-twic-cta-team-role,
.cessto-twic-cta-contact-intro,
.cessto-twic-cta-contact-card-text {
	color: var(--twic-cta-sub-color, currentColor);
}

.cessto-twic-cta-gradient-badge,
.cessto-twic-cta-contact-badge {
	color: var(--twic-cta-label-color, currentColor);
}

/* Layout tab — text alignment override (applies to the wrap and its card). */
.cessto-twic-cta-align-left .cessto-twic-cta2-wrap,
.cessto-twic-cta-align-left .cessto-twic-cta2-wrap > * {
	text-align: left !important;
}

.cessto-twic-cta-align-center .cessto-twic-cta2-wrap,
.cessto-twic-cta-align-center .cessto-twic-cta2-wrap > * {
	text-align: center !important;
}

.cessto-twic-cta-align-right .cessto-twic-cta2-wrap,
.cessto-twic-cta-align-right .cessto-twic-cta2-wrap > * {
	text-align: right !important;
}

/* CTA tab — fully styled primary button (variables set inline per instance) */
.cessto-twic-cta2 .cessto-twic-cta-action {
	align-items: center;
	background: var(--twic-cab-bg, #4f46e5);
	border: 1px solid var(--twic-cab-border, #4f46e5);
	border-radius: var(--twic-cab-radius, 8px);
	box-shadow: var(--twic-cab-shadow, none);
	color: var(--twic-cab-text, #ffffff);
	display: inline-flex;
	font-size: var(--twic-cab-font-size, 14px);
	font-weight: var(--twic-cab-font-weight, 600);
	gap: var(--twic-cab-icon-gap, 8px);
	justify-content: center;
	line-height: 1.2;
	padding: var(--twic-cab-pad-y, 12px) var(--twic-cab-pad-x, 24px);
	text-decoration: none;
	transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}

.cessto-twic-cta2 .cessto-twic-cta-action:hover,
.cessto-twic-cta2 .cessto-twic-cta-action:focus-visible {
	background: var(--twic-cab-bg-hover, #4338ca);
	border-color: var(--twic-cab-border-hover, #4338ca);
	box-shadow: var(--twic-cab-shadow-hover, var(--twic-cab-shadow, none));
	color: var(--twic-cab-text-hover, #ffffff);
}

.cessto-twic-cta2 .cessto-twic-cta-action-icon {
	align-items: center;
	color: var(--twic-cab-icon-color, currentColor);
	display: inline-flex;
	line-height: 1;
	margin: var(--twic-cab-icon-margin, 0);
	padding: var(--twic-cab-icon-padding, 0);
}

.cessto-twic-cta2 .cessto-twic-cta-action:hover .cessto-twic-cta-action-icon,
.cessto-twic-cta2 .cessto-twic-cta-action:focus-visible .cessto-twic-cta-action-icon {
	color: var(--twic-cab-icon-hover-color, currentColor);
}

.cessto-twic-cta2 .cessto-twic-cta-action-icon-svg {
	display: block;
	height: var(--twic-cab-icon-size, 18px);
	width: var(--twic-cab-icon-size, 18px);
}

.cessto-twic-cta2 .cessto-twic-cta-action-hover-lift:hover {
	transform: translateY(-2px);
}

.cessto-twic-cta2 .cessto-twic-cta-action-hover-grow:hover {
	transform: scale(1.04);
}

.cessto-twic-cta2 .cessto-twic-cta-action-icon-icon-only {
	justify-content: center;
	min-width: calc(var(--twic-cab-icon-size, 18px) + 24px);
}

.cessto-twic-cta-action .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Universal image/video section background layer (Style tab -> Background Type) */
.cessto-twic-section.has-bg-media {
	overflow: hidden;
	position: relative;
}

.cessto-twic-section-bg-media {
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.cessto-twic-section-bg-media-img {
	inset: 0;
	position: absolute;
}

.cessto-twic-section-bg-media-video,
.cessto-twic-section-bg-media-poster {
	height: 100%;
	left: 0;
	object-fit: cover;
	object-position: center center;
	position: absolute;
	top: 0;
	width: 100%;
}

.cessto-twic-section-bg-overlay {
	inset: 0;
	position: absolute;
}

.cessto-twic-section-pattern {
	background-repeat: repeat;
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.cessto-twic-section.has-bg-media > :not(.cessto-twic-section-bg-media) {
	position: relative;
	z-index: 1;
}

/* Fixed (parallax) image backgrounds are janky/disabled on most touch devices. */
@media (max-width: 768px) {
	.cessto-twic-section-bg-media-img.is-fixed {
		background-attachment: scroll !important;
	}
}

/* -------------------------------------------------------------------------- */
/* FAQ section templates (accordion variants).                               */
/* -------------------------------------------------------------------------- */

.cessto-twic-faqx-inner--narrow {
	margin-left: auto;
	margin-right: auto;
	max-width: 640px;
}

.cessto-twic-faqx-head {
	margin-bottom: 28px;
}

.cessto-twic-faqx-head--center {
	text-align: center;
}

.cessto-twic-faqx-head--center .cessto-twic-faqx-desc {
	margin-left: auto;
	margin-right: auto;
}

.cessto-twic-faqx-eyebrow {
	color: var(--twic-faq-label-color, #475569);
	font-size: 14px;
	font-weight: 500;
	margin: 0 0 8px;
}

.cessto-twic-faqx-eyebrow--accent {
	color: var(--twic-faq-label-color, var(--twic-faq-accent, #4f46e5));
}

.cessto-twic-faqx-eyebrow--wide {
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cessto-twic-faqx-title {
	color: var(--twic-faq-h-color, #111827);
	font-size: var(--twic-faq-h-size, clamp(26px, 3.5vw, 34px));
	font-weight: var(--twic-faq-h-weight, 600);
	letter-spacing: var(--twic-faq-h-ls, normal);
	line-height: 1.2;
	margin: 0 0 12px;
}

.cessto-twic-faqx-desc {
	color: var(--twic-faq-sub-color, #64748b);
	font-size: 14px;
	margin: 0;
	max-width: 520px;
}

.cessto-twic-faqx-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cessto-twic-faqx-q {
	align-items: center;
	color: #1f2937;
	cursor: pointer;
	display: flex;
	font-size: 15px;
	font-weight: 500;
	gap: 16px;
	justify-content: space-between;
	list-style: none;
}

.cessto-twic-faqx-q::-webkit-details-marker {
	display: none;
}

.cessto-twic-faqx-a {
	color: #64748b;
	font-size: 14px;
	line-height: 1.6;
}

.cessto-twic-faqx-a p {
	margin: 10px 0 0;
}

.cessto-twic-faqx-chevron {
	color: #1d293d;
	flex-shrink: 0;
	transition: transform 0.4s ease;
}

.cessto-twic-faqx-item[open] .cessto-twic-faqx-chevron {
	transform: rotate(180deg);
}

.cessto-twic-faqx-toggle {
	align-items: center;
	background: rgba(0, 0, 0, 0.05);
	border-radius: 9999px;
	color: #64748b;
	display: inline-flex;
	flex-shrink: 0;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.cessto-twic-faqx-toggle-minus {
	display: none;
}

.cessto-twic-faqx-item[open] .cessto-twic-faqx-toggle-plus {
	display: none;
}

.cessto-twic-faqx-item[open] .cessto-twic-faqx-toggle-minus {
	display: inline;
}

/* Gradient variant */
.cessto-twic-faqx--gradient .cessto-twic-faqx-list--narrow {
	margin-left: auto;
	margin-right: auto;
	max-width: 576px;
}

.cessto-twic-faqx--gradient .cessto-twic-faqx-item {
	background: #f4f4ff;
	background: linear-gradient(to right, color-mix(in srgb, var(--twic-faq-accent, #6366f1) 10%, #fff), #fff);
	border: 1px solid #e0e7ff;
	border-color: color-mix(in srgb, var(--twic-faq-accent, #6366f1) 22%, #fff);
	border-radius: 6px;
	padding: 16px;
}

.cessto-twic-faqx--gradient .cessto-twic-faqx-q {
	font-size: 14px;
}

/* Image variant */
.cessto-twic-faqx-split {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.cessto-twic-faqx-media {
	flex: 1 1 280px;
	max-width: 384px;
}

.cessto-twic-faqx-media img,
.cessto-twic-faqx-image {
	border-radius: 12px;
	display: block;
	height: auto;
	width: 100%;
}

.cessto-twic-faqx-col {
	flex: 1 1 320px;
	min-width: 0;
}

.cessto-twic-faqx-list--rows .cessto-twic-faqx-item {
	border-bottom: 1px solid #e2e8f0;
	padding: 16px 0;
}

.cessto-twic-faqx-list--rows .cessto-twic-faqx-q {
	font-size: 16px;
}

/* Accordion variant */
.cessto-twic-faqx--accordion .cessto-twic-faqx-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 768px;
}

.cessto-twic-faqx-list--cards {
	gap: 16px;
}

.cessto-twic-faqx-list--cards .cessto-twic-faqx-item {
	background: #fff;
	border: 1px solid #e4e4e7;
	border-radius: 8px;
	padding: 16px;
}

.cessto-twic-faqx-list--cards .cessto-twic-faqx-q {
	color: #27272a;
	font-size: 14px;
}

/* Two-column variant */
.cessto-twic-faqx-list--grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cessto-twic-faqx-list--grid .cessto-twic-faqx-item {
	align-self: start;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 14px;
	transition: background 0.25s ease;
}

.cessto-twic-faqx-list--grid .cessto-twic-faqx-item:hover {
	background: #f1f5f9;
}

.cessto-twic-faqx-list--grid .cessto-twic-faqx-q {
	font-size: 14px;
}

@media (max-width: 640px) {
	.cessto-twic-faqx-list--grid {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------- */
/* Team section templates.                                                     */
/* -------------------------------------------------------------------------- */

.cessto-twic-team-head {
	margin-bottom: 28px;
}

.cessto-twic-team-head--center {
	text-align: center;
}

.cessto-twic-team-eyebrow {
	color: var(--twic-team-label-color, #4f46e5);
	font-size: 14px;
	font-weight: 500;
	margin: 0 0 8px;
}

.cessto-twic-team-title {
	color: var(--twic-team-h-color, #111827);
	font-size: var(--twic-team-h-size, clamp(28px, 4vw, 40px));
	font-weight: var(--twic-team-h-weight, 600);
	letter-spacing: var(--twic-team-h-ls, normal);
	line-height: 1.15;
	margin: 0 0 12px;
}

.cessto-twic-team-desc {
	color: var(--twic-team-sub-color, #64748b);
	font-size: 14px;
	margin: 0;
	max-width: 560px;
}

.cessto-twic-team-head--center .cessto-twic-team-desc {
	margin-left: auto;
	margin-right: auto;
}

.cessto-twic-team-photo-link {
	display: block;
}

.cessto-twic-team2-pill {
	background: var(--twic-team-label-color, #6366f1);
	border-radius: 9999px;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	padding: 8px 18px;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.cessto-twic-team2-pill:hover {
	opacity: 0.9;
}

.cessto-twic-team2-pill--soft {
	background: #eef2ff;
	color: var(--twic-team-label-color, #4f46e5);
}

/* Intro (member images row) */
.cessto-twic-team2-intro {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 20px;
	text-align: center;
}

.cessto-twic-team2-intro-title {
	max-width: 32rem;
}

.cessto-twic-team2-intro-desc {
	max-width: 656px;
}

.cessto-twic-team2-photos {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin-top: 8px;
}

.cessto-twic-team2-photo {
	border-radius: 12px;
	height: 172px;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 144px;
}

.cessto-twic-team2-photo:hover {
	transform: translateY(-4px);
}

@media (min-width: 1024px) {
	.cessto-twic-team2-intro {
		align-items: flex-start;
		text-align: left;
	}
	.cessto-twic-team2-photos {
		justify-content: flex-start;
	}
}

/* Intro with image gallery */
.cessto-twic-team2-split {
	align-items: center;
	display: grid;
	gap: 48px;
	grid-template-columns: 1fr;
}

.cessto-twic-team2-split-content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 20px;
	text-align: center;
}

.cessto-twic-team2-gallery {
	column-gap: 16px;
	columns: 3;
	margin: 0 auto;
	max-width: 420px;
}

.cessto-twic-team2-gallery-item {
	break-inside: avoid;
	margin-bottom: 16px;
}

.cessto-twic-team2-gallery .cessto-twic-team2-photo,
.cessto-twic-team2-gallery-item img {
	border-radius: 16px;
	display: block;
	height: auto;
	width: 100%;
}

@media (min-width: 1024px) {
	.cessto-twic-team2-split {
		grid-template-columns: 1fr 1fr;
	}
	.cessto-twic-team2-split-content {
		align-items: flex-start;
		text-align: left;
	}
	.cessto-twic-team2-gallery {
		margin: 0;
	}
}

/* Carousel */
.cessto-twic-team2-carousel {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: center;
}

.cessto-twic-team2-arrow {
	align-items: center;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 9999px;
	color: #90a1b9;
	cursor: pointer;
	display: flex;
	flex: 0 0 auto;
	height: 40px;
	justify-content: center;
	transition: opacity 0.2s ease;
	width: 40px;
}

.cessto-twic-team2-arrow svg {
	height: 22px;
	width: 22px;
}

.cessto-twic-team2-arrow:disabled {
	cursor: not-allowed;
	opacity: 0.4;
}

.cessto-twic-team2-track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.cessto-twic-team2-track::-webkit-scrollbar {
	display: none;
}

.cessto-twic-team2-card {
	background: #fff;
	border: 1px solid #f1f5f9;
	border-radius: 12px;
	flex: 0 0 280px;
	max-width: 85vw;
	padding: 20px;
	scroll-snap-align: start;
	transition: border-color 0.2s ease;
}

.cessto-twic-team2-card:hover {
	border-color: #cbd5e1;
}

.cessto-twic-team2-card-photo {
	border-radius: 8px;
	height: 245px;
	object-fit: cover;
	object-position: top;
	width: 100%;
}

.cessto-twic-team2-card-name {
	color: #1e293b;
	font-size: 16px;
	font-weight: 500;
	margin: 16px 0 0;
}

.cessto-twic-team2-card-role {
	color: #64748b;
	font-size: 14px;
	margin: 2px 0 0;
}

.cessto-twic-team2-socials {
	display: flex;
	gap: 12px;
	margin-top: 16px;
}

.cessto-twic-team2-social {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	border-radius: 8px;
	color: #1d293d;
	display: flex;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.cessto-twic-team2-social svg {
	height: 20px;
	width: 20px;
}

.cessto-twic-team2-social:hover {
	background: #f1f5f9;
}

/* Gradient text cards */
.cessto-twic-team2-gradient-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
}

.cessto-twic-team2-gradient-card {
	background: #000;
	border-radius: 16px;
	flex: 0 1 300px;
	overflow: hidden;
}

.cessto-twic-team2-gradient-media {
	overflow: hidden;
	position: relative;
}

.cessto-twic-team2-gradient-photo {
	display: block;
	height: 270px;
	object-fit: cover;
	object-position: top;
	transition: transform 0.3s ease;
	width: 100%;
}

.cessto-twic-team2-gradient-card:hover .cessto-twic-team2-gradient-photo {
	transform: scale(1.05);
}

.cessto-twic-team2-gradient-overlay {
	background: linear-gradient(to top, #000, transparent);
	bottom: 0;
	height: 60%;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
}

.cessto-twic-team2-gradient-body {
	padding: 16px 16px 24px;
	text-align: center;
}

.cessto-twic-team2-gradient-name {
	color: #fff;
	font-size: 18px;
	margin: 0;
}

.cessto-twic-team2-gradient-role {
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(to right, #8b5cf6, #9938ca, #e0724a);
	color: transparent;
	font-size: 14px;
	font-weight: 500;
	margin: 4px 0 0;
}

/* Our Team cards */
.cessto-twic-team2-our-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
}

.cessto-twic-team2-our-card {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(209, 213, 219, 0.6);
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	flex: 0 1 256px;
	flex-direction: column;
	padding: 32px 20px;
	text-align: center;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.cessto-twic-team2-our-card:hover {
	background: #2563eb;
	border-color: #2563eb;
}

.cessto-twic-team2-avatar {
	border-radius: 9999px;
	height: 96px;
	object-fit: cover;
	width: 96px;
}

.cessto-twic-team2-our-name {
	color: #374151;
	font-size: 18px;
	font-weight: 500;
	margin: 12px 0 0;
}

.cessto-twic-team2-our-role {
	color: #6b7280;
	font-size: 14px;
	margin: 2px 0 0;
}

.cessto-twic-team2-our-bio {
	color: rgba(107, 114, 128, 0.7);
	font-size: 13px;
	margin: 14px 0 0;
	max-width: 80%;
}

.cessto-twic-team2-our-socials {
	display: flex;
	gap: 16px;
	margin-top: 20px;
}

.cessto-twic-team2-our-social {
	color: #6b7280;
	display: inline-flex;
}

.cessto-twic-team2-our-social svg {
	height: 18px;
	width: 18px;
}

.cessto-twic-team2-our-card:hover .cessto-twic-team2-our-name,
.cessto-twic-team2-our-card:hover .cessto-twic-team2-our-role,
.cessto-twic-team2-our-card:hover .cessto-twic-team2-our-bio,
.cessto-twic-team2-our-card:hover .cessto-twic-team2-our-social {
	color: #fff;
}

/* Profile-link cards */
.cessto-twic-team2-pl-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
}

.cessto-twic-team2-pl-card {
	background: #1f2937;
	border-radius: 24px;
	display: block;
	flex: 0 1 256px;
	min-height: 340px;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	transition: transform 0.3s ease;
}

.cessto-twic-team2-pl-card:hover {
	transform: translateY(-4px);
}

.cessto-twic-team2-pl-photo {
	display: block;
	height: 100%;
	object-fit: cover;
	position: absolute;
	inset: 0;
	width: 100%;
}

.cessto-twic-team2-pl-overlay {
	background: linear-gradient(to bottom, transparent, rgba(149, 26, 32, 0.5), #8b5cf6);
	inset: 0;
	opacity: 0.8;
	pointer-events: none;
	position: absolute;
}

.cessto-twic-team2-pl-foot {
	align-items: center;
	bottom: 24px;
	display: flex;
	justify-content: space-between;
	left: 24px;
	position: absolute;
	right: 24px;
}

.cessto-twic-team2-pl-name {
	color: #fff;
	font-size: 20px;
}

.cessto-twic-team2-pl-arrow {
	align-items: center;
	background: #ede9fe;
	border-radius: 9999px;
	color: #4c1d95;
	display: flex;
	flex: 0 0 auto;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.cessto-twic-team2-pl-arrow svg {
	height: 18px;
	width: 18px;
}

/* Admin profile cards */
.cessto-twic-team2-admin-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
}

.cessto-twic-team2-admin-card {
	background: #fff;
	border: 1px solid rgba(107, 114, 128, 0.3);
	border-radius: 6px;
	width: 240px;
}

.cessto-twic-team2-admin-top {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 32px 16px;
}

.cessto-twic-team2-admin-name {
	color: #1f2937;
	font-size: 18px;
	margin: 12px 0 0;
}

.cessto-twic-team2-admin-role {
	color: #6b7280;
	font-size: 14px;
	margin: 4px 0 0;
}

.cessto-twic-team2-admin-badge {
	background: rgba(34, 197, 94, 0.2);
	border: 1px solid rgba(34, 197, 94, 0.3);
	border-radius: 9999px;
	color: #16a34a;
	font-size: 12px;
	margin: 8px 0 0;
	padding: 2px 10px;
}

.cessto-twic-team2-admin-actions {
	border-top: 1px solid rgba(107, 114, 128, 0.3);
	display: flex;
}

.cessto-twic-team2-admin-action {
	align-items: center;
	color: #6b7280;
	display: flex;
	flex: 1 1 50%;
	font-size: 14px;
	gap: 8px;
	justify-content: center;
	padding: 12px;
	text-decoration: none;
}

.cessto-twic-team2-admin-action + .cessto-twic-team2-admin-action {
	border-left: 1px solid rgba(107, 114, 128, 0.3);
}

.cessto-twic-team2-admin-action svg {
	height: 18px;
	width: 18px;
}

.cessto-twic-team2-admin-action:hover {
	color: #1f2937;
}

/* -------------------------------------------------------------------------- */
/* Testimonial section templates.                                              */
/* -------------------------------------------------------------------------- */

.cessto-twic-tst-badge {
	background: rgba(0, 0, 0, 0.04);
	border: 1px solid #cbd5e1;
	border-radius: 9999px;
	color: var(--twic-team-sub-color, #525252);
	display: inline-block;
	font-size: 12px;
	margin-bottom: 12px;
	padding: 4px 14px;
}

.cessto-twic-tst-badge--accent {
	background: #eef2ff;
	border-color: transparent;
	color: var(--twic-team-label-color, #4f46e5);
}

.cessto-twic-tst-stars {
	color: #ff8f20;
	display: flex;
	gap: 2px;
}

.cessto-twic-tst-stars svg {
	height: 15px;
	width: 15px;
}

.cessto-twic-tst-stars.is-muted {
	color: #737373;
}

.cessto-twic-tst-text {
	color: var(--twic-team-sub-color, #d1d5db);
	font-size: 14px;
	line-height: 1.6;
	margin: 16px 0;
}

.cessto-twic-tst-author {
	align-items: center;
	display: flex;
	gap: 12px;
}

.cessto-twic-tst-avatar {
	border-radius: 9999px;
	flex: 0 0 auto;
	height: 48px;
	object-fit: cover;
	width: 48px;
}

.cessto-twic-tst-author-name {
	align-items: center;
	color: var(--twic-team-h-color, #1f2937);
	display: flex;
	font-size: 14px;
	font-weight: 500;
	gap: 6px;
	margin: 0;
}

.cessto-twic-tst-author-role {
	color: var(--twic-team-sub-color, #6b7280);
	font-size: 13px;
	margin: 2px 0 0;
}

.cessto-twic-tst-verified {
	height: 15px;
	width: 15px;
}

/* Carousel */
.cessto-twic-tst--carousel.cessto-twic-team2-carousel,
.cessto-twic-tst-carousel {
	display: block;
}

.cessto-twic-tst-carousel-head {
	display: flex;
	justify-content: space-between;
}

.cessto-twic-tst-carousel-nav {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-bottom: 16px;
}

.cessto-twic-tst-arrow {
	align-items: center;
	background: #171717;
	border: 1px solid #262626;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	display: flex;
	height: 40px;
	justify-content: center;
	transition: background 0.2s ease, opacity 0.2s ease;
	width: 40px;
}

.cessto-twic-tst-arrow svg {
	height: 20px;
	width: 20px;
}

.cessto-twic-tst-arrow:hover {
	background: #262626;
}

.cessto-twic-tst-arrow:disabled {
	cursor: not-allowed;
	opacity: 0.4;
}

.cessto-twic-tst-card {
	background: #171717;
	border: 1px solid #262626;
	border-radius: 16px;
	flex: 0 0 340px;
	max-width: 85vw;
	padding: 24px;
	scroll-snap-align: start;
	transition: transform 0.3s ease;
}

.cessto-twic-tst-card:hover {
	transform: translateY(-4px);
}

.cessto-twic-tst-card-top {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.cessto-twic-tst-date {
	color: #d1d5db;
	font-size: 12px;
}

.cessto-twic-tst--carousel .cessto-twic-tst-text,
.cessto-twic-tst--carousel .cessto-twic-tst-author-name {
	color: #d1d5db;
}

.cessto-twic-tst--carousel .cessto-twic-tst-author-role {
	color: #9ca3af;
}

/* Marquee (horizontal) */
.cessto-twic-tst-marquee {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 32px;
}

.cessto-twic-tst-marquee-row {
	overflow: hidden;
	position: relative;
}

.cessto-twic-tst-marquee-fade {
	bottom: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 112px;
	z-index: 2;
}

.cessto-twic-tst-marquee-fade--l {
	background: linear-gradient(to right, var(--twic-tst-fade, #fafafa), transparent);
	left: 0;
}

.cessto-twic-tst-marquee-fade--r {
	background: linear-gradient(to left, var(--twic-tst-fade, #fafafa), transparent);
	right: 0;
}

.cessto-twic-tst-marquee-track {
	animation: cessto-twic-tst-marquee 30s linear infinite;
	display: flex;
	gap: 24px;
	width: max-content;
}

.cessto-twic-tst-marquee-track.is-reverse {
	animation-direction: reverse;
}

.cessto-twic-tst-marquee-row:hover .cessto-twic-tst-marquee-track {
	animation-play-state: paused;
}

@keyframes cessto-twic-tst-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.cessto-twic-tst-mcard {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	flex: 0 0 350px;
	padding: 16px;
}

.cessto-twic-tst-mcard .cessto-twic-tst-text {
	color: #404040;
}

.cessto-twic-tst-mcard .cessto-twic-tst-author-name {
	color: #262626;
}

.cessto-twic-tst-mcard .cessto-twic-tst-author-role {
	color: #525252;
}

/* Happy clients */
.cessto-twic-tst-happy {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.cessto-twic-tst-happy-title {
	margin-bottom: 40px;
	text-align: center;
}

.cessto-twic-tst-happy-row {
	display: flex;
	align-items: flex-end;
}

.cessto-twic-tst-happy-item {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-left: -12px;
}

.cessto-twic-tst-happy-item:first-child {
	margin-left: 0;
}

.cessto-twic-tst-happy-name {
	margin-bottom: 12px;
	font-size: 14px;
	font-weight: 500;
	opacity: 0;
	transform: scale(0.9);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.cessto-twic-tst-happy-item:hover .cessto-twic-tst-happy-name {
	opacity: 1;
	transform: scale(1);
}

.cessto-twic-tst-happy-avatar {
	border: 4px solid #fff;
	border-radius: 9999px;
	height: 80px;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 80px;
}

.cessto-twic-tst-happy-avatar--empty {
	background: #e2e8f0;
	display: block;
}

.cessto-twic-tst-happy-item:hover .cessto-twic-tst-happy-avatar {
	transform: translateY(-4px) scale(1.1);
}

/* Hover tooltip */
.cessto-twic-tst-tip-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
}

.cessto-twic-tst-tip-card {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	max-width: 24rem;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.3s ease;
}

.cessto-twic-tst-tip-card:hover {
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.cessto-twic-tst-tip {
	background: #6366f1;
	border-radius: 4px;
	color: #fff;
	font-size: 13px;
	left: 16px;
	opacity: 0;
	padding: 4px 10px;
	pointer-events: none;
	position: absolute;
	top: 16px;
	transition: opacity 0.3s ease;
	z-index: 2;
}

.cessto-twic-tst-tip-card:hover .cessto-twic-tst-tip {
	opacity: 1;
}

.cessto-twic-tst-tip-body {
	padding: 32px;
	text-align: center;
}

.cessto-twic-tst-tip-title {
	color: #111827;
	font-size: 18px;
	font-weight: 600;
	margin: 0;
}

.cessto-twic-tst-tip-text {
	color: #6b7280;
	font-size: 14px;
	margin: 16px 0;
}

.cessto-twic-tst-tip-body .cessto-twic-tst-author {
	justify-content: center;
}

.cessto-twic-tst-tip-avatar {
	border-radius: 9999px;
	height: 36px;
	object-fit: cover;
	width: 36px;
}

/* Bento grid */
.cessto-twic-tst-bento-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr;
	margin-top: 24px;
}

.cessto-twic-tst-bento-card {
	border: 1px solid #262626;
	border-radius: 16px;
	padding: 24px;
	transition: border-color 0.2s ease;
}

.cessto-twic-tst-bento-card:hover {
	border-color: #404040;
}

.cessto-twic-tst--bento .cessto-twic-tst-text {
	color: #d4d4d4;
}

.cessto-twic-tst--bento .cessto-twic-tst-author-name {
	color: #d4d4d4;
}

.cessto-twic-tst--bento .cessto-twic-tst-author-role {
	color: #737373;
}

@media (min-width: 768px) {
	.cessto-twic-tst-bento-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.cessto-twic-tst-bento-card:nth-child(4n + 1),
	.cessto-twic-tst-bento-card:nth-child(4n) {
		grid-column: span 2;
	}
}

/* Vertical marquee */
.cessto-twic-tst-vmarquee {
	margin: 32px auto 0;
	max-width: 72rem;
	overflow: hidden;
	position: relative;
}

.cessto-twic-tst-vmarquee-fade {
	height: 128px;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	z-index: 2;
}

.cessto-twic-tst-vmarquee-fade--t {
	background: linear-gradient(to bottom, var(--twic-tst-fade, #000), transparent);
	top: 0;
}

.cessto-twic-tst-vmarquee-fade--b {
	background: linear-gradient(to top, var(--twic-tst-fade, #000), transparent);
	bottom: 0;
}

.cessto-twic-tst-vmarquee-cols {
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr;
	height: 600px;
	overflow: hidden;
}

.cessto-twic-tst-vcol-track {
	animation: cessto-twic-tst-vmarquee 25s linear infinite;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.cessto-twic-tst-vcol--2 .cessto-twic-tst-vcol-track {
	animation-duration: 30s;
}

.cessto-twic-tst-vcol--3 .cessto-twic-tst-vcol-track {
	animation-duration: 20s;
}

.cessto-twic-tst-vmarquee:hover .cessto-twic-tst-vcol-track {
	animation-play-state: paused;
}

@keyframes cessto-twic-tst-vmarquee {
	from { transform: translateY(0); }
	to { transform: translateY(-50%); }
}

.cessto-twic-tst-vcol--2 {
	display: none;
}

.cessto-twic-tst-vcol--3 {
	display: none;
}

.cessto-twic-tst-vcard {
	background: linear-gradient(to bottom, #020204, #191130);
	border: 1px solid #1e293b;
	border-radius: 12px;
	padding: 24px;
}

.cessto-twic-tst-quote-mark {
	color: #fff;
	height: 15px;
	margin-bottom: 16px;
	width: 21px;
}

.cessto-twic-tst--vmarquee .cessto-twic-tst-text {
	color: #94a3b8;
}

.cessto-twic-tst--vmarquee .cessto-twic-tst-author-name {
	color: #cbd5e1;
}

.cessto-twic-tst--vmarquee .cessto-twic-tst-author-role {
	color: #64748b;
}

.cessto-twic-tst--vmarquee .cessto-twic-tst-avatar {
	border: 1px solid #1e293b;
	height: 36px;
	width: 36px;
}

@media (min-width: 768px) {
	.cessto-twic-tst-vmarquee-cols {
		grid-template-columns: repeat(2, 1fr);
	}
	.cessto-twic-tst-vcol--2 {
		display: block;
	}
}

@media (min-width: 1024px) {
	.cessto-twic-tst-vmarquee-cols {
		grid-template-columns: repeat(3, 1fr);
	}
	.cessto-twic-tst-vcol--3 {
		display: block;
	}
}

/* Hover-effect cards */
.cessto-twic-tst-hover-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr;
	margin-top: 40px;
}

.cessto-twic-tst-hover-card {
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 24px;
	transition: transform 0.5s ease, box-shadow 0.5s ease, border-color 0.5s ease;
}

.cessto-twic-tst-hover-card:hover {
	border-color: transparent;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
}

.cessto-twic-tst-hover-text {
	color: #64748b;
	font-size: 16px;
	margin: 0 0 28px;
}

.cessto-twic-tst-hover-card .cessto-twic-tst-avatar {
	height: 48px;
	width: 48px;
}

@media (min-width: 640px) {
	.cessto-twic-tst-hover-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.cessto-twic-tst-hover-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* =========================================================================
   Promo Banner
   ========================================================================= */

/* Root wrapper — standalone <div>, not a section, so never gets the standard
   section container or background-media injector applied to it.             */
.cessto-twic-promo-banner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	position: relative;
	width: 100%;
	z-index: 200;
}

/* top / bottom banners are moved to body first/last child by JS — no extra
   positioning needed here; they simply flow at the edge of the page. */

/* Close button — absolutely or flex-placed */
.cessto-twic-pb-close {
	align-items: center;
	background: none;
	border: none;
	color: currentColor;
	cursor: pointer;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	line-height: 1;
	padding: 4px;
}

.cessto-twic-pb-close:hover {
	color: var(--cessto-twic-pb-close-hover, #e5e7eb);
}

/* Inner container (used when width is boxed or custom) */
.cessto-twic-pb-inner {
	flex: 1;
	min-width: 0;
}

/* Groups row */
.cessto-twic-pb-groups {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	row-gap: 4px;
}

/* Text alignment helpers on the root */
.cessto-twic-pb--left  .cessto-twic-pb-groups { justify-content: flex-start; }
.cessto-twic-pb--center .cessto-twic-pb-groups { justify-content: center; }
.cessto-twic-pb--right .cessto-twic-pb-groups { justify-content: flex-end; }

/* Individual text group item */
.cessto-twic-pb-group {
	align-items: center;
	display: inline-flex;
	gap: 5px;
	white-space: nowrap;
}

/* Dot separator between groups */
.cessto-twic-pb-sep {
	color: inherit;
	opacity: 0.5;
	padding: 0 2px;
}

/* Inline row (before / after / left / right CTA positions) */
.cessto-twic-pb-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	row-gap: 6px;
}

.cessto-twic-pb-row--spaced {
	justify-content: space-between;
	width: 100%;
}

/* Center-below CTA */
.cessto-twic-pb-cta-below {
	display: flex;
	justify-content: center;
	margin-top: 8px;
}

/* CTA button */
.cessto-twic-pb-cta {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	flex-shrink: 0;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}

.cessto-twic-pb-cta:hover {
	background-color: var(--cessto-twic-pb-cta-hover-bg, #e5e7eb) !important;
	color: var(--cessto-twic-pb-cta-hover-color, #111827) !important;
}

/* === Responsive === */
@media (max-width: 1023px) {
	.cessto-twic-pb--tablet-left  .cessto-twic-pb-groups { justify-content: flex-start; }
	.cessto-twic-pb--tablet-center .cessto-twic-pb-groups { justify-content: center; }
	.cessto-twic-pb--tablet-right .cessto-twic-pb-groups { justify-content: flex-end; }
}

@media (max-width: 639px) {
	.cessto-twic-pb--mobile-left  .cessto-twic-pb-groups { justify-content: flex-start; }
	.cessto-twic-pb--mobile-center .cessto-twic-pb-groups { justify-content: center; }
	.cessto-twic-pb--mobile-right .cessto-twic-pb-groups { justify-content: flex-end; }

	.cessto-twic-pb--mob-stacked .cessto-twic-pb-groups {
		flex-direction: column;
		align-items: center;
	}

	.cessto-twic-pb--mob-stacked .cessto-twic-pb-sep {
		display: none;
	}

	.cessto-twic-pb-group,
	.cessto-twic-pb-text {
		font-size: var(--cessto-twic-pb-mob-fz, 13px);
	}
}

/* =========================================================================== */
/* Contact Form Sections — shared placeholder                                   */
/* =========================================================================== */

.cessto-twic-cf-placeholder {
	color: #9ca3af;
	font-size: 0.875rem;
	font-style: italic;
	padding: 1rem 0;
}

/* =========================================================================== */
/* Contact — Lead Generation Form with Background Elements                      */
/* =========================================================================== */

.cessto-twic-cf-lgd {
	position: relative;
	overflow: hidden;
}

.cessto-twic-cf-lgd-glow {
	border-radius: 50%;
	filter: blur(200px);
	height: 35rem;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 35rem;
	z-index: 0;
}

.cessto-twic-cf-lgd-inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 5rem;
	justify-content: center;
	padding-top: 5rem;
	padding-bottom: 5rem;
	position: relative;
	z-index: 1;
}

@media (min-width: 768px) {
	.cessto-twic-cf-lgd-inner {
		flex-direction: row;
	}
}

.cessto-twic-cf-lgd-left {
	text-align: center;
}

@media (min-width: 768px) {
	.cessto-twic-cf-lgd-left {
		text-align: left;
		margin-top: 3rem;
	}
}

.cessto-twic-cf-lgd-badge {
	align-items: center;
	border: 1px solid rgba(21,128,61,0.5);
	border-radius: 9999px;
	display: inline-flex;
	gap: 0.5rem;
	margin-bottom: 1rem;
	padding: 0.375rem 0.75rem;
}

.cessto-twic-cf-lgd-avatars {
	display: flex;
}

.cessto-twic-cf-lgd-avatar {
	border: 1px solid rgba(21,128,61,0.5);
	border-radius: 50%;
	height: 1.75rem;
	object-fit: cover;
	width: 1.75rem;
}

.cessto-twic-cf-lgd-avatar--2 {
	margin-left: -0.5rem;
}

.cessto-twic-cf-lgd-avatar--3 {
	margin-left: -0.5rem;
}

.cessto-twic-cf-lgd-badge-text {
	font-size: 0.75rem;
}

.cessto-twic-cf-lgd-heading {
	font-size: clamp(1.75rem, 4vw, 3rem);
	font-weight: 500;
	line-height: 1.25;
	margin-bottom: 1rem;
	margin-top: 1rem;
	max-width: 29rem;
}

.cessto-twic-cf-lgd-desc {
	font-size: 0.875rem;
	line-height: 1.6;
	max-width: 22rem;
}

.cessto-twic-cf-lgd-right {
	backdrop-filter: blur(8px);
	background: transparent;
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 0.75rem;
	padding: 2rem;
	width: 100%;
	max-width: 32rem;
}

/* =========================================================================== */
/* Contact — Contact Form Section (Light)                                       */
/* =========================================================================== */

.cessto-twic-cf-light-inner {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 3rem;
	justify-content: center;
}

@media (min-width: 768px) {
	.cessto-twic-cf-light-inner {
		align-items: center;
		flex-direction: row;
		gap: 4rem;
	}
}

.cessto-twic-cf-light-left {
	flex-shrink: 0;
	margin-top: 2.5rem;
	text-align: center;
}

@media (min-width: 768px) {
	.cessto-twic-cf-light-left {
		text-align: left;
	}
}

.cessto-twic-cf-light-eyebrow {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.025em;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
}

.cessto-twic-cf-light-heading {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 1rem;
	max-width: 14rem;
}

.cessto-twic-cf-light-desc {
	font-size: 1rem;
	line-height: 1.6;
	max-width: 18rem;
	opacity: 0.6;
}

.cessto-twic-cf-light-socials {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: center;
	margin-top: 1.75rem;
}

@media (min-width: 768px) {
	.cessto-twic-cf-light-socials {
		justify-content: flex-start;
	}
}

.cessto-twic-cf-light-social-link {
	color: inherit;
	display: inline-flex;
	opacity: 0.6;
	transition: opacity 0.2s;
}

.cessto-twic-cf-light-social-link:hover {
	opacity: 1;
}

.cessto-twic-cf-light-right {
	border: 1px solid;
	border-radius: 1rem;
	padding: 2rem;
	width: 100%;
	max-width: 24rem;
}

.cessto-twic-cf-light-form-title {
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 1.375rem;
}

/* =========================================================================== */
/* Contact — Minimal Contact Us Form                                            */
/* =========================================================================== */

.cessto-twic-cf-minimal-inner {
	display: grid;
	gap: 3rem;
	grid-template-columns: 1fr;
	max-width: 62.5rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	.cessto-twic-cf-minimal-inner {
		grid-template-columns: 1fr 1fr;
		gap: 5rem;
	}
}

.cessto-twic-cf-minimal-left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.cessto-twic-cf-minimal-badge {
	border: 1px solid #e4e4e7;
	border-radius: 9999px;
	display: inline-block;
	font-size: 0.875rem;
	margin-bottom: 1rem;
	padding: 0.375rem 1rem;
}

.cessto-twic-cf-minimal-heading {
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 0.375rem;
}

.cessto-twic-cf-minimal-desc {
	font-size: 0.875rem;
	line-height: 1.6;
	margin-bottom: 1.5rem;
	max-width: 22rem;
	opacity: 0.7;
}

.cessto-twic-cf-minimal-items {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cessto-twic-cf-minimal-item {
	align-items: center;
	display: flex;
	gap: 0.625rem;
}

.cessto-twic-cf-minimal-item-icon {
	align-items: center;
	background-color: #f4f4f5;
	border-radius: 50%;
	display: inline-flex;
	flex-shrink: 0;
	height: 2.25rem;
	justify-content: center;
	width: 2.25rem;
}

.cessto-twic-cf-minimal-item-text {
	font-size: 0.875rem;
	opacity: 0.8;
}

.cessto-twic-cf-minimal-right {
	border: 1px solid;
	border-radius: 1rem;
	margin-left: auto;
	margin-right: 0;
	padding: 1.5rem 2rem;
	width: 100%;
	max-width: 29.375rem;
}

/* =========================================================================== */
/* Contact — Modern White Mode Contact Form Section                             */
/* =========================================================================== */

.cessto-twic-cf-mw-inner {
	display: grid;
	gap: 3rem;
	grid-template-columns: 1fr;
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	.cessto-twic-cf-mw-inner {
		grid-template-columns: 1fr 1fr;
		gap: 5rem;
	}
}

.cessto-twic-cf-mw-left {
	padding-top: 0.25rem;
}

.cessto-twic-cf-mw-eyebrow-row {
	align-items: center;
	display: flex;
	gap: 0.625rem;
	margin-bottom: 1.5rem;
}

.cessto-twic-cf-mw-dot {
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
	height: 0.5rem;
	width: 0.5rem;
}

.cessto-twic-cf-mw-eyebrow {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.cessto-twic-cf-mw-heading {
	font-size: clamp(1.75rem, 3.5vw, 2.25rem);
	font-weight: 500;
	margin-bottom: 0.75rem;
}

.cessto-twic-cf-mw-desc {
	font-size: 1rem;
	line-height: 1.6;
	max-width: 26rem;
	opacity: 0.6;
}

/* =========================================================================== */
/* Contact — Simple Contact Us Form                                             */
/* =========================================================================== */

.cessto-twic-cf-simple-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.cessto-twic-cf-simple-eyebrow {
	font-size: 1.125rem;
	font-weight: 500;
	margin-bottom: 0.5rem;
}

.cessto-twic-cf-simple-heading {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 600;
	margin-bottom: 1rem;
}

.cessto-twic-cf-simple-desc {
	font-size: 0.875rem;
	line-height: 1.6;
	margin-bottom: 2.5rem;
	max-width: 42rem;
}

.cessto-twic-cf-simple-form {
	width: 100%;
	max-width: 43.75rem;
}

/* =========================================================================== */
/* Contact — Modern Contact Us Form (violet + form cards)                       */
/* =========================================================================== */

.cessto-twic-cf-mv-inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 68.75rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	.cessto-twic-cf-mv-inner {
		flex-direction: row;
		gap: 1.5rem;
	}
}

.cessto-twic-cf-mv-left {
	border-radius: 1.25rem;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 1.5rem;
	position: relative;
	width: 100%;
}

@media (min-width: 768px) {
	.cessto-twic-cf-mv-left {
		padding: 3rem;
		width: 50%;
	}
}

.cessto-twic-cf-mv-left-content {
	display: flex;
	flex-direction: column;
	flex: 1;
	position: relative;
	z-index: 1;
}

.cessto-twic-cf-mv-heading {
	font-size: clamp(1.5rem, 3vw, 2.625rem);
	font-weight: 500;
	margin-bottom: 0.75rem;
	margin-top: 0.75rem;
}

.cessto-twic-cf-mv-desc {
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 2rem;
	opacity: 0.9;
}

.cessto-twic-cf-mv-items {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cessto-twic-cf-mv-item {
	align-items: center;
	display: flex;
	gap: 0.625rem;
}

.cessto-twic-cf-mv-item-icon {
	align-items: center;
	border-radius: 50%;
	color: #ffffff;
	display: inline-flex;
	flex-shrink: 0;
	height: 2.25rem;
	justify-content: center;
	opacity: 0.6;
	width: 2.25rem;
}

.cessto-twic-cf-mv-item-text {
	font-size: 0.875rem;
}

.cessto-twic-cf-mv-deco {
	bottom: 1.5rem;
	color: currentColor;
	font-size: 8rem;
	font-weight: 600;
	line-height: 1;
	opacity: 0.25;
	pointer-events: none;
	position: absolute;
	right: 3rem;
	select: none;
	user-select: none;
}

.cessto-twic-cf-mv-right {
	background-color: #ffffff;
	border: 1px solid #e4e4e7;
	border-radius: 1.25rem;
	box-shadow: 0 4px 16px rgba(0,0,0,0.06);
	padding: 1.5rem 2rem;
	width: 100%;
}

@media (min-width: 768px) {
	.cessto-twic-cf-mv-right {
		width: 50%;
	}
}

.cessto-twic-cf-mv-form-title {
	font-size: 1.5rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
}

/* =========================================================================== */
/* Contact — Contact Us Form with Image                                         */
/* =========================================================================== */

.cessto-twic-cf-img-inner {
	align-items: center;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	max-width: 90rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	.cessto-twic-cf-img-inner {
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem 5rem;
	}
}

.cessto-twic-cf-img-form-col {
	padding: 1.25rem;
}

.cessto-twic-cf-img-heading {
	font-size: 1.875rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin-bottom: 0.75rem;
	text-align: center;
}

@media (min-width: 768px) {
	.cessto-twic-cf-img-heading {
		text-align: left;
	}
}

.cessto-twic-cf-img-desc {
	font-size: 0.875rem;
	line-height: 1.6;
	margin-bottom: 2rem;
	text-align: center;
}

@media (min-width: 768px) {
	.cessto-twic-cf-img-desc {
		text-align: left;
		max-width: 25rem;
	}
}

.cessto-twic-cf-img-image-col {
	border-radius: 1.5rem;
	display: none;
	min-height: 25rem;
	overflow: hidden;
	position: relative;
	width: 100%;
	max-width: 32.5rem;
}

@media (min-width: 768px) {
	.cessto-twic-cf-img-image-col {
		display: block;
	}
}

/* ============================================================================
   COUNTER SECTION — Number / Label / Icon animation controls
   ========================================================================== */

.twic-hp-counter-icon-inner {
	display: inline-flex;
}

[data-counter-anim-pending="1"] {
	opacity: 0;
	transition-property: opacity, transform;
	transition-duration: var(--counter-anim-duration, .6s);
	transition-delay: var(--counter-anim-delay, 0s);
	transition-timing-function: var(--counter-anim-easing, ease-out);
}

[data-counter-anim-pending="1"][data-counter-anim-type="fade-up"] { transform: translateY(16px); }
[data-counter-anim-pending="1"][data-counter-anim-type="fade-down"] { transform: translateY(-16px); }
[data-counter-anim-pending="1"][data-counter-anim-type="fade-left"] { transform: translateX(24px); }
[data-counter-anim-pending="1"][data-counter-anim-type="fade-right"] { transform: translateX(-24px); }
[data-counter-anim-pending="1"][data-counter-anim-type="slide-up"] { transform: translateY(40px); }
[data-counter-anim-pending="1"][data-counter-anim-type="slide-down"] { transform: translateY(-40px); }
[data-counter-anim-pending="1"][data-counter-anim-type="zoom-in"] { transform: scale(.9); }
[data-counter-anim-pending="1"][data-counter-anim-type="rotate-in"] { transform: rotate(-45deg) scale(.8); }
[data-counter-anim-pending="1"][data-counter-anim-type="bounce-in"] {
	transform: scale(.3);
	transition-timing-function: cubic-bezier(.34, 1.56, .64, 1);
}

[data-counter-anim-pending="1"].is-counter-revealed {
	opacity: 1 !important;
	transform: none !important;
}

@keyframes cesstoTwicCounterPulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.12); }
}

@keyframes cesstoTwicCounterFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-6px); }
}

@keyframes cesstoTwicCounterBounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

@keyframes cesstoTwicCounterRotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

@keyframes cesstoTwicCounterShake {
	0%, 100% { transform: rotate(0); }
	25% { transform: rotate(-8deg); }
	75% { transform: rotate(8deg); }
}

.twic-hp-counter-icon-inner.is-counter-icon-pulse { animation: cesstoTwicCounterPulse var(--counter-icon-speed, 2s) ease-in-out infinite; }
.twic-hp-counter-icon-inner.is-counter-icon-float { animation: cesstoTwicCounterFloat var(--counter-icon-speed, 2s) ease-in-out infinite; }
.twic-hp-counter-icon-inner.is-counter-icon-bounce { animation: cesstoTwicCounterBounce var(--counter-icon-speed, 2s) ease-in-out infinite; }
.twic-hp-counter-icon-inner.is-counter-icon-rotate { animation: cesstoTwicCounterRotate var(--counter-icon-speed, 2s) linear infinite; }
.twic-hp-counter-icon-inner.is-counter-icon-shake { animation: cesstoTwicCounterShake var(--counter-icon-speed, 2s) ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
	[data-counter-anim-pending="1"] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.twic-hp-counter-icon-inner {
		animation: none !important;
	}
}

.cessto-twic-cf-img-image {
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

/* ============================================================================
   HOMEPAGE SECTIONS — responsive grid fallbacks (About / Our Advantage /
   Product Catalog). These sections set grid-template-columns inline for the
   desktop layout, which has no responsive behavior and (being inline) cannot
   be overridden by a plain media-query rule — hence the !important, which is
   scoped strictly to mobile widths so the desktop inline layout is unchanged.
   ========================================================================== */

/* Tablet and below: stack the two-column split layouts. */
@media (max-width: 900px) {
	.twic-hp-about-grid,
	.twic-hp-adv-grid {
		grid-template-columns: 1fr !important;
		gap: 36px !important;
	}
	/* Product Catalog: N desktop columns -> 2 across on tablet. */
	.twic-hp-cat-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	/* Our Advantage item grid: N columns -> at most 3 on tablet. */
	.twic-hp-adv-right {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Phones: single-column cards, 2-up for the compact advantage items. */
@media (max-width: 600px) {
	.twic-hp-cat-grid {
		grid-template-columns: 1fr !important;
	}
	.twic-hp-adv-right {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
