@charset "utf-8";
/* CSS Document */
/* ==========================================================
   SUCCESS STORIES
========================================================== */

.tc-success {
    position: relative;
    padding: 110px 0;
    background: linear-gradient(180deg, #fff5f3 0%, #fff 18%, #fff 82%, #fff7f5 100%);
    overflow: hidden;
}

.tc-success::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle,
            rgba(227, 30, 36, .05),
            transparent 70%);
    pointer-events: none;
}

.tc-success::after {
    content: "";
    position: absolute;
    bottom: -200px;
    left: -200px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle,
            rgba(227, 30, 36, .04),
            transparent 70%);
    pointer-events: none;
}

/* ==========================================================
   Header
========================================================== */

.tc-success__header {
    max-width: 760px;
    margin: 0 auto 70px;
    text-align: center;
}

.tc-success__header .tc-section-title span {
    color: var(--tc-primary);
}

/* ==========================================================
   Grid
========================================================== */

.tc-success-slider{

    position:relative;

    padding-bottom:70px;

}

.tc-success-slider .swiper-slide{

    height:auto;

}

.tc-success-card{

    height:100%;

}

/* ==========================================================
   Card
========================================================== */

.tc-success-card {
    position: relative;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid var(--tc-border);
    box-shadow: 0 15px 45px rgba(17, 24, 39, .06);
    transition: all .35s ease;
}

.tc-success-card:hover {
    transform: translateY(-10px);
    border-color: rgba(227, 30, 36, .18);
    box-shadow: var(--tc-shadow-primary);
}

/* ==========================================================
   Brand Header
========================================================== */

.tc-success-card__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: #fff;
    border-bottom: 1px solid var(--tc-border-light);
}

.tc-success-card__brand img {
    height: 42px;
    width: auto;
    display: block;
}

/* ==========================================================
   Student Image
========================================================== */

.tc-success-card__image {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #f8f8f8;
}

.tc-success-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.tc-success-card:hover .tc-success-card__image img {
    transform: scale(1.06);
}

/* ==========================================================
   Visa Approved Badge
========================================================== */

.tc-success-card__badge {
    position: absolute;
    top: 18px;
    left: 18px;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 9px 16px;

    border-radius: 999px;

    background: rgba(255, 255, 255, .96);

    color: var(--tc-primary);

    font-size: 12px;

    font-weight: 700;

    border: 2px solid var(--tc-primary);

    backdrop-filter: blur(8px);

    transition: all .35s ease;
}

.tc-success-card:hover .tc-success-card__badge {
    background: var(--tc-primary);
    color: #fff;
}

/* ==========================================================
   Decorative Glow
========================================================== */

.tc-success-card::before {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle,
            rgba(227, 30, 36, .08),
            transparent 70%);
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}

.tc-success-card:hover::before {
    opacity: 1;
}

/* ==========================================================
   Card Content
========================================================== */

.tc-success-card__content{

    padding:28px 26px 26px;

    text-align:center;

}

.tc-success-card__name{

    margin:0 0 8px;

    font-size:1.35rem;

    font-weight:700;

    color:var(--tc-heading);

    line-height:1.3;

}

.tc-success-card__visa{

    margin:0 0 18px;

    color:var(--tc-text);

    font-size:.98rem;

    line-height:1.6;

}

/* ==========================================================
   Country
========================================================== */

.tc-success-card__country{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    border-radius:50px;

    background:var(--tc-primary-soft);

    color:var(--tc-heading);

    font-weight:600;

    margin-bottom:18px;

}

.tc-success-card__flag{

    font-size:20px;

    line-height:1;

}

/* ==========================================================
   Intake
========================================================== */

.tc-success-card__intake{

    display:block;

    margin-bottom:24px;

    color:var(--tc-text-light);

    font-size:.92rem;

    font-weight:500;

}

/* ==========================================================
   Hover Button
========================================================== */

.tc-success-card__link{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:12px 22px;

    border-radius:50px;

    background:var(--tc-primary);

    color:#fff;

    text-decoration:none;

    font-weight:600;

    font-size:.95rem;

    opacity:0;

    visibility:hidden;

    transform:translateY(15px);

    transition:all .35s ease;

}

