@charset "utf-8";
/* CSS Document */
/* ==========================================================
   Study Destinations Section
   ========================================================== */

.tc-destinations{
	scroll-margin-top: 110px;

	position:relative;

	padding:100px 0;

	background: linear-gradient(
    135deg,
    #101827 0%,
    #101827 60%,
    #123c3d 100%
);

	overflow:hidden;

}

.tc-destinations::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;

}

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

.tc-destinations__header{

	max-width:760px;

	margin:0 auto 70px;

	text-align:center;

}

.tc-destinations__title{

	margin-bottom:20px;

}

.tc-destinations__description{

	max-width:700px;

	margin:0 auto;

}

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

.tc-destinations__grid{

	display:grid;

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

	gap:32px;

}

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

.tc-destination-card{

	position:relative;

	height:420px;

	border-radius:24px;

	overflow:hidden;

	background:#ddd;

	box-shadow:var(--tc-shadow);

	transition:
		transform .35s ease,
		box-shadow .35s ease;

}

.tc-destination-card:hover{

	transform:
		translateY(-8px);

	box-shadow:
		var(--tc-shadow-lg);

}

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

.tc-destination-card__image{

	width:100%;

	height:100%;

	object-fit:cover;

	transition:
		transform .6s ease;

}

.tc-destination-card:hover
.tc-destination-card__image{

	transform:scale(1.08);

}

/* ==========================================================
   Overlay
   ========================================================== */

.tc-destination-card__overlay{
	z-index: 1;

	position:absolute;

	inset:0;

	background:
		linear-gradient(
			180deg,
			rgba(0,0,0,.05) 10%,
			rgba(0,0,0,.75) 100%
		);

	display:flex;

	flex-direction:column;

	justify-content:flex-end;

	padding:32px;

}

/* ==========================================================
   Tag
   ========================================================== */

.tc-destination-card__content {
	position: absolute;
	left: 32px;
	right: 32px;
	bottom: 32px;
	z-index: 2;
}
.tc-destination-card__tag{

	align-self:flex-start;

	padding:8px 16px;

	margin-bottom:18px;

	border-radius:999px;

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

	backdrop-filter:blur(10px);

	color:#fff;

	font-size:.82rem;

	font-weight:600;

}

/* ==========================================================
   Title
   ========================================================== */

.tc-destination-card__title{

	font-size:1.75rem;

	font-weight:700;

	color:#fff;

	margin-bottom:12px;

}

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

.tc-destination-card__link{

	display:inline-flex;

	align-items:center;

	gap:10px;

	color:#fff;

	font-weight:600;

	text-decoration:none;

	transition:.3s ease;

}

.tc-destination-card__link::after{

	content:"→";

	font-size:1.1rem;

	transition:.3s ease;

}

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

	color:var(--tc-primary);

}

.tc-destination-card:hover
.tc-destination-card__link::after{

	transform:translateX(6px);

}

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

@media (max-width:1200px){

	.tc-destinations__grid{

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

	}

}

@media (max-width:767px){

	.tc-destinations{
	scroll-margin-top: 110px;

		padding:70px 0;

	}

	.tc-destinations__header{

		margin-bottom:45px;

	}

	.tc-destinations__grid{

		grid-template-columns:1fr;

		gap:24px;

	}

	.tc-destination-card{

		height:360px;

	}

	.tc-destination-card__overlay{
	z-index: 1;

		padding:24px;

	}

	.tc-destination-card__title{

		font-size:1.45rem;

	}

}

/* Destination card refinement */
.tc-destination-card {
	height: 520px;
}

.tc-destination-card__overlay {
	z-index: 1;
	background: linear-gradient(180deg, rgba(7, 16, 32, .08) 12%, rgba(7, 16, 32, .30) 44%, rgba(7, 16, 32, .94) 100%);
}

.tc-destination-card__content {
	inset: 0;
	padding: 32px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	z-index: 2;
}

.tc-destination-card__tag {
	position: absolute;
	top: 32px;
	left: 32px;
	margin: 0;
	padding: 9px 16px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .02em;
	background: rgba(7, 16, 32, .68);
	border: 1px solid rgba(255, 255, 255, .28);
}

