/* ══════════════════════════════════════════════
   TWO COLUMN BLOCK
   ══════════════════════════════════════════════ */

/* ── SECTION ── */
.tc-section {
	padding: 58px 0;
}

/* ── CARD ── */
.tc-card {
	background: rgba(0, 0, 0, 0.3);
	border-radius: 10px;
}

.tc-card--type-1 {
	padding: 50px;
}

.tc-card--type-2,
.tc-card--type-3,
.tc-card--type-4 {
	padding: 30px;
}

/* ── EYEBROW ── */
.tc-eyebrow {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	line-height: 19.2px;
	letter-spacing: 0.96px;
	text-transform: uppercase;
	color: var(--clr-primary);
	display: block;
}

/* ── HEADING ── */
.tc-heading {
	font-family: var(--font-main);
	font-size: 50px;
	font-weight: 700;
	line-height: 57px;
	letter-spacing: -1.86px;
	color: var(--clr-white);
	margin-bottom: 0;
}

/* ── BODY TEXT ── */
.tc-body {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 300;
	line-height: 30px;
	color: var(--clr-white);
}

.tc-body p {
	margin: 0 0 30px;
	font-size: 20px;
	line-height: 30px;
	font-weight: 300;
}

.tc-body p:last-child { margin-bottom: 0; }

.tc-body strong,
.tc-body b { font-weight: 800; }

/* ── SECTION LABEL ── */
.tc-section-label {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
	color: var(--clr-primary);
	display: block;
	text-transform: capitalize;
}

/* ══════════════════════════════════════════════
   TYPES 1, 3, 4 — SPLIT LAYOUT
   ══════════════════════════════════════════════ */

/* Two-column flex row */
.tc-cols-wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
}

/* Types 3 & 4: align both columns to their bottom edges */
.tc-card--type-3 .tc-cols-wrap,
.tc-card--type-4 .tc-cols-wrap {
	align-items: flex-end;
}

.tc-col-left,
.tc-col-right {
	flex: 0 1 550px;
	min-width: 0;
}