.tc-success-card:hover .tc-success-card__link{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.tc-success-card__link:hover{

    background:var(--tc-primary-dark);

    color:#fff;

}

/* ==========================================================
   Footer
========================================================== */

.tc-success__footer{

    margin-top:70px;

    display:flex;

    justify-content:center;

}

/* ==========================================================
   Navigation
========================================================== */
.tc-success-prev,
.tc-success-next{

    position:absolute;

    top:45%;

    width:54px;

    height:54px;

    border-radius:50%;

    background:#fff;

    border:1px solid var(--tc-border);

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:.3s;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    z-index:20;

}

.tc-success-prev{

    left:-28px;

}

.tc-success-next{

    right:-28px;

}

.tc-success-prev:hover,
.tc-success-next:hover{

    background:var(--tc-primary);

    color:#fff;

    border-color:var(--tc-primary);

}


.tc-success-pagination{

    margin-top:40px;

    text-align:center;

}

.tc-success-pagination .swiper-pagination-bullet{

    width:10px;

    height:10px;

    opacity:1;

    background:#d6d6d6;

    transition:.3s;

}

.tc-success-pagination .swiper-pagination-bullet-active{

    width:28px;

    border-radius:20px;

    background:var(--tc-primary);

}
/* ==========================================================
   Responsive
========================================================== */

@media (max-width:1200px){

    .tc-success__grid{

        grid-template-columns:repeat(3,1fr);

    }

}

@media (max-width:992px){

    .tc-success{

        padding:90px 0;

    }

    .tc-success__grid{

        grid-template-columns:repeat(2,1fr);

        gap:24px;

    }

}

@media (max-width:767px){

    .tc-success{

        padding:80px 0;

    }

    .tc-success__header{

        margin-bottom:45px;

    }

    .tc-success__grid{

        grid-template-columns:1fr;

        gap:22px;

    }

    .tc-success-card__content{

        padding:24px;

    }

    .tc-success-card__brand{

        padding:16px;

    }

    .tc-success-card__brand img{

        height:36px;

    }

    .tc-success-card__badge{

        top:14px;

        left:14px;

        padding:8px 14px;

        font-size:11px;

    }

    .tc-success-card__name{

        font-size:1.2rem;

    }

    .tc-success__footer{

        margin-top:50px;

    }

}

@media (max-width:991px){

    .tc-success-prev,
    .tc-success-next{

        display:none;

    }

}

/* ==========================================================
   Smooth Animation
========================================================== */

@keyframes tcFadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.tc-success-card{

    animation:tcFadeUp .6s ease both;

}

.tc-success-card:nth-child(2){

    animation-delay:.08s;

}

.tc-success-card:nth-child(3){

    animation-delay:.16s;

}

.tc-success-card:nth-child(4){

    animation-delay:.24s;

}

/* Success stories refinement */
.tc-success {
	scroll-margin-top: 110px;
	padding: 120px 0 140px;
	background: linear-gradient(180deg, #fff 0%, #fff8f5 100%);
}

.tc-success__header {
	max-width: 820px;
	margin-bottom: 58px;
}

.tc-success__header .tc-section-title {
	font-size: clamp(2.25rem, 4vw, 3.4rem);
	line-height: 1.08;
	letter-spacing: -.035em;
}

.tc-success-slider .swiper-slide {
	height: auto;
}

.tc-success-card {
	min-height: 500px;
	border-radius: 28px;
}

.tc-success-card__image {
	height: 300px;
	aspect-ratio: auto;
	border-radius: 28px 28px 0 0;
}

.tc-success-card__image img {
	border-radius: 28px 28px 0 0;
}

.tc-success-card__badge {
	z-index: 2;
	transform: rotate(-4deg);
}

.tc-success-card:hover .tc-success-card__badge {
	transform: rotate(0) scale(1.04);
}

.tc-success-card__content {
	padding: 24px 26px 26px;
}

.tc-success-card__name {
	margin-bottom: 7px;
	font-size: 1.45rem;
	font-weight: 800;
	letter-spacing: -.02em;
}

.tc-success-card__visa {
	margin-bottom: 14px;
	font-size: 1rem;
	font-weight: 600;
	color: var(--tc-heading);
}

.tc-success-card__country {
	margin-bottom: 12px;
	padding: 8px 15px;
	font-size: .95rem;
}

.tc-success-card__intake {
	margin-bottom: 20px;
}

.tc-success-card__link {
	opacity: 0;
	transform: translateY(14px);
}

.tc-success-card:hover .tc-success-card__link {
	opacity: 1;
	transform: translateY(0);
}

.tc-success-prev,
.tc-success-next {
	width: 52px;
	height: 52px;
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--tc-primary);
}

.tc-success-prev:hover,
.tc-success-next:hover {
	color: #fff;
	transform: scale(1.06);
}

@media (min-width: 1400px) {
	.tc-success-slider .swiper-slide {
		width: auto;
	}
}

@media (max-width: 767px) {
	.tc-success {
		padding: 88px 0 100px;
	}

	.tc-success-card {
		min-height: 0;
	}

	.tc-success-card__image {
		height: 280px;
	}
}
/* Final success-card refinement */
.tc-success-card {
	min-height: 0;
	height: auto;
}

.tc-success-card__image {
	height: 350px;
	position: relative;
	border-radius: 28px 28px 0 0;
}

.tc-success-card__image::after {
	content: "";
	position: absolute;
	inset: 35% 0 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(227, 30, 36, 0) 0%, rgba(227, 30, 36, .14) 100%);
}

.tc-success-card__image img {
	position: relative;
	z-index: 0;
	height: 100%;
	border-radius: 28px 28px 0 0;
}

.tc-success-card__badge {
	z-index: 3;
}

.tc-success-card__content {
	position: relative;
	padding: 20px 24px 22px;
}

.tc-success-card__name {
	margin-bottom: 5px;
}

.tc-success-card__visa {
	margin-bottom: 10px;
}

.tc-success-card__country {
	margin-bottom: 10px;
	padding: 7px 14px;
}

.tc-success-card__flag {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 8px rgba(17, 24, 39, .1);
	font-size: 15px;
	line-height: 1;
}

.tc-success-card__intake {
	margin-bottom: 0;
}

.tc-success-card__link {
	position: absolute;
	right: 24px;
	bottom: 22px;
	margin: 0;
}

.tc-success-prev,
.tc-success-next {
	width: 54px;
	height: 54px;
	border: 1px solid rgba(227, 30, 36, .16);
	color: var(--tc-primary);
	background: #fff;
	box-shadow: 0 12px 28px rgba(17, 24, 39, .12);
}

.tc-success-prev:hover,
.tc-success-next:hover {
	background: var(--tc-primary);
	border-color: var(--tc-primary);
	color: #fff;
}

.tc-success__footer {
	margin-top: 58px;
	flex-direction: column;
	gap: 18px;
}

.tc-success__cta-title {
	margin: 0;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--tc-heading);
	text-align: center;
}

@media (min-width: 768px) {
	.tc-success-slider {
		padding-inline: 24px;
	}
}

@media (max-width: 767px) {
	.tc-success-card__image {
		height: 330px;
	}

	.tc-success-card__link {
		position: static;
		margin-top: 16px;
	}
}
/* Final badge and arrow positioning */
.tc-success-card__badge {
	top: auto;
	bottom: 18px;
	left: 18px;
	transform: rotate(-4deg);
}

.tc-success-card:hover .tc-success-card__badge {
	transform: rotate(0) scale(1.04);
}

.tc-success-prev {
	left: 10px;
}

.tc-success-next {
	right: 10px;
}

@media (max-width: 1100px) and (min-width: 992px) {
	.tc-success-prev {
		left: 6px;
	}

	.tc-success-next {
		right: 6px;
	}
}
/* Keep the complete success-story artwork visible */
.tc-success-card__image img {
	object-fit: contain;
	object-position: center center;
	background: #f8f8f8;
}
/* Cross-browser circular flag icons */
.tc-success-card__flag {
	position: relative;
	width: 26px;
	height: 18px;
	border-radius: 50%;
	overflow: hidden;
	background: #d9d9d9;
	box-shadow: 0 2px 7px rgba(17, 24, 39, .14);
	font-size: 0;
}

.tc-flag--ca {
	background: linear-gradient(90deg, #d71920 0 28%, #fff 28% 72%, #d71920 72% 100%);
}

.tc-flag--ca::after {
	content: "✦";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #d71920;
	font-size: 10px;
}

.tc-flag--us {
	background: repeating-linear-gradient(to bottom, #b22234 0 2px, #fff 2px 4px);
}

.tc-flag--us::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 45%;
	height: 55%;
	background: #3c3b6e;
}

.tc-flag--gb {
	background: #24408e;
}

.tc-flag--gb::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 42%, #fff 42% 58%, transparent 58%), linear-gradient(0deg, transparent 42%, #fff 42% 58%, transparent 58%);
}

.tc-flag--gb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 46%, #cf142b 46% 54%, transparent 54%), linear-gradient(0deg, transparent 46%, #cf142b 46% 54%, transparent 54%);
}

.tc-flag--sg {
	background: linear-gradient(to bottom, #ef3340 0 50%, #fff 50% 100%);
}

.tc-flag--sg::before {
	content: "☾";
	position: absolute;
	top: -2px;
	left: 3px;
	color: #fff;
	font-size: 10px;
}

.tc-flag--de {
	background: linear-gradient(to bottom, #000 0 33.333%, #dd0000 33.333% 66.666%, #ffce00 66.666% 100%);
}
/* Alternating section rhythm: warm success showcase */
.tc-success { background: linear-gradient(145deg, #fffaf7 0%, #fff 65%, #f8fbfb 100%); }
