/* ================================================
   Home Page Styles
   ================================================ */

/* ========== Global Utilities ========== */
.section-spacing {
	padding: var(--sp-8) 0;
}

.section-title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-heading-xl);
	font-weight: var(--fw-bold);
	color: var(--brand-primary);
	line-height: var(--lh-heading-tight);
	margin-bottom: var(--sp-4);
}

/* ========== Hero Section ========== */
.hero-section {
	position: relative;
	width: 100%;
	height: 280px;
	overflow: hidden;
}

.hero-section__bg {
	width: 100%;
	height: 100%;
	background-image: url("/assets/images/hero_bg.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.hero-section__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	background: linear-gradient(
		to right,
		rgba(0, 0, 0, 0.5) 0%,
		transparent 70%
	);
}

.hero-section__overlay > .container {
	display: flex;
	align-items: center;
}

.hero-section__content {
	color: var(--color-light);
	text-align: left;
}

.hero-section__brand {
	font-family: "SVN-Bango", var(--font-family-heading);
	font-size: 36px;
	font-weight: var(--fw-regular);
	line-height: 1;
	margin-bottom: var(--sp-2);
	color: var(--color-light);
}

.hero-section__title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-bold);
	line-height: 1.3;
	margin-bottom: var(--sp-4);
	max-width: 240px;
}

.hero-section__btn {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	background-color: var(--brand-secondary);
	color: var(--color-light);
	padding: 10px 20px;
	border-radius: var(--radius-md);
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-semibold);
	text-decoration: none;
	transition: background-color var(--transition-base);
}

.hero-section__btn:hover {
	background-color: #1a2954;
	color: var(--color-light);
}

.hero-section__btn-icon {
	width: var(--sp-4);
	height: var(--sp-4);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z'/%3E%3C/svg%3E")
		no-repeat center / contain;
}

/* FAB Buttons - Mobile/Tablet Only */
.hero-section__fab-group {
	position: absolute;
	bottom: 100px;
	right: var(--sp-4);
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	z-index: 10;
}

.hero-section__fab {
	width: var(--sp-7);
	height: var(--sp-7);
	border-radius: 50%;
	border: none;
	cursor: pointer;
	box-shadow: var(--shadow-2);
	transition: transform var(--transition-base);
}

.hero-section__fab:hover {
	transform: scale(1.1);
}

.hero-section__fab--chat {
	background: var(--brand-secondary)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z'/%3E%3C/svg%3E")
		no-repeat center / var(--sp-5);
}

.hero-section__fab--phone {
	background: var(--brand-secondary)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z'/%3E%3C/svg%3E")
		no-repeat center / 20px;
}

/* ========== About Section ========== */
.about-section {
	position: relative;
}

.about-section__row {
	gap: 0;
}

.about-section__image-wrapper {
	position: relative;
}

.about-section__deco {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 895px;
	height: auto;
	z-index: 1;
}

.about-section__main-image {
	position: relative;
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: 0;
	z-index: 2;
}

.about-section__content {
	position: relative;
	background-color: var(--color-light);
	border-radius: 0 0 var(--radius-32) 0;
	padding: var(--sp-5) 0 28px;
	margin-left: calc(var(--bs-gutter-x) * 0.5);
	margin-right: calc(var(--bs-gutter-x) * 0.5);
	z-index: 2;
}

.about-section__subtitle {
	font-family: var(--font-family-heading);
	font-size: var(--fs-heading-xl);
	font-weight: var(--fw-regular);
	color: var(--gray-900);
	line-height: var(--lh-heading-tight);
	margin-bottom: var(--sp-2);
	font-style: italic;
}

.about-section__title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-500);
	font-weight: var(--fw-bold);
	color: var(--brand-primary);
	line-height: var(--lh-heading-tight);
	margin-bottom: var(--sp-3);
}

.about-section__description {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-regular);
	color: var(--gray-900);
	line-height: 1.6;
	margin-bottom: var(--sp-5);
}

.about-section__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 20px;
	border-radius: var(--radius-md);
	background-color: var(--brand-secondary);
	color: var(--color-light);
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-semibold);
	text-decoration: none;
	transition: background-color var(--transition-base);
}

