@charset "utf-8";
/* ==========================================================================
   Process — guided global education timeline
   ========================================================================== */

.tc-process { position: relative; isolation: isolate; overflow: hidden; padding: clamp(5.5rem, 9vw, 8.5rem) 0; background: linear-gradient(145deg, #f5f8f8 0%, #fff 58%, #fffaf7 100%); }
.tc-process::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(rgba(15,23,42,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,.025) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, #000, transparent 92%); pointer-events: none; }
.tc-process__glow { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.tc-process__glow--one { width: 460px; height: 460px; top: -230px; right: -120px; background: radial-gradient(circle, rgba(236,105,31,.1), transparent 68%); }
.tc-process__glow--two { width: 380px; height: 380px; bottom: -190px; left: -130px; background: radial-gradient(circle, rgba(0,94,96,.08), transparent 68%); }

.tc-process__intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: end; gap: clamp(2rem, 7vw, 8rem); margin-bottom: clamp(3rem, 6vw, 5rem); }
.tc-process__heading { max-width: 720px; }
.tc-process .tc-section-badge { margin-bottom: 1.25rem; }
.tc-process .tc-section-title { margin: 0; color: var(--tc-heading); font-size: clamp(2.4rem, 5vw, 4.35rem); line-height: 1.04; letter-spacing: -.055em; }
.tc-process .tc-section-title span { color: var(--tc-primary); }
.tc-process__lead { max-width: 380px; padding-bottom: .35rem; }
.tc-process__lead p { margin: 0 0 1rem; color: var(--tc-text-light); font-size: 1.05rem; line-height: 1.8; }
.tc-process__lead-note { display: inline-flex; align-items: center; gap: .65rem; color: var(--tc-primary); font-size: .8rem; font-weight: 800; }
.tc-process__lead-note i { width: 8px; height: 8px; border-radius: 50%; background: var(--tc-primary); box-shadow: 0 0 0 5px rgba(236,105,31,.12); }

.tc-process__timeline { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.tc-process__timeline::before { content: ""; position: absolute; z-index: -1; top: 39px; right: 12%; left: 12%; height: 1px; background: linear-gradient(90deg, rgba(236,105,31,.2), rgba(0,94,96,.25)); }
.tc-process-card { position: relative; min-height: 255px; padding: 1.45rem; border: 1px solid rgba(15,23,42,.09); border-radius: 22px; background: rgba(255,255,255,.82); box-shadow: 0 14px 32px rgba(15,23,42,.045); transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.tc-process-card:hover { transform: translateY(-8px); border-color: rgba(236,105,31,.25); box-shadow: 0 25px 52px rgba(15,23,42,.1); }
.tc-process-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.6rem; }
.tc-process-card__number { color: rgba(15,23,42,.3); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.tc-process-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 15px; background: rgba(236,105,31,.1); color: var(--tc-primary); transition: transform .35s ease, background .35s ease, color .35s ease; }
.tc-process-card__icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tc-process-card:hover .tc-process-card__icon { transform: rotate(-6deg); background: var(--tc-primary); color: #fff; }
.tc-process-card__title { margin: 0 0 .6rem; color: var(--tc-heading); font-size: 1.12rem; font-weight: 800; line-height: 1.2; letter-spacing: -.02em; }
.tc-process-card__description { margin: 0; color: var(--tc-text-light); font-size: .88rem; line-height: 1.65; }
.tc-process-card__link { position: absolute; right: 1.45rem; bottom: 1.3rem; display: inline-flex; align-items: center; gap: .45rem; color: var(--tc-primary); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tc-process-card__link span { font-size: 1rem; transition: transform .3s ease; }
.tc-process-card:hover .tc-process-card__link span { transform: translate(2px, -2px); }
.tc-process-card__connector { position: absolute; z-index: 2; top: 32px; right: -13px; width: 25px; height: 14px; border-top: 1px solid rgba(236,105,31,.4); border-right: 1px solid rgba(236,105,31,.4); transform: rotate(45deg); pointer-events: none; }

.tc-process__cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2.5rem; padding: 1.5rem 1.75rem; border-radius: 20px; background: linear-gradient(100deg, var(--tc-primary), #bb1720); box-shadow: 0 18px 38px rgba(227,30,36,.18); }
.tc-process__cta-label { display: block; margin-bottom: .45rem; color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.tc-process__cta h3 { margin: 0; color: #fff; font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.15; }
.tc-process__cta .tc-btn { background: #fff; color: var(--tc-primary); box-shadow: none; white-space: nowrap; }
.tc-process__cta .tc-btn:hover { background: #fffaf7; }

@media (max-width: 991px) {
	.tc-process__intro { grid-template-columns: 1fr; gap: 1.5rem; }
	.tc-process__lead { max-width: 560px; }
	.tc-process__timeline { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.tc-process__timeline::before { display: none; }
	.tc-process-card__connector { display: none; }
}
@media (max-width: 767px) {
	.tc-process { padding: 4.5rem 0; }
	.tc-process .tc-section-title { font-size: clamp(2.35rem, 11vw, 3.35rem); }
	.tc-process__timeline { grid-template-columns: 1fr; }
	.tc-process-card { min-height: 220px; }
	.tc-process__cta { display: block; padding: 1.35rem; }
	.tc-process__cta .tc-btn { margin-top: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
	.tc-process-card, .tc-process-card__icon, .tc-process-card__link span { transition: none; }
	.tc-process-card:hover { transform: none; }
}
/* Connector shape refinement */
@media (min-width: 992px) {
	.tc-process-card__connector {
		top: 39px;
		right: -18px;
		width: 36px;
		height: 1px;
		border: 0;
		background: linear-gradient(90deg, rgba(236,105,31,.22), rgba(236,105,31,.62));
		transform: none;
	}
	.tc-process-card__connector::after {
		content: "";
		position: absolute;
		top: -3px;
		right: 0;
		width: 6px;
		height: 6px;
		border-top: 1px solid var(--tc-primary);
		border-right: 1px solid var(--tc-primary);
		transform: rotate(45deg);
	}
}
/* Dark visual anchor after removing the separate Why Choose section. */
.tc-process {
	background: linear-gradient(145deg, #101827 0%, #101827 62%, #123f43 100%);
}

.tc-process::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 42px 42px;
	mask-image: linear-gradient(to bottom, #000, transparent 94%);
	pointer-events: none;
}

.tc-process .tc-section-title { color: #fff; }
.tc-process .tc-section-title span { color: #ff766b; }
.tc-process__lead p { color: rgba(255,255,255,.72); }
.tc-process__lead-note { color: #fff; }
.tc-process__lead-note i { background: #ff766b; box-shadow: 0 0 0 5px rgba(255,118,107,.14); }
.tc-process__timeline::before { background: linear-gradient(90deg, rgba(255,118,107,.35), rgba(116,211,198,.35)); }

.tc-process-card {
	border-color: rgba(255,255,255,.16);
	background: rgba(255,255,255,.09);
	box-shadow: 0 18px 40px rgba(0,0,0,.14);
}

.tc-process-card:hover {
	border-color: rgba(255,118,107,.6);
	background: rgba(255,255,255,.14);
	box-shadow: 0 25px 55px rgba(0,0,0,.2);
}

.tc-process-card__number { color: rgba(255,255,255,.58); }
.tc-process-card__title { color: #fff; }
.tc-process-card__description { color: rgba(255,255,255,.7); }
.tc-process-card__link { color: #ff766b; }
.tc-process-card__connector { border-color: rgba(255,118,107,.6); }
.tc-process__cta { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.08); }
.tc-process__cta-label { color: #ff9b8f; }
.tc-process__cta h3 { color: #fff; }