/* ============================================================
		   BASE
		============================================================ */
body {
	font-family: "ABeeZee", sans-serif;
	background: #fff;
}

		/* ============================================================
		   NOTICE STRIP
		============================================================ */
.notice-strip {
	width: 100%;
	height: 35px;
	background: linear-gradient(135deg, #1a2b4c 0%, #2c7be5 100%);
	overflow: hidden;
	display: flex;
	align-items: center;
}

.notice-marquee {
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
}

.notice-marquee span {
	display: inline-block;
	padding-left: 100%;
	animation: marquee 40s linear infinite;
}

.notice-marquee:hover span {
	animation-play-state: paused;
}

.notice-marquee a {
	color: #fff !important;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
}

.notice-marquee a:hover {
	color: #fff !important;
	text-decoration: underline;
}

@keyframes marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

.cambridge-logo {
	width: 120px;
	height: auto;
	display: block;
}

		/* ============================================================
		   TOP BAR / NAVBAR
		============================================================ */
.top-bar {
	padding: 10px 0 0 0;
}

.top-bar a {
	color: #0762d9;
	text-decoration: none;
	font-weight: 600;
}

.social-icons a {
	width: 30px;
	height: 30px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: #0762d9;
	color: #fff;
	margin-left: 8px;
	transition: .3s;
}

.social-icons a:hover {
	background: #ce2022;
}

.video-box {
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
}

.video-box video {
	width: 100%;
	height: auto;
	display: block;
}

 /* --- Top Header Row Styling --- */
    .top-header {
        background-color: #fefefe;
        padding: 40px 0;
    }

    .header-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
    }

    /* Left Logo */
    .brand-left img {
        max-height: 60px;
        width: auto;
    }

    /* Center Logo */
    .brand-center {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }
    
    .brand-center img {
        max-height: 130px;
        width: auto;
    }

    /* Right Social Icons */
    .social-icons {
        display: flex;
        gap: 12px;
    }

    .social-icons a {
        color: #fff;
        background-color: #0d6efd;
        width: 35px;
        height: 35px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        transition: opacity 0.3s;
        font-size: 16px;
    }

    .social-icons a:hover {
        opacity: 0.8;
    }

    /* --- Bottom Navigation Row Styling --- */
    .main-navbar {
        background-color: #fff;
        padding: 10px 0 20px 0;
        box-shadow: 0 4px 6px -6px #222; /* Subtle shadow below nav */
    }

    .main-navbar .navbar-nav {
        margin: 0 auto; /* Centers the menu items */
    }

    .main-navbar .nav-link {
        font-weight: 500;
        font-size: 16px;
        padding: 15px 15px !important;
        color: #333;
		letter-spacing:0.5px
    }

    .main-navbar .nav-link:hover,
    .main-navbar .nav-link.active {
        color: #0d6efd;
    }

    /* Responsive Adjustments */
    @media (max-width: 991px) {
        .brand-center {
            position: static;
            transform: none;
            margin: 0 auto;
        }
        
        .header-row {
            flex-wrap: wrap;
        }

        /* Hide desktop social icons on mobile header, show inside menu instead */
        .header-row .social-icons {
            display: none; 
        }

        .main-navbar .navbar-nav {
            text-align: center;
            padding: 15px 0;
        }

        .mobile-social-icons {
            display: flex !important;
            justify-content: center;
            margin-top: 15px;
            gap: 15px;
        }
    }
    
    /* Helper to hide mobile icons on desktop */
    .mobile-social-icons {
        display: none;
    }

.dropdown-menu {
	border: none;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}

.dropdown-item {
	padding: 6px 20px;
}

.dropdown-item:hover {
	background: #ce2022;
	color: #fff;
}

.dropdown-submenu {
	position: relative;
}

.dropdown-submenu > .dropdown-menu {
	top: 0;
	left: 100%;
	margin-left: 0;
	margin-top: -1px;
	display: none;
}

.dropdown-submenu:hover > .dropdown-menu {
	display: block;
}

.dropdown-submenu > .dropdown-toggle::after {
	margin-top: 7px;
	transform: rotate(-90deg);
}

.page-title {
	font-size: 40px;
	line-height: 45px;
	color: #FFFFFF;
	font-weight: 700;
	letter-spacing: -1px;
	background: #0762d9;
	padding: 40px 0 40px 0;
	margin: 0 0 50px 0;
}

		/* ============================================================
		   HERO
		============================================================ */
.hero {
	padding: 50px 0 60px 0;
}

.hero h5 {
	color: #0762d9;
	font-size: 24px;
	font-weight: 600;
}

.hero h1 {
	font-size: 40px;
	line-height: 45px;
	color: #0762d9;
	font-weight: 800;
	letter-spacing: -1px;
}

.hero p {
	font-size: 16px;
	color: #555;
	margin: 0 0 30px;
}

.btn-enquire {
	background: #ce2022;
	color: #fff;
	padding: 12px 35px;
	border-radius: 50px;
	font-weight: 600;
}

.btn-enquire:hover {
	background: #0762d9;
	color: #fff;
}

.hero-images {
	position: relative;
}

.hero-images img {
	width: 100%;
	height: 500px;
	object-fit: cover;
	border-radius: 35px;
}

.center-shape {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
}

.center-shape::before,
		.center-shape::after {
	content: "";
	display: block;
	width: 120px;
	height: 70px;
	background: #fff;
	border-radius: 60px;
	margin: 18px 0;
}

		/* ============================================================
		   CARE SECTION
		============================================================ */
.care-section {
	padding: 80px 0;
	background: #fff;
}

.care-content {
	padding: 0 0 0 30px;
}

.care-img {
	overflow: hidden;
	border-radius: 40px;
}

.care-img img {
	width: 100%;
	height: 400px;
	object-fit: cover;
	transition: .4s;
}

.care-img:hover img {
	transform: scale(1.05);
}

.care-content h2 {
	font-size: 36px;
	font-weight: 500;
	color: #0762d9;
	line-height: 1.05;
	margin-bottom: 20px;
	letter-spacing: -1px;
}

.care-content p {
	font-size: 17px;
	line-height: 1.5;
	color: #52677f;
	margin-bottom: 35px;
}

.enquire-btn {
	background: #ce2022;
	color: #fff;
	padding: 14px 34px;
	border-radius: 50px;
	font-size: 18px;
	font-weight: 600;
}

.enquire-btn:hover {
	background: #0762d9;
	color: #fff;
}

		/* ============================================================
		   ABOUT SECTION
		============================================================ */
.about-section {
	padding: 90px 0;
	background: #fff;
}

.about-content h2 {
	color: #0762d9;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.05;
	margin-bottom: 20px;
	letter-spacing: -1px;
}

.about-content p {
	color: #52677f;
	font-size: 17px;
	line-height: 1.5;
	margin-bottom: 18px;
}

.theme-btn {
	background: #ce2022;
	color: #fff;
	padding: 14px 35px;
	border-radius: 40px;
	font-weight: 600;
	margin-top: 10px;
}

.theme-btn:hover {
	background: #0762d9;
	color: #fff;
}

.about-img {
	border-radius: 20px;
	overflow: hidden;
	border:1px solid #666
}

.about-img img {
	width: 100%;
	object-fit: cover;
}

.position-relative {
	position: relative;
}

.teddy-img {
	position: absolute;
	left: -50px;
	top: -20px;
	width: 180px;
	z-index: 5;
}

.company-images {
	position: relative;
	display: inline-block;
}

.company-images .main-img {
	width: 100%;
	border-radius: 35px;
}

.company-images .small-img {
	position: absolute;
	left: -40px;
	bottom: -30px;
	width: 250px;
	border-radius: 30px;
	border: 10px solid #fff;
	box-shadow: 0 15px 30px rgba(0, 0, 0, .12);
}

		/* ============================================================
		   PROGRAMS SECTION (Wireframe style)
		============================================================ */
.program-section {
	padding: 40px 0;
	background: #fff;
}

.section-title {
	text-align: center;
	color: #0762d9;
	font-size: 40px;
	font-weight: 700;
	margin-bottom: 40px;
}

.program-card {
	border: 1px solid #ccc;
	padding: 0 0 10px 0;
	text-align: center;
	background: #fff;
	border-radius: 0;
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.program-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.program-img-wrap {
	width: 100%;
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #f9f9f9;
	padding: 0 0 10px 0;
}

.program-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.program-card:hover .program-img-wrap img {
	transform: scale(1.05);
}

.program-content h3 {
	font-size: 18px;
	font-weight: bold;
	color: #0762d9;
	margin: 0;
	line-height: 1.4;
	text-transform: capitalize;
}

.program-link {
	text-decoration: none;
	display: block;
	height: 100%;
	color: inherit;
}

.program-link:hover {
	color: inherit;
}

.myProgram .swiper-pagination {
	position: static;
	margin-top: 20px;
}

.myProgram .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #d1d1d1;
	opacity: 1;
	transition: background 0.3s ease, transform 0.3s ease;
}

.myProgram .swiper-pagination-bullet-active {
	background: #b7964f;
	transform: scale(1.2);
}

		/* ============================================================
		   ACHIEVEMENTS & GALLERY
		============================================================ */
.achievements-gallery {
	margin-top: 20px;
	margin-bottom: 20px;
}

.section {
	padding: 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	border: 1px solid #999;
}

.section h2,
		.containers h2,
		.life h2 {
	font-size: 36px;
	font-weight: 500;
	color: #0762d9;
	line-height: 1.05;
	margin-bottom: 20px;
	letter-spacing: -1px;
}

.section h2 {
	padding: 30px 0 0 0;
}

.slider-viewport {
	overflow: hidden;
	width: 100%;
	position: relative;
	margin-top: auto;
	margin-bottom: auto;
}

.slider-track {
	display: flex;
	transition: transform 0.5s ease-in-out;
}

		/* Achievement slide — 5 items per slide */
.achievement-slide {
	display: flex;
	gap: 12px;
	width: 100%;
	flex-shrink: 0;
}

.achievement-item {
	flex: 1 1 0;
	min-width: 0;
	height: 400px;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
}

.achievement-item.placeholder {
	background: transparent;
	cursor: default;
	pointer-events: none;
}

.achievement-item.placeholder::after {
	display: none;
}

.achievement-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.achievement-item:not(.placeholder)::after {
	content: "\f00e";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: 24px;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.achievement-item:not(.placeholder):hover::after {
	opacity: 1;
}

.achievement-item:not(.placeholder):hover img {
	transform: scale(1.06);
}

		/* Gallery slide */
.gallery-slide {
	min-width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 0;
}

.gallery-box {
	flex: 1;
	aspect-ratio: 1 / 1;
	border: 1px solid #666;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
	font-size: 12px;
	overflow: hidden;
	border-radius: 12px;
}

.gallery-box img {
	width: 100%;
	height: 250px;
	display: block;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.gallery-box:hover img {
	transform: scale(1.06);
}

		/* Navigation Dots */
.dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 15px;
}

.dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #ccc;
	cursor: pointer;
	transition: background 0.3s;
}

.dot.active {
	background-color: #333;
}

		/* ============================================================
		   LIGHTBOX
		============================================================ */
.rs-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 20px;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.rs-lightbox.active {
	display: flex;
	opacity: 1;
}

.rs-lightbox__img-wrap {
	max-width: 90vw;
	max-height: 85vh;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.rs-lightbox__img {
	max-width: 90vw;
	max-height: 85vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 6px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
	background: #111;
	animation: rsZoom 0.3s ease;
}

@keyframes rsZoom {
	from {
		transform: scale(0.92);
		opacity: 0;
	}

	to {
		transform: scale(1);
		opacity: 1;
	}
}

.rs-lightbox__close {
	position: absolute;
	top: 20px;
	right: 26px;
	background: transparent;
	border: none;
	color: #fff;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.2s ease, color 0.2s ease;
	z-index: 10;
}

.rs-lightbox__close:hover {
	color: #b7964f;
	transform: rotate(90deg);
}

.rs-lightbox__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #fff;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 20px;
	transition: background 0.25s ease, transform 0.25s ease;
	z-index: 10;
}

.rs-lightbox__nav:hover {
	background: #b7964f;
	transform: translateY(-50%) scale(1.08);
}

.rs-lightbox__prev {
	left: 22px;
}

.rs-lightbox__next {
	right: 22px;
}

.rs-lightbox__counter {
	position: absolute;
	bottom: 22px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	font-size: 14px;
	letter-spacing: 1px;
	background: rgba(0, 0, 0, 0.5);
	padding: 6px 16px;
	border-radius: 30px;
}

		/* ============================================================
		   FOOTER
		============================================================ */