.tc-destination-card__title {
	margin: 0 0 12px;
	font-size: clamp(1.55rem, 2.4vw, 2.1rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.025em;
}

.tc-destination-card__link {
	font-size: .98rem;
	font-weight: 700;
	letter-spacing: .01em;
}

.tc-destination-card__link::after {
	color: var(--tc-primary);
	font-size: 1.35rem;
	font-weight: 800;
}

@media (max-width: 767px) {
	.tc-destination-card {
		height: 440px;
	}

	.tc-destination-card__content {
		padding: 24px;
	}

	.tc-destination-card__tag {
		top: 24px;
		left: 24px;
	}
}
/* Alternating section rhythm: destination imagery on deep navy */
.tc-destinations {
	background: linear-gradient(145deg, #182333 0%, #203044 58%, #0b5558 100%);
}
.tc-destinations::before { background: radial-gradient(circle at 82% 12%, rgba(236,105,31,.18), transparent 42%); opacity: 1; }
.tc-destinations__title { color: #fff; }
.tc-destinations__description { color: rgba(255,255,255,.72); }
.tc-destinations .tc-section-badge { background: rgba(236,105,31,.14); border-color: rgba(255,255,255,.14); color: #ffb17e; }
/* Study Options refinement */
.tc-destinations {
	padding: clamp(5rem, 8vw, 7rem) 0 clamp(4.5rem, 7vw, 6rem);
}
.tc-destinations__header { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.tc-destinations__title { letter-spacing: -.045em; }
.tc-destinations__description { max-width: 46ch; margin-inline: auto; line-height: 1.7; }
.tc-destinations__grid { gap: clamp(1rem, 2vw, 1.35rem); }
.tc-destination-card {
	height: 500px;
	border-radius: 26px;
	box-shadow: 0 18px 40px rgba(0,0,0,.16);
	transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease;
}
.tc-destination-card:hover { transform: translateY(-10px); box-shadow: 0 28px 62px rgba(0,0,0,.27); }
.tc-destination-card__image { transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .45s ease; }
.tc-destination-card:hover .tc-destination-card__image { transform: scale(1.08); filter: saturate(1.08) contrast(1.04); }
.tc-destination-card__overlay {
	background: linear-gradient(180deg, rgba(8,15,25,.04) 25%, rgba(8,15,25,.16) 42%, rgba(8,15,25,.92) 100%);
	transition: background .45s ease;
}
.tc-destination-card:hover .tc-destination-card__overlay { background: linear-gradient(180deg, rgba(8,15,25,.08) 20%, rgba(8,15,25,.2) 42%, rgba(8,15,25,.96) 100%); }
.tc-destination-card__content { padding: 1.75rem; }
.tc-destination-card__tag { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(15,23,42,.55); backdrop-filter: blur(10px); font-size: .72rem; font-weight: 700; letter-spacing: .02em; }
.tc-destination-card__flag { display: inline-block; width: 18px; height: 18px; flex: 0 0 18px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.tc-destination-card__flag--ca { background: linear-gradient(90deg, #d72835 0 28%, #fff 28% 72%, #d72835 72%); }
.tc-destination-card__flag--au { background: #173d8f; position: relative; }
.tc-destination-card__flag--au::after { content: ""; position: absolute; width: 5px; height: 5px; right: 3px; bottom: 3px; border-radius: 50%; background: #fff; box-shadow: -5px -4px 0 -1px #fff; }
.tc-destination-card__flag--gb { background: linear-gradient(32deg, transparent 42%, #fff 43% 57%, #cf2639 58% 64%, transparent 65%), linear-gradient(-32deg, transparent 42%, #fff 43% 57%, #cf2639 58% 64%, transparent 65%), #173d8f; }
.tc-destination-card__flag--us { background: repeating-linear-gradient(180deg, #d72835 0 2px, #fff 2px 4px); }
.tc-destination-card__flag--nz { background: #173d8f; }
.tc-destination-card__flag--eu { background: #1f4f9a; }
.tc-destination-card__title { max-width: 11ch; font-size: clamp(1.7rem, 2.5vw, 2.35rem); line-height: 1.05; letter-spacing: -.04em; }
.tc-destination-card__link { display: inline-flex; align-items: center; gap: .75rem; font-weight: 700; letter-spacing: .01em; }
.tc-destination-card__link::after { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: var(--tc-primary); color: #fff; content: "↗"; font-size: .95rem; transition: transform .3s ease, background .3s ease; }
.tc-destination-card:hover .tc-destination-card__link::after { transform: translate(3px, -3px); background: var(--tc-orange); }
.tc-destinations__footer { display: flex; align-items: center; justify-content: center; gap: 1.25rem; margin-top: 2.5rem; color: rgba(255,255,255,.72); font-size: .9rem; }
.tc-destinations__footer p { margin: 0; }
.tc-destinations__cta { display: inline-flex; align-items: center; gap: .55rem; color: #fff; font-weight: 700; text-decoration: none; }
.tc-destinations__cta span { color: #ffb17e; font-size: 1.2rem; transition: transform .3s ease; }
.tc-destinations__cta:hover span { transform: translate(3px, -3px); }

@media (max-width: 991px) {
	.tc-destination-card { height: 460px; }
	.tc-destination-card__content { padding: 1.4rem; }
}
@media (max-width: 767px) {
	.tc-destination-card { height: 430px; border-radius: 20px; }
	.tc-destination-card__content { padding: 1.25rem; }
	.tc-destination-card__title { font-size: 1.75rem; }
	.tc-destinations__footer { flex-direction: column; gap: .45rem; margin-top: 2rem; }
}
/* CTA contrast fix on dark destination background */
.tc-destinations__footer p {
	color: rgba(255, 255, 255, .72) !important;
}
.tc-destinations__cta {
	padding: .7rem 1rem;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 999px;
	background: rgba(255,255,255,.07);
	transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
.tc-destinations__cta:hover {
	border-color: rgba(255,255,255,.38);
	background: rgba(236,105,31,.18);
	transform: translateY(-2px);
}