img,
picture img,
.img,
.img-fluid,
figure img {
	max-width: 100%;
	height: auto;
}

img[width],
img[height] {
	width: auto !important; /* let container control width */
	height: auto !important;
}

.of-cover { object-fit: cover; }
.of-contain { object-fit: contain; }
.of-center { object-position: center center; }

.slick-slide img { max-width: 100%; height: auto; }

.homeSlider .slider-for img { max-width: 100%; height: auto; }



.header .logo img,
.footer .logo img { height: auto; max-width: 100%; }

.social_media img { max-width: 100%; height: auto; }

.box2 img,
.box5 img { max-width: 100%; height: auto; }


.card-img-cover img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center; display: block; }


@media (max-width: 480px) {
	img,
	picture img,
	figure img { max-width: 100vw; }
}

@media (max-width: 992px) {
	.box5 .item { padding-right: 16px; }
	.box5 a { display: block !important; }
	.box5 a .txt { width: 100%; padding: 10px 0 0; }
	.box5 a figure { width: 100%; }
	.box5 a figure img { width: 100% !important; height: auto !important; object-fit: cover; }
}

/* -------------------------------------------------- */
/* Mid-size desktops & large tablets (≤1920px)        */
/* -------------------------------------------------- */

@media (min-width: 1200px) and (max-width: 1920px) {
	/* Convert the left rail into a compact floating contact cluster */
	.left-fixed {
		position: fixed;
		width: auto;
		height: auto;
		background: rgba(12, 18, 38, 0.82);
		top: auto;
		left: clamp(18px, 3.5vw, 40px);
		bottom: clamp(28px, 4vw, 56px);
		border-right: none;
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 18px 20px;
		border-radius: 22px;
		box-shadow: 0 18px 42px rgba(5, 8, 20, 0.35);
		z-index: 999;
	}

	.left-fixed .tel {
		transform: none;
		margin: 0;
		background: none;
		color: #fff;
		padding: 0;
		letter-spacing: 0.03em;
		font-size: 1.05rem;
		font-family: "Poppins SemiBold", sans-serif;
		display: inline-flex;
		align-items: center;
		gap: 10px;
		width: auto;
		text-decoration: none;
	}

	.left-fixed .tel::before {
		content: "";
		display: inline-block;
		width: 22px;
		height: 22px;
		background: url("../images/phone.svg") no-repeat center/contain;
	}

	.left-fixed .tel:hover { color: #f9b000; }

	.left-fixed .social_media {
		position: static;
		width: auto;
		display: flex;
		gap: 12px;
		flex-wrap: wrap;
		justify-content: center;
	}

	.left-fixed .social_media a {
		display: inline-flex;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.9);
		align-items: center;
		justify-content: center;
		box-shadow: 0 10px 18px rgba(15, 19, 40, 0.18);
	}

	.left-fixed .social_media img {
		width: 18px !important;
		height: 18px !important;
	}

	/* Stack the menu trigger just above the contact cluster */
	.navbar {
		left: clamp(18px, 3.5vw, 40px) !important;
		right: auto;
		top: auto;
		bottom: calc(clamp(28px, 4vw, 56px) + 130px);
		margin: 0;
		transform: none;
	}

	body.active .navbar {
		left: clamp(18px, 3.5vw, 40px) !important;
		right: auto;
		bottom: calc(clamp(28px, 4vw, 56px) + 130px);
		transform: none;
	}

	/* Allow the slide copy to breathe a little more */
	.homeSlider .slider-for .head {
		font-size: clamp(2.3rem, 4vw, 3.25rem);
		line-height: 1.15;
	}

	.homeSlider .slider-for p {
		font-size: clamp(0.98rem, 1.1vw, 1.08rem);
		max-width: 500px;
	}

	/* Make sure tabbed content and grids stretch full width */
	.box1 .container,
	.box2 .container,
	.section .container {
		padding-left: clamp(22px, 3.6vw, 36px);
		padding-right: clamp(22px, 3.6vw, 36px);
	}

	/* Tighten footer spacing so content stays centered */
	.footer {
		padding-left: 0;
		margin: 70px 0 50px;
	}
}

@media (min-width: 1200px) and (max-width: 1920px) {
	body .container-fluid,
	body .container {
		padding-left: clamp(32px, 4vw, 72px);
		padding-right: clamp(32px, 4vw, 72px);
	}

	.header .container-fluid {
		padding-left: clamp(32px, 4vw, 72px);
		padding-right: clamp(32px, 4vw, 72px);
	}

	.homeSlider {
		padding-left: clamp(20px, 2.5vw, 36px);
	}

	.header ul.bottom-menu a {
		padding: 8px 12px 26px;
	}

	.header ul.bottom-menu li {
		font-size: clamp(15px, 1vw, 16px);
	}
}

/* -------------------------------------------------- */
/* Global layout breathing space                      */
/* -------------------------------------------------- */

@media (max-width: 1200px) {
	body .container,
	body .container-fluid {
		padding-left: clamp(20px, 4vw, 34px);
		padding-right: clamp(20px, 4vw, 34px);
	}
}

@media (max-width: 768px) {
	body .container,
	body .container-fluid {
		padding-left: clamp(16px, 6vw, 24px);
		padding-right: clamp(16px, 6vw, 24px);
	}

	.section h2,
	footer h2,
	.catalog-card__title {
		font-size: clamp(1.6rem, 5vw, 2.1rem);
		line-height: 1.25;
	}
}