.footer {
	background: linear-gradient(135deg, #1a2b4c 0%, #2c7be5 100%);
	color: #fff;
	margin-top: 30px;
}

.footer-top {
	position: relative;
	padding: 60px 0 10px;
}

.footer-logo-box {
	background: #fff;
	border-radius: 0 0 45px 0;
	padding: 40px;
	width: 100%;
	text-align: center;
}

.footer-logo-box img {
	max-width: 260px;
}

.follow-title {
	font-size: 24px;
	font-weight: 700;
	margin: 30px 0 20px;
}

.footer .social-icons a {
	width: 45px;
	height: 45px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	border-radius: 50%;
	margin-right: 10px;
	margin-left: 0;
	text-decoration: none;
	transition: .3s;
	background-color: #ce2022;
}

.footer .social-icons a:hover {
	background: #ef6c8d;
	border-color: #ef6c8d;
}

.footer h4 {
	font-size: 24px;
	margin-bottom: 20px;
	font-weight: 700;
}

.footer ul {
	list-style: none;
	padding: 0;
}

.footer ul li {
	margin-bottom: 8px;
}

.footer ul li a {
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	transition: .3s;
}

.footer ul li a:hover {
	color: #000;
}

.footer ul li i {
	color: #fff;
	margin-right: 6px;
}

.contact-info li {
	font-size: 16px;
	margin-bottom: 20px;
}

.contact-info i {
	color: #fff;
	width: 15px;
}

.footer-bottom {
	background: #ce2022;
	text-align: center;
	padding: 10px;
	font-size: 15px;
	font-weight: 500;
}

		/* ============================================================
		   RESPONSIVE
		============================================================ */
@media (max-width: 991px) {
	.navbar-nav {
		margin-top: 20px;
	}

	.hero {
		text-align: center;
	}

	.hero h1 {
		font-size: 40px;
		line-height: 40px;
	}

	.hero p {
		font-size: 18px;
	}

	.hero-images {
		margin-top: 40px;
	}

	.hero-images img {
		height: 350px;
		margin-bottom: 20px;
	}

	.center-shape {
		display: none;
	}

	.care-section {
		text-align: center;
	}

	.care-content {
		margin-top: 30px;
	}

	.care-content h2 {
		font-size: 42px;
	}

	.care-content p {
		font-size: 18px;
	}

	.care-img img {
		height: 380px;
	}

	.about-content {
		text-align: center;
	}

	.about-content h2 {
		font-size: 40px;
	}

	.about-content p {
		font-size: 18px;
	}

	.about-img img {
		height: 400px;
	}

	.teddy-img {
		width: 120px;
		left: 10px;
		top: -20px;
	}

	.company-images .small-img {
		width: 180px;
		left: 10px;
		bottom: -20px;
	}

	.section-title {
		font-size: 38px;
	}

	.footer-logo-box {
		border-radius: 25px;
		margin-bottom: 40px;
	}

	.footer h4 {
		font-size: 28px;
		margin-top: 20px;
	}

	.footer ul li a, .contact-info li {
		font-size: 18px;
	}

	.follow-title {
		text-align: center;
	}

	.social-icons {
		text-align: center;
	}

	.footer-bottom {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.cambridge-logo {
		width: 70px;
	}

	.contact-info a, .contact-info p {
		font-size: 15px;
	}
}

@media (max-width: 768px) {
	.achievements-gallery .row {
		flex-direction: column;
	}
}

@media (max-width: 576px) {
	.care-content h2 {
		font-size: 34px;
	}

	.care-img {
		border-radius: 25px;
	}

	.care-img img {
		height: 300px;
	}

	.about-content h2 {
		font-size: 32px;
	}

	.about-img img {
		height: 300px;
	}

	.company-images .small-img {
		width: 140px;
	}

	.theme-btn {
		width: 100%;
	}

	.achievement-item {
		height: 120px;
	}

	.achievement-slide {
		gap: 8px;
	}

	.rs-lightbox__nav {
		width: 42px;
		height: 42px;
		font-size: 16px;
	}

	.rs-lightbox__prev {
		left: 10px;
	}

	.rs-lightbox__next {
		right: 10px;
	}

	.rs-lightbox__close {
		top: 12px;
		right: 14px;
		font-size: 28px;
	}
}

.admission-tab {
	position: fixed;
	left: 0;
	top: 48%;
	transform: translateY(-50%) rotate(-90deg);
	transform-origin: left top;
	background: #e63946;
	color: #fff;
	padding: 12px 22px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 0 0 6px 6px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
	z-index: 99999;
	transition: all 0.3s ease;
}

.admission-tab:hover {
	background: #c71f2d;
	color: #fff;
}
	
	
	/* Tablet */
@media (max-width: 991px) {
	.admission-tab {
		left: -55px;
		padding: 11px 20px;
		font-size: 15px;
	}

	.admission-tab:hover {
		left: -50px;
	}
}
	
	
	/* Mobile */
@media (max-width: 576px) {
	.admission-tab {
		left: -48px;
		padding: 10px 17px;
		font-size: 13px;
		border-radius: 5px 5px 0 0;
	}

	.admission-tab:hover {
		left: -44px;
	}
}
	
	
	/* =========================
	   FUTURE SECTION
	========================= */
	
.future-section {
	padding: 0 0 50px 0;
	overflow: hidden;
}

.section-tag {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #e85b3f;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
	margin-bottom: 18px;
}

.section-tag span {
	width: 38px;
	height: 3px;
	background: #e85b3f;
	display: inline-block;
	border-radius: 10px;
}

.future-title {
	font-size: 30px;
	line-height: 1.15;
	color: #14213d;
	font-weight: 700;
	margin-bottom: 25px;
}

.future-title span {
	color: #0762d9;
	display: block;
}

.future-intro {
	color: #667085;
	font-size: 16px;
	line-height: 1.9;
	margin-bottom: 30px;
}

.future-intro strong {
	color: #14213d;
}
	
	/* Points */
	
.future-points {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.future-point {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}

.point-icon {
	flex: 0 0 52px;
	height: 52px;
	background: #ffffff;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #e85b3f;
	font-size: 19px;
	box-shadow: 0 8px 25px rgba(20, 33, 61, 0.08);
}

.future-point h4 {
	color: #14213d;
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 6px;
}

.future-point p {
	color: #737d8c;
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
}
	
	/* Quote */
	
.future-quote {
	margin-top: 35px;
	padding: 22px 25px;
	background: #14213d;
	border-radius: 15px;
	position: relative;
	overflow: hidden;
}

.future-quote:after {
	content: "";
	position: absolute;
	right: -40px;
	top: -40px;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background: rgba(232, 91, 63, 0.25);
}

.future-quote i {
	color: #e85b3f;
	font-size: 25px;
	margin-bottom: 8px;
}

.future-quote p {
	color: #ffffff;
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
	position: relative;
	z-index: 2;
}
	
	
	/* =========================
	   RIGHT VISUAL
	========================= */
	
.future-visual {
	position: relative;
	padding: 15px 15px 70px 30px;
}

.visual-image {
	position: relative;
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(20, 33, 61, 0.15);
}

.visual-image:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
			180deg,
			rgba(20, 33, 61, 0) 55%,
			rgba(20, 33, 61, 0.35)
		);
}

.visual-image img {
	width: 100%;
	object-fit: cover;
	display: block;
}
	
	
	/* Experience */
	
.experience-card {
	position: absolute;
	left: -5px;
	bottom: 20px;
	background: #e85b3f;
	color: #fff;
	padding: 20px 25px;
	border-radius: 18px;
	display: flex;
	align-items: center;
	gap: 15px;
	box-shadow: 0 15px 35px rgba(232, 91, 63, 0.30);
}

.experience-number {
	font-size: 48px;
	line-height: 1;
	font-weight: 800;
}

.experience-number span {
	font-size: 25px;
}

.experience-text {
	display: flex;
	flex-direction: column;
}

.experience-text strong {
	font-size: 15px;
}

.experience-text small {
	font-size: 12px;
	opacity: .85;
}
	
	
	/* Cambridge Card */
	
.learning-card {
	position: absolute;
	right: -5px;
	top: 55px;
	background: #ffffff;
	padding: 14px 18px;
	border-radius: 15px;
	display: flex;
	align-items: center;
	gap: 12px;
	box-shadow: 0 12px 30px rgba(20, 33, 61, 0.12);
}

.learning-icon {
	width: 45px;
	height: 45px;
	border-radius: 12px;
	background: #14213d;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

.learning-card strong,
	.learning-card span {
	display: block;
}

.learning-card strong {
	color: #14213d;
	font-size: 14px;
}

.learning-card span {
	color: #e85b3f;
	font-size: 12px;
}
	
	
	/* =========================
	   RESPONSIVE
	========================= */
	
@media (max-width: 991px) {
	
	.future-section {
		padding: 70px 0;
	}

	.future-title {
		font-size: 40px;
	}

	.future-visual {
		margin-top: 25px;
		padding-left: 20px;
	}

	.visual-image img {
		height: 500px;
	}
}

@media (max-width: 575px) {

	.future-section {
		padding: 55px 0;
	}

	.future-title {
		font-size: 32px;
	}

	.future-intro {
		font-size: 15px;
	}

	.future-point {
		gap: 12px;
	}

	.point-icon {
		flex: 0 0 45px;
		height: 45px;
		font-size: 16px;
	}

	.future-point h4 {
		font-size: 16px;
	}

	.future-point p {
		font-size: 13px;
	}

	.future-visual {
		padding: 10px 10px 70px;
	}

	.visual-image img {
		height: 400px;
	}

	.experience-card {
		left: 0;
	}

	.learning-card {
		right: 0;
		top: 30px;
	}
}

      /* =========================================
   RENAISSANCE A TO Z SECTION
========================================= */

.renaissance-az-section {
	position: relative;
	padding: 0 0 50px 0;
	overflow: hidden;
}

/* Background Decorative Circle */

.renaissance-az-section::before {
	content: "";
	position: absolute;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: rgba(232, 91, 63, 0.05);
	top: -180px;
	left: -180px;
}

.renaissance-az-section::after {
	content: "";
	position: absolute;
	width: 350px;
	height: 350px;
	border-radius: 50%;
	background: rgba(20, 33, 61, 0.04);
	bottom: -150px;
	right: -150px;
}

.renaissance-az-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   SECTION HEADER
========================================= */

.az-header {
	max-width: 850px;
	margin: 0 auto 55px;
}

.az-title {
	position: relative;
	display: inline-block;
	margin: 0 0 15px;
	color: #14213d;
	font-size: 44px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.5px;
}

.az-title::after {
	content: "";
	display: block;
	width: 65px;
	height: 4px;
	margin: 15px auto 0;
	border-radius: 20px;
	background: #e85b3f;
}

.az-subtitle {
	margin: 0 0 14px;
	color: #0762d9;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: .5px;
}

.az-intro {
	max-width: 720px;
	margin: 0 auto;
	color: #6b7280;
	font-size: 17px;
	line-height: 1.5;
}


/* =========================================
   A TO Z GRID
========================================= */

.az-grid {
	row-gap: 24px !important;
}


/* =========================================
   A TO Z CARD
========================================= */

.az-card {
	height: 100%;
	min-height: 145px;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 24px 22px;
	background: #ffffff;
	border: 1px solid #edf0f4;
	border-radius: 18px;
	box-shadow: 0 8px 25px rgba(20, 33, 61, 0.06);
	transition: transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.az-card:hover {
	transform: translateY(-7px);
	border-color: rgba(232, 91, 63, .25);
	box-shadow: 0 18px 40px rgba(20, 33, 61, 0.12);
}


/* =========================================
   LETTER
========================================= */

.az-letter {
	flex: 0 0 65px;
	width: 65px;
	height: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: #14213d;
	color: #ffffff;
	font-size: 30px;
	line-height: 1;
	font-weight: 800;
	box-shadow: 0 8px 20px rgba(20, 33, 61, .18);
	transition: all .35s ease;
}

.az-card:hover .az-letter {
	background: #e85b3f;
	transform: rotate(-5deg) scale(1.05);
}


/* =========================================
   CARD CONTENT
========================================= */

.az-content {
	flex: 1;
}

.az-content h3 {
	margin: 0 0 8px;
	color: #14213d;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	transition: color .3s ease;
}

.az-card:hover .az-content h3 {
	color: #e85b3f;
}

.az-content p {
	margin: 0;
	color: #737b88;
	font-size: 13.5px;
	line-height: 1.65;
}


/* =========================================
   ALTERNATE LETTER COLORS
   Optional visual variety
========================================= */

.az-card:nth-child(3n+1) .az-letter {
	background: #14213d;
}

.az-card:nth-child(3n+2) .az-letter {
	background: #e85b3f;
}

.az-card:nth-child(3n+3) .az-letter {
	background: #f0a202;
}

.az-card:nth-child(3n+1):hover .az-letter,
.az-card:nth-child(3n+2):hover .az-letter,
.az-card:nth-child(3n+3):hover .az-letter {
	background: #14213d;
}


/* =========================================
   RESPONSIVE - TABLET
========================================= */

@media (max-width: 991px) {

	.renaissance-az-section {
		padding: 70px 0;
	}

	.az-header {
		margin-bottom: 40px;
	}

	.az-title {
		font-size: 38px;
	}

	.az-card {
		min-height: 135px;
		padding: 20px;
	}

	.az-letter {
		flex: 0 0 58px;
		width: 58px;
		height: 58px;
		font-size: 27px;
	}

	.az-content h3 {
		font-size: 17px;
	}
}


/* =========================================
   RESPONSIVE - MOBILE
========================================= */

@media (max-width: 767px) {

	.renaissance-az-section {
		padding: 55px 0;
	}

	.az-header {
		padding: 0 10px;
		margin-bottom: 35px;
	}

	.az-title {
		font-size: 31px;
	}

	.az-subtitle {
		font-size: 15px;
	}

	.az-intro {
		font-size: 14px;
		line-height: 1.7;
	}

	.az-grid {
		row-gap: 16px !important;
	}

	.az-card {
		min-height: auto;
		padding: 18px;
		gap: 15px;
		border-radius: 15px;
	}

	.az-letter {
		flex: 0 0 52px;
		width: 52px;
		height: 52px;
		border-radius: 13px;
		font-size: 24px;
	}

	.az-content h3 {
		font-size: 16px;
		margin-bottom: 5px;
	}

	.az-content p {
		font-size: 13px;
		line-height: 1.55;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

	.renaissance-az-section {
		padding: 45px 0;
	}

	.az-title {
		font-size: 27px;
	}

	.az-subtitle {
		font-size: 14px;
	}

	.az-card {
		padding: 16px;
		gap: 12px;
	}

	.az-letter {
		flex: 0 0 46px;
		width: 46px;
		height: 46px;
		border-radius: 11px;
		font-size: 21px;
	}

	.az-content h3 {
		font-size: 15px;
	}

	.az-content p {
		font-size: 12.5px;
	}
}

/* =========================
   VISION SECTION
========================= */

.vision-section {
	position: relative;
	padding: 40px 0;
	background: #fff;
	overflow: hidden;
}

.vision-wrapper {
	display: grid;
	grid-template-columns: 35% 65%;
	align-items: center;
	border: 1px solid #e5eaf0;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 35px rgba(0, 0, 0, 0.07);
	overflow: hidden;
}

/* Heading Area */
.vision-heading {
	padding: 55px 45px;
	border-right: 1px solid #e5eaf0;
}

.vision-small-title {
	display: inline-block;
	color: #0762d9;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	margin-bottom: 15px;
}

.vision-heading h2 {
	margin: 0;
	font-size: 48px;
	line-height: 1.15;
	font-weight: 700;
	color: #1d2939;
}

.vision-heading h2 span {
	color: #0762d9;
}

.vision-line {
	width: 65px;
	height: 4px;
	background: #0762d9;
	margin-top: 25px;
	border-radius: 5px;
}

/* Content Area */
.vision-content {
	padding: 55px 65px;
}

.vision-icon {
	width: 65px;
	height: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #fff;
	border-radius: 50%;
	font-size: 25px;
	margin-bottom: 25px;
}

.vision-content p {
	margin: 0;
	color: #555;
	font-size: 18px;
	line-height: 1.9;
}

/* Bottom Keywords */
.vision-bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.vision-bottom span {
	display: inline-block;
	padding: 9px 18px;
	border: 1px solid #0762d9;
	border-radius: 30px;
	color: #0762d9;
	background: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
	transition: all 0.3s ease;
}

.vision-bottom span:hover {
	background: #0762d9;
	color: #fff;
}

/* Decorative Element */
.vision-section::before {
	content: "";
	position: absolute;
	width: 180px;
	height: 180px;
	border: 30px solid rgba(7, 98, 217, 0.06);
	border-radius: 50%;
	top: -80px;
	right: -60px;
}

.vision-section::after {
	content: "";
	position: absolute;
	width: 120px;
	height: 120px;
	border: 20px solid rgba(7, 98, 217, 0.05);
	border-radius: 50%;
	bottom: -60px;
	left: -40px;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991px) {

	.vision-wrapper {
		grid-template-columns: 1fr;
	}

	.vision-heading {
		padding: 40px;
		border-right: none;
		border-bottom: 1px solid #e5eaf0;
	}

	.vision-heading h2 {
		font-size: 40px;
	}

	.vision-content {
		padding: 40px;
	}
}

@media (max-width: 575px) {

	.vision-section {
		padding: 50px 15px;
	}

	.vision-heading {
		padding: 30px 25px;
	}

	.vision-heading h2 {
		font-size: 32px;
	}

	.vision-content {
		padding: 30px 25px;
	}

	.vision-content p {
		font-size: 16px;
		line-height: 1.8;
	}

	.vision-bottom {
		gap: 8px;
	}

	.vision-bottom span {
		font-size: 11px;
		padding: 7px 13px;
	}
}

```css
/* =========================================
   RENAISSANCE VALUES SECTION
========================================= */

.renaissance-values {
	padding: 90px 0;
	background: #f7f9fc;
	position: relative;
	overflow: hidden;
}

.renaissance-values .container {
	position: relative;
	z-index: 2;
}

/* Intro */
.values-title {
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	color: #0762d9;
	margin: 0 0 20px;
	letter-spacing: -0.5px;
}

.values-intro {
	max-width: 900px;
	margin: 0 auto 16px;
	font-size: 16px;
	line-height: 1.8;
	color: #626b7a;
}

/* Section Heading */
.action-title {
	position: relative;
	display: inline-block;
	margin: 20px 0 35px;
	font-size: 30px;
	font-weight: 700;
	color: #0762d9;
}

/* Value Cards */
.value-card {
	height: 100%;
	padding: 32px 25px;
	background: #ffffff;
	border: 1px solid #e7ebf2;
	border-radius: 16px;
	position: relative;
	overflow: hidden;
	transition: all 0.35s ease;
	box-shadow: 0 8px 25px rgba(23, 32, 51, 0.06);
}

.value-card:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: #0762d9;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s ease;
}

.value-card:hover {
	transform: translateY(-8px);
	border-color: #d8e5f7;
	box-shadow: 0 18px 40px rgba(23, 32, 51, 0.12);
}

.value-card:hover:before {
	transform: scaleX(1);
}

/* Number */
.value-icon {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eaf3ff;
	color: #0762d9;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 1px;
	transition: all 0.3s ease;
}

.value-card:hover .value-icon {
	background: #0762d9;
	color: #ffffff;
	transform: rotate(3deg);
}

/* Card Heading */
.value-card h4 {
	margin: 0 0 12px;
	color: #172033;
	font-size: 20px;
	line-height: 1.35;
	font-weight: 700;
}

/* Card Paragraph */
.value-card p {
	margin: 0;
	color: #687385;
	font-size: 15px;
	line-height: 1.75;
}

/* =========================================
   CLOSING MESSAGE
========================================= */

.values-closing {
	margin-top: 75px;
	padding: 50px 55px;
	background: #172033;
	border-radius: 22px;
	position: relative;
	overflow: hidden;
}

.values-closing:after {
	content: "";
	position: absolute;
	width: 220px;
	height: 220px;
	right: -70px;
	top: -80px;
	border: 35px solid rgba(255, 255, 255, 0.04);
	border-radius: 50%;
}

.values-closing h3 {
	margin: 0;
	color: #ffffff;
	font-size: 38px;
	line-height: 1.25;
	font-weight: 700;
}

.values-closing h3 span {
	color: #0762d9;
}

/* Quote */
.value-quote {
	padding-left: 45px;
	border-left: 3px solid #0762d9;
	position: relative;
	z-index: 2;
}

.value-quote p {
	margin: 0 0 8px;
	color: #ffffff;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.2px;
}

.value-quote p:last-child {
	margin-bottom: 0;
}

.value-quote strong {
	font-weight: 600;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

	.renaissance-values {
		padding: 70px 0;
	}

	.values-title {
		font-size: 36px;
	}

	.action-title {
		margin-top: 45px;
	}

	.values-closing {
		padding: 40px;
	}

	.values-closing h3 {
		font-size: 32px;
		margin-bottom: 30px;
	}

	.value-quote {
		padding-left: 30px;
	}
}

@media (max-width: 767px) {

	.renaissance-values {
		padding: 55px 0;
	}

	.values-title {
		font-size: 30px;
		line-height: 1.3;
	}

	.values-intro {
		font-size: 15px;
		line-height: 1.7;
	}

	.action-title {
		font-size: 26px;
		margin: 40px 0 25px;
	}

	.value-card {
		padding: 28px 22px;
	}

	.values-closing {
		margin-top: 50px;
		padding: 35px 25px;
		border-radius: 16px;
	}

	.values-closing h3 {
		font-size: 28px;
	}

	.value-quote {
		padding-left: 22px;
	}

	.value-quote p {
		font-size: 18px;
	}
}

@media (max-width: 575px) {

	.renaissance-values {
		padding: 45px 0;
	}

	.values-title {
		font-size: 27px;
	}

	.action-title {
		font-size: 23px;
	}

	.value-card {
		border-radius: 13px;
	}

	.values-closing {
		padding: 30px 20px;
	}

	.values-closing h3 {
		font-size: 26px;
	}

	.value-quote {
		margin-top: 25px;
	}
}

.headmistress-message {
	padding: 0 0 40px 0;
	position: relative;
	overflow: hidden;
}

.headmistress-message .container {
	position: relative;
	z-index: 2;
}

/* Header */

.message-header {
	text-align: center;
	max-width: 900px;
	margin: 0 auto 30px;
}

.message-eyebrow {
	display: inline-block;
	margin-bottom: 14px;
	color: #0762d9;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.message-header h2 {
	margin: 0;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
}

.message-header h1 span {
	color: #0762d9;
}

.message-line {
	width: 60px;
	height: 4px;
	background: #0762d9;
	border-radius: 10px;
	margin: 18px auto;
}

.message-welcome {
	margin: 0;
	color: #626d7d;
	font-size: 18px;
}


/* Main Wrapper */

.message-wrapper {
	max-width: 1100px;
	margin: auto;
	display: grid;
	grid-template-columns: 90px 1fr;
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 15px 45px rgba(23, 32, 51, 0.08);
}


/* Blue Side */

.message-side {
	background: #0762d9;
	color: #fff;
	padding: 35px 15px;
	display: flex;
	align-items: center;
	flex-direction: column;
}

.message-side > span {
	font-size: 18px;
	font-weight: 700;
}

.message-side > div {
	width: 1px;
	height: 100px;
	margin: 25px 0;
	background: rgba(255,255,255,.45);
}

.message-side small {
	font-size: 9px;
	line-height: 1.5;
	letter-spacing: 1.3px;
	text-align: center;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}


/* Content */

.message-content {
	padding: 55px 65px;
}

.message-content > p {
	margin: 0 0 25px;
	color: #626d7d;
	font-size: 16px;
	line-height: 1.9;
}


/* First Paragraph */

.message-lead {
	color: #374151 !important;
	font-size: 20px !important;
	line-height: 1.75 !important;
	padding-left: 20px;
	border-left: 4px solid #0762d9;
	margin-bottom: 35px !important;
}


/* Signature */

.message-signature {
	margin-top: 45px;
	padding-top: 30px;
	border-top: 1px solid #e4e8ee;
}

.warm-regards {
	margin: 0 0 18px !important;
	color: #626d7d !important;
	font-size: 14px !important;
}

.message-signature h3 {
	margin: 0 0 6px;
	color: #172033;
	font-size: 24px;
	font-weight: 700;
}

.designation {
	margin: 0 0 5px !important;
	color: #0762d9 !important;
	font-size: 15px !important;
	font-weight: 600;
}

.school-name,
.school-location {
	margin: 0 !important;
	color: #687385 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.school-section h2 {
	color: #0762d9;
}

.school-section img {
	border-radius: 20px;
}
/* Responsive */

@media (max-width: 991px) {

	.headmistress-message {
		padding: 70px 0;
	}

	.message-header h1 {
		font-size: 40px;
	}

	.message-content {
		padding: 45px;
	}
}

@media (max-width: 767px) {

	.headmistress-message {
		padding: 55px 0;
	}

	.message-header {
		margin-bottom: 40px;
	}

	.message-header h1 {
		font-size: 32px;
	}

	.message-wrapper {
		display: block;
		border-radius: 16px;
	}

	.message-side {
		height: 55px;
		padding: 0 20px;
		flex-direction: row;
		justify-content: space-between;
	}

	.message-side > div {
		display: none;
	}

	.message-side small {
		writing-mode: initial;
		transform: none;
	}

	.message-content {
		padding: 30px 22px;
	}

	.message-content > p {
		font-size: 15px;
		line-height: 1.8;
	}

	.message-lead {
		font-size: 18px !important;
		line-height: 1.7 !important;
		padding-left: 15px;
	}

	.message-signature {
		margin-top: 35px;
	}
}

@media (max-width: 575px) {

	.message-header h1 {
		font-size: 28px;
	}

	.message-content {
		padding: 25px 18px;
	}

	.message-content > p {
		font-size: 14.5px;
	}
}


/* =========================================
   FACULTY CONTENT SECTION
========================================= */

.faculty-content-section {
	padding: 90 0 40px 0;
	position: relative;
	overflow: hidden;
}

.faculty-content-section .container {
	position: relative;
	z-index: 2;
	max-width: 1300px;
}


/* =========================================
   MAIN HEADING
========================================= */

.faculty-content-section .content-header {
	text-align: center;
	max-width: 900px;
	margin: 0 auto 30px;
}

.faculty-content-section .content-header h1 {
	margin: 0;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.5px;
}

.faculty-content-section .content-header h1 span {
	display: block;
	margin-top: 8px;
}


/* =========================================
   CONTENT BLOCK
========================================= */

.faculty-content-section .content-block {
	margin: 0 auto 55px;
	padding: 40px 45px;
	background: #ffffff;
	border-radius: 18px;
	border: 1px solid #e8edf4;
	box-shadow: 0 10px 35px rgba(23, 32, 51, 0.055);
}

.faculty-content-section .content-block:last-of-type {
	margin-bottom: 45px;
}


/* Paragraph */

.faculty-content-section .content-block p {
	margin: 0 0 22px;
	color: #626d7d;
	font-size: 16px;
	line-height: 1.9;
}

.faculty-content-section .content-block p:last-child {
	margin-bottom: 0;
}


/* =========================================
   SECTION HEADINGS
========================================= */

.faculty-content-section .content-block h2 {
	position: relative;
	margin: 0 0 20px;
	color: #0762d9;
	font-size: 28px;
	line-height: 1.35;
	font-weight: 700;
}

.faculty-content-section .content-block h3 {
	margin: 32px 0 22px;
	color: #172033;
	font-size: 19px;
	font-weight: 700;
}


/* =========================================
   PROFESSIONAL LEARNING LIST
========================================= */

.professional-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin-top: 25px;
}

.professional-item {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 24px 22px;
	background: #f8faff;
	border: 1px solid #e5ebf4;
	border-radius: 14px;
	transition: all 0.3s ease;
}

.professional-item:hover {
	background: #ffffff;
	border-color: #c8dcf7;
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(23, 32, 51, 0.08);
}


/* Number */

.item-letter {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 22px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
}


/* Item Heading */

.professional-item h4 {
	margin: 0 0 8px;
	color: #172033;
	font-size: 17px;
	line-height: 1.4;
	font-weight: 700;
}


/* Item Description */

.professional-item p {
	margin: 0 !important;
	color: #707b8c !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
}


/* =========================================
   FACULTY PROMISE
========================================= */

.faculty-promise-box {
	margin: 0 auto;
	padding: 50px 55px;
	background: #172033;
	border-radius: 20px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 15px 45px rgba(23, 32, 51, 0.12);
}

.faculty-promise-box:before {
	content: "";
	position: absolute;
	width: 220px;
	height: 220px;
	right: -90px;
	top: -90px;
	border: 35px solid rgba(255, 255, 255, 0.045);
	border-radius: 50%;
}

.faculty-promise-box:after {
	content: "";
	position: absolute;
	width: 140px;
	height: 140px;
	left: -70px;
	bottom: -70px;
	border: 25px solid rgba(7, 98, 217, 0.18);
	border-radius: 50%;
}

.faculty-promise-box h2 {
	position: relative;
	z-index: 2;
	margin: 0 0 35px;
	color: #ffffff;
	font-size: 30px;
	line-height: 1.3;
	font-weight: 700;
}

.faculty-promise-box h2:after {
	content: "";
	display: block;
	width: 50px;
	height: 4px;
	margin-top: 16px;
	background: #0762d9;
	border-radius: 5px;
}


/* =========================================
   PROMISE LINES
========================================= */

.promise-lines {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
}

.promise-lines p {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 20px 20px 20px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.promise-lines p:nth-child(3),
.promise-lines p:nth-child(4) {
	border-bottom: none;
}

.promise-lines span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	color: #ffffff;
	background: #0762d9;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 700;
}

.promise-lines strong {
	color: #ffffff;
	font-size: 17px;
	font-weight: 600;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.faculty-content-section {
		padding: 75px 0;
	}

	.faculty-content-section .content-header {
		margin-bottom: 50px;
	}

	.faculty-content-section .content-header h1 {
		font-size: 40px;
	}

	.faculty-content-section .content-block {
		padding: 35px;
		margin-bottom: 40px;
	}

	.faculty-content-section .content-block h2 {
		font-size: 25px;
	}

	.professional-list {
		gap: 12px;
	}

	.faculty-promise-box {
		padding: 40px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.faculty-content-section {
		padding: 55px 0;
	}

	.faculty-content-section .content-header {
		margin-bottom: 35px;
	}

	.faculty-content-section .content-header h1 {
		font-size: 32px;
		line-height: 1.3;
	}

	.faculty-content-section .content-header h1 span {
		margin-top: 5px;
	}

	.faculty-content-section .content-block {
		padding: 28px 22px;
		margin-bottom: 30px;
		border-radius: 15px;
	}

	.faculty-content-section .content-block p {
		font-size: 15px;
	}
}

/* ================================
   GUIDING PHILOSOPHY
================================ */

.philosophy-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.philosophy-section .container {
	position: relative;
	z-index: 2;
}

/* ================================
   HEADING
================================ */

.philosophy-heading {
	max-width: 900px;
	margin: 0 auto 30px;
}

.philosophy-label {
	display: inline-block;
	margin-bottom: 18px;
	color: #0762d9;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
}

.philosophy-heading h2 {
	margin: 0;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.35;
	font-weight: 700;
}


/* ================================
   CONTENT CARD
================================ */

.philosophy-content {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	padding: 45px 55px;
	display: flex;
	gap: 30px;
	background: #ffffff;
	border: 1px solid #e6ebf2;
	border-radius: 20px;
	box-shadow: 0 15px 45px rgba(23, 32, 51, 0.07);
}

.philosophy-icon {
	width: 65px;
	height: 65px;
	flex: 0 0 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: #0762d9;
	border-radius: 50%;
	font-size: 25px;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.20);
}

.philosophy-text p {
	margin: 0;
	color: #5f6978;
	font-size: 18px;
	line-height: 1.9;
}


/* ================================
   VALUES
================================ */

.philosophy-values {
	max-width: 1000px;
	margin: 40px auto 0;
	padding: 28px 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	background: #172033;
	border-radius: 18px;
	box-shadow: 0 15px 40px rgba(23, 32, 51, 0.12);
}

.philosophy-value {
	display: flex;
	align-items: center;
	gap: 12px;
	transition: all 0.3s ease;
}

.value-icon {
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: #0762d9;
	border-radius: 50%;
	transition: all 0.3s ease;
}

.philosophy-value span {
	color: #ffffff;
	font-size: 17px;
	font-weight: 700;
}

.philosophy-value:hover .value-icon {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(7, 98, 217, 0.35);
}

.philosophy-value:hover span {
	color: #6fa9ff;
}

.value-separator {
	color: #6fa9ff;
	font-size: 22px;
}


/* ================================
   TABLET
================================ */

@media (max-width: 991px) {

	.philosophy-section {
		padding: 70px 0;
	}

	.philosophy-heading {
		margin-bottom: 40px;
	}

	.philosophy-heading h2 {
		font-size: 34px;
	}

	.philosophy-content {
		padding: 35px 40px;
	}

	.philosophy-text p {
		font-size: 17px;
	}

	.philosophy-values {
		gap: 18px;
		padding: 25px 20px;
	}
}


/* ================================
   MOBILE
================================ */

@media (max-width: 767px) {

	.philosophy-section {
		padding: 55px 0;
	}

	.philosophy-heading {
		margin-bottom: 30px;
	}

	.philosophy-label {
		font-size: 10px;
		letter-spacing: 2px;
	}

	.philosophy-heading h2 {
		font-size: 27px;
		line-height: 1.45;
	}

	.philosophy-content {
		padding: 30px 22px;
		flex-direction: column;
		text-align: center;
		gap: 20px;
		border-radius: 16px;
	}

	.philosophy-text p {
		font-size: 15px;
		line-height: 1.8;
	}

	.philosophy-values {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 15px;
		margin-top: 30px;
		padding: 22px 20px;
		border-radius: 16px;
	}

	.philosophy-value {
		justify-content: center;
	}

	.value-separator {
		display: none;
	}

	.value-icon {
		width: 40px;
		height: 40px;
		flex: 0 0 40px;
		font-size: 14px;
	}

	.philosophy-value span {
		font-size: 15px;
	}
}


/* ================================
   SMALL MOBILE
================================ */

@media (max-width: 575px) {

	.philosophy-section {
		padding: 45px 0;
	}

	.philosophy-heading h2 {
		font-size: 23px;
	}

	.philosophy-content {
		padding: 25px 18px;
	}

	.philosophy-text p {
		font-size: 14px;
	}

	.philosophy-values {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.philosophy-value {
		justify-content: flex-start;
	}
}

/* =========================================
   RENAISSANCE PEDAGOGY SECTION
========================================= */

.renaissance-pedagogy {
	position: relative;
	overflow: hidden;
	padding: 0 0 40px 0!important;
}

.renaissance-pedagogy .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   MAIN INTRODUCTION
========================================= */

.pedagogy-main-title {
	position: relative;
	max-width: 900px;
	margin: 0 auto 25px;
	padding-top: 20px;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: -0.5px;
}

.pedagogy-intro {
	max-width: 950px;
	margin: 0 auto;
	color: #626d7d;
	font-size: 17px;
	line-height: 1.9;
}


/* =========================================
   PEDAGOGY CARDS
========================================= */

.pedagogy-card {
	position: relative;
	height: 100%;
	padding: 38px 38px 35px;
	background: #ffffff;
	border: 1px solid #e6ebf2;
	border-radius: 18px;
	box-shadow: 0 10px 35px rgba(23, 32, 51, 0.06);
	overflow: hidden;
	transition: transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* Top Accent Line */

.pedagogy-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #0762d9;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s ease;
}


/* Background Number */

.pedagogy-card::after {
	content: "";
	position: absolute;
	right: -20px;
	bottom: -35px;
	font-size: 120px;
	font-weight: 800;
	color: rgba(7, 98, 217, 0.035);
	pointer-events: none;
}


/* Hover */

.pedagogy-card:hover {
	transform: translateY(-7px);
	border-color: rgba(7, 98, 217, 0.20);
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.11);
}

.pedagogy-card:hover::before {
	transform: scaleX(1);
}


/* =========================================
   CARD NUMBER
========================================= */

.pedagogy-icon {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
	color: #ffffff;
	background: #0762d9;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 1px;
	box-shadow: 0 8px 20px rgba(7, 98, 217, 0.20);
	transition: all 0.3s ease;
}

.pedagogy-card:hover .pedagogy-icon {
	transform: translateY(-3px);
	box-shadow: 0 12px 25px rgba(7, 98, 217, 0.30);
}


/* =========================================
   CARD HEADING
========================================= */

.pedagogy-card h3 {
	position: relative;
	z-index: 2;
	margin: 0 0 15px;
	color: #172033;
	font-size: 22px;
	line-height: 1.35;
	font-weight: 700;
}


/* =========================================
   CARD DESCRIPTION
========================================= */

.pedagogy-card p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: #687384;
	font-size: 15.5px;
	line-height: 1.85;
}


/* =========================================
   PHILOSOPHY BOX
========================================= */

.philosophy-box {
	position: relative;
	padding: 50px 60px;
	background: #172033;
	border-radius: 22px;
	box-shadow: 0 20px 50px rgba(23, 32, 51, 0.14);
	overflow: hidden;
}


/* Blue Decorative Circle */

.philosophy-box::before {
	content: "";
	position: absolute;
	width: 260px;
	height: 260px;
	border: 45px solid rgba(7, 98, 217, 0.15);
	border-radius: 50%;
	top: -150px;
	right: -100px;
}


/* Second Decoration */

.philosophy-box::after {
	content: "";
	position: absolute;
	width: 180px;
	height: 180px;
	border: 30px solid rgba(255, 255, 255, 0.04);
	border-radius: 50%;
	bottom: -100px;
	left: -80px;
}


/* Philosophy Heading */

.philosophy-title {
	position: relative;
	z-index: 2;
	margin: 0 0 22px;
	color: #ffffff;
	font-size: 30px;
	line-height: 1.3;
	font-weight: 700;
}

.philosophy-title::after {
	content: "";
	display: block;
	width: 55px;
	height: 3px;
	margin-top: 15px;
	background: #0762d9;
	border-radius: 5px;
}


/* Philosophy Text */

.philosophy-box p {
	position: relative;
	z-index: 2;
	max-width: 1000px;
	margin: 0 0 18px;
	color: #cbd3df;
	font-size: 16px;
	line-height: 1.9;
}

.philosophy-box p:last-child {
	margin-bottom: 0;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.renaissance-pedagogy {
		padding: 70px 0 !important;
	}

	.pedagogy-main-title {
		font-size: 34px;
	}

	.pedagogy-intro {
		font-size: 16px;
	}

	.pedagogy-card {
		padding: 32px 30px;
	}

	.pedagogy-card h3 {
		font-size: 20px;
	}

	.pedagogy-card p {
		font-size: 15px;
	}

	.philosophy-box {
		padding: 42px 40px;
	}

	.philosophy-title {
		font-size: 28px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.renaissance-pedagogy {
		padding: 55px 0 !important;
	}

	.pedagogy-main-title {
		font-size: 28px;
		line-height: 1.4;
		margin-bottom: 20px;
	}

	.pedagogy-main-title::before {
		font-size: 10px;
		letter-spacing: 2px;
		margin-bottom: 12px;
	}

	.pedagogy-intro {
		font-size: 15px;
		line-height: 1.8;
	}


    /* Cards */

	.pedagogy-card {
		padding: 30px 25px;
		border-radius: 16px;
	}

	.pedagogy-icon {
		width: 48px;
		height: 48px;
		margin-bottom: 18px;
		border-radius: 12px;
	}

	.pedagogy-card h3 {
		font-size: 20px;
		margin-bottom: 12px;
	}

	.pedagogy-card p {
		font-size: 14.5px;
		line-height: 1.8;
	}


    /* Philosophy */

	.philosophy-box {
		padding: 35px 25px;
		border-radius: 17px;
	}

	.philosophy-title {
		font-size: 25px;
	}

	.philosophy-box p {
		font-size: 14.5px;
		line-height: 1.8;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.renaissance-pedagogy {
		padding: 45px 0 !important;
	}

	.pedagogy-main-title {
		font-size: 24px;
	}

	.pedagogy-intro {
		font-size: 14px;
		line-height: 1.8;
	}

	.pedagogy-card {
		padding: 25px 20px;
	}

	.pedagogy-icon {
		width: 44px;
		height: 44px;
		font-size: 13px;
	}

	.pedagogy-card h3 {
		font-size: 18px;
	}

	.pedagogy-card p {
		font-size: 14px;
	}

	.philosophy-box {
		padding: 30px 20px;
	}

	.philosophy-title {
		font-size: 22px;
	}

	.philosophy-box p {
		font-size: 14px;
	}
}


/* =========================================
   CAMBRIDGE CURRICULUM SECTION
========================================= */

.cambridge-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.cambridge-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   MAIN HEADING
========================================= */

.cambridge-title {
	position: relative;
	max-width: 1000px;
	margin: 0 auto 25px;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.35;
	font-weight: 700;
	letter-spacing: -0.5px;
}

.cambridge-intro {
	max-width: 850px;
	margin: 0 auto;
	color: #626d7d;
	font-size: 18px;
	line-height: 1.8;
}


/* =========================================
   CONTENT BLOCK
========================================= */

.cambridge-content-block {
	position: relative;
	max-width: 1300px;
	margin: 0 auto 30px;
	padding: 38px 45px;
	background: #ffffff;
	border: 1px solid #e5eaf1;
	border-radius: 18px;
	box-shadow: 0 10px 35px rgba(23, 32, 51, 0.055);
	transition: transform 0.3s ease,
        box-shadow 0.3s ease;
}

.cambridge-content-block:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 42px rgba(23, 32, 51, 0.09);
}


/* Section Heading */

.cambridge-content-block h3 {
	position: relative;
	color: #0762d9;
	font-size: 24px;
	line-height: 1.35;
	font-weight: 700;
}

/* Paragraph */

.cambridge-content-block > p {
	margin: 0 0 20px;
	color: #626d7d;
	font-size: 16px;
	line-height: 1.9;
}

.cambridge-content-block > p:last-child {
	margin-bottom: 0;
}

.cambridge-content-block em {
	color: inherit;
}


/* =========================================
   CAMBRIDGE POINTS
========================================= */

.cambridge-points {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 25px;
}


/* Individual Point */

.cambridge-point {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 22px;
	background: #f8faff;
	border: 1px solid #e8edf5;
	border-radius: 14px;
	transition: transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.cambridge-point:hover {
	transform: translateY(-4px);
	border-color: rgba(7, 98, 217, 0.25);
	box-shadow: 0 10px 28px rgba(23, 32, 51, 0.07);
}


/* Number */

.point-number {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: #0762d9;
	border-radius: 11px;
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 7px 18px rgba(7, 98, 217, 0.20);
}


/* Point Heading */

.cambridge-point h4 {
	margin: 2px 0 7px;
	color: #172033;
	font-size: 17px;
	line-height: 1.4;
	font-weight: 700;
}


/* Point Description */

.cambridge-point p {
	margin: 0;
	color: #687384;
	font-size: 14.5px;
	line-height: 1.75;
}


/* =========================================
   LEARNERS STATEMENT
========================================= */

.cambridge-learners {
	margin-top: 30px !important;
	margin-bottom: 0 !important;
	padding: 22px 25px;
	color: #172033 !important;
	background: #f1f6fd;
	border-left: 4px solid #0762d9;
	border-radius: 0 12px 12px 0;
	font-size: 17px !important;
}

.cambridge-learners strong {
	color: #0762d9;
}


/* =========================================
   CLOSING QUOTE
========================================= */

.cambridge-quote {
	position: relative;
	max-width: 1300px;
	margin: 45px auto 0;
	padding: 42px 55px;
	display: flex;
	align-items: center;
	gap: 25px;
	background: #172033;
	border-radius: 20px;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.14);
	overflow: hidden;
}


/* Quote Decoration */

.cambridge-quote::before {
	content: "";
	position: absolute;
	width: 230px;
	height: 230px;
	border: 40px solid rgba(7, 98, 217, 0.14);
	border-radius: 50%;
	right: -100px;
	top: -130px;
}


/* Quote Icon */

.cambridge-quote > i {
	position: relative;
	z-index: 2;
	width: 58px;
	height: 58px;
	flex: 0 0 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: #0762d9;
	border-radius: 50%;
	font-size: 21px;
	box-shadow: 0 8px 22px rgba(7, 98, 217, 0.25);
}


/* Quote Text */

.cambridge-quote p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: #ffffff;
	font-size: 21px;
	line-height: 1.6;
	font-weight: 600;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.cambridge-section {
		padding: 70px 0 !important;
	}

	.cambridge-title {
		font-size: 34px;
	}

	.cambridge-intro {
		font-size: 16px;
	}

	.cambridge-content-block {
		padding: 35px 35px;
	}

	.cambridge-content-block h3 {
		font-size: 22px;
	}

	.cambridge-points {
		gap: 15px;
	}

	.cambridge-point {
		padding: 20px;
	}

	.cambridge-quote {
		padding: 35px 40px;
	}

	.cambridge-quote p {
		font-size: 19px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.cambridge-section {
		padding: 55px 0 !important;
	}

	.cambridge-title {
		font-size: 28px;
		line-height: 1.4;
		margin-bottom: 20px;
	}

	.cambridge-title::before {
		font-size: 10px;
		letter-spacing: 2px;
		margin-bottom: 13px;
	}

	.cambridge-intro {
		font-size: 15px;
		line-height: 1.8;
	}


    /* Content */

	.cambridge-content-block {
		padding: 30px 24px;
		margin-bottom: 22px;
		border-radius: 16px;
	}

	.cambridge-content-block h3 {
		font-size: 20px;
		margin-bottom: 17px;
	}

	.cambridge-content-block > p {
		font-size: 14.5px;
		line-height: 1.8;
	}


    /* Points */

	.cambridge-points {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: 20px;
	}

	.cambridge-point {
		padding: 18px;
		gap: 14px;
		border-radius: 12px;
	}

	.point-number {
		width: 38px;
		height: 38px;
		flex-basis: 38px;
		border-radius: 10px;
		font-size: 13px;
	}

	.cambridge-point h4 {
		font-size: 16px;
	}

	.cambridge-point p {
		font-size: 14px;
		line-height: 1.7;
	}


    /* Learners */

	.cambridge-learners {
		padding: 18px 20px;
		font-size: 15px !important;
		line-height: 1.7 !important;
	}


    /* Quote */

	.cambridge-quote {
		margin-top: 30px;
		padding: 30px 24px;
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
		border-radius: 16px;
	}

	.cambridge-quote > i {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
		font-size: 17px;
	}

	.cambridge-quote p {
		font-size: 17px;
		line-height: 1.7;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.cambridge-section {
		padding: 45px 0 !important;
	}

	.cambridge-title {
		font-size: 24px;
	}

	.cambridge-intro {
		font-size: 14px;
	}

	.cambridge-content-block {
		padding: 25px 19px;
	}

	.cambridge-content-block h3 {
		font-size: 18px;
		padding-left: 14px;
	}

	.cambridge-content-block > p {
		font-size: 14px;
	}

	.cambridge-point {
		padding: 16px;
	}

	.point-number {
		width: 35px;
		height: 35px;
		flex-basis: 35px;
		font-size: 12px;
	}

	.cambridge-point h4 {
		font-size: 15px;
	}

	.cambridge-point p {
		font-size: 13.5px;
	}

	.cambridge-learners {
		font-size: 14px !important;
	}

	.cambridge-quote {
		padding: 25px 20px;
	}

	.cambridge-quote p {
		font-size: 16px;
	}
}

```css
/* =========================================
   CAMBRIDGE LEARNING EXPERIENCE
========================================= */

.learning-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.learning-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   HEADING
========================================= */

.learning-heading {
	max-width: 950px;
	margin: 0 auto 0px;
}

.learning-heading h2 {
	margin: 0 0 12px;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.35;
	font-weight: 700;
}

.learning-heading h3 {
	margin: 0;
	color: #172033;
	font-size: 23px;
	line-height: 1.5;
	font-weight: 600;
}


/* =========================================
   INTRODUCTION
========================================= */

.learning-intro {
	max-width: 1300px;
	margin: 0 auto 45px;
	padding: 40px 50px;
	background: #ffffff;
	border: 1px solid #e5eaf1;
	border-radius: 20px;
	box-shadow: 0 12px 40px rgba(23, 32, 51, 0.06);
}

.learning-intro p {
	position: relative;
	margin: 0 0 10px;
	padding-left: 22px;
	color: #626d7d;
	font-size: 16px;
	line-height: 1.9;
}

.learning-intro p::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 5px;
	height: 5px;
	background: #0762d9;
	border-radius: 50%;
}

.learning-intro p:last-child {
	margin-bottom: 0;
}


/* =========================================
   LEARNER ATTRIBUTES
========================================= */

.learner-attributes {
	max-width: 1300px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}


/* =========================================
   LEARNER CARD
========================================= */

.learner-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 25px 28px;
	background: #ffffff;
	border: 1px solid #e5eaf1;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(23, 32, 51, 0.05);
	overflow: hidden;
	transition: transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* Accent Line */

.learner-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: #0762d9;
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform 0.3s ease;
}

.learner-card:hover {
	transform: translateY(-5px);
	border-color: rgba(7, 98, 217, 0.2);
	box-shadow: 0 15px 35px rgba(23, 32, 51, 0.09);
}

.learner-card:hover::before {
	transform: scaleY(1);
}


/* =========================================
   ICON
========================================= */

.learner-icon {
	width: 58px;
	height: 58px;
	flex: 0 0 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: #0762d9;
	border-radius: 15px;
	font-size: 21px;
	box-shadow: 0 8px 20px rgba(7, 98, 217, 0.20);
	transition: all 0.3s ease;
}

.learner-card:hover .learner-icon {
	transform: translateY(-3px);
	box-shadow: 0 12px 25px rgba(7, 98, 217, 0.30);
}


/* =========================================
   CONTENT
========================================= */

.learner-content h4 {
	margin: 0 0 7px;
	color: #172033;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: 1px;
}

.learner-content p {
	margin: 0;
	color: #687384;
	font-size: 14.5px;
	line-height: 1.6;
}


/* =========================================
   LAST CARD - CENTER
========================================= */

.learner-card:last-child {
	grid-column: 1 / -1;
	max-width: 490px;
	width: 100%;
	margin: 0 auto;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.learning-section {
		padding: 70px 0 !important;
	}

	.learning-heading h2 {
		font-size: 34px;
	}

	.learning-heading h3 {
		font-size: 21px;
	}

	.learning-intro {
		padding: 35px 40px;
	}

	.learning-intro p {
		font-size: 15.5px;
	}

	.learner-card {
		padding: 22px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.learning-section {
		padding: 55px 0 !important;
	}

	.learning-heading {
		margin-bottom: 35px;
	}

	.learning-heading h2 {
		font-size: 28px;
		line-height: 1.4;
	}

	.learning-heading h3 {
		font-size: 18px;
		line-height: 1.5;
	}

	.learning-intro {
		padding: 28px 22px;
		margin-bottom: 30px;
		border-radius: 16px;
	}

	.learning-intro p {
		padding-left: 18px;
		font-size: 14.5px;
		line-height: 1.8;
	}

	.learner-attributes {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.learner-card {
		padding: 20px;
		gap: 16px;
		border-radius: 14px;
	}

	.learner-icon {
		width: 50px;
		height: 50px;
		flex-basis: 50px;
		border-radius: 13px;
		font-size: 18px;
	}

	.learner-content h4 {
		font-size: 16px;
	}

	.learner-content p {
		font-size: 14px;
	}

	.learner-card:last-child {
		grid-column: auto;
		max-width: none;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.learning-section {
		padding: 45px 0 !important;
	}

	.learning-heading h2 {
		font-size: 24px;
	}

	.learning-heading h3 {
		font-size: 17px;
	}

	.learning-intro {
		padding: 24px 18px;
	}

	.learning-intro p {
		font-size: 14px;
		line-height: 1.75;
	}

	.learner-card {
		padding: 17px;
	}

	.learner-icon {
		width: 44px;
		height: 44px;
		flex-basis: 44px;
		font-size: 16px;
	}

	.learner-content h4 {
		font-size: 15px;
	}

	.learner-content p {
		font-size: 13.5px;
	}
}



/* =========================================
   INQUIRY-BASED LEARNING
========================================= */

.inquiry-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.inquiry-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   MAIN LAYOUT
========================================= */

.inquiry-layout {
	max-width: 1150px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 350px 1fr;
	gap: 75px;
	align-items: center;
}


/* =========================================
   LEFT VISUAL
========================================= */

.inquiry-visual {
	position: relative;
	min-height: 430px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.inquiry-circle {
	position: relative;
	z-index: 3;
	width: 190px;
	height: 190px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: #0762d9;
	border-radius: 50%;
	font-size: 58px;
	box-shadow: 0 25px 55px rgba(7, 98, 217, 0.25),
        0 0 0 20px rgba(7, 98, 217, 0.06);
	animation: inquiryFloat 4s ease-in-out infinite;
}

@keyframes inquiryFloat {

	0%,
    100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-8px);
	}
}


/* =========================================
   ORBITS
========================================= */

.inquiry-orbit {
	position: absolute;
	border: 1px solid rgba(7, 98, 217, 0.18);
	border-radius: 50%;
}

.inquiry-orbit-one {
	width: 280px;
	height: 280px;
}

.inquiry-orbit-two {
	width: 390px;
	height: 390px;
	border-style: dashed;
	opacity: 0.7;
}


/* =========================================
   NUMBER
========================================= */

.inquiry-number {
	position: absolute;
	z-index: 4;
	top: 55px;
	right: 25px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0762d9;
	background: #ffffff;
	border-radius: 50%;
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 8px 25px rgba(23, 32, 51, 0.10);
}


/* =========================================
   KEYWORDS
========================================= */

.inquiry-keywords {
	position: absolute;
	z-index: 5;
	bottom: 25px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.inquiry-keywords span {
	padding: 8px 14px;
	color: #172033;
	background: #ffffff;
	border: 1px solid #e3e9f1;
	border-radius: 30px;
	font-size: 12px;
	font-weight: 700;
	box-shadow: 0 6px 18px rgba(23, 32, 51, 0.06);
}


/* =========================================
   CONTENT
========================================= */

.inquiry-content {
	padding: 10px 0;
}

.inquiry-label {
	display: inline-block;
	margin-bottom: 12px;
	color: #0762d9;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
}

.inquiry-content h2 {
	margin: 0;
	color: #172033;
	font-size: 42px;
	line-height: 1.25;
	font-weight: 700;
}


/* =========================================
   ACCENT LINE
========================================= */

.inquiry-line {
	width: 65px;
	height: 4px;
	margin: 20px 0 28px;
	background: #0762d9;
	border-radius: 10px;
}

.inquiry-content p {
	margin: 0 0 20px;
	color: #626d7d;
	font-size: 16px;
	line-height: 1.9;
}

.inquiry-content p:last-child {
	margin-bottom: 0;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.inquiry-section {
		padding: 75px 0;
	}

	.inquiry-layout {
		grid-template-columns: 280px 1fr;
		gap: 50px;
	}

	.inquiry-visual {
		min-height: 360px;
	}

	.inquiry-circle {
		width: 155px;
		height: 155px;
		font-size: 45px;
	}

	.inquiry-orbit-one {
		width: 235px;
		height: 235px;
	}

	.inquiry-orbit-two {
		width: 315px;
		height: 315px;
	}

	.inquiry-number {
		top: 40px;
		right: 0;
	}

	.inquiry-content h2 {
		font-size: 34px;
	}

	.inquiry-content p {
		font-size: 15px;
		line-height: 1.8;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.inquiry-section {
		padding: 60px 0;
	}

	.inquiry-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.inquiry-visual {
		min-height: 300px;
	}

	.inquiry-circle {
		width: 135px;
		height: 135px;
		font-size: 40px;
	}

	.inquiry-orbit-one {
		width: 205px;
		height: 205px;
	}

	.inquiry-orbit-two {
		width: 280px;
		height: 280px;
	}

	.inquiry-number {
		top: 15px;
		right: 20%;
		width: 42px;
		height: 42px;
	}

	.inquiry-keywords {
		bottom: 0;
	}

	.inquiry-content {
		text-align: left;
	}

	.inquiry-label {
		font-size: 10px;
		letter-spacing: 2px;
	}

	.inquiry-content h2 {
		font-size: 29px;
	}

	.inquiry-line {
		margin: 16px 0 23px;
	}

	.inquiry-content p {
		font-size: 14.5px;
		line-height: 1.8;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.inquiry-section {
		padding: 50px 0;
	}

	.inquiry-layout {
		gap: 30px;
	}

	.inquiry-visual {
		min-height: 270px;
	}

	.inquiry-circle {
		width: 120px;
		height: 120px;
		font-size: 34px;
	}

	.inquiry-orbit-one {
		width: 180px;
		height: 180px;
	}

	.inquiry-orbit-two {
		width: 245px;
		height: 245px;
	}

	.inquiry-number {
		right: 15%;
		width: 38px;
		height: 38px;
		font-size: 11px;
	}

	.inquiry-keywords span {
		padding: 6px 10px;
		font-size: 10px;
	}

	.inquiry-content h2 {
		font-size: 25px;
	}

	.inquiry-content p {
		font-size: 14px;
	}
}


/* =========================================
   PROJECT-BASED LEARNING SECTION
========================================= */

.pbl-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.pbl-section .container {
	position: relative;
	z-index: 2;
}

/* =========================================
   MAIN HEADING
========================================= */

.steam-content {
	position: relative;
	padding: 45px 45px 45px 50px;
	background: #ffffff;
	border-radius: 22px;
	border: 1px solid rgba(7, 98, 217, 0.08);
	box-shadow: 0 18px 50px rgba(23, 32, 51, 0.08);
	overflow: hidden;
}

.pbl-intro-content {
	position: relative;
	padding: 45px 45px 45px 50px;
	background: #ffffff;
	border-radius: 22px;
	border: 1px solid rgba(7, 98, 217, 0.08);
	box-shadow: 0 18px 50px rgba(23, 32, 51, 0.08);
	overflow: hidden;
}

.pbl-main-title {
	position: relative;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.5px;
}

.pbl-intro {
	margin: 0 auto 18px;
	color: #5c6472;
	font-size: 16px;
	line-height: 1.9;
}

.pbl-intro:last-child {
	margin-bottom: 0;
}


/* =========================================
   SUB HEADING
========================================= */

.pbl-sub-title {
	position: relative;
	display: inline-block;
	margin: 20px 0 0;
	color: #0762d9;
	font-size: 27px;
	line-height: 1.3;
	font-weight: 750;
}



/* =========================================
   PBL CARDS
========================================= */

.pbl-card {
	position: relative;
	padding: 32px 28px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 35px rgba(23, 32, 51, 0.07);
	transition: all 0.35s ease;
}

/* Blue Top Line */
.pbl-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #0762d9;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s ease;
}

/* Decorative Circle */
.pbl-card::after {
	content: "";
	position: absolute;
	width: 100px;
	height: 100px;
	right: -50px;
	bottom: -50px;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 50%;
	transition: all 0.35s ease;
}

.pbl-card:hover {
	transform: translateY(-7px);
	border-color: rgba(7, 98, 217, 0.18);
	box-shadow: 0 20px 45px rgba(23, 32, 51, 0.12);
}

.pbl-card:hover::before {
	transform: scaleX(1);
}

.pbl-card:hover::after {
	width: 130px;
	height: 130px;
}


/* =========================================
   NUMBER
========================================= */

.pbl-number {
	width: 48px;
	height: 48px;
	margin-bottom: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.5px;
	box-shadow: 0 8px 20px rgba(7, 98, 217, 0.20);
	transition: all 0.3s ease;
}

.pbl-card:hover .pbl-number {
	background: #172033;
	transform: rotate(-3deg);
}


/* =========================================
   CARD CONTENT
========================================= */

.pbl-card h4 {
	position: relative;
	z-index: 2;
	margin: 0 0 12px;
	color: #172033;
	font-size: 19px;
	line-height: 1.4;
	font-weight: 750;
}

.pbl-card p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: #687180;
	font-size: 14px;
	line-height: 1.8;
}


/* =========================================
   CLOSING QUOTE
========================================= */

.pbl-quote {
	position: relative;
	padding: 28px 35px;
	background: #172033;
	color: #ffffff;
	border-radius: 18px;
	font-size: 22px;
	line-height: 1.5;
	font-weight: 700;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.15);
	overflow: hidden;
}

.pbl-quote::before {
	content: "“";
	position: absolute;
	top: -25px;
	left: 25px;
	color: rgba(255, 255, 255, 0.08);
	font-size: 130px;
	line-height: 1;
	font-family: Georgia, serif;
}

.pbl-quote::after {
	content: "";
	position: absolute;
	width: 120px;
	height: 120px;
	right: -45px;
	bottom: -65px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
}


/* =========================================
   BOOTSTRAP ROW SPACING
========================================= */

.pbl-section .row.g-4 {
	margin-top: 5px;
}

.pbl-section .row.g-4 > div {
	margin-bottom: 0;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.pbl-section {
		padding: 65px 0;
	}

	.pbl-main-title {
		font-size: 36px;
	}

	.pbl-intro {
		font-size: 15px;
		line-height: 1.8;
	}

	.pbl-sub-title {
		font-size: 25px;
	}

	.pbl-card {
		padding: 28px 24px;
	}

	.pbl-card h4 {
		font-size: 18px;
	}

	.pbl-quote {
		font-size: 20px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.pbl-section {
		padding: 55px 0;
	}

	.pbl-main-title {
		font-size: 30px;
		line-height: 1.3;
	}

	.pbl-main-title::before {
		font-size: 10px;
		letter-spacing: 2px;
	}

	.pbl-intro {
		font-size: 14px;
		line-height: 1.8;
		margin-bottom: 16px;
	}

	.pbl-sub-title {
		font-size: 23px;
	}

	.pbl-card {
		padding: 25px 22px;
		border-radius: 15px;
	}

	.pbl-number {
		width: 44px;
		height: 44px;
		margin-bottom: 18px;
		border-radius: 10px;
		font-size: 12px;
	}

	.pbl-card h4 {
		font-size: 18px;
	}

	.pbl-card p {
		font-size: 14px;
		line-height: 1.75;
	}

	.pbl-quote {
		padding: 24px 20px;
		font-size: 18px;
		border-radius: 15px;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.pbl-section {
		padding: 45px 0;
	}

	.pbl-main-title {
		font-size: 27px;
	}

	.pbl-main-title::before {
		font-size: 9px;
		letter-spacing: 1.5px;
	}

	.pbl-sub-title {
		font-size: 21px;
	}

	.pbl-card {
		padding: 23px 20px;
	}

	.pbl-card h4 {
		font-size: 17px;
	}

	.pbl-card p {
		font-size: 13.5px;
	}

	.pbl-quote {
		font-size: 17px;
		padding: 22px 18px;
	}
}

.pbl-icon {
	width: 58px;
	height: 58px;
	margin-bottom: 22px;
	background: #0762d9;
	color: #fff;
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.20);
	transition: all 0.35s ease;
}

.pbl-icon i {
	font-size: 36px;
}

.pbl-card:hover .pbl-icon {
	background: #172033;
	transform: translateY(-5px) rotate(-3deg);
	box-shadow: 0 15px 30px rgba(23, 32, 51, 0.20);
}

.pbl-card h4 {
	margin: 0 0 12px;
	color: #172033;
	font-size: 19px;
	line-height: 1.4;
	font-weight: 750;
}

.pbl-card p {
	margin: 0;
	color: #687180;
	font-size: 14px;
	line-height: 1.8;
}

@media (max-width: 767px) {

	.pbl-icon {
		width: 52px;
		height: 52px;
		margin-bottom: 18px;
		border-radius: 13px;
	}

	.pbl-icon i {
		font-size: 21px;
	}

	.pbl-card h4 {
		font-size: 18px;
	}
}


/* =========================================
   PRE-PRIMARY DOMAIN BASED LEARNING
========================================= */

.preprimary-learning-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.preprimary-learning-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   MAIN HEADING
========================================= */

.preprimary-heading {
	max-width: 1000px;
	margin: 0 auto 50px;
}

.preprimary-heading h2 {
	position: relative;
	margin: 0;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.5px;
}


/* =========================================
   INTRODUCTION
========================================= */

.preprimary-intro {
	max-width: 1300px;
	margin: 0 auto 55px;
	padding: 35px 45px;
	background: #ffffff;
	border-radius: 20px;
	border: 1px solid rgba(7, 98, 217, 0.08);
	box-shadow: 0 15px 40px rgba(23, 32, 51, 0.06);
}

.preprimary-intro p {
	margin: 0 0 18px;
	color: #626b7a;
	font-size: 16px;
	line-height: 1.9;
}

.preprimary-intro p:last-child {
	margin-bottom: 0;
}


/* =========================================
   DOMAINS HEADING
========================================= */

.domains-heading {
	margin-bottom: 35px;
}

.domains-heading h3 {
	position: relative;
	display: inline-block;
	margin: 0;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: 0.3px;
}

/* =========================================
   DOMAINS GRID
========================================= */

.domains-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 25px;
	max-width: 1300px;
	margin: 0 auto;
}


/* =========================================
   DOMAIN CARD
========================================= */

.domain-card {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 20px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 18px;
	box-shadow: 0 12px 35px rgba(23, 32, 51, 0.07);
	overflow: hidden;
	transition: all 0.35s ease;
}


/* Top Blue Line */

.domain-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #0762d9;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s ease;
}


/* Decorative Circle */

.domain-card::after {
	content: "";
	position: absolute;
	width: 120px;
	height: 120px;
	right: -60px;
	bottom: -60px;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 50%;
	transition: all 0.35s ease;
}


/* Hover */

.domain-card:hover {
	transform: translateY(-7px);
	border-color: rgba(7, 98, 217, 0.18);
	box-shadow: 0 20px 45px rgba(23, 32, 51, 0.12);
}

.domain-card:hover::before {
	transform: scaleX(1);
}

.domain-card:hover::after {
	width: 160px;
	height: 160px;
}


/* =========================================
   DOMAIN NUMBER
========================================= */

.domain-number {
	position: absolute;
	top: 18px;
	right: 22px;
	color: rgba(7, 98, 217, 0.12);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1px;
	z-index: 2;
}


/* =========================================
   DOMAIN ICON
========================================= */

.domain-icon {
	flex: 0 0 62px;
	width: 62px;
	height: 62px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.20);
	transition: all 0.35s ease;
}

.domain-icon i {
	font-size: 25px;
}


/* Icon Hover */

.domain-card:hover .domain-icon {
	background: #172033;
	transform: translateY(-4px) rotate(-3deg);
	box-shadow: 0 15px 30px rgba(23, 32, 51, 0.20);
}


/* =========================================
   DOMAIN CONTENT
========================================= */

.domain-content {
	position: relative;
	z-index: 2;
	padding-right: 25px;
}

.domain-content h4 {
	margin: 2px 0 12px;
	color: #172033;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 800;
}

.domain-content p {
	margin: 0;
	color: #687180;
	font-size: 14px;
	line-height: 1.8;
}


/* =========================================
   HOLISTIC LEARNING
========================================= */

.holistic-learning {
	max-width: 1300px;
	margin: 55px auto 0;
	padding: 40px 45px;
	background: #172033;
	color: #ffffff;
	border-radius: 20px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 20px 45px rgba(23, 32, 51, 0.15);
}


/* Decorative Circle */

.holistic-learning::before {
	content: "";
	position: absolute;
	width: 220px;
	height: 220px;
	top: -120px;
	right: -80px;
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 50%;
}

.holistic-learning::after {
	content: "";
	position: absolute;
	width: 140px;
	height: 140px;
	bottom: -80px;
	left: -50px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}


/* Heading */

.holistic-heading {
	position: relative;
	z-index: 2;
	margin-bottom: 18px;
}

.holistic-heading h3 {
	margin: 0;
	color: #ffffff;
	font-size: 25px;
	line-height: 1.4;
	font-weight: 800;
}


/* Paragraph */

.holistic-learning > p {
	position: relative;
	z-index: 2;
	max-width: 900px;
	margin: 0 0 25px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
	line-height: 1.85;
}


/* =========================================
   HOLISTIC POINTS
========================================= */

.holistic-points {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.holistic-points span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 50px;
	font-size: 13px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.holistic-points span i {
	color: #0762d9;
	font-size: 7px;
}

.holistic-points span:hover {
	background: #0762d9;
	border-color: #0762d9;
	transform: translateY(-3px);
}

.holistic-points span:hover i {
	color: #ffffff;
}


/* =========================================
   CLOSING QUOTE
========================================= */

.preprimary-quote {
	max-width: 850px;
	margin: 40px auto 0;
	padding: 28px 35px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.10);
	border-radius: 18px;
	text-align: center;
	box-shadow: 0 12px 35px rgba(23, 32, 51, 0.07);
	transition: all 0.35s ease;
}

.preprimary-quote:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(23, 32, 51, 0.11);
}

.preprimary-quote i {
	display: block;
	margin-bottom: 12px;
	color: #0762d9;
	font-size: 25px;
}

.preprimary-quote p {
	margin: 0;
	color: #172033;
	font-size: 21px;
	line-height: 1.5;
	font-weight: 750;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.preprimary-learning-section {
		padding: 65px 0 !important;
	}

	.preprimary-heading h2 {
		font-size: 36px;
	}

	.preprimary-intro {
		padding: 30px 35px;
	}

	.domains-grid {
		gap: 20px;
	}

	.domain-card {
		padding: 27px;
	}

	.domain-icon {
		flex-basis: 56px;
		width: 56px;
		height: 56px;
	}

	.domain-icon i {
		font-size: 22px;
	}

	.holistic-learning {
		padding: 35px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.preprimary-learning-section {
		padding: 55px 0 !important;
	}

	.preprimary-heading {
		margin-bottom: 35px;
	}

	.preprimary-heading h2 {
		font-size: 30px;
		line-height: 1.3;
	}

	.preprimary-heading h2::before {
		font-size: 10px;
		letter-spacing: 2px;
	}

	.preprimary-intro {
		padding: 25px 22px;
		margin-bottom: 40px;
		border-radius: 16px;
	}

	.preprimary-intro p {
		font-size: 14px;
		line-height: 1.8;
	}

	.domains-heading {
		margin-bottom: 25px;
	}

	.domains-heading h3 {
		font-size: 23px;
	}

	.domains-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.domain-card {
		gap: 18px;
		padding: 25px 22px;
		border-radius: 16px;
	}

	.domain-number {
		top: 15px;
		right: 18px;
	}

	.domain-icon {
		flex: 0 0 52px;
		width: 52px;
		height: 52px;
		border-radius: 13px;
	}

	.domain-icon i {
		font-size: 21px;
	}

	.domain-content {
		padding-right: 15px;
	}

	.domain-content h4 {
		font-size: 17px;
		margin-bottom: 9px;
	}

	.domain-content p {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.holistic-learning {
		margin-top: 40px;
		padding: 28px 22px;
		border-radius: 16px;
	}

	.holistic-heading h3 {
		font-size: 21px;
	}

	.holistic-learning > p {
		font-size: 14px;
		line-height: 1.8;
	}

	.holistic-points {
		gap: 8px;
	}

	.holistic-points span {
		padding: 8px 12px;
		font-size: 12px;
	}

	.preprimary-quote {
		margin-top: 30px;
		padding: 24px 20px;
		border-radius: 16px;
	}

	.preprimary-quote p {
		font-size: 18px;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.preprimary-learning-section {
		padding: 45px 0 !important;
	}

	.preprimary-heading h2 {
		font-size: 27px;
	}

	.preprimary-intro {
		padding: 22px 18px;
	}

	.domain-card {
		padding: 22px 18px;
	}

	.domain-icon {
		flex: 0 0 48px;
		width: 48px;
		height: 48px;
	}

	.domain-icon i {
		font-size: 19px;
	}

	.domain-content h4 {
		font-size: 16px;
	}

	.domain-content p {
		font-size: 13px;
	}

	.holistic-learning {
		padding: 25px 18px;
	}

	.holistic-heading h3 {
		font-size: 19px;
	}

	.holistic-points span {
		font-size: 11.5px;
	}

	.preprimary-quote p {
		font-size: 17px;
	}
}

/* =========================================
   KARADI PATH PROGRAM
========================================= */

.karadi-path-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.karadi-path-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   MAIN LAYOUT
========================================= */

.karadi-path-layout {
	max-width: 1150px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 75px;
	align-items: center;
}


/* =========================================
   LEFT VISUAL
========================================= */

.karadi-path-visual {
	position: relative;
	width: 340px;
	height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
}


/* Main Icon */

.karadi-main-icon {
	position: relative;
	z-index: 5;
	width: 185px;
	height: 185px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 50%;
	box-shadow: 0 25px 55px rgba(7, 98, 217, 0.25),
        0 0 0 15px rgba(7, 98, 217, 0.05);
	animation: karadiFloat 4s ease-in-out infinite;
}

.karadi-main-icon i {
	font-size: 68px;
}

@keyframes karadiFloat {
	0%,
    100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-9px);
	}
}


/* =========================================
   ORBITS
========================================= */

.karadi-orbit {
	position: absolute;
	border: 1px solid rgba(7, 98, 217, 0.15);
	border-radius: 50%;
}

.karadi-orbit-one {
	width: 255px;
	height: 255px;
	animation: karadiRotate 14s linear infinite;
}

.karadi-orbit-two {
	width: 325px;
	height: 325px;
	border-style: dashed;
	animation: karadiRotateReverse 20s linear infinite;
}

@keyframes karadiRotate {
	from {
		transform: rotate(0);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes karadiRotateReverse {
	from {
		transform: rotate(360deg);
	}

	to {
		transform: rotate(0);
	}
}


/* =========================================
   SMALL FLOATING ICONS
========================================= */

.karadi-small-icon {
	position: absolute;
	z-index: 7;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	color: #0762d9;
	border: 1px solid rgba(7, 98, 217, 0.12);
	border-radius: 14px;
	box-shadow: 0 10px 25px rgba(23, 32, 51, 0.10);
	font-size: 18px;
}

.karadi-icon-one {
	top: 22px;
	left: 48px;
}

.karadi-icon-two {
	top: 35px;
	right: 25px;
}

.karadi-icon-three {
	bottom: 35px;
	left: 25px;
}

.karadi-icon-four {
	right: 42px;
	bottom: 20px;
}

.karadi-small-icon:hover {
	background: #0762d9;
	color: #ffffff;
	transform: translateY(-5px);
}


/* =========================================
   CONTENT CARD
========================================= */

.karadi-path-content {
	position: relative;
	padding: 45px 45px 45px 50px;
	background: #ffffff;
	border-radius: 22px;
	border: 1px solid rgba(7, 98, 217, 0.08);
	box-shadow: 0 18px 50px rgba(23, 32, 51, 0.08);
	overflow: hidden;
}




/* =========================================
   LABEL
========================================= */

.karadi-path-label {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin-bottom: 12px;
	color: #0762d9;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 2.5px;
}


/* =========================================
   HEADING
========================================= */

.karadi-path-content h2 {
	position: relative;
	z-index: 2;
	margin: 0;
	color: #172033;
	font-size: 40px;
	line-height: 1.25;
	font-weight: 800;
}

.karadi-path-line {
	width: 55px;
	height: 4px;
	margin: 18px 0 25px;
	background: #0762d9;
	border-radius: 10px;
}


/* =========================================
   PARAGRAPHS
========================================= */

.karadi-path-content p {
	position: relative;
	z-index: 2;
	margin: 0 0 21px;
	color: #626b7a;
	font-size: 15.5px;
	line-height: 1.9;
}

.karadi-path-content p:last-child {
	margin-bottom: 0;
}


/* =========================================
   BOTTOM FEATURES
========================================= */

.karadi-path-bottom {
	max-width: 1000px;
	margin: 45px auto 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.karadi-feature {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 17px 18px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 25px rgba(23, 32, 51, 0.05);
	transition: all 0.3s ease;
}

.karadi-feature:hover {
	transform: translateY(-5px);
	border-color: rgba(7, 98, 217, 0.18);
	box-shadow: 0 15px 30px rgba(23, 32, 51, 0.10);
}

.karadi-feature-icon {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 11px;
	font-size: 16px;
}

.karadi-feature span {
	color: #172033;
	font-size: 13px;
	font-weight: 700;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.karadi-path-section {
		padding: 70px 0;
	}

	.karadi-path-layout {
		grid-template-columns: 280px 1fr;
		gap: 45px;
	}

	.karadi-path-visual {
		width: 280px;
		height: 310px;
	}

	.karadi-main-icon {
		width: 160px;
		height: 160px;
	}

	.karadi-main-icon i {
		font-size: 58px;
	}

	.karadi-orbit-one {
		width: 235px;
		height: 235px;
	}

	.karadi-orbit-two {
		width: 285px;
		height: 285px;
	}

	.karadi-small-icon {
		width: 43px;
		height: 43px;
		font-size: 16px;
	}

	.karadi-path-content {
		padding: 35px 35px 35px 40px;
	}

	.karadi-path-content h2 {
		font-size: 34px;
	}

	.karadi-path-content p {
		font-size: 14.5px;
	}

	.karadi-path-bottom {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.karadi-path-section {
		padding: 55px 0;
	}

	.karadi-path-layout {
		display: flex;
		flex-direction: column;
		gap: 35px;
	}

	.karadi-path-visual {
		width: 100%;
		height: 285px;
	}

	.karadi-main-icon {
		width: 145px;
		height: 145px;
	}

	.karadi-main-icon i {
		font-size: 52px;
	}

	.karadi-orbit-one {
		width: 215px;
		height: 215px;
	}

	.karadi-orbit-two {
		width: 265px;
		height: 265px;
	}

	.karadi-icon-one {
		left: calc(50% - 120px);
	}

	.karadi-icon-two {
		right: calc(50% - 120px);
	}

	.karadi-icon-three {
		left: calc(50% - 135px);
		bottom: 20px;
	}

	.karadi-icon-four {
		right: calc(50% - 135px);
		bottom: 10px;
	}

	.karadi-path-content {
		width: 100%;
		padding: 30px 25px 30px 30px;
		border-radius: 17px;
	}

	.karadi-path-content h2 {
		font-size: 30px;
	}

	.karadi-path-content p {
		font-size: 14px;
		line-height: 1.8;
	}

	.karadi-path-bottom {
		width: 100%;
		margin-top: 30px;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.karadi-feature {
		padding: 13px;
		gap: 10px;
	}

	.karadi-feature-icon {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
		font-size: 14px;
	}

	.karadi-feature span {
		font-size: 11px;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.karadi-path-section {
		padding: 45px 0;
	}

	.karadi-path-visual {
		height: 260px;
	}

	.karadi-main-icon {
		width: 130px;
		height: 130px;
	}

	.karadi-main-icon i {
		font-size: 46px;
	}

	.karadi-orbit-one {
		width: 195px;
		height: 195px;
	}

	.karadi-orbit-two {
		width: 240px;
		height: 240px;
	}

	.karadi-small-icon {
		width: 38px;
		height: 38px;
		border-radius: 11px;
		font-size: 14px;
	}

	.karadi-icon-one {
		left: calc(50% - 105px);
		top: 12px;
	}

	.karadi-icon-two {
		right: calc(50% - 105px);
		top: 20px;
	}

	.karadi-icon-three {
		left: calc(50% - 115px);
		bottom: 8px;
	}

	.karadi-icon-four {
		right: calc(50% - 115px);
		bottom: 0;
	}

	.karadi-path-content {
		padding: 27px 20px 27px 25px;
	}

	.karadi-path-label {
		font-size: 9px;
		letter-spacing: 2px;
	}

	.karadi-path-content h2 {
		font-size: 27px;
	}

	.karadi-path-line {
		margin: 15px 0 20px;
	}

	.karadi-path-content p {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.karadi-path-bottom {
		grid-template-columns: 1fr 1fr;
	}

	.karadi-feature {
		padding: 11px;
	}

	.karadi-feature span {
		font-size: 10.5px;
	}
}
/* =========================================
   ARTS & CREATIVE EXPRESSION SECTION
========================================= */

.arts-section {
	position: relative;
	padding: 0 0 px 0;
	overflow: hidden;
}

.arts-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   MAIN HEADING
========================================= */

.arts-heading {
	max-width: 950px;
	margin: 0 auto 45px;
}

.arts-heading h2 {
	position: relative;
	margin: 0;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.5px;
}


/* =========================================
   CONTENT
========================================= */

.arts-content {
	max-width: 1300px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 7px 1fr;
	align-items: stretch;
}



/* Text Box */

.arts-text {
	padding: 35px 40px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 18px;
	box-shadow: 0 15px 40px rgba(23, 32, 51, 0.07);
}

.arts-text p {
	margin: 0;
	color: #626b7a;
	font-size: 16px;
	line-height: 1.9;
}


/* =========================================
   EXPRESSION STRIP
========================================= */

.arts-expression {
	max-width: 900px;
	margin: 45px auto 0;
	padding: 25px 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 25px;
	background: #0762d9;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.15);
	position: relative;
	overflow: hidden;
}


/* Decorative Circle */

.arts-expression::before {
	content: "";
	position: absolute;
	width: 180px;
	height: 180px;
	top: -100px;
	left: -60px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}

.arts-expression::after {
	content: "";
	position: absolute;
	width: 150px;
	height: 150px;
	right: -60px;
	bottom: -90px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}


/* Expression Item */

.expression-item {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 10px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	transition: all 0.3s ease;
}

.expression-item i {
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 11px;
	font-size: 15px;
	transition: all 0.3s ease;
}

.expression-item:hover {
	transform: translateY(-4px);
}

.expression-item:hover i {
	background: #ffffff;
	color: #0762d9;
	transform: rotate(-5deg);
}


/* Dots */

.expression-dot {
	position: relative;
	z-index: 2;
	color: rgba(255, 255, 255, 0.35);
	font-size: 18px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.arts-section {
		padding: 70px 0;
	}

	.arts-heading h2 {
		font-size: 36px;
	}

	.arts-text {
		padding: 30px 35px;
	}

	.arts-text p {
		font-size: 15px;
		line-height: 1.85;
	}

	.arts-expression {
		gap: 18px;
		padding: 22px 20px;
	}

	.expression-item {
		font-size: 13px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.arts-section {
		padding: 55px 0;
	}

	.arts-heading {
		margin-bottom: 35px;
	}

	.arts-heading h2 {
		font-size: 30px;
		line-height: 1.3;
	}

	.arts-heading h2::before {
		font-size: 9px;
		letter-spacing: 2px;
	}

	.arts-content {
		grid-template-columns: 5px 1fr;
		gap: 18px;
	}

	.arts-content-line {
		width: 5px;
	}

	.arts-text {
		padding: 25px 22px;
		border-radius: 15px;
	}

	.arts-text p {
		font-size: 14px;
		line-height: 1.8;
	}

	.arts-expression {
		margin-top: 30px;
		padding: 22px 15px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
		border-radius: 16px;
	}

	.expression-item {
		justify-content: center;
		font-size: 12px;
	}

	.expression-dot {
		display: none;
	}

	.expression-item i {
		width: 36px;
		height: 36px;
		font-size: 14px;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.arts-section {
		padding: 45px 0;
	}

	.arts-heading h2 {
		font-size: 27px;
	}

	.arts-heading h2::before {
		font-size: 8px;
		letter-spacing: 1.5px;
	}

	.arts-content {
		gap: 14px;
	}

	.arts-text {
		padding: 22px 18px;
	}

	.arts-text p {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.arts-expression {
		padding: 18px 12px;
		gap: 10px;
	}

	.expression-item {
		gap: 7px;
		font-size: 11px;
	}

	.expression-item i {
		width: 33px;
		height: 33px;
		border-radius: 9px;
		font-size: 13px;
	}
}

/* =========================================
   COMPETITION SECTION
========================================= */

.competition-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.competition-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   MAIN INTRO
========================================= */

.competition-intro {
	margin: 0 auto 30px;
}

.competition-intro h2 {
	position: relative;
	margin: 0 0 20px;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.5px;
}

.competition-intro p {
	max-width: 1300px;
	margin: 0 auto;
	color: #626b7a;
	font-size: 16px;
	line-height: 1.9;
}


/* =========================================
   CONTENT BLOCK
========================================= */

.content-block {
	max-width: 1300px;
	margin: 0 auto 35px;
	padding: 38px 42px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 20px;
	box-shadow: 0 15px 40px rgba(23, 32, 51, 0.06);
	position: relative;
	overflow: hidden;
}

.content-block::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #0762d9;
	border-radius: 10px;
}

.content-block::after {
	content: "";
	position: absolute;
	width: 160px;
	height: 160px;
	right: -80px;
	bottom: -80px;
	border: 1px solid rgba(7, 98, 217, 0.07);
	border-radius: 50%;
}

.content-block h3 {
	position: relative;
	z-index: 2;
	margin: 0 0 18px;
	color: #0762d9;
	font-size: 25px;
	line-height: 1.4;
	font-weight: 800;
	letter-spacing: 0.3px;
}

.content-block > p {
	position: relative;
	z-index: 2;
	margin: 0 0 20px;
	color: #626b7a;
	font-size: 15.5px;
	line-height: 1.9;
}

.content-block > p:last-child {
	margin-bottom: 0;
}


/* =========================================
   COMPETITION ITEMS
========================================= */

.competition-items {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px;
	margin: 30px 0;
}

.competition-item {
	min-height: 115px;
	padding: 22px 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 12px;
	background: #f7f9fc;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 15px;
	transition: all 0.35s ease;
}

.competition-item i {
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 12px;
	font-size: 19px;
	box-shadow: 0 8px 20px rgba(7, 98, 217, 0.18);
	transition: all 0.35s ease;
}

.competition-item span {
	color: #626b7a;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
}

.competition-item:hover {
	background: #ffffff;
	transform: translateY(-6px);
	border-color: rgba(7, 98, 217, 0.18);
	box-shadow: 0 15px 35px rgba(23, 32, 51, 0.10);
}

.competition-item:hover i {
	background: #0762d9;
	transform: rotate(-5deg) scale(1.05);
}


/* =========================================
   WIDER WORLD SECTION
========================================= */

.wider-world {
	max-width: 1300px;
	margin: 45px auto 0;
	padding: 42px 45px;
	border-radius: 22px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(23, 32, 51, 0.15);
}

.wider-world::before {
	content: "";
	position: absolute;
	width: 250px;
	height: 250px;
	top: -140px;
	right: -80px;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 50%;
}

.wider-world::after {
	content: "";
	position: absolute;
	width: 180px;
	height: 180px;
	bottom: -100px;
	left: -70px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
}

.wider-world h3 {
	position: relative;
	z-index: 2;
	margin: 0 0 35px;
	color: #0762d9;
	text-align: center;
	font-size: 28px;
	line-height: 1.4;
	font-weight: 800;
}



/* =========================================
   WORLD FLOW
========================================= */

.world-flow {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 90px 1fr;
	align-items: center;
	gap: 20px;
}

.world-box {
	padding: 28px 25px;
	text-align: center;
	border: 1px solid #999;
	border-radius: 17px;
	transition: all 0.35s ease;
}

.world-box:hover {
	background: rgba(255, 255, 255, 0.10);
	transform: translateY(-5px);
	border-color: rgba(7, 98, 217, 0.45);
}

.world-icon {
	width: 60px;
	height: 60px;
	margin: 0 auto 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 15px;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.25);
	transition: all 0.35s ease;
}

.world-icon i {
	font-size: 25px;
}

.world-box:hover .world-icon {
	background: #ffffff;
	color: #0762d9;
	transform: scale(1.06) rotate(-4deg);
}

.world-box h4 {
	margin: 0 0 10px;
	color: #333333;
	font-size: 17px;
	line-height: 1.4;
	font-weight: 800;
	letter-spacing: 1px;
}

.world-box p {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 13px;
	line-height: 1.7;
}


/* =========================================
   ARROW
========================================= */

.world-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
}

.world-arrow i {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 50%;
	font-size: 18px;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.25);
	animation: competitionArrow 2s ease-in-out infinite;
}

@keyframes competitionArrow {
	0%, 100% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(7px);
	}
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.competition-section {
		padding: 70px 0;
	}

	.competition-intro h2 {
		font-size: 36px;
	}

	.competition-intro p {
		font-size: 15px;
	}

	.content-block {
		padding: 32px 35px;
	}

	.content-block h3 {
		font-size: 23px;
	}

	.competition-items {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.wider-world {
		padding: 38px 35px;
	}

	.world-flow {
		grid-template-columns: 1fr 70px 1fr;
		gap: 15px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.competition-section {
		padding: 55px 0;
	}

	.competition-intro {
		margin-bottom: 40px;
	}

	.competition-intro h2 {
		font-size: 30px;
		line-height: 1.3;
		margin-bottom: 22px;
	}

	.competition-intro h2::before {
		font-size: 9px;
		letter-spacing: 2px;
	}

	.competition-intro p {
		font-size: 14px;
		line-height: 1.8;
	}

	.content-block {
		margin-bottom: 25px;
		padding: 27px 22px 27px 28px;
		border-radius: 16px;
	}

	.content-block::before {
		width: 4px;
	}

	.content-block h3 {
		font-size: 21px;
	}

	.content-block > p {
		font-size: 14px;
		line-height: 1.8;
	}

	.competition-items {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		margin: 25px 0;
	}

	.competition-item {
		min-height: 105px;
		padding: 18px 10px;
		gap: 10px;
		border-radius: 13px;
	}

	.competition-item i {
		width: 42px;
		height: 42px;
		border-radius: 10px;
		font-size: 17px;
	}

	.competition-item span {
		font-size: 12px;
	}

	.wider-world {
		margin-top: 30px;
		padding: 30px 20px;
		border-radius: 17px;
	}

	.wider-world h3 {
		font-size: 23px;
		margin-bottom: 28px;
	}

	.world-flow {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.world-arrow {
		transform: rotate(90deg);
	}

	.world-arrow i {
		width: 46px;
		height: 46px;
		font-size: 16px;
	}

	.world-box {
		padding: 25px 18px;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.competition-section {
		padding: 45px 0;
	}

	.competition-intro h2 {
		font-size: 27px;
	}

	.competition-intro h2::before {
		font-size: 8px;
		letter-spacing: 1.5px;
	}

	.competition-items {
		gap: 10px;
	}

	.competition-item {
		min-height: 100px;
		padding: 16px 8px;
	}

	.competition-item i {
		width: 38px;
		height: 38px;
		font-size: 15px;
	}

	.competition-item span {
		font-size: 11px;
	}

	.content-block {
		padding: 24px 18px 24px 24px;
	}

	.content-block h3 {
		font-size: 19px;
	}

	.content-block > p {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.wider-world h3 {
		font-size: 21px;
	}

	.world-box h4 {
		font-size: 16px;
	}

	.world-box p {
		font-size: 12px;
	}
}


/* =========================================
   LEADERSHIP SECTION
========================================= */

.leadership-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.leadership-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   INTRODUCTION
========================================= */

.leadership-intro {
	max-width: 950px;
	margin: 0 auto 55px;
	text-align: center;
}

.main-title {
	position: relative;
	margin: 0 0 20px;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.8px;
}

.main-title span {
	color: #0762d9;
}

.leadership-intro p {
	max-width: 1200px;
	margin: 0 auto 18px;
	color: #626b7a;
	font-size: 16px;
	line-height: 1.9;
}

.leadership-intro p:last-child {
	margin-bottom: 0;
}


/* =========================================
   LEADERSHIP ACTION
========================================= */

.leadership-action {
	position: relative;
	max-width: 1300px;
	margin: 0 auto;
	padding: 45px;
	background: #0762d9;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(23, 32, 51, 0.15);
}

.leadership-action::before {
	content: "";
	position: absolute;
	width: 280px;
	height: 280px;
	top: -160px;
	right: -100px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}

.leadership-action::after {
	content: "";
	position: absolute;
	width: 200px;
	height: 200px;
	bottom: -120px;
	left: -70px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
}

.leadership-action h2 {
	position: relative;
	z-index: 2;
	margin: 0 0 35px;
	color: #ffffff;
	text-align: center;
	font-size: 30px;
	line-height: 1.4;
	font-weight: 800;
}

.leadership-action h2::after {
	content: "";
	display: block;
	width: 55px;
	height: 4px;
	margin: 14px auto 0;
	background: #0762d9;
	border-radius: 10px;
}


/* =========================================
   LEADERSHIP POINTS
========================================= */

.leadership-points {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
}

.leadership-point {
	min-height: 145px;
	padding: 25px 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 17px;
	transition: all 0.35s ease;
}

.leadership-icon {
	width: 58px;
	height: 58px;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 15px;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.25);
	transition: all 0.35s ease;
}

.leadership-icon i {
	font-size: 23px;
}

.leadership-point span {
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.leadership-point:hover {
	background: rgba(255, 255, 255, 0.11);
	border-color: rgba(7, 98, 217, 0.45);
	transform: translateY(-7px);
}

.leadership-point:hover .leadership-icon {
	background: #ffffff;
	color: #0762d9;
	transform: rotate(-5deg) scale(1.06);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.leadership-section {
		padding: 70px 0;
	}

	.main-title {
		font-size: 38px;
	}

	.leadership-intro p {
		font-size: 15px;
	}

	.leadership-action {
		padding: 38px 35px;
	}

	.leadership-points {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.leadership-section {
		padding: 55px 0;
	}

	.leadership-intro {
		margin-bottom: 40px;
	}

	.main-title {
		font-size: 30px;
		line-height: 1.3;
		margin-bottom: 24px;
	}

	.main-title::before {
		font-size: 9px;
		letter-spacing: 2px;
	}

	.leadership-intro p {
		font-size: 14px;
		line-height: 1.8;
	}

	.leadership-action {
		padding: 30px 20px;
		border-radius: 17px;
	}

	.leadership-action h2 {
		font-size: 24px;
		margin-bottom: 28px;
	}

	.leadership-points {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.leadership-point {
		min-height: 125px;
		padding: 20px 10px;
		border-radius: 14px;
	}

	.leadership-icon {
		width: 50px;
		height: 50px;
		margin-bottom: 12px;
		border-radius: 13px;
	}

	.leadership-icon i {
		font-size: 20px;
	}

	.leadership-point span {
		font-size: 12px;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.leadership-section {
		padding: 45px 0;
	}

	.main-title {
		font-size: 27px;
	}

	.main-title::before {
		font-size: 8px;
		letter-spacing: 1.5px;
	}

	.leadership-intro p {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.leadership-action {
		padding: 27px 15px;
	}

	.leadership-action h2 {
		font-size: 21px;
	}

	.leadership-points {
		gap: 10px;
	}

	.leadership-point {
		min-height: 115px;
		padding: 17px 7px;
	}

	.leadership-icon {
		width: 44px;
		height: 44px;
		border-radius: 11px;
	}

	.leadership-icon i {
		font-size: 17px;
	}

	.leadership-point span {
		font-size: 11px;
	}
}
/* =========================================
   SPORTS SECTION
========================================= */

.sports-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.sports-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   MAIN CONTENT
========================================= */

.sports-content {
	max-width: 1050px;
	margin: 0 auto;
}


/* =========================================
   TITLE
========================================= */

.sports-title {
	max-width: 900px;
	margin: 0 auto 30px;
	text-align: center;
}

.sports-title h1 {
	position: relative;
	margin: 0;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.5px;
}


/* =========================================
   CONTENT PARAGRAPHS
========================================= */

.sports-content > p {
	position: relative;
	margin: 0 auto 22px;
	padding: 28px 35px 28px 40px;
	background: #ffffff;
	color: #626b7a;
	font-size: 15.5px;
	line-height: 1.9;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 18px;
	box-shadow: 0 12px 35px rgba(23, 32, 51, 0.06);
	overflow: hidden;
}

.sports-content > p::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #0762d9;
	border-radius: 10px;
}

.sports-content > p::after {
	content: "";
	position: absolute;
	width: 120px;
	height: 120px;
	right: -60px;
	bottom: -60px;
	border: 1px solid rgba(7, 98, 217, 0.07);
	border-radius: 50%;
}

.sports-content > p:hover {
	border-color: rgba(7, 98, 217, 0.16);
	box-shadow: 0 18px 40px rgba(23, 32, 51, 0.09);
	transform: translateY(-3px);
	transition: all 0.35s ease;
}


/* =========================================
   FINAL CONTENT
========================================= */

.sports-final {
	position: relative;
	margin: 42px auto 0;
	padding: 38px 45px;
	background: #0762d9;
	border-radius: 20px;
	text-align: center;
	overflow: hidden;
	box-shadow: 0 20px 45px rgba(23, 32, 51, 0.15);
}

.sports-final::before {
	content: "“";
	position: absolute;
	top: -40px;
	left: 25px;
	color: rgba(255, 255, 255, 0.06);
	font-family: Georgia, serif;
	font-size: 150px;
	line-height: 1;
}

.sports-final::after {
	content: "";
	position: absolute;
	width: 180px;
	height: 180px;
	right: -80px;
	bottom: -100px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}

.sports-final p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: #ffffff;
	font-size: 23px;
	line-height: 1.55;
	font-weight: 700;
}

.sports-final p + p {
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 17px;
	font-weight: 500;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.sports-section {
		padding: 70px 0;
	}

	.sports-title h1 {
		font-size: 36px;
	}

	.sports-content > p {
		padding: 25px 30px 25px 35px;
		font-size: 15px;
		line-height: 1.85;
	}

	.sports-final {
		padding: 35px;
	}

	.sports-final p {
		font-size: 21px;
	}

	.sports-final p + p {
		font-size: 16px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.sports-section {
		padding: 55px 0;
	}

	.sports-title {
		margin-bottom: 35px;
	}

	.sports-title h1 {
		font-size: 30px;
		line-height: 1.3;
	}

	.sports-title h1::before {
		font-size: 9px;
		letter-spacing: 2px;
	}

	.sports-content > p {
		padding: 23px 22px 23px 28px;
		margin-bottom: 16px;
		font-size: 14px;
		line-height: 1.8;
		border-radius: 15px;
	}

	.sports-content > p::before {
		width: 4px;
	}

	.sports-final {
		margin-top: 30px;
		padding: 30px 22px;
		border-radius: 17px;
	}

	.sports-final p {
		font-size: 19px;
		line-height: 1.5;
	}

	.sports-final p + p {
		margin-top: 8px;
		font-size: 14px;
		line-height: 1.7;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.sports-section {
		padding: 45px 0;
	}

	.sports-title h1 {
		font-size: 27px;
	}

	.sports-title h1::before {
		font-size: 8px;
		letter-spacing: 1.5px;
	}

	.sports-content > p {
		padding: 21px 18px 21px 24px;
		font-size: 13.5px;
		line-height: 1.75;
		border-radius: 14px;
	}

	.sports-final {
		padding: 27px 18px;
		border-radius: 15px;
	}

	.sports-final p {
		font-size: 17px;
	}

	.sports-final p + p {
		font-size: 13.5px;
	}
}


/* =========================================
   EVENTS SECTION
========================================= */

.events-section {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.events-section .container {
	position: relative;
	z-index: 2;
}


/* =========================================
   INTRODUCTION
========================================= */

.events-intro {
	max-width: 1000px;
	margin: 0 auto 0;
}

.events-intro .main-title {
	position: relative;
	margin: 0 0 20px;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.28;
	font-weight: 800;
	letter-spacing: -0.6px;
}

.events-intro p {
	max-width: 920px;
	margin: 0 auto 18px;
	color: #626b7a;
	font-size: 16px;
	line-height: 1.6;
}

.events-intro p:last-child {
	margin-bottom: 0;
}


/* =========================================
   SECTION HEADING
========================================= */

.section-heading {
	margin: 0 auto 35px;
	text-align: center;
}

.section-heading h2 {
	position: relative;
	display: inline-block;
	margin: 0;
	color: #0762d9;
	font-size: 28px;
	line-height: 1.4;
	font-weight: 800;
}

.experience-icon {
	width: 58px;
	height: 58px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 15px;
	font-size: 23px;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.20);
	transition: all 0.35s ease;
}

.experience-icon i {
	line-height: 1;
}

.experience-item:hover .experience-icon {
	background: #172033;
	transform: translateY(-5px) rotate(-4deg);
	box-shadow: 0 14px 30px rgba(23, 32, 51, 0.20);
}
/* =========================================
   EXPERIENCE CARDS
========================================= */

.experience-item {
	position: relative;
	height: 100%;
	min-height: 215px;
	padding: 30px 28px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 35px rgba(23, 32, 51, 0.07);
	transition: all 0.35s ease;
}

.experience-item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #0762d9;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s ease;
}

.experience-item::after {
	content: "";
	position: absolute;
	width: 130px;
	height: 130px;
	right: -65px;
	bottom: -65px;
	border: 1px solid rgba(7, 98, 217, 0.07);
	border-radius: 50%;
	transition: all 0.35s ease;
}

.experience-item:hover {
	transform: translateY(-7px);
	border-color: rgba(7, 98, 217, 0.18);
	box-shadow: 0 20px 45px rgba(23, 32, 51, 0.12);
}

.experience-item:hover::before {
	transform: scaleX(1);
}

.experience-item:hover::after {
	width: 165px;
	height: 165px;
}


/* =========================================
   NUMBER
========================================= */

.experience-number {
	position: relative;
	z-index: 2;
	width: 48px;
	height: 48px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.5px;
	box-shadow: 0 8px 20px rgba(7, 98, 217, 0.20);
	transition: all 0.35s ease;
}

.experience-item:hover .experience-number {
	background: #172033;
	transform: rotate(-4deg);
}


/* =========================================
   CARD CONTENT
========================================= */

.experience-item h3 {
	position: relative;
	z-index: 2;
	margin: 0 0 12px;
	color: #172033;
	font-size: 18px;
	line-height: 1.45;
	font-weight: 800;
}

.experience-item p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: #687180;
	font-size: 14px;
	line-height: 1.8;
}


/* =========================================
   CLOSING SECTION
========================================= */

.events-closing {
	max-width: 950px;
	margin: 55px auto 0;
	padding: 40px 45px;
	background: #172033;
	border-radius: 21px;
	text-align: center;
	position: relative;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(23, 32, 51, 0.15);
}

.events-closing::before {
	content: "“";
	position: absolute;
	top: -45px;
	left: 25px;
	color: rgba(255, 255, 255, 0.06);
	font-family: Georgia, serif;
	font-size: 150px;
	line-height: 1;
}

.events-closing::after {
	content: "";
	position: absolute;
	width: 190px;
	height: 190px;
	right: -80px;
	bottom: -105px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
}

.events-closing > p {
	position: relative;
	z-index: 2;
	max-width: 800px;
	margin: 0 auto 25px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 16px;
	line-height: 1.85;
}

.events-quote {
	position: relative;
	z-index: 2;
	color: #ffffff;
	font-size: 23px;
	line-height: 1.5;
	font-weight: 750;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

	.events-section {
		padding: 70px 0;
	}

	.events-intro .main-title {
		font-size: 36px;
	}

	.events-intro p {
		font-size: 15px;
		line-height: 1.85;
	}

	.experience-item {
		min-height: 200px;
		padding: 28px 24px;
	}

	.experience-item h3 {
		font-size: 17px;
	}

	.events-closing {
		padding: 35px;
	}

	.events-quote {
		font-size: 21px;
	}
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

	.events-section {
		padding: 55px 0;
	}

	.events-intro {
		margin-bottom: 42px;
	}

	.events-intro .main-title {
		font-size: 30px;
		line-height: 1.3;
		margin-bottom: 24px;
	}

	.events-intro .main-title::before {
		font-size: 9px;
		letter-spacing: 2px;
	}

	.events-intro p {
		font-size: 14px;
		line-height: 1.8;
	}

	.section-heading {
		margin-bottom: 28px;
	}

	.section-heading h2 {
		font-size: 24px;
	}

	.experience-item {
		min-height: auto;
		padding: 25px 22px;
		border-radius: 15px;
	}

	.experience-number {
		width: 44px;
		height: 44px;
		margin-bottom: 17px;
		border-radius: 10px;
		font-size: 12px;
	}

	.experience-item h3 {
		font-size: 17px;
	}

	.experience-item p {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.events-closing {
		margin-top: 35px;
		padding: 30px 22px;
		border-radius: 17px;
	}

	.events-closing > p {
		font-size: 14px;
		line-height: 1.8;
	}

	.events-quote {
		font-size: 19px;
		line-height: 1.5;
	}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

	.events-section {
		padding: 45px 0;
	}

	.events-intro .main-title {
		font-size: 27px;
	}

	.events-intro .main-title::before {
		font-size: 8px;
		letter-spacing: 1.5px;
	}

	.events-intro p {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.section-heading h2 {
		font-size: 21px;
	}

	.experience-item {
		padding: 23px 19px;
	}

	.experience-number {
		width: 41px;
		height: 41px;
		margin-bottom: 15px;
		border-radius: 9px;
	}

	.experience-item h3 {
		font-size: 16px;
	}

	.experience-item p {
		font-size: 13px;
		line-height: 1.7;
	}

	.events-closing {
		padding: 27px 18px;
	}

	.events-closing > p {
		font-size: 13.5px;
	}

	.events-quote {
		font-size: 17px;
	}
}

.renaissance-about {
	position: relative;
	padding: 0 0 40px 0;
	overflow: hidden;
}

.renaissance-about .container {
	position: relative;
	z-index: 2;
}

.about-intro {
	max-width: 950px;
	margin: 0 auto 30px;
	text-align: center;
}

.intro-text {
	margin: 0;
	color: #626b7a;
	font-size: 17px;
	line-height: 1.9;
}

.intro-text strong {
	color: #172033;
	font-weight: 800;
} /* Pillar Heading */.pillar-heading-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-bottom: 38px;
}

.pillar-heading {
	margin: 0;
	color: #0762d9;
	font-size: 30px;
	font-weight: 800;
	text-align: center;
}

.heading-line {
	width: 45px;
	height: 3px;
	background: #0762d9;
	border-radius: 10px;
} /* Pillar Card */.pillar-box {
	position: relative;
	height: 100%;
	min-height: 175px;
	padding: 28px;
	display: flex;
	align-items: flex-start;
	gap: 22px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 18px;
	box-shadow: 0 12px 35px rgba(23, 32, 51, 0.06);
	overflow: hidden;
	transition: all 0.35s ease;
}

.pillar-box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #0762d9;
	border-radius: 10px;
}

.pillar-box::after {
	content: "";
	position: absolute;
	width: 130px;
	height: 130px;
	right: -70px;
	bottom: -70px;
	border: 1px solid rgba(7, 98, 217, 0.07);
	border-radius: 50%;
	transition: all 0.35s ease;
} /* Icon */.pillar-icon {
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #ffffff;
	border-radius: 15px;
	font-size: 23px;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.20);
	transition: all 0.35s ease;
}

.pillar-icon i {
	line-height: 1;
} /* Content */.pillar-content {
	position: relative;
	z-index: 2;
}

.pillar-number {
	display: inline-block;
	margin-bottom: 7px;
	color: #0762d9;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.5px;
}

.pillar-content h4 {
	margin: 0 0 9px;
	color: #172033;
	font-size: 19px;
	line-height: 1.4;
	font-weight: 800;
}

.pillar-content p {
	margin: 0;
	color: #687180;
	font-size: 14px;
	line-height: 1.75;
} /* Hover */.pillar-box:hover {
	transform: translateY(-7px);
	border-color: rgba(7, 98, 217, 0.18);
	box-shadow: 0 20px 45px rgba(23, 32, 51, 0.11);
}

.pillar-box:hover .pillar-icon {
	background: #172033;
	transform: rotate(-5deg) scale(1.05);
}

.pillar-box:hover::after {
	width: 165px;
	height: 165px;
}

.closing-content {
	position: relative;
	max-width: 1300px;
	margin: 60px auto 0;
	padding: 38px 45px;
	background: #172033;
	border-radius: 20px;
	text-align: center;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(23, 32, 51, 0.15);
}

.closing-content::before {
	content: "“";
	position: absolute;
	top: -45px;
	left: 25px;
	color: rgba(255, 255, 255, 0.06);
	font-family: Georgia, serif;
	font-size: 150px;
	line-height: 1;
}

.closing-content p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 16px;
	line-height: 1.85;
}

.closing-content strong {
	color: #ffffff;
} /* Tablet */@media (max-width: 991px) {
	.renaissance-about {
		padding: 70px 0;
	}

	.intro-text {
		font-size: 16px;
	}

	.pillar-heading {
		font-size: 25px;
	}

	.pillar-box {
		padding: 25px;
	}

	.pillar-content h4 {
		font-size: 18px;
	}
} /* Mobile */@media (max-width: 767px) {
	.renaissance-about {
		padding: 55px 0;
	}

	.about-intro {
		margin-bottom: 45px;
	}

	.intro-text {
		font-size: 14px;
		line-height: 1.8;
	}

	.pillar-heading-wrap {
		gap: 10px;
		margin-bottom: 28px;
	}

	.pillar-heading {
		font-size: 22px;
	}

	.heading-line {
		width: 25px;
	}

	.pillar-box {
		min-height: auto;
		padding: 23px 20px;
		gap: 17px;
		border-radius: 15px;
	}

	.pillar-icon {
		flex-basis: 52px;
		width: 52px;
		height: 52px;
		font-size: 21px;
		border-radius: 13px;
	}

	.pillar-content h4 {
		font-size: 17px;
	}

	.pillar-content p {
		font-size: 13.5px;
		line-height: 1.7;
	}

	.closing-content {
		margin-top: 40px;
		padding: 30px 22px;
		border-radius: 17px;
	}

	.closing-content p {
		font-size: 14px;
		line-height: 1.8;
	}
} /* Small Mobile */@media (max-width: 575px) {
	.renaissance-about {
		padding: 45px 0;
	}

	.pillar-heading {
		font-size: 20px;
	}

	.heading-line {
		display: none;
	}

	.pillar-box {
		padding: 21px 17px;
	}

	.pillar-icon {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
		font-size: 19px;
	}

	.pillar-content h4 {
		font-size: 16px;
	}

	.pillar-content p {
		font-size: 13px;
	}

	.closing-content {
		padding: 27px 18px;
	}
}

.pillar-box {
	position: relative;
	height: 100%;
	min-height: 125px;
	padding: 28px;
	display: flex;
	align-items: flex-start;
	gap: 22px;
	background: #ffffff;
	border: 1px solid rgba(7, 98, 217, 0.08);
	border-radius: 18px;
	box-shadow: 0 12px 35px rgba(23, 32, 51, 0.06);
	overflow: hidden;
	transition: all 0.35s ease;
}

.pillar-box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #0762d9;
	border-radius: 10px;
}

/* Icon */
.pillar-icon {
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0762d9;
	color: #fff;
	border-radius: 15px;
	font-size: 23px;
	box-shadow: 0 10px 25px rgba(7, 98, 217, 0.20);
	transition: all 0.35s ease;
}

.pillar-icon i {
	line-height: 1;
}

/* Content */
.pillar-content {
	position: relative;
	z-index: 2;
}

.pillar-content h4 {
	margin: 4px 0 9px;
	color: #172033;
	font-size: 19px;
	line-height: 1.4;
	font-weight: 800;
}

.pillar-content p {
	margin: 0;
	color: #687180;
	font-size: 14px;
	line-height: 1.75;
}

/* Hover */
.pillar-box:hover {
	transform: translateY(-7px);
	border-color: rgba(7, 98, 217, 0.18);
	box-shadow: 0 20px 45px rgba(23, 32, 51, 0.11);
}

.pillar-box:hover .pillar-icon {
	background: #172033;
	transform: rotate(-5deg) scale(1.05);
}

/* =========================================
   SCHOOL FACILITIES SECTIONS
========================================= */

.school-section {
	position: relative;
	padding: 50px 0;
	overflow: hidden;
}

.school-section.light-bg {
	background: #FFFFFF;
}

.school-section.second-section {
	background: #ffffff;
}

/* Images */
.school-section img {
	width: 100%;
	height: 430px;
	object-fit: cover;
	border-radius: 20px;
	display: block;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.10);
	transition: all 0.4s ease;
}

.school-section img:hover {
	transform: translateY(-5px);
	box-shadow: 0 24px 55px rgba(23, 32, 51, 0.15);
}

/* Content */
.school-content {
	position: relative;
	padding: 10px 10px 10px 5px;
}

.school-title {
	position: relative;
	margin: 0 0 20px;
	color: #0762d9;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.5px;
}

.school-subtitle {
	margin: 0 0 22px;
	color: #172033;
	font-size: 21px;
	line-height: 1.45;
	font-weight: 700;
}

.school-content p {
	margin: 0 0 18px;
	color: #626b7a;
	font-size: 15.5px;
	line-height: 1.9;
}

.school-content p:last-child {
	margin-bottom: 0;
}


/* =========================================
   AMPHITHEATRE HIGHLIGHT
========================================= */

.amphitheatre-highlight {
	margin-top: 28px;
	padding: 25px 28px;
	background: #172033;
	border-radius: 18px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 15px 35px rgba(23, 32, 51, 0.14);
}

.amphitheatre-highlight::after {
	content: "";
	position: absolute;
	width: 160px;
	height: 160px;
	right: -70px;
	bottom: -90px;
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 50%;
}

.amphitheatre-highlight h4 {
	position: relative;
	z-index: 2;
	margin: 0 0 18px;
	color: #ffffff;
	font-size: 20px;
	font-weight: 800;
}

.amphitheatre-points {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.amphitheatre-points span {
	padding: 8px 13px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 30px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
}

.amphitheatre-highlight p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
	line-height: 1.7;
	font-style: italic;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

	.school-section {
		padding: 70px 0;
	}

	.school-section img {
		height: 380px;
	}

	.school-title {
		font-size: 34px;
	}

	.school-subtitle {
		font-size: 19px;
	}

	.school-content p {
		font-size: 15px;
		line-height: 1.85;
	}
}

@media (max-width: 767px) {

	.school-section {
		padding: 55px 0;
	}

	.school-section img {
		height: 320px;
		border-radius: 16px;
	}

	.school-content {
		padding: 0;
	}

	.school-title {
		font-size: 30px;
	}

	.school-title::after {
		width: 45px;
		height: 3px;
		margin-top: 12px;
	}

	.school-subtitle {
		font-size: 18px;
	}

	.school-content p {
		font-size: 14px;
		line-height: 1.8;
	}

	.amphitheatre-highlight {
		padding: 22px;
	}
}

@media (max-width: 575px) {

	.school-section {
		padding: 45px 0;
	}

	.school-section img {
		height: 260px;
		border-radius: 14px;
	}

	.school-title {
		font-size: 26px;
	}

	.school-subtitle {
		font-size: 17px;
	}

	.school-content p {
		font-size: 13.5px;
		line-height: 1.75;
	}

	.amphitheatre-points {
		gap: 6px;
	}

	.amphitheatre-points span {
		padding: 7px 10px;
		font-size: 11px;
	}

	.amphitheatre-highlight p {
		font-size: 13px;
	}
}

        /* =========================
           Gallery Section
        ========================= */
.gallery-section {
	padding: 0 0 50px 0;
}

.section-heading {
	text-align: center;
	margin-bottom: 30px;
}

.section-heading h2 {
	color: #0762d9;
	font-size: 34px;
	font-weight: 800;
	margin-bottom: 12px;
}

.section-heading p {
	color: #666;
	max-width: 700px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.7;
}

        /* =========================
           Gallery Card
        ========================= */
.gallery-card {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	height: 100%;
	box-shadow: 0 5px 22px rgba(0, 0, 0, 0.08);
	transition: all 0.35s ease;
}

.gallery-card:hover {
	transform: translateY(-7px);
	box-shadow: 0 14px 35px rgba(0, 0, 0, 0.14);
}

.gallery-image {
	position: relative;
	height: 230px;
	overflow: hidden;
}

.gallery-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.gallery-card:hover .gallery-image img {
	transform: scale(1.08);
}

        /* =========================
           Overlay
        ========================= */
.gallery-overlay {
	position: absolute;
	inset: 0;
	background: rgba(7, 98, 217, 0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: all 0.35s ease;
}

.gallery-card:hover .gallery-overlay {
	opacity: 1;
}

.gallery-overlay span {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #fff;
	color: #0762d9;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	transform: scale(0.7);
	transition: all 0.3s ease;
}

.gallery-card:hover .gallery-overlay span {
	transform: scale(1);
}

        /* =========================
           Card Content
        ========================= */
.gallery-content {
	padding: 20px 18px;
	text-align: center;
}

.gallery-content h3 {
	font-size: 17px;
	line-height: 1.45;
	font-weight: 700;
	color: #222;
	margin: 0;
}

.gallery-content h3 a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s ease;
}

.gallery-content h3 a:hover {
	color: #0762d9;
}

        /* =========================
           Responsive
        ========================= */
@media (max-width: 991px) {

	.gallery-section {
		padding: 55px 0;
	}

	.gallery-image {
		height: 210px;
	}
}

@media (max-width: 767px) {

            
	.section-heading h2 {
		font-size: 28px;
	}

	.gallery-image {
		height: 220px;
	}
}

@media (max-width: 575px) {

	.gallery-banner {
		min-height: 210px;
		padding: 40px 15px;
	}

	.gallery-banner-content h1 {
		font-size: 25px;
	}

	.gallery-section {
		padding: 45px 0;
	}

	.section-heading {
		margin-bottom: 30px;
	}

	.section-heading h2 {
		font-size: 25px;
	}

	.gallery-image {
		height: 230px;
	}

	.gallery-content h3 {
		font-size: 16px;
	}
}
                /* Page Header */
.gallery-header {
	text-align: center;
	padding: 60px 15px 35px;
	background: #fff;
}

.gallery-header h1 {
	font-size: 38px;
	font-weight: 700;
	margin-bottom: 10px;
	color: #222;
}

.gallery-header p {
	color: #777;
	margin: 0;
	font-size: 16px;
}

        /* Gallery */
.gallery-section {
	padding: 30px 0 70px;
}

.gallery-item {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
	cursor: pointer;
}

.gallery-item img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.gallery-item:hover img {
	transform: scale(1.08);
}

.gallery-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: 0.3s ease;
}

.gallery-item:hover .gallery-overlay {
	opacity: 1;
}

.gallery-overlay span {
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background: #fff;
	color: #222;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}

        /* Lightbox */
.lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.94);
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 30px;
}

.lightbox.active {
	display: flex;
}

.lightbox-content {
	max-width: 1100px;
	width: 100%;
	text-align: center;
	position: relative;
}

.lightbox-image {
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 5px 30px rgba(0,0,0,0.5);
}

.lightbox-title {
	color: #fff;
	font-size: 18px;
	margin-top: 15px;
}

        /* Close */
.lightbox-close {
	position: fixed;
	top: 20px;
	right: 30px;
	color: #fff;
	font-size: 35px;
	cursor: pointer;
	z-index: 10001;
}

        /* Previous / Next */
.lightbox-prev,
        .lightbox-next {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: none;
	background: rgba(255,255,255,0.9);
	color: #222;
	font-size: 20px;
	cursor: pointer;
	z-index: 10001;
	transition: 0.3s;
}

.lightbox-prev {
	left: 25px;
}

.lightbox-next {
	right: 25px;
}

.lightbox-prev:hover,
        .lightbox-next:hover {
	background: #fff;
	transform: translateY(-50%) scale(1.08);
}

        /* Counter */
.lightbox-counter {
	color: #fff;
	font-size: 14px;
	margin-top: 8px;
}

@media (max-width: 767px) {

	.gallery-header {
		padding: 40px 15px 25px;
	}

	.gallery-header h1 {
		font-size: 28px;
	}

	.gallery-item img {
		height: 220px;
	}

	.lightbox {
		padding: 15px;
	}

	.lightbox-prev,
            .lightbox-next {
		width: 42px;
		height: 42px;
		font-size: 16px;
	}

	.lightbox-prev {
		left: 10px;
	}

	.lightbox-next {
		right: 10px;
	}

	.lightbox-close {
		right: 15px;
		top: 10px;
	}
}

.play-explore-text {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	font-size: 18px;
	font-weight: 600;
}

.play-explore-text span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.play-explore-text i {
	font-size: 16px;
}

/* =========================================================
   Cambridge Learning Experience
========================================================= */

.cam-learn-section {
	padding: 0 0 40px 0;
}

/* Heading */
.cam-learn-heading h2 {
	font-size: 36px;
	line-height: 1.25;
	font-weight: 600;
	color: #0762d9;
}

.cam-learn-heading h3 {
	font-size: 23px;
	line-height: 1.5;
	font-weight: 500;
	color: #222222;
}

/* Content */
.cam-learn-intro p {
	font-size: 16px;
	line-height: 1.6;
	color: #555;
	margin-bottom: 20px;
}

/* Video */
.cam-learn-video {
	overflow: hidden;
	border-radius: 25px;
	background: #000;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.cam-learn-video video {
	width: 100%;
	height: 460px;
	display: block;
	object-fit: cover;
}

/* Learner Attributes */
.cam-learn-attributes {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	margin-top: 30px;
}

/* Card */
.cam-learn-card {
	padding: 25px 18px;
	background: #fff;
	border-radius: 18px;
	text-align: center;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
	transition: all 0.3s ease;
}

.cam-learn-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.10);
}

/* Icon */
.cam-learn-icon {
	width: 55px;
	height: 55px;
	margin: 0 auto 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #0762d9;
	color: #fff;
	font-size: 21px;
}

/* Card Content */
.cam-learn-content h4 {
	margin-bottom: 8px;
	font-size: 17px;
	font-weight: 700;
	color: #222;
}

.cam-learn-content p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #666;
}


/* =========================================================
   Tablet
========================================================= */

@media (max-width: 1199px) {

	.cam-learn-attributes {
		grid-template-columns: repeat(3, 1fr);
	}
}


/* =========================================================
   Mobile / Tablet
========================================================= */

@media (max-width: 991px) {

	.cam-learn-section {
		padding: 60px 0;
	}

	.cam-learn-heading h2 {
		font-size: 34px;
	}

	.cam-learn-heading h3 {
		font-size: 21px;
	}

	.cam-learn-video video {
		height: 380px;
	}
}


/* =========================================================
   Mobile
========================================================= */

@media (max-width: 575px) {

	.cam-learn-section {
		padding: 45px 0;
	}

	.cam-learn-heading h2 {
		font-size: 28px;
	}

	.cam-learn-heading h3 {
		font-size: 19px;
	}

	.cam-learn-intro p {
		font-size: 15px;
		line-height: 1.7;
	}

	.cam-learn-video {
		border-radius: 18px;
	}

	.cam-learn-video video {
		height: 280px;
	}

	.cam-learn-attributes {
		grid-template-columns: 1fr;
	}
}

.rounded {
	border-radius: 20px !important;
}

/* =========================
   Visual Art Section
========================= */

.visual-art-section {
	padding: 0 0 40px 0;
}

/* Heading */
.visual-art-heading h2 {
	font-size: 30px;
	line-height: 1.25;
	font-weight: 600;
	color: #0762d9;
	margin-bottom: 30px;
}

/* Content */
.visual-art-content {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.visual-art-text p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: #555;
}

/* Expression */
.visual-art-expression {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 35px;
}

.visual-expression-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 17px;
	font-weight: 600;
	color: #222;
}

.visual-expression-item i {
	color: #0762d9;
	font-size: 18px;
}

.visual-expression-dot {
	color: #0762d9;
	font-size: 22px;
}

/* Right Image */
.visual-art-image {
	overflow: hidden;
	border-radius: 25px;
	background: #fff;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.visual-art-image img {
	width: 100%;
	display: block;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.visual-art-image:hover img {
	transform: scale(1.04);
}


/* =========================
   Responsive
========================= */

@media (max-width: 991px) {

	.visual-art-section {
		padding: 60px 0;
	}

	.visual-art-heading h2 {
		font-size: 34px;
	}

	.visual-art-image {
		margin-top: 10px;
	}

	.visual-art-image img {
		height: 380px;
	}
}

@media (max-width: 575px) {

	.visual-art-section {
		padding: 45px 0;
	}

	.visual-art-heading h2 {
		font-size: 28px;
		line-height: 1.3;
	}

	.visual-art-text p {
		font-size: 15px;
		line-height: 1.7;
	}

	.visual-art-expression {
		gap: 12px;
		margin-top: 25px;
	}

	.visual-expression-item {
		font-size: 15px;
	}

	.visual-expression-item i {
		font-size: 16px;
	}

	.visual-expression-dot {
		font-size: 18px;
	}

	.visual-art-image {
		border-radius: 18px;
	}

	.visual-art-image img {
		height: 280px;
	}
}

.video-gallery-section {
	padding: 0 0 40px 0;
}

.video-gallery-section h2 {
	font-size: 30px;
	line-height: 36px;
	color: #0762d9;
	font-weight: 700;
	letter-spacing: -1px;
}

.video-card {
	width: 100%;
	overflow: hidden;
	border-radius: 12px;
	background: #000;
}

.video-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.video-wrapper iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

@media (max-width: 767px) {
	.video-gallery-section {
		padding: 30px 0;
	}
}

.ebrochure-tab {
	position: fixed;
	left: 0;
	top: 62%;
	transform: translateY(-50%) rotate(-90deg);
	transform-origin: left top;
	background: #007aff;
	color: #fff;
	padding: 12px 22px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 0 0 6px 6px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
	z-index: 99999;
	transition: all 0.3s ease;
}

.ebrochure-tab:hover {
	background: #0159b8;
	color: #fff;
	text-decoration: none;
}


/* Tablet */
@media (max-width: 991px) {
	.ebrochure-tab {
		padding: 11px 20px;
		font-size: 15px;
	}
}


/* Mobile */
@media (max-width: 576px) {
	.ebrochure-tab {
		padding: 10px 17px;
		font-size: 13px;
	}
}

.student-achievements-section {
	padding: 40px 0;
	background: #f7f9fc;
	overflow: hidden;
	margin: 50px 0 50px 0;
}

.student-achievement-heading {
	max-width: 750px;
	margin: 0 auto 45px;
}

.student-achievement-heading span {
	display: inline-block;
	color: #f2553c;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 8px;
}

.student-achievement-heading h2 {
	margin: 0 0 12px;
	font-size: 36px;
	font-weight: 700;
	color: #0762d9;
}

.student-achievement-heading p {
	margin: 0;
	color: #6b7280;
	font-size: 16px;
}


/* =========================
   Slider
========================= */

.student-achievement-slider-wrap {
	position: relative;
	padding: 0 50px;
}

.student-achievement-slider {
	display: flex;
	gap: 25px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	cursor: grab;
}

.student-achievement-slider::-webkit-scrollbar {
	display: none;
}

.student-achievement-slider.dragging {
	cursor: grabbing;
	scroll-behavior: auto;
}

.student-achievement-slide {
	flex: 0 0 calc(33.333% - 17px);
	min-width: 0;
}


/* =========================
   Card
========================= */

.student-achievement-card {
	background: #ffffff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
	transition: all 0.35s ease;
	height: 100%;
}

.student-achievement-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.13);
}


/* =========================
   Image
========================= */

.student-achievement-img {
	height: 280px;
	position: relative;
	overflow: hidden;
	background: #eeeeee;
}

.student-achievement-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.student-achievement-card:hover .student-achievement-img img {
	transform: scale(1.06);
}


/* =========================
   Number
========================= */

.student-achievement-number {
	position: absolute;
	left: 18px;
	top: 18px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #f2553c;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 5px 15px rgba(0, 0, 0, .2);
}


/* =========================
   Content
========================= */

.student-achievement-content {
	padding: 24px;
}

.student-achievement-content h3 {
	font-size: 21px;
	font-weight: 700;
	color: #172033;
	margin: 0 0 10px;
}

.student-achievement-content p {
	margin: 0;
	color: #6b7280;
	font-size: 15px;
	line-height: 1.7;
}


/* =========================
   Navigation
========================= */

.student-achievement-prev,
.student-achievement-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 50%;
	background: #ffffff;
	color: #172033;
	box-shadow: 0 5px 20px rgba(0, 0, 0, .12);
	z-index: 5;
	cursor: pointer;
	transition: all .3s ease;
}

.student-achievement-prev {
	left: 0;
}

.student-achievement-next {
	right: 0;
}

.student-achievement-prev:hover,
.student-achievement-next:hover {
	background: #f2553c;
	color: #fff;
}


/* =========================
   Dots
========================= */

.student-achievement-dots {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin-top: 30px;
}

.student-achievement-dot {
	width: 8px;
	height: 8px;
	border: 0;
	padding: 0;
	border-radius: 50%;
	background: #d3d7df;
	cursor: pointer;
	transition: all .3s ease;
}

.student-achievement-dot.active {
	width: 25px;
	border-radius: 10px;
	background: #f2553c;
}


/* =========================
   Tablet
========================= */

@media (max-width: 991px) {

	.student-achievements-section {
		padding: 65px 0;
	}

	.student-achievement-heading h2 {
		font-size: 34px;
	}

	.student-achievement-slide {
		flex: 0 0 calc(50% - 13px);
	}

	.student-achievement-img {
		height: 250px;
	}
}


/* =========================
   Mobile
========================= */

@media (max-width: 575px) {

	.student-achievements-section {
		padding: 50px 0;
	}

	.student-achievement-heading {
		margin-bottom: 30px;
	}

	.student-achievement-heading h2 {
		font-size: 28px;
	}

	.student-achievement-heading p {
		font-size: 14px;
	}

	.student-achievement-slider-wrap {
		padding: 0 5px;
	}

	.student-achievement-slider {
		gap: 15px;
	}

	.student-achievement-slide {
		flex: 0 0 100%;
	}

	.student-achievement-img {
		height: 280px;
	}

	.student-achievement-content {
		padding: 20px;
	}

	.student-achievement-content h3 {
		font-size: 19px;
	}

	.student-achievement-prev,
    .student-achievement-next {
		width: 40px;
		height: 40px;
	}

	.student-achievement-prev {
		left: -5px;
	}

	.student-achievement-next {
		right: -5px;
	}

	.student-achievement-number {
		width: 42px;
		height: 42px;
	}
}

/* =========================================
   EXCURSIONS & ADVENTURE EXPERIENCES
   Dedicated Stylesheet
========================================= */

/* =========================================
   PAGE TITLE
========================================= */
.page-title {
	background: linear-gradient(135deg, #1a2b4c 0%, #2c7be5 100%);
	padding: 60px 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.page-title::before {
	content: "";
	position: absolute;
	top: -50%;
	right: -10%;
	width: 400px;
	height: 400px;
	background: rgba(255, 255, 255, 0.05);
	border-radius: 50%;
}

.page-title h1 {
	font-size: 36px;
	font-weight: 700;
	color: #ffffff;
	margin: 0;
	position: relative;
	z-index: 1;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* =========================================
   EXCURSION INTRO SECTION
========================================= */
.excursion-section {
	padding: 0 0 40px 0;
	background: #ffffff;
}

/* ---------- Top Image ---------- */
.excursion-image {
	width: 100%;
	max-width: 900px;
	margin: 0 auto 40px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.excursion-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 12px;
	transition: transform 0.4s ease;
}

.excursion-image img:hover {
	transform: scale(1.02);
}

/* ---------- Content Wrapper ---------- */
.excursion-content {
	max-width: 1300px;
	margin: 0 auto;
	text-align: center;
	padding: 0 15px;
}

/* ---------- Title ---------- */
.excursion-title {
	font-size: 30px;
	font-weight: 500;
	color: #0762d9;
	line-height: 1.4;
	position: relative;
	display: inline-block;
}


/* ---------- Paragraph Text ---------- */
.excursion-content p {
	font-size: 16px;
	line-height: 1.9;
	color: #4a5a70;
	margin-bottom: 20px;
	text-align: justify;
}

/* =========================================
   BOTTOM FEATURE ICONS ROW
========================================= */
.excursion-bottom {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 40px;
	margin-top: 50px;
	padding: 35px 20px;
	background: linear-gradient(135deg, #f8f9fc 0%, #eef3f9 100%);
	border-radius: 15px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
}

/* ---------- Individual Feature ---------- */
.excursion-feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	transition: transform 0.3s ease;
}

.excursion-feature:hover {
	transform: translateY(-5px);
}

/* ---------- Feature Icon Circle ---------- */
.excursion-feature-icon {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 18px rgba(44, 123, 229, 0.15);
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.excursion-feature-icon i {
	font-size: 28px;
	transition: color 0.3s ease;
}

.excursion-feature:hover .excursion-feature-icon {
	background: #2c7be5;
	box-shadow: 0 8px 22px rgba(44, 123, 229, 0.35);
	border-color: #2c7be5;
	transform: rotate(360deg);
}

.excursion-feature:hover .excursion-feature-icon i {
	color: #ffffff;
}

/* ---------- Feature Label ---------- */
.excursion-feature span {
	font-size: 14px;
	font-weight: 600;
	color: #1a2b4c;
	letter-spacing: 0.3px;
	text-align: center;
}

/* =========================================
   EXCURSION SECTIONS (Alternating Layout)
========================================= */
.school-section {
	padding: 70px 0;
	position: relative;
}

.school-section.second-section {
	background: #ffffff;
}

.school-section.light-bg.first-section {
	background: #f8f9fc;
}

/* ---------- Section Content ---------- */
.school-content {
	padding: 15px 20px;
}

/* ---------- Section Title ---------- */
.school-title {
	font-size: 30px;
	font-weight: 500;
	color: #1a2b4c;
	margin-bottom: 12px;
	position: relative;
	padding-bottom: 12px;
}

.school-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, #2c7be5, #17a2b8);
	border-radius: 3px;
}

/* ---------- Section Subtitle ---------- */
.school-subtitle {
	font-size: 17px;
	font-weight: 500;
	color: #2c7be5;
	margin-bottom: 20px;
	font-style: italic;
	line-height: 1.5;
}

/* ---------- Section Paragraph ---------- */
.school-content p {
	font-size: 15.5px;
	line-height: 1.85;
	color: #4a5a70;
	margin-bottom: 15px;
	text-align: justify;
}

/* ---------- Section Images ---------- */
.school-section img.img-fluid {
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.school-section img.img-fluid:hover {
	transform: translateY(-5px) scale(1.01);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

/* =========================================
   RESPONSIVE DESIGN
========================================= */

/* ---------- Tablet (max-width: 991px) ---------- */
@media (max-width: 991px) {
	.excursion-section {
		padding: 45px 0;
	}

	.excursion-title {
		font-size: 22px;
	}

	.excursion-content p {
		font-size: 15px;
		text-align: left;
	}

	.excursion-bottom {
		gap: 25px;
		padding: 30px 15px;
	}

	.excursion-feature-icon {
		width: 60px;
		height: 60px;
	}

	.excursion-feature-icon i {
		font-size: 24px;
	}

	.school-section {
		padding: 50px 0;
	}

	.school-title {
		font-size: 24px;
	}

	.school-subtitle {
		font-size: 16px;
	}

	.school-content p {
		font-size: 15px;
		text-align: left;
	}
}

/* ---------- Mobile (max-width: 767px) ---------- */
@media (max-width: 767px) {
	.excursion-section {
		padding: 35px 0;
	}

	.excursion-image {
		margin-bottom: 25px;
		border-radius: 10px;
	}

	.excursion-title {
		font-size: 19px;
		line-height: 1.4;
	}

	.excursion-title::after {
		width: 60px;
	}

	.excursion-content p {
		font-size: 14.5px;
		line-height: 1.8;
	}

	.excursion-bottom {
		gap: 20px;
		margin-top: 35px;
		padding: 25px 10px;
	}

	.excursion-feature-icon {
		width: 55px;
		height: 55px;
	}

	.excursion-feature-icon i {
		font-size: 22px;
	}

	.excursion-feature span {
		font-size: 12.5px;
	}

	.school-section {
		padding: 40px 0;
	}

	.school-content {
		padding: 10px 5px;
		margin-top: 20px;
	}

	.school-title {
		font-size: 21px;
	}

	.school-subtitle {
		font-size: 15px;
	}

	.school-content p {
		font-size: 14.5px;
	}

    /* Image always on top on mobile */
	.school-section .col-lg-6:first-child {
		order: 1;
	}

	.school-section .col-lg-6:last-child {
		order: 2;
	}

	.page-title {
		padding: 40px 0;
	}

	.page-title h1 {
		font-size: 24px;
	}
}

/* ---------- Small Mobile (max-width: 480px) ---------- */
@media (max-width: 480px) {
	.excursion-title {
		font-size: 17px;
	}

	.excursion-content p {
		font-size: 14px;
	}

	.excursion-bottom {
		gap: 15px;
	}

	.excursion-feature-icon {
		width: 50px;
		height: 50px;
	}

	.excursion-feature-icon i {
		font-size: 20px;
	}

	.excursion-feature span {
		font-size: 11.5px;
	}

	.school-title {
		font-size: 19px;
	}

	.school-subtitle {
		font-size: 14px;
	}

	.school-content p {
		font-size: 14px;
	}

	.page-title h1 {
		font-size: 20px;
	}
}

/* =========================================
   PARENT FEEDBACK SLIDER
========================================= */
.feedback-section {
	padding: 0 0 0 0;
	position: relative;
	overflow: hidden;
}

/* ---------- Section Header ---------- */
.feedback-header {
	text-align: center;
}

.feedback-title {
	font-size: 30px;
	font-weight: 700;
	color: #0762d9;
	margin-bottom: 12px;
	padding-bottom: 14px;
	text-align:center !important
}

.feedback-subtitle {
	font-size: 17px;
	font-weight: 500;
	color: #2c7be5;
	font-style: italic;
	margin: 0;
}

/* ---------- Slider Wrapper ---------- */
.feedback-slider-wrapper {
	position: relative;
	max-width: 950px;
	margin: 0 auto;
	padding: 0 60px;
}

/* ---------- Slider Container ---------- */
.feedback-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 15px;
	background: #ffffff;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.10);
}

/* ---------- Individual Slide ---------- */
.feedback-slide {
	display: none;
	width: 100%;
	text-align: center;
	animation: fadeInSlide 0.5s ease;
}

.feedback-slide.active {
	display: block;
}

.feedback-slide img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	border-radius: 10px;
	transition: transform 0.4s ease;
}

.feedback-slide img:hover {
	transform: scale(1.02);
}

/* ---------- Fade In Animation ---------- */
@keyframes fadeInSlide {
	from {
		opacity: 0;
		transform: translateY(15px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ---------- Navigation Buttons ---------- */
.feedback-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: none;
	background: #2c7be5;
	color: #ffffff;
	font-size: 18px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 18px rgba(44, 123, 229, 0.35);
	transition: all 0.3s ease;
	z-index: 10;
}

.feedback-nav:hover {
	background: #1a2b4c;
	transform: translateY(-50%) scale(1.1);
	box-shadow: 0 8px 25px rgba(26, 43, 76, 0.45);
}

.feedback-nav:active {
	transform: translateY(-50%) scale(0.95);
}

.feedback-prev {
	left: 0;
}

.feedback-next {
	right: 0;
}

/* ---------- Dots Indicator ---------- */
.feedback-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 30px;
}

.feedback-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #c8d4e5;
	cursor: pointer;
	transition: all 0.3s ease;
	border: none;
}

.feedback-dot.active {
	background: #2c7be5;
	width: 28px;
	border-radius: 6px;
}

.feedback-dot:hover {
	background: #2c7be5;
	transform: scale(1.2);
}

/* =========================================
   RESPONSIVE DESIGN
========================================= */

/* ---------- Tablet (max-width: 991px) ---------- */
@media (max-width: 991px) {
	.feedback-section {
		padding: 55px 0;
	}

	.feedback-title {
		font-size: 28px;
	}

	.feedback-subtitle {
		font-size: 16px;
	}

	.feedback-slider-wrapper {
		padding: 0 55px;
	}

	.feedback-nav {
		width: 45px;
		height: 45px;
		font-size: 16px;
	}
}

/* ---------- Mobile (max-width: 767px) ---------- */
@media (max-width: 767px) {
	.feedback-section {
		padding: 45px 0;
	}

	.feedback-header {
		margin-bottom: 30px;
	}

	.feedback-title {
		font-size: 23px;
	}

	.feedback-subtitle {
		font-size: 15px;
	}

	.feedback-slider-wrapper {
		padding: 0 45px;
	}

	.feedback-slide {
		padding: 15px;
	}

	.feedback-nav {
		width: 38px;
		height: 38px;
		font-size: 14px;
	}

	.feedback-dots {
		margin-top: 22px;
	}

	.feedback-dot {
		width: 8px;
		height: 8px;
	}

	.feedback-dot.active {
		width: 22px;
	}
}

/* ---------- Small Mobile (max-width: 480px) ---------- */
@media (max-width: 480px) {
	.feedback-section {
		padding: 35px 0;
	}

	.feedback-title {
		font-size: 20px;
	}

	.feedback-subtitle {
		font-size: 14px;
	}

	.feedback-slider-wrapper {
		padding: 0 40px;
	}

	.feedback-slide {
		padding: 10px;
	}

	.feedback-nav {
		width: 34px;
		height: 34px;
		font-size: 12px;
	}

	.feedback-dots {
		gap: 6px;
	}
}

 /* Form Container */
.form-container {
	background: #ffffff;
	width: 100%;
	max-width: 820px;
	padding: 40px;
	border-radius: 10px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	border: 1px solid #eef2f6;
	margin: 0 auto;
}

        /* Form Group Styling */
.form-group {
	margin-bottom: 24px;
}

        /* Labels */
label {
	display: block;
	font-size: 15px;
	font-weight: 500;
	color: #334155;
	margin-bottom: 8px;
}

.required-asterisk {
	color: #e11d48;
	margin-left: 2px;
}

        /* Inputs, Selects, Textareas */
.form-control {
	width: 100%;
	padding: 10px 14px;
	font-size: 15px;
	font-family: inherit;
	color: #1e293b;
	background-color: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 5px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control::placeholder {
	color: #94a3b8;
}

.form-control:focus {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

        /* Textarea styling */
textarea.form-control {
	resize: vertical;
	min-height: 46px;
	height: 46px;
}

        /* Select Dropdown */
select.form-control {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
	padding-right: 40px;
	cursor: pointer;
}

        /* Birthday Date Input - DD/MM/YYYY format */
.birthday-wrapper {
	position: relative;
	max-width: 260px;
}

.birthday-wrapper input[type="text"] {
	width: 100%;
	padding: 10px 40px 10px 14px;
	font-size: 15px;
	font-family: inherit;
	color: #1e293b;
	background-color: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 5px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	letter-spacing: 1px;
}

.birthday-wrapper input[type="text"]::placeholder {
	color: #94a3b8;
	letter-spacing: normal;
}

.birthday-wrapper input[type="text"]:focus {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.birthday-wrapper .calendar-icon {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	pointer-events: none;
	font-size: 18px;
}

        /* Hidden native date picker */
.birthday-wrapper input[type="date"].hidden-date-picker {
	position: absolute;
	right: 0;
	top: 0;
	width: 40px;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

        /* Mobile Number Group */
.mobile-input-group {
	display: flex;
	border: 1px solid #cbd5e1;
	border-radius: 5px;
	overflow: hidden;
	max-width: 380px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mobile-input-group:focus-within {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.mobile-input-group .country-select {
	border: none;
	background-color: #f8fafc;
	padding: 10px 10px;
	font-size: 15px;
	color: #1e293b;
	outline: none;
	cursor: pointer;
	border-right: 1px solid #cbd5e1;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 6px center;
	background-size: 12px;
	padding-right: 22px;
}

.mobile-input-group input {
	border: none;
	flex: 1;
	padding: 10px 14px;
	font-size: 15px;
	outline: none;
	min-width: 0;
}

        /* Checkbox Group — Inline (One Line) */
.checkbox-group-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
	margin-top: 5px;
}

.checkbox-label-inline {
	display: flex;
	align-items: center;
	font-size: 15px;
	font-weight: 400;
	color: #334155;
	cursor: pointer;
	gap: 8px;
	white-space: nowrap;
}

.checkbox-label-inline input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: #3b82f6;
	cursor: pointer;
	flex-shrink: 0;
}

        /* Error state for inline checkbox group */
.checkbox-group-inline.error .checkbox-label-inline {
	color: #e11d48;
}

        /* Validation Error Messages */
.error-message {
	color: #e11d48;
	font-size: 13px;
	margin-top: 6px;
	display: none;
}

.form-control.error,
        .mobile-input-group.error,
        .birthday-wrapper input.error {
	border-color: #e11d48;
	box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.1);
}

        /* Submit Button */
.submit-btn-container {
	display: flex;
	justify-content: flex-end;
	margin-top: 30px;
}

.submit-btn {
	background-color: #e11d48;
	color: #ffffff;
	border: none;
	padding: 12px 36px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.submit-btn:hover {
	background-color: #be123c;
}

.submit-btn:active {
	transform: scale(0.98);
}

        /* Responsive */
@media (max-width: 600px) {
	.form-container {
		padding: 24px;
	}

	.mobile-input-group {
		max-width: 100%;
	}

	.birthday-wrapper {
		max-width: 100%;
	}

	.submit-btn-container {
		justify-content: stretch;
	}

	.submit-btn {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.checkbox-group-inline {
		gap: 14px;
	}

	.checkbox-label-inline {
		font-size: 14px;
	}
}

.olympiad-section {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
}

        /* ---- header / intro ---- */
.intro {
	margin-bottom: 3.5rem;
	text-align: center;
}

.intro h2 {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #0762d9;
	margin-bottom: 0.75rem;
	line-height: 1.2;
}

.intro h2 i {
	color: #c79a3e;
	margin-right: 8px;
}

.intro .subhead {
	font-size: 1.2rem;
	font-weight: 500;
	color: #2c4b6e;
	max-width: 800px;
	margin: 0 auto 1rem;
	border-bottom: 2px solid #dce5f0;
	padding-bottom: 1.25rem;
}

.intro p {
	margin: 0 auto 0;
	color: #3e566b;
	font-size: 1.05rem;
	padding: 0.9rem 1.8rem;
}

        /* ---- grid ---- */
.olympiad-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 1.85rem;
	margin-bottom: 3.5rem;
}

        /* ---- card with centered top icon ---- */
.card {
	background: #ffffff;
	border-radius: 26px;
	padding: 0 0 1.7rem 0;
	box-shadow: 0 12px 30px -10px rgba(0, 30, 60, 0.10), 0 4px 10px rgba(0, 0, 0, 0.02);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	border: 1px solid #eef3f9;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.card:hover {
	transform: translateY(-5px);
	box-shadow: 0 24px 44px -14px rgba(0, 40, 80, 0.16);
}

        /* TOP ICON — centered, no tagline line */
.card-icon-top {
	width: 100%;
	padding: 1.8rem 1.5rem 0.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: none;
	position: relative;
}

.card-icon-top .icon-circle {
	width: 80px;
	height: 80px;
	border-radius: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.85rem;
	color: #ffffff;
	flex-shrink: 0;
	box-shadow: 0 8px 18px -6px rgba(0, 0, 0, 0.16);
	transition: transform 0.25s ease;
}

.card:hover .icon-circle {
	transform: scale(1.06) rotate(-2deg);
}

        /* individual colour themes */
.card:nth-child(1) .icon-circle {
	background: linear-gradient(135deg, #3b82f6, #2563eb);
}

.card:nth-child(2) .icon-circle {
	background: linear-gradient(135deg, #8b5cf6, #6d28d9);
}

.card:nth-child(3) .icon-circle {
	background: linear-gradient(135deg, #f97316, #ea580c);
}

.card:nth-child(4) .icon-circle {
	background: linear-gradient(135deg, #ef4444, #b91c1c);
}

.card:nth-child(5) .icon-circle {
	background: linear-gradient(135deg, #facc15, #eab308);
	color: #3a2e0a;
}

.card:nth-child(6) .icon-circle {
	background: linear-gradient(135deg, #ec4899, #db2777);
}

.card:nth-child(7) .icon-circle {
	background: linear-gradient(135deg, #14b8a6, #0d9488);
}

.card:nth-child(8) .icon-circle {
	background: linear-gradient(135deg, #a16207, #854d0e);
}

        /* card body */
.card-body {
	padding: 0.2rem 1.5rem 0.4rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.card-body h3 {
	font-size: 1.18rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #103a5e;
	margin-bottom: 0.6rem;
	line-height: 1.3;
}

.card-body .tagline {
	font-size: 0.9rem;
	font-weight: 600;
	color: #b17f2c;
	font-style: italic;
	margin-bottom: 1.1rem;
	padding: 0 0.5rem 0 0.85rem;
	border-left: 3px solid #f0d9a8;
	letter-spacing: 0.01em;
	text-align: left;
}

.card-body .description {
	font-size: 0.94rem;
	color: #34526b;
	margin-bottom: 0.5rem;
	flex: 1;
	text-align: left;
}

        /* ---- closing quote ---- */
.closing-quote {
	text-align: center;
	margin: 3rem 0 1rem;
	padding: 2.2rem 1.8rem;
	background: linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
	border-radius: 48px;
	border: 1px solid #dbe7f2;
	box-shadow: 0 10px 26px -10px rgba(0, 30, 60, 0.08);
}

.closing-quote p {
	font-size: 1.35rem;
	font-weight: 500;
	font-style: italic;
	color: #1a3c5c;
	max-width: 800px;
	margin: 0 auto;
	line-height: 1.55;
	letter-spacing: -0.01em;
}

.closing-quote p i {
	color: #f0b429;
	font-size: 1.7rem;
	vertical-align: middle;
	margin: 0 8px;
	filter: drop-shadow(0 2px 4px rgba(240, 180, 41, 0.25));
}

        /* ---- responsive ---- */
@media (max-width: 600px) {
	.intro h2 {
		font-size: 1.7rem;
	}

	.intro p {
		font-size: 0.92rem;
		padding: 0.9rem 1.2rem;
		border-radius: 30px;
	}

	.card-icon-top {
		padding: 1.5rem 1.2rem 0.6rem;
	}

	.card-icon-top .icon-circle {
		width: 52px;
		height: 52px;
		font-size: 1.5rem;
		border-radius: 18px;
	}

	.card-body {
		padding: 0.2rem 1.2rem 0.2rem;
	}

	.card-body h3 {
		font-size: 1.05rem;
	}

	.closing-quote p {
		font-size: 1.1rem;
	}
}

#videoModal .modal-content {
	background: #000;
	border: none;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 30px 70px -20px rgba(0, 0, 0, 0.6);
}

#videoModal .modal-body {
	padding: 0;
}

#videoModal video {
	display: block;
	width: 100%;
	height: auto;
	max-height: 78vh;
	background: #000;
}

#videoModal .btn-close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23103a5e'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
	opacity: 1;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
	transition: transform 0.2s ease;
}

#videoModal .btn-close:hover {
	transform: scale(1.08);
}

@media (max-width: 600px) {
	#videoModal .btn-close {
		width: 36px;
		height: 36px;
		top: 8px;
		right: 8px;
	}
}

.reach-us {
	padding: 0 0 20px 0;
}

.reach-us-container {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	max-width: 1300px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
}

/* Left Column */
.reach-info {
	flex: 1 1 350px;
	padding: 35px 30px;
	line-height: 1.8;
	color: #333;
}

.reach-info h3 {
	color: #1a3d7c;
	margin-bottom: 20px;
	font-size: 20px;
}

.reach-info p {
	margin-bottom: 18px;
}

.reach-info a {
	color: #1a3d7c;
	text-decoration: none;
	word-break: break-word;
}

.reach-info a:hover {
	text-decoration: underline;
}

.reach-info i {
	color: #e63946;
	margin-right: 8px;
}

.map-link {
	display: inline-block;
	background: #1a3d7c;
	color: #fff !important;
	padding: 10px 18px;
	border-radius: 6px;
	font-weight: bold;
	transition: background 0.3s;
}

.map-link:hover {
	background: #e63946;
	text-decoration: none !important;
}

/* Right Column (Map) */
.map-container {
	flex: 1 1 450px;
	min-height: 400px;
}

.map-container iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 400px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
	.reach-us-container {
		flex-direction: column;
	}

	.map-container {
		min-height: 300px;
	}

	.map-container iframe {
		min-height: 300px;
	}
}

.fee-structure {
	padding: 0 0 20px 0;
}

.fee-table {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	border-collapse: collapse;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	overflow: hidden;
}

.fee-table th,
.fee-table td {
	border: 1px solid #d0d0d0;
	padding: 12px 15px;
	text-align: center;
	font-size: 15px;
	color: #333;
}

.fee-table thead th {
	background-color: #1a3d7c;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.3px;
}

.fee-table tbody tr:nth-child(even) {
	background-color: #f4f6fa;
}

.fee-table tbody tr:hover {
	background-color: #eef2f9;
}

.class-name {
	font-weight: bold;
	color: #1a3d7c !important;
	vertical-align: middle;
	background-color: #f0f4fa;
}

/* Mobile Responsive */
@media (max-width: 600px) {
	.fee-table th,
    .fee-table td {
		padding: 10px 8px;
		font-size: 13px;
	}

	.fee-table thead th {
		font-size: 13px;
	}
}

/* ✅ Two Column Layout */
.feedback-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: start;
}

/* Left column - feedback slider */
.feedback-col-left {
    width: 100%;
    min-width: 0; /* important for slider flex overflow */
}

/* Right column - video */
.feedback-col-right {
    width: 100%;
}

/* YouTube Video Responsive Wrapper */
.feedback-video-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    background: #000;
}

.feedback-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ✅ Mobile Responsive - stack on small screens */
@media (max-width: 768px) {
    .feedback-two-col {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}

.cambridge-learner-section {
        padding: 0;
    }

    .cambridge-learner-section .section-title {
        font-size: 36px;
        font-weight: 700;
        color: #1a2a6c;
        margin-bottom: 25px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .cambridge-learner-section .section-intro {
        font-size: 16px;
        color: #626d7d;
        line-height: 1.8;
        margin-bottom: 20px;
    }

    .cambridge-learner-section .section-subtext {
        font-size: 18px;
        font-weight: 600;
        color: #1a2a6c;
        margin-bottom: 30px;
    }

    /* Cards */
    .learner-card {
        background: #ffffff;
        border-radius: 12px;
        padding: 35px 25px 30px;
        height: 100%;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        text-align: center;
        border-top: 4px solid transparent;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .learner-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
    }

    /* Icon Wrapper - On Top */
    .icon-wrapper {
        width: 75px;
        height: 75px;
        border-radius: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 36px;
        color: #ffffff;
        transition: transform 0.3s ease;
    }

    .learner-card:hover .icon-wrapper {
        transform: scale(1.1);
    }

    /* Individual Card Colors */
    .card-confident {
        border-top-color: #FF6B6B;
    }
    .card-confident .icon-wrapper {
       background: linear-gradient(135deg, #3b82f6, #1d4ed8);
        box-shadow: 0 6px 15px rgba(255, 107, 107, 0.4);
    }

    .card-responsible {
        border-top-color: #4ECDC4;
    }
    .card-responsible .icon-wrapper {
        background: linear-gradient(135deg, #ec4899, #be185d);
        box-shadow: 0 6px 15px rgba(78, 205, 196, 0.4);
    }

    .card-reflective {
        border-top-color: #A855F7;
    }
    .card-reflective .icon-wrapper {
        background: linear-gradient(135deg, #14b8a6, #0f766e);
        box-shadow: 0 6px 15px rgba(168, 85, 247, 0.4);
    }

    .card-innovative {
        border-top-color: #F59E0B;
    }
    .card-innovative .icon-wrapper {
        background: linear-gradient(135deg, #ef4444, #b91c1c);
        box-shadow: 0 6px 15px rgba(245, 158, 11, 0.4);
    }

    .card-engaged {
        border-top-color: #3B82F6;
    }
    .card-engaged .icon-wrapper {
        background: linear-gradient(135deg, #8b5cf6, #6d28d9);
        box-shadow: 0 6px 15px rgba(59, 130, 246, 0.4);
    }

    .learner-card h4 {
        font-size: 24px;
        font-weight: 700;
        color: #1a2a6c;
    }

    .learner-card p {
        font-size: 15px;
        color: #555;
        line-height: 1.7;
        margin: 0;
    }

    /* Closing Text */
    .closing-text {
        font-size: 16px;
        color: #626d7d;
        line-height: 1.7;
        margin-bottom: 10px;
    }

    .closing-tagline {
        font-size: 18px;
        font-weight: 700;
        color: #1a2a6c;
        font-style: italic;
        line-height: 1.8;
        margin-top: 10px;
    }

    /* Responsive */
    @media (max-width: 767px) {
        .cambridge-learner-section {
            padding: 50px 0;
        }

        .cambridge-learner-section .section-title {
            font-size: 28px;
        }

        .learner-card {
            padding: 30px 20px 25px;
        }

        .icon-wrapper {
            width: 65px;
            height: 65px;
            font-size: 28px;
        }
    }