.about-section__btn:hover {
	background-color: #1a2954;
	color: var(--color-light);
}

/* Mobile: Card-style layout */
.about-section.section-spacing {
	padding: 0;
}

.about-section > .container {
	padding: 0;
	max-width: 100%;
}

.about-section__row {
	margin: 0;
}

.about-section__content-col,
.about-section__image-col {
	padding: 0;
}

.about-section__image-col {
	margin-top: -50px;
	position: relative;
	z-index: 1;
}

.about-section__image-wrapper {
	margin-left: calc(var(--bs-gutter-x) * 0.5);
	border-radius: 0 0 0 var(--sp-5);
	overflow: hidden;
}

/* ========== Admission Info Section ========== */
.admission-info-section {
	background: none;
	padding: var(--sp-5) 0 var(--sp-6);
}

.admission-info-section__wrapper {
	padding: 0;
}

.admission-info-card {
	background-color: var(--color-light);
	border-radius: 0 0 var(--radius-32) 0;
	padding: var(--sp-5) 0 0;
	box-shadow: none;
	max-width: 100%;
}

.admission-info-card__title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-500);
	font-weight: var(--fw-bold);
	color: var(--brand-primary);
	line-height: var(--lh-heading-tight);
	margin-bottom: var(--sp-3);
}

.admission-info-card__section-title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-semibold);
	color: var(--brand-secondary);
	text-transform: capitalize;
	margin-bottom: var(--sp-2);
}

.admission-info-card__divider {
	border: none;
	height: 2px;
	background-color: var(--brand-secondary);
	margin-bottom: var(--sp-3);
}

.admission-info-card__list {
	list-style: none;
	padding: 0;
	margin-bottom: var(--sp-3);
}

.admission-info-card__list li {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--gray-900);
	line-height: 1.67;
	margin-bottom: var(--sp-3);
	padding-left: var(--sp-3);
	position: relative;
}

.admission-info-card__list li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: var(--brand-primary);
	font-weight: var(--fw-bold);
}

/* Visibility controlled by Bootstrap classes in HTML */

.admission-info-card__image-wrapper {
	margin-top: var(--sp-4);
}

.admission-info-card__image {
	width: 100%;
	display: block;
}

/* ========== Programs Section ========== */
.programs-section {
	background-color: var(--gray-50);
	padding: var(--sp-5) 0 var(--sp-6);
}

.programs-section .container {
	padding: 0 var(--sp-4);
}

/* Visibility controlled by Bootstrap classes in HTML */

.programs-accordion {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	margin-top: var(--sp-4);
}

.programs-accordion__header {
	background-color: var(--color-light);
	border: 1px solid var(--gray-300);
	border-radius: var(--radius-60);
	padding: var(--sp-2) var(--sp-3);
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	font-family: var(--font-family-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--gray-900);
	text-align: left;
	cursor: pointer;
	transition: all var(--transition-base);
}

.programs-accordion__header--active {
	border-color: var(--brand-primary);
}

.programs-accordion__panel {
	display: none;
	margin-top: var(--sp-2);
	overflow-x: auto;
	padding-bottom: var(--sp-1);
}

.programs-accordion__panel--open {
	display: block;
}

.programs-accordion__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: nowrap;
	gap: var(--sp-2);
}

.programs-accordion__list-item {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--gray-900);
	white-space: nowrap;
	padding: var(--sp-2) var(--sp-3);
	background-color: var(--gray-100);
	border-radius: var(--radius-pill);
}

.programs-accordion__global {
	margin-top: var(--sp-5);
	width: 100%;
	display: flex;
	justify-content: center;
}

.programs-accordion__global img {
	display: block;
}

/* ========== News Section ========== */
.news-section {
	background-color: transparent;
	padding: var(--sp-6) 0;
}

.news-section__wrapper {
	padding: var(--sp-4) 0;
}

.news-section .section-title {
	text-align: left;
	margin-bottom: var(--sp-5) !important;
	color: var(--brand-secondary) !important;
}