/* ── LEFT COLUMN ── */
.tc-left {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

/* ── RIGHT COLUMN ── */
.tc-right {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

/* ── SECTION GROUP (label + bullets) ── */
.tc-section-group {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.tc-section-group .tc-body ul {
	list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.tc-section-group .tc-body ul li {
	display: flex;
    align-items: flex-start;
    gap: 14px;
}

.tc-section-group .tc-body ul li::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background-color: var(--clr-primary);
	box-shadow: 0 0 8px 0 var(--clr-primary);
	flex-shrink: 0;
	margin-top: 11px;
}

/* ── BULLET LIST ── */
.tc-bullets {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.tc-layout--type-3 .tc-bullets,
.tc-layout--type-4 .tc-bullets {
	gap: 8px;
}

/* ── BULLET ITEM ── */
.tc-bullet-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	/* padding-left: 30px; */
}

/* ── GLOWING CYAN DOT ── */
.tc-bullet-dot {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background-color: var(--clr-primary);
	box-shadow: 0 0 8px 0 var(--clr-primary);
	flex-shrink: 0;
	margin-top: 11px; /* vertically centres with first text line */
}

/* ── BULLET CONTENT ── */
.tc-bullet-content {
	flex: 1;
	min-width: 0;
}

/* Type 1 — white light body text */
.tc-layout--type-1 .tc-item-text {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 300;
	line-height: 30px;
	color: var(--clr-white);
}

/* Type 3 — bold cyan bullet text */
.tc-layout--type-3 .tc-item-text {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
	color: var(--clr-primary);
}

/* Type 4 — bold cyan label line */
.tc-item-label {
	display: block;
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
	color: var(--clr-primary);
}

/* Type 4 — light white description line */
.tc-layout--type-4 .tc-item-text {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 300;
	line-height: 30px;
	color: var(--clr-white);
}

/* Shared item-text paragraph reset */
.tc-item-text p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	color: inherit;
}

/* ── OUTCOME OUTSIDE CARD (types 3 & 4) ── */
.tc-outcome-outside {
	margin-top: 52px;
	padding-left: 23px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

/* ══════════════════════════════════════════════
   TYPE 2 — CENTRED HEADER + TWO-COL TEXT + LOGOS
   ══════════════════════════════════════════════ */

/* Centred header */
.tc-header-centred {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 26px;
	margin-bottom: 35px;
	text-align: center;
}

/* Two-column text row */
.tc-two-col-text {
	display: flex;
	gap: 48px;
	align-items: flex-start;
	margin-bottom: 35px;
}

.tc-col-text {
	flex: 1 1 0;
	min-width: 0;
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 300;
	line-height: 30px;
	color: var(--clr-white);
}

.tc-col-text p {
	margin: 0;
	font-size: 20px;
	line-height: 30px;
	font-weight: 300;
}

/* Platforms section */
.tc-platforms {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Logo grid — 4 per row desktop */
.tc-logo-grid {
	display: flex;
	gap: 0;
	justify-content: space-between;
	flex-wrap: wrap;
}

.tc-logo-item {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: calc(25% - 16px);
	min-width: 180px;
}

.tc-logo-img {
	height: 70px;
	width: auto;
	max-width: 220px;
	object-fit: contain;
	object-position: left center;
	display: block;
}

.tc-logo-text {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 300;
	line-height: 30px;
	color: var(--clr-white);
}

.tc-logo-text p {
	margin: 0;
	font-size: 20px;
	line-height: 30px;
	font-weight: 300;
}

/* ══════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════ */

@media (max-width: 991.98px) {
	.tc-section { padding: 48px 0; }
	.tc-heading {
		font-size: 40px;
		line-height: 1.1;
		letter-spacing: -1px;
	}
	.tc-card--type-1 { padding: 36px; }
	.tc-card--type-2,
	.tc-card--type-3,
	.tc-card--type-4 { padding: 24px; }
	.tc-body,
	.tc-body p { font-size: 18px; line-height: 28px; }
	.tc-col-text,
	.tc-col-text p { font-size: 18px; line-height: 28px; }
	.tc-item-text,
	.tc-item-label,
	.tc-item-text p { font-size: 18px; line-height: 28px; }
	.tc-logo-text,
	.tc-logo-text p { font-size: 18px; line-height: 28px; }
}

@media (max-width: 767.98px) {
	.tc-section { padding: 40px 0; }
	.tc-heading { font-size: 32px; }

	/* Stack columns vertically */
	.tc-cols-wrap {
		flex-direction: column;
		align-items: stretch;
		gap: 32px;
	}

	.tc-col-left,
	.tc-col-right {
		flex: none;
		width: 100%;
	}

	/* Right col: reset bottom-alignment on mobile */
	.tc-card--type-3 .tc-cols-wrap,
	.tc-card--type-4 .tc-cols-wrap {
		align-items: stretch;
	}

	.tc-right { gap: 28px; }

	/* Stack two-col text */
	.tc-two-col-text {
		flex-direction: column;
		gap: 24px;
	}

	/* Logo grid: 2 per row */
	.tc-logo-item { width: calc(50% - 16px); }

	.tc-bullet-item { padding-left: 0; }

	.tc-body,
	.tc-body p { font-size: 16px; line-height: 26px; }
	.tc-col-text,
	.tc-col-text p { font-size: 16px; line-height: 26px; }
	.tc-item-text,
	.tc-item-label,
	.tc-item-text p { font-size: 16px; line-height: 26px; }
	.tc-logo-text,
	.tc-logo-text p { font-size: 16px; line-height: 24px; }
	.tc-logo-img { height: 50px; }

	.tc-outcome-outside {
		padding-left: 0;
		margin-top: 32px;
	}

	.tc-card--type-1 { padding: 24px; }
	.tc-card--type-2,
	.tc-card--type-3,
	.tc-card--type-4 { padding: 20px; }
}

@media (max-width: 575.98px) {
	.tc-section { padding: 32px 0; }
	.tc-heading {
		font-size: 28px;
		letter-spacing: -0.5px;
		line-height: 1.15;
	}
	.tc-card--type-1 { padding: 20px; }
	.tc-card--type-2,
	.tc-card--type-3,
	.tc-card--type-4 { padding: 16px; }
	.tc-cols-wrap { gap: 24px; }

	/* Logos: 1 per row on very small screens */
	.tc-logo-grid { flex-direction: column; gap: 24px; }
	.tc-logo-item { width: 100%; }
}