@media (max-width: 576px) {
	.energy-highlights {
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}

	.energy-highlight {
		width: 100%;
		justify-content: center;
	}
}

/* -------------------------------------------------- */
/* Home slider refinements                            */
/* -------------------------------------------------- */

.homeSlider {
	position: relative;
	overflow: hidden;
}

@media (max-width: 1199.98px) {
	.homeSlider {
		padding-left: 0;
	}
}

@media (max-width: 991.98px) {
	.homeSlider .slider-for .item {
		min-height: 150vh;
		padding: 120px 0 80px;
	}

	@supports (height: 100dvh) {
		.homeSlider .slider-for .item {
			min-height: 100dvh;
		}
	}

	.homeSlider .slider-for .item .row {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.homeSlider .slider-for .txt {
		height: auto;
		justify-content: center;
		padding: 0 18px 26px;
		text-align: center;
	}

	.homeSlider .slider-for .txt .img {
		display: none;
	}

	.homeSlider .slider-for picture {
		height: auto !important;
		min-height: 260px;
		padding: 0 18px;
		justify-content: center;
	}

	.homeSlider .slider-navigation {
		display: none;
	}
}

@media (max-width: 575.98px) {
	.homeSlider .slider-for .item {
		min-height: 100vh;
		padding: 100px 0 60px;
	}

	@supports (height: 100dvh) {
		.homeSlider .slider-for .item {
			min-height: 100dvh;
		}
	}

	.homeSlider .slider-for .head {
		font-size: clamp(1.7rem, 7vw, 2.2rem);
		line-height: 1.2;
	}

	.homeSlider .slider-for p {
		font-size: 0.95rem;
	}
}

/* -------------------------------------------------- */
/* Slider-based galleries & cards                     */
/* -------------------------------------------------- */

@media (max-width: 1199.98px) {
	.box2 {
		margin: 70px 0;
	}
}

@media (max-width: 991.98px) {
	.box2 .item {
		padding: 0 15px;
	}

	.box2 .item a {
		height: auto !important;
		max-height: none !important;
		aspect-ratio: 4 / 5;
	}

	.box2 .box2-slider .slick-track {
		border-radius: 24px;
	}

	.box5 .item {
		padding-right: 0;
	}

	.box5 a {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}

	.box5 a figure {
		width: 100%;
		max-width: 520px;
	}

	.box5 a .txt {
		width: 100%;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
}

@supports not (aspect-ratio: 1/1) {
	@media (max-width: 991.98px) {
		.box2 .item a {
			height: 0 !important;
			padding-top: 125%;
		}
	}
}

@media (max-width: 767.98px) {
	.box2 .item {
		padding: 0 10px;
	}

	.box2 .item a {
		aspect-ratio: 1 / 1;
		border-radius: 20px;
	}

	.box2 span {
		font-size: clamp(1.35rem, 5.4vw, 1.8rem);
		line-height: 1.35;
	}

	.box2 p {
		font-size: 1rem;
		line-height: 1.5;
	}

	.box3 .item {
		padding: 0 12px;
	}

	.box3 ul {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.box3 ul li:last-child {
		text-align: left;
	}

	.box3 span {
		height: auto;
		min-height: 0;
		font-size: 1.05rem;
		line-height: 1.45;
	}

	.box5 a {
		align-items: center;
	}

	.box5 a .txt {
		text-align: center;
		align-items: center;
	}
}

@media (max-width: 575.98px) {
	.box2 {
		margin: 50px 0;
	}

	.box5 a {
		gap: 14px;
	}

	.box5 a figure {
		border-radius: 18px;
	}
}

/* -------------------------------------------------- */
/* CTA banner & footer                                */
/* -------------------------------------------------- */

@media (max-width: 991.98px) {
	.box6 .txt .row {
		text-align: center;
	}

	.box6 img {
		max-width: min(320px, 80%);
		margin: 0 auto 26px;
	}

	.box6 nav {
		justify-content: center;
	}

	.footer {
		margin: 60px 0 40px;
	}

	.footer .rows {
		flex-direction: column;
		gap: 32px;
	}

	.footer .rows .cols,
	.footer .rows .cols:nth-child(3),
	.footer .rows .cols:last-child {
		width: 100%;
		text-align: center;
	}

	.footer .head {
		font-size: clamp(1.45rem, 4.6vw, 1.9rem);
	}

	.footer .tel {
		font-size: 1.35rem;
		padding-left: 48px;
		background-size: 28px;
	}
}

@media (max-width: 575.98px) {
	.box6 h3 {
		font-size: clamp(1.9rem, 7vw, 2.3rem);
		line-height: 1.25;
	}

	.box6 p {
		font-size: 0.95rem;
	}

	.footer {
		margin: 48px 0 32px;
	}

	.footer .tel {
		font-size: 1.2rem;
		padding-left: 40px;
		background-size: 24px;
	}
}

/* -------------------------------------------------- */
/* Inner page utilities                               */
/* -------------------------------------------------- */

@media (max-width: 991.98px) {
	.catalog-card,
	.campus-highlight-card,
	.form-container {
		padding: 32px 28px;
	}

	.contact-card {
		padding: 34px 26px;
	}
}

@media (max-width: 575.98px) {
	.catalog-card,
	.campus-highlight-card,
	.form-container {
		padding: 26px 20px;
	}

	.contact-card {
		padding: 28px 22px;
	}

	.catalog-card__media {
		min-height: 200px;
	}

	.campus-highlight-card__photo .card-photo {
		min-height: 220px;
	}
}