.news-card--featured {
	box-shadow: none;
	background-color: transparent;
	padding: 0;
	border-radius: 0;
}

.news-card--featured .news-card__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 0;
}

/* .news-card__divider, .news-card__excerpt visibility controlled by Bootstrap classes */

.news-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 0;
}

.news-card__meta-icon {
	width: var(--sp-4);
	height: var(--sp-4);
	object-fit: contain;
}

.news-card__meta-date {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-regular);
	color: var(--gray-600);
}

/* Mobile layout for horizontal news cards */
.news-section .news-card--horizontal {
	display: flex;
	gap: var(--sp-3);
	box-shadow: none;
	border-radius: 0;
	align-items: stretch;
}

.news-section .news-card--horizontal .news-card__thumbnail {
	flex: 0 0 40%;
	max-width: 40%;
	width: 40%;
	height: auto;
	min-height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.news-card--horizontal .news-card__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding-top: 0;
}

.news-card--horizontal .news-card__title {
	font-size: var(--fs-350);
	font-weight: var(--fw-semibold);
	margin-bottom: 0;
	padding-top: var(--sp-2);
}

/* ========== Events Section ========== */
.events-section {
	padding: var(--sp-6) 0;
	position: relative;
}

.events-section__title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-500);
	font-weight: var(--fw-bold);
	color: var(--brand-secondary);
	line-height: var(--lh-heading-tight);
	text-align: left;
	margin-bottom: var(--sp-4);
}

.events-section__list {
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
}

/* Event Card - List Style */
.event-card--list {
	display: flex;
	flex-direction: row;
	gap: var(--sp-3);
	background-color: var(--color-light);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow-1);
}

.event-card__thumbnail {
	flex: 0 0 40%;
	max-width: 40%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.event-card__content {
	flex: 1;
	padding: var(--sp-2);
	display: flex;
	flex-direction: column;
}

.event-card__title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-350);
	font-weight: var(--fw-semibold);
	color: var(--gray-900);
	margin-bottom: var(--sp-1);
	line-height: 1.4;
}

/* .event-card__excerpt visibility controlled by Bootstrap classes */

.event-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	color: var(--gray-500);
}

.event-card__icon {
	width: 15px;
	height: 15px;
}

/* Event Card - Featured Style */
.event-card--featured {
	background-color: var(--brand-secondary);
	border-radius: var(--radius-lg);
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	margin-bottom: var(--sp-4);
}

.event-card__featured-image {
	width: 100%;
	height: auto;
	aspect-ratio: 477 / 369;
	object-fit: cover;
}

.event-card__featured-content {
	padding: var(--sp-4);
	text-align: center;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.event-card__featured-title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--color-light);
	opacity: 0.8;
	margin-bottom: var(--sp-1);
}

.event-card__featured-subtitle {
	font-family: var(--font-family-heading);
	font-size: var(--fs-400);
	font-weight: var(--fw-bold);
	color: var(--color-light);
	margin-bottom: var(--sp-4);
}

/* Countdown */
.event-countdown {
	display: flex;
	justify-content: center;
	gap: var(--sp-3);
	margin-bottom: var(--sp-4);
}

.event-countdown__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 60px;
}

.event-countdown__value {
	font-family: var(--font-family-heading);
	font-size: var(--fs-500);
	font-weight: var(--fw-bold);
	color: var(--brand-secondary);
	line-height: 1;
}

.event-countdown__label {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-regular);
	color: var(--brand-secondary);
	text-transform: uppercase;
}

.event-card__link {
	display: inline-block;
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-semibold);
	color: var(--color-light);
	text-decoration: underline;
	transition: opacity var(--transition-base);
}

.event-card__link:hover {
	opacity: 0.8;
	color: var(--color-light);
}

/* ========== FAQ Section ========== */
.faq-section {
	background-color: #f6f7f8;
}

/* .faq-section__image, .faq-section__heading-main, .faq-section__subtitle--line
   visibility controlled by Bootstrap classes in HTML */

.faq-section__subtitle {
	font-family: var(--font-family-heading);
	font-size: var(--fs-350);
	font-weight: var(--fw-medium);
	color: var(--gray-900);
	margin-bottom: var(--sp-2);
	text-align: center;
}

/* .faq-section__deco visibility controlled by Bootstrap classes */

.faq-section__view-all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--sp-4);
	justify-content: center;
	text-align: center;
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-semibold);
	color: var(--brand-secondary);
	text-decoration: none;
}

.faq-section .col-lg-7 {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.faq-section__view-all span:last-child {
	font-size: var(--fs-body);
}

.faq-section__view-all:hover {
	text-decoration: underline;
}

/* ========== Student Life Section ========== */
.student-life-section {
	background-color: var(--brand-primary);
	padding: var(--sp-6) 0;
	position: relative;
	overflow: hidden;
}

.student-life-section__grid {
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
}

.student-life-section__header {
	max-width: 100%;
	margin-bottom: var(--sp-3);
}

.student-life-section__label {
	font-family: var(--font-family-heading);
	font-size: var(--fs-400);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-heading-tight);
	color: var(--color-light);
	text-transform: capitalize;
	margin-bottom: 5px;
}

.student-life-section__title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-700);
	font-weight: var(--fw-bold);
	line-height: var(--lh-heading-tight);
	color: var(--color-light);
	text-transform: capitalize;
	margin-bottom: var(--sp-2);
}

/* .student-life-section__description visibility controlled by Bootstrap classes */

/* Mobile: Simple 2-column grid layout */
.student-life-section__images {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--sp-2);
}

.student-life-section__col {
	display: contents;
}

.student-life-section__image {
	border-radius: var(--radius-md) !important;
	object-fit: cover;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
}

.student-life-section__view-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: var(--sp-4);
	padding: 6px var(--sp-5);
	border-radius: 0;
	background-color: var(--color-light);
	color: var(--brand-secondary);
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-semibold);
	text-decoration: none;
	align-self: center;
	grid-column: 1 / -1;
}

.student-life-section__view-all:hover {
	text-decoration: none;
	background-color: var(--gray-100);
	color: var(--brand-secondary);
}

/* ========== Registration Section ========== */
.registration-section {
	padding: var(--sp-6) 0;
}

.registration-section__wrapper {
	position: relative;
}

.registration-section__bg {
	display: none;
}

.registration-form {
	background-color: var(--color-light);
	border-radius: var(--radius-lg);
	padding: var(--sp-5) var(--sp-4);
	box-shadow: var(--shadow-2);
}

.registration-form__title {
	font-family: var(--font-family-heading);
	font-size: var(--fs-500);
	font-weight: var(--fw-bold);
	line-height: var(--lh-heading-tight);
	color: var(--brand-accent);
	text-align: center;
	margin-bottom: var(--sp-4);
}

.registration-form__input,
.registration-form__textarea {
	width: 100%;
	height: 44px;
	border: 1px solid var(--gray-border);
	border-radius: var(--radius-md);
	padding: var(--sp-2) var(--sp-3);
	font-family: var(--font-family-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-regular);
	color: var(--gray-900);
	background-color: var(--color-light);
	transition: border-color var(--transition-base);
}

.registration-form__input::placeholder,
.registration-form__textarea::placeholder {
	color: var(--text-muted);
}

.registration-form__input:focus,
.registration-form__textarea:focus {
	outline: none;
	border-color: var(--brand-accent);
}

.registration-form .row.g-3 {
	margin-bottom: var(--sp-3);
}

.registration-form .mb-3 {
	margin-bottom: var(--sp-3) !important;
}

/* Checkboxes - Mobile */
.registration-form__checkboxes {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
	border: none;
	padding: 0;
	margin-bottom: var(--sp-3);
}

.registration-form__checkboxes .form-check {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	margin: 0;
}

.registration-form__checkboxes .form-check-input {
	width: 18px;
	height: 18px;
	background-color: var(--gray-border);
	border: none;
	border-radius: 3px;
	margin: 0;
	cursor: pointer;
	flex-shrink: 0;
}

.registration-form__checkboxes .form-check-input:checked {
	background-color: var(--brand-accent);
}

.registration-form__checkboxes .form-check-input:focus {
	box-shadow: none;
}

.registration-form__checkboxes .form-check-label {
	font-family: var(--font-family-heading);
	font-size: var(--fs-body-sm);
	font-weight: var(--fw-regular);
	color: var(--gray-700);
	cursor: pointer;
	margin: 0;
}

/* Textarea - Mobile */
.registration-form__textarea {
	height: 100px;
	resize: none;
}

/* Submit button - Mobile */
.registration-form__submit {
	width: 100%;
	height: 48px;
	background-color: var(--brand-accent);
	color: var(--color-on-primary);
	font-family: var(--font-family-heading);
	font-size: var(--fs-body);
	font-weight: var(--fw-bold);
	border: none;
	border-radius: var(--radius-md);
	cursor: pointer;
	transition: background-color var(--transition-base);
}

.registration-form__submit:hover {
	background-color: var(--brand-accent-dark);
}

/* ================================================
   TABLET (min-width: 576px) - matches Bootstrap 'sm'
   ================================================ */
@media (min-width: 576px) {
	.section-spacing {
		padding: var(--sp-8) 0;
	}

	.section-title {
		font-size: var(--fs-600);
	}

	/* Hero */
	.hero-section {
		height: 400px;
	}

	.hero-section__brand {
		font-size: 56px;
	}

	.hero-section__title {
		font-size: var(--fs-600);
		max-width: 350px;
	}

	/* About */
	.about-section.section-spacing {
		padding: var(--sp-8) 0;
	}

	.about-section > .container {
		padding: 0 calc(var(--bs-gutter-x) * 0.5);
		max-width: var(--container-xl);
	}

	.about-section__content-col,
	.about-section__image-col {
		padding: 0 calc(var(--bs-gutter-x) * 0.5);
	}

	.about-section__content-col {
		display: flex;
		align-items: center;
	}

	.about-section__image-col {
		margin-top: 0;
		margin-bottom: 0;
	}

	.about-section__content {
		background-color: transparent;
		border-radius: 0;
		padding: var(--sp-2) 0 0 0;
		margin: 0;
	}

	.about-section__subtitle {
		font-size: var(--fs-500);
	}

	.about-section__title {
		font-size: var(--fs-700);
		margin-bottom: var(--sp-4);
	}

	.about-section__description {
		font-weight: var(--fw-medium);
	}

	.about-section__image-wrapper {
		margin-left: 0;
		border-radius: 0;
		overflow: visible;
	}

	.about-section__main-image {
		max-width: 100%;
		border-radius: var(--radius-30);
	}

	/* Admission Info */
	.admission-info-section {
		background-image: url("/assets/images/tuyensinh_bg.png");
		background-size: cover;
		background-position: center;
		padding: var(--sp-8) 0;
	}

	.admission-info-section__wrapper {
		padding: var(--sp-8) 0;
	}

	.admission-info-card {
		border-radius: var(--radius-lg);
		padding: var(--sp-6) var(--sp-4);
		box-shadow: var(--shadow-2);
		max-width: 100%;
		margin: 0 auto;
	}

	.admission-info-card__title {
		font-size: var(--fs-700);
		margin-bottom: var(--sp-4);
	}

	.admission-info-card__section-title {
		font-size: var(--fs-450);
		margin-bottom: var(--sp-3);
	}

	.admission-info-card__divider {
		height: 1px;
		background-color: var(--gray-300);
	}

	.admission-info-card__list {
		margin-bottom: var(--sp-4);
	}

	.admission-info-card__list li {
		font-size: var(--fs-400);
	}

	.admission-info-card__btn {
		background-color: var(--brand-secondary);
		color: var(--color-on-secondary);
		font-family: var(--font-family-heading);
		font-size: var(--fs-body);
		font-weight: var(--fw-semibold);
		text-transform: capitalize;
		padding: var(--sp-3) var(--sp-4);
		border-radius: var(--radius-md);
		text-decoration: none;
		transition: all var(--transition-base);
	}

	.admission-info-card__btn:hover {
		background-color: #1a2954;
		color: var(--color-light);
		transform: translateY(-2px);
		box-shadow: 0 4px 12px rgba(33, 51, 104, 0.3);
	}

	/* Programs - Show tabs, hide accordion */
	.programs-section {
		background-color: var(--gray-50);
		padding: var(--sp-8) 0;
	}

	.programs-section .container {
		padding: 0 calc(var(--bs-gutter-x) * 0.5);
	}

	.programs-tabs {
		justify-content: center;
		align-items: center;
		gap: var(--sp-3);
		list-style: none;
		padding: 0;
		margin-bottom: var(--sp-5);
		flex-wrap: wrap;
	}

	.programs-tabs__item {
		font-family: var(--font-family-heading);
		font-size: var(--fs-body-sm);
		font-weight: var(--fw-medium);
		color: var(--gray-900);
		text-transform: capitalize;
		cursor: pointer;
		transition: all var(--transition-base);
		position: relative;
		padding-bottom: var(--sp-1);
	}

	.programs-tabs__item:hover {
		color: var(--brand-primary);
	}

	.programs-tabs__item--active {
		font-weight: var(--fw-semibold);
		color: var(--brand-primary);
	}

	.programs-tabs__item--active::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: var(--brand-primary);
	}

	.programs-groups {
		position: relative;
	}

	.programs-group {
		display: none;
	}

	.programs-group--active {
		display: block;
	}

	.programs-row {
		display: flex;
		flex-wrap: wrap;
		gap: var(--sp-3);
	}

	.programs-row__item {
		flex: 0 0 260px;
	}

	.programs-row__item--wide {
		flex: 0 0 320px;
	}

	/* .programs-accordion visibility controlled by Bootstrap classes */

	/* News */
	.news-section {
		background-color: var(--brand-primary);
		padding: var(--sp-8) 0;
	}

	.news-section .section-title {
		text-align: center;
		color: var(--color-light) !important;
	}

	.news-card--featured {
		box-shadow: var(--shadow-1);
		background-color: var(--color-light);
		border-radius: var(--radius-lg);
	}

	.news-card--featured .news-card__image {
		border-radius: var(--radius-lg) var(--radius-lg) 0 0;
	}

	/* .news-card__divider, .news-card__excerpt, .news-card__meta
	   visibility controlled by Bootstrap classes */

	.news-section .news-card--horizontal {
		box-shadow: var(--shadow-1);
		border-radius: var(--radius-lg);
	}

	.news-section .news-card--horizontal .news-card__thumbnail {
		flex: 0 0 218px;
		max-width: 218px;
		width: 218px;
		height: auto;
		min-height: 155px;
		border-radius: var(--radius-lg) 0 0 var(--radius-lg);
	}

	.news-card--horizontal .news-card__title {
		font-size: var(--fs-400);
	}

	/* Events */
	.events-section {
		padding: var(--sp-8) 0;
	}

	.events-section__title {
		font-size: var(--fs-600);
		color: var(--brand-primary);
		text-align: left;
		margin-bottom: var(--sp-5);
	}

	.event-card--list {
		gap: var(--sp-4);
	}

	.event-card__thumbnail {
		flex: 0 0 186px;
		max-width: 186px;
		width: 186px;
		height: 169px;
		aspect-ratio: auto;
	}

	.event-card__content {
		padding: var(--sp-3) var(--sp-3) var(--sp-3) 0;
	}

	.event-card__title {
		font-size: var(--fs-400);
		margin-bottom: var(--sp-2);
	}

	/* .event-card__excerpt visibility controlled by Bootstrap classes (d-none d-sm-block) */
	.event-card__excerpt {
		font-family: var(--font-family-heading);
		font-size: var(--fs-body-sm);
		font-weight: var(--fw-regular);
		color: var(--gray-600);
		line-height: 1.5;
		margin-bottom: var(--sp-2);
		-webkit-line-clamp: 2;
		line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.event-card--featured {
		margin-bottom: var(--sp-4);
	}

	.event-card__featured-subtitle {
		font-size: var(--fs-500);
	}

	.event-countdown__value {
		font-size: var(--fs-700);
	}

	/* FAQ */
	.faq-section__image {
		width: 100%;
		max-width: 100%;
		height: auto;
		border-radius: var(--radius-30);
		margin-bottom: var(--sp-4);
	}

	.faq-section__subtitle {
		font-size: var(--fs-400);
		text-align: left;
	}

	.faq-section__deco {
		position: absolute;
		top: 80px;
		right: 0;
		width: 100px;
		height: auto;
		opacity: 0.5;
	}

	/* Student Life */
	.student-life-section {
		padding: 60px 0;
	}

	.student-life-section__grid {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		gap: 0;
	}

	.student-life-section__header {
		grid-column: 1 / -1;
		grid-row: 1;
		padding-top: 55px;
		margin-bottom: var(--sp-6);
		max-width: 100%;
		text-align: left;
	}

	.student-life-section__label {
		font-size: var(--fs-500);
	}

	.student-life-section__title {
		font-size: var(--fs-700);
	}

	.student-life-section__description {
		font-family: var(--font-family-heading);
		font-size: var(--fs-body);
		font-weight: var(--fw-regular);
		color: var(--color-light);
		line-height: 1.57;
	}

	.student-life-section__images {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--sp-4);
	}

	.student-life-section__col {
		display: flex;
		flex-direction: column;
		gap: var(--sp-4);
	}

	.student-life-section__col--left {
		grid-row: auto;
		grid-column: auto;
	}

	.student-life-section__col--middle {
		grid-row: auto;
		grid-column: auto;
	}

	.student-life-section__col--right {
		grid-row: auto;
		grid-column: auto;
		display: flex;
	}

	.student-life-section__image {
		border-radius: var(--radius-lg) !important;
		height: auto !important;
	}

	/* Left column - tall image */
	.student-life-section__col--left .student-life-section__image--tall {
		aspect-ratio: 390 / 620 !important;
		height: 100% !important;
	}

	/* Middle column images */
	.student-life-section__col--middle .student-life-section__image:nth-child(1) {
		aspect-ratio: 389 / 362 !important;
	}

	.student-life-section__col--middle .student-life-section__image:nth-child(2),
	.student-life-section__col--middle .student-life-section__image:nth-child(3) {
		aspect-ratio: 389 / 255 !important;
	}

	/* Right column images */
	.student-life-section__col--right .student-life-section__image:nth-child(1) {
		aspect-ratio: 387 / 497 !important;
	}

	.student-life-section__col--right .student-life-section__image:nth-child(2) {
		aspect-ratio: 387 / 390 !important;
	}

	/* Registration */
	.registration-section__bg {
		display: block;
		width: 100%;
		height: 400px;
		object-fit: cover;
		border-radius: var(--radius-10);
	}

	.registration-form {
		position: relative;
		max-width: 1000px;
		margin-top: var(--sp-4);
		margin-left: auto;
		margin-right: auto;
		background-color: var(--color-light);
		border-radius: var(--radius-10);
		padding: 30px 40px;
		box-shadow: var(--shadow-2);
	}

	.registration-form__title {
		font-family: var(--font-family-heading);
		font-size: var(--fs-450);
		font-weight: var(--fw-bold);
		line-height: var(--lh-heading-tight);
		color: var(--brand-accent);
		text-align: left;
		margin-bottom: 21px;
	}

	.registration-form__input,
	.registration-form__textarea {
		width: 100%;
		height: 38px;
		border: 1px solid var(--gray-border);
		border-radius: var(--radius-10);
		padding: 9px 13px;
		font-family: var(--font-family-heading);
		font-size: var(--fs-body-sm);
		font-weight: var(--fw-regular);
		line-height: 17px;
		color: var(--text-muted);
		background-color: var(--color-light);
		transition: border-color var(--transition-base);
	}

	.registration-form__input::placeholder,
	.registration-form__textarea::placeholder {
		color: var(--text-muted);
	}

	.registration-form__input:focus,
	.registration-form__textarea:focus {
		outline: none;
		border-color: var(--brand-accent);
	}

	.registration-form .row.g-3 {
		gap: 0;
		margin-bottom: 18px;
	}

	.registration-form .row.g-3 .col-md-6:first-child {
		padding-right: 15px;
	}

	.registration-form .row.g-3 .col-md-6:last-child {
		padding-left: 15px;
	}

	.registration-form .mb-3 {
		margin-bottom: 18px;
	}

	/* Checkboxes */
	.registration-form__checkboxes {
		flex-direction: row;
		gap: 35px;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: 18px;
	}

	.registration-form__checkboxes .form-check {
		display: flex;
		align-items: center;
		gap: var(--sp-2);
		margin: 0;
	}

	.registration-form__checkboxes .form-check-input {
		width: 17px;
		height: 17px;
		background-color: var(--gray-border);
		border: none;
		border-radius: 2px;
		margin: 0;
		cursor: pointer;
	}

	.registration-form__checkboxes .form-check-input:checked {
		background-color: var(--brand-accent);
		border: none;
	}

	.registration-form__checkboxes .form-check-input:focus {
		box-shadow: none;
	}

	.registration-form__checkboxes .form-check-label {
		font-family: var(--font-family-heading);
		font-size: var(--fs-body-sm);
		font-weight: var(--fw-regular);
		line-height: 1.2;
		color: var(--text-muted);
		cursor: pointer;
		margin: 0;
	}

	/* Textarea */
	.registration-form__textarea {
		height: 100px;
		resize: none;
		padding-top: 9px;
	}

	/* Submit button */
	.registration-form__submit {
		width: 100%;
		height: 49px;
		background-color: var(--brand-accent);
		color: var(--color-on-primary);
		font-family: var(--font-family-heading);
		font-size: var(--fs-body);
		font-weight: var(--fw-bold);
		line-height: 1.2;
		border: none;
		border-radius: var(--radius-10);
		cursor: pointer;
		transition: background-color var(--transition-base);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.registration-form__submit:hover {
		background-color: var(--brand-accent-dark);
	}
}

/* ================================================
   DESKTOP (min-width: 1200px)
   ================================================ */
@media (min-width: 1200px) {
	.section-title {
		font-size: var(--fs-700);
	}

	/* Hero */
	.hero-section {
		height: 500px;
	}

	/* .hero-section__overlay, .hero-section__fab-group visibility controlled by Bootstrap classes */

	/* About */
	.about-section__subtitle {
		font-size: var(--fs-600);
	}

	.about-section__title {
		font-size: var(--fs-900);
	}

	/* .about-section__deco visibility controlled by Bootstrap classes */

	.about-section__main-image {
		max-width: 618px;
	}

	/* Admission */
	.admission-info-card__title {
		font-size: var(--fs-700);
	}

	.admission-info-card__section-title {
		font-size: var(--fs-450);
	}

	.admission-info-card__list li {
		font-size: var(--fs-400);
	}

	/* Programs */
	.programs-tabs {
		gap: var(--sp-6);
	}

	.programs-tabs__item {
		font-size: var(--fs-350);
	}

	/* Events */
	.events-section__title {
		font-size: var(--fs-700);
	}

	.events-section__list {
		padding-right: var(--sp-4);
	}

	.event-card__title {
		font-size: var(--fs-400);
	}

	/* FAQ */
	.faq-section__image {
		max-width: 452px;
	}

	.faq-section__subtitle {
		font-size: var(--fs-425);
	}

	.faq-section__deco {
		width: 120px;
		top: 110px;
	}

	/* Student Life - Desktop only overrides */
	.student-life-section__title {
		font-size: var(--fs-900);
	}

	/* Registration */
	.registration-section__bg {
		height: 543px;
	}

	.registration-form {
		margin: -200px auto 0;
		padding: 46px 96px;
	}

	.registration-form__title {
		font-size: 26px;
	}

	.registration-form .row.g-3 .col-md-6:first-child {
		padding-right: 9px;
	}

	.registration-form .row.g-3 .col-md-6:last-child {
		padding-left: 9px;
	}
}
