/*
Theme Name: IH Bhatia
Author: Codex
Description: Hardcoded school website theme for IH Bhatia Pre-Primary School.
Version: 1.0.0
Text Domain: ihbhatia
*/

:root {
	--ink: #1e293b;
	--muted: #64748b;
	--paper: #fff;
	--hero-bg: #eef3fb;
	--cream: #fff4dc;
	--teal: #0f766e;
	--leaf: #16a34a;
	--sun: #f59e0b;
	--rose: #ed1474;
	--sky: #0284c7;
	--navy: #073b8e;
	--line: rgba(30, 41, 59, 0.12);
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	color: var(--ink);
	font-family: "Poppins", Arial, Helvetica, sans-serif;
	background: var(--paper);
	line-height: 1.6;
}

a {
	color: inherit;
	text-decoration: none;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 10;
	background: #fff;
	box-shadow: 0 1px 0 rgba(7, 59, 142, 0.06);
}

.header-navbar {
	min-height: 80px;
	padding: 0;
}

.header-container {
	width: 100%;
	max-width: none;
	padding-right: 200px;
	padding-left: 200px;
}

.brand {
	display: inline-flex;
	align-items: center;
	padding: 0;
}

.brand-logo {
	display: block;
	width: auto;
	height: 70px;
	max-width: 300px;
	object-fit: contain;
}

.header-menu {
	gap: 20px;
}

.header-menu .nav-link {
	position: relative;
	padding: 32px 0 29px;
	color: var(--navy);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.header-menu .nav-link:hover,
.header-menu .nav-link.active {
	color: var(--rose);
}

.header-menu .nav-link.active::after {
	position: absolute;
	right: 0;
	bottom: 21px;
	left: 0;
	height: 3px;
	background: var(--rose);
	border-radius: 999px;
	content: "";
}

.inquiry-btn,
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 11px 28px;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	background: var(--rose);
	border: 0;
	border-radius: 7px;
	box-shadow: none;
}

.inquiry-btn:hover,
.button:hover {
	color: #fff;
	background: #d90f68;
}

.home-hero {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: clamp(420px, 36.6vw, 702px);
	min-height: 0;
	background:
		var(--hero-bg)
		url("../../../../uploads/2026/08/hero-banner.png")
		center bottom / 100% auto
		no-repeat;
}

.hero-container {
	position: relative;
	width: 100%;
	max-width: none;
	height: 100%;
	min-height: 0;
	padding-right: 0;
	padding-left: 0;
}

.hero-row {
	position: relative;
	z-index: 2;
	height: 100%;
	min-height: 0;
	margin-right: 0;
	margin-left: 0;
}

.hero-content {
	position: absolute;
	top: 21%;
	left: 200px;
	z-index: 3;
	width: min(520px, 42vw);
	padding: 0;
}

.hero-content h1 {
	max-width: none;
	margin: 0 0 1.05vw;
	color: var(--rose);
	font-size: clamp(22px, 2.5vw, 40px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

.hero-content p {
	max-width: none;
	margin: 0;
	color: #242527;
	font-size: clamp(10px, 0.84vw, 16px);
	line-height: 1.45;
	font-size: 16px;
}

.hero-visual {
	display: none;
}

.hero-abc-img {
	position: absolute;
	bottom: 5%;
	left: 200px;
	z-index: 3;
	width: 22%;
	max-width: 420px;
	min-width: 230px;
	height: auto;
}

.page-hero {
	background:
		linear-gradient(90deg, rgba(15, 118, 110, 0.93), rgba(2, 132, 199, 0.78)),
		url("../../../twentytwentyfive/assets/images/botany-flowers-closeup.webp") center/cover;
	color: #fff;
}

.page-hero .section {
	padding-top: 110px;
	padding-bottom: 96px;
}

.page-hero.compact .section {
	padding-top: 90px;
	padding-bottom: 90px;
}

.breadcrumb-section {
	position: relative;
	overflow: hidden;
	padding: 96px 0 104px;
	background: #f1f5fd;
}

.breadcrumb-section::before,
.breadcrumb-section::after {
	position: absolute;
	display: block;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.breadcrumb-section::before {
	bottom: -110px;
	left: -84px;
	width: 210px;
	height: 210px;
}

.breadcrumb-section::after {
	top: -62px;
	right: -38px;
	width: 165px;
	height: 165px;
}

.breadcrumb-section .site-section-container {
	position: relative;
	z-index: 2;
}

.breadcrumb-star {
	position: absolute;
	z-index: 1;
	display: block;
	pointer-events: none;
	user-select: none;
}

.breadcrumb-star-large {
	top: 104px;
	right: 27.4%;
	width: 48px;
}

.breadcrumb-star-small {
	top: 116px;
	right: 24.7%;
	width: 25px;
}

.breadcrumb-section h1 {
	margin: 0 0 24px;
	color: var(--rose);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

.breadcrumb-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #242527;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
}

.breadcrumb-nav a {
	color: #242527;
}

.breadcrumb-nav span[aria-hidden="true"] {
	color: var(--rose);
	font-size: 18px;
	line-height: 1;
}

.breadcrumb-nav span:last-child {
	color: #1d4ca1;
}

.educational-approach-section {
	padding: 56px 0 66px;
	background: #fff;
}

.educational-approach-row {
	--bs-gutter-x: 86px;
	--bs-gutter-y: 30px;
	align-items: flex-start;
}

.educational-approach-content {
	max-width: 1160px;
	margin: 0 auto;
}

.educational-approach-heading {
	margin: 0 0 22px;
}

.educational-approach-heading h2 {
	margin: 0;
	color: #1d4ca1;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.educational-approach-heading .section-heading-line {
	margin: 18px 0 0;
}

.educational-approach-content p,
.educational-approach-point p {
	margin: 0;
	color: #4d5568;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: 0;
}

.educational-approach-points {
	margin-top: 18px;
}

.educational-approach-points-secondary {
	margin-top: 0;
}

.educational-approach-point + .educational-approach-point {
	margin-top: 18px;
}

.educational-approach-point h3 {
	margin: 0 0 4px;
	color: #1d4ca1;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0;
}

.educational-approach-image-wrap {
	position: relative;
	max-width: 584px;
	margin: 0 0 0 auto;
}

.educational-approach-image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 28px;
}

.educational-approach-star {
	position: absolute;
	bottom: -22px;
	left: -32px;
	width: 70px;
	pointer-events: none;
	user-select: none;
}

.philosophy-goals-section {
	position: relative;
	overflow: hidden;
	padding: 92px 0 112px;
	background: #d9f0ff;
}

.philosophy-card {
	position: relative;
	z-index: 2;
	max-width: 1020px;
	margin: 0 auto;
	padding: 54px 58px 46px;
	background: #fff;
	border-radius: 22px;
	box-shadow: 0 8px 0 #1d4ca1, 0 18px 30px rgba(29, 76, 161, 0.18);
}

.philosophy-card + .philosophy-card {
	margin-top: 96px;
}

.philosophy-icon {
	display: block;
	width: 78px;
	height: 78px;
	margin-bottom: 28px;
}

.philosophy-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.philosophy-card h2 {
	margin: 0 0 26px;
	color: #1d4ca1;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.philosophy-card p,
.philosophy-goal-list li {
	color: #242527;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0;
}

.philosophy-card p {
	margin: 0;
}

.philosophy-card p + p {
	margin-top: 24px;
}

.philosophy-card-star {
	position: absolute;
	right: -42px;
	top: 50%;
	z-index: -1;
	width: 84px;
	opacity: 0.45;
	transform: translateY(-50%);
	pointer-events: none;
	user-select: none;
}

.philosophy-goal-list {
	--bs-gutter-x: 76px;
	--bs-gutter-y: 0;
	margin-top: 38px;
}

.philosophy-goal-list ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding-left: 22px;
}

.philosophy-goal-list li::marker {
	color: #1d4ca1;
}

.principal-message-section {
	position: relative;
	overflow: hidden;
	padding: 96px 0 118px;
	background: #fff;
}

.principal-message-section .site-section-container {
	position: relative;
}

.principal-message-row {
	--bs-gutter-x: 94px;
	--bs-gutter-y: 48px;
	align-items: flex-start;
}

.principal-profile {
	position: relative;
	max-width: 390px;
	margin: 0 auto;
	text-align: center;
}

.principal-image-shell {
	position: relative;
	z-index: 2;
}

.principal-image-shell img {
	display: block;
	width: 100%;
	height: auto;
}

.principal-profile h2 {
	position: relative;
	z-index: 2;
	margin: 34px 0 6px;
	color: #1d4ca1;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.principal-profile p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: var(--rose);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
}

.principal-message-content {
	max-width: 650px;
}

.principal-message-heading {
	margin: 0 0 42px;
}

.principal-message-heading h1 {
	max-width: 590px;
	margin: 0;
	color: #1d4ca1;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: 0;
}

.principal-message-heading .section-heading-line {
	margin: 18px 0 0;
}

.principal-message-content p {
	margin: 0 0 24px;
	color: #4b5565;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.62;
	letter-spacing: 0;
}

.principal-signature {
	margin-top: 4px;
}

.principal-signature strong {
	display: block;
	color: #1d4ca1;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.2;
}

.principal-signature span {
	display: block;
	margin-top: 4px;
	color: #242527;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
}

.principal-message-star {
	position: absolute;
	pointer-events: none;
	user-select: none;
}

.principal-message-star-large {
	top: 92px;
	right: 14%;
	width: 64px;
}

.principal-message-star-small {
	bottom: 162px;
	left: 17%;
	width: 34px;
	opacity: 0.45;
}

.principal-commitment-section {
	padding: 0 0 110px;
	background: #fff;
}

.principal-commitment-box {
	position: relative;
	max-width: 1120px;
	margin: 0 auto;
	padding: 74px 66px 58px;
	border: 2px solid #242527;
	border-radius: 14px;
	background: #fff;
}

.principal-commitment-heading {
	position: absolute;
	top: -33px;
	left: 50%;
	min-width: 360px;
	padding: 0 34px;
	text-align: center;
	background: #fff;
	transform: translateX(-50%);
}

.principal-commitment-heading h2 {
	margin: 0;
	color: #1d4ca1;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.principal-commitment-heading .section-heading-line {
	width: 84px;
	height: 6px;
	margin: 12px auto 0;
}

.principal-commitment-list {
	--bs-gutter-x: 88px;
	--bs-gutter-y: 34px;
}

.commitment-item {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.commitment-number {
	display: inline-flex;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	background: var(--rose);
	border-radius: 50%;
}

.commitment-item p {
	max-width: 420px;
	margin: 0;
	color: #242527;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0;
}

.admission-process-section {
	padding: 34px 0 112px;
	background: #fff;
}

.admission-action-row {
	--bs-gutter-x: 34px;
	--bs-gutter-y: 18px;
	max-width: 1080px;
	margin: 0 auto 132px;
}

.admission-action-card {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 88px;
	padding: 20px 28px;
	border: 2px solid transparent;
	border-radius: 16px;
}

.admission-action-card-blue {
	background: #eff7ff;
	border-color: #d7e8ff;
}

.admission-action-card-pink {
	background: #fff2f7;
	border-color: #ffc8da;
}

.admission-action-icon {
	display: inline-flex;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
}

.admission-action-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.admission-action-content {
	flex: 1 1 auto;
	min-width: 0;
}

.admission-action-content h2 {
	margin: 0 0 3px;
	color: #1d4ca1;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

.admission-action-card-pink .admission-action-content h2 {
	color: var(--rose);
}

.admission-action-content p {
	margin: 0;
	color: #4d5568;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
}

.admission-action-btn {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	min-width: 126px;
	min-height: 42px;
	padding: 11px 24px;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	border-radius: 8px;
}

.admission-action-btn:hover {
	color: #fff;
}

.admission-action-btn-blue {
	background: #1d4ca1;
}

.admission-action-btn-pink {
	background: var(--rose);
}

.admission-process-heading {
	max-width: 760px;
	margin: 0 auto 60px;
	text-align: center;
}

.admission-process-heading h2 {
	margin: 0;
	color: #1d4ca1;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.admission-process-heading .section-heading-line {
	width: 84px;
	height: 6px;
	margin: 18px auto 28px;
}

.admission-process-heading p {
	margin: 0;
	color: #4d5568;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0;
}

.admission-step-track {
	position: relative;
	max-width: 1160px;
	margin: 0 auto;
}

.admission-step-track::before {
	display: none;
}

.admission-step-row {
	--bs-gutter-x: 64px;
	--bs-gutter-y: 62px;
	position: relative;
	z-index: 2;
	justify-content: center;
}

.admission-step-card {
	text-align: center;
}

.admission-step-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 112px;
	height: 112px;
	margin: 0 auto 22px;
}

.admission-step-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.admission-step-card span {
	display: block;
	margin: 0 0 8px;
	color: var(--rose);
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
}

.admission-step-card h3 {
	margin: 0;
	color: #1d4ca1;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: 0;
}

.admission-step-card p {
	max-width: 240px;
	margin: 0 auto;
	color: #4d5568;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0;
}

.admission-eligibility-section {
	padding: 94px 0 104px;
	background: #f2f5fb;
}

.admission-eligibility-row {
	--bs-gutter-x: 68px;
	--bs-gutter-y: 44px;
	max-width: 1080px;
	margin: 0 auto;
	align-items: flex-start;
}

.admission-info-heading {
	margin: 0 0 36px;
}

.admission-info-heading h2 {
	margin: 0;
	color: #1d4ca1;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

.admission-info-heading .section-heading-line {
	width: 56px;
	height: 5px;
	margin: 14px 0 0;
}

.eligibility-table-wrap,
.documents-card {
	overflow: hidden;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 16px 32px rgba(23, 42, 74, 0.12);
}

.eligibility-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}

.eligibility-table th,
.eligibility-table td {
	padding: 20px 30px;
	color: #4d5568;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0;
}

.eligibility-table thead th {
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	background: #1d4ca1;
}

.eligibility-table tbody th {
	color: #1d4ca1;
	font-weight: 800;
}

.eligibility-table tbody tr + tr {
	border-top: 1px solid #eef0f4;
}

.documents-card {
	padding: 34px 40px;
}

.documents-card ul {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.documents-card li {
	color: #4d5568;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.42;
	letter-spacing: 0;
}

.contact-info-section {
	position: relative;
	padding: 86px 0 92px;
	background: #fff;
}

.contact-info-row {
	--bs-gutter-x: 88px;
	--bs-gutter-y: 46px;
	max-width: 1080px;
	margin: 0 auto;
	align-items: flex-start;
}

.contact-heading h1 {
	margin: 0 0 34px;
	color: #1d4ca1;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

.contact-detail-list {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.contact-detail-item {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.contact-detail-item img {
	display: block;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	object-fit: contain;
}

.contact-detail-item-plain {
	padding-left: 62px;
}

.contact-detail-item h2,
.contact-social h2 {
	margin: 0 0 7px;
	color: #1d4ca1;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

.contact-detail-item p,
.contact-detail-item a {
	margin: 0;
	color: #4d5568;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.58;
	letter-spacing: 0;
}

.contact-social {
	margin-top: 42px;
}

.contact-social-links {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 14px;
}

.contact-social-links a {
	display: inline-flex;
}

.contact-social-links img {
	display: block;
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.contact-form-card {
	position: relative;
	padding: 38px 36px;
	background: #fff;
	border: 1px solid #e2ebf7;
	border-radius: 24px;
	box-shadow: 0 18px 42px rgba(23, 42, 74, 0.08);
}

.contact-form-row {
	--bs-gutter-x: 22px;
	--bs-gutter-y: 24px;
}

.contact-hidden-field {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.contact-form-alert {
	margin: 0 0 22px;
	padding: 13px 16px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	border-radius: 10px;
}

.contact-form-alert-success {
	color: #0f5132;
	background: #dff5e8;
	border: 1px solid #b8e8c9;
}

.contact-form-alert-error {
	color: #842029;
	background: #fff0f3;
	border: 1px solid #ffc2ce;
}

.contact-form-card label {
	display: block;
	margin: 0 0 10px;
	color: #1d4ca1;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

.contact-form-card input,
.contact-form-card textarea {
	display: block;
	width: 100%;
	padding: 15px 18px;
	color: #242527;
	font: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	background: #fbfcff;
	border: 1px solid #d9e6f8;
	border-radius: 10px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form-card textarea {
	min-height: 138px;
	resize: vertical;
}

.contact-form-card input::placeholder,
.contact-form-card textarea::placeholder {
	color: #aab4c3;
}

.contact-form-card input:focus,
.contact-form-card textarea:focus {
	border-color: #1d4ca1;
	box-shadow: 0 0 0 3px rgba(29, 76, 161, 0.1);
}

.contact-form-card button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 14px 28px;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	background: var(--rose);
	border: 0;
	border-radius: 9px;
}

.contact-map-section {
	height: 430px;
	overflow: hidden;
	background: #eef3fb;
}

.contact-map-link,
.contact-map-link iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
	gap: 46px;
	align-items: center;
	max-width: 1160px;
	min-height: 680px;
	margin: 0 auto;
	padding: 90px 22px 70px;
}

.eyebrow {
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

h1 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(44px, 8vw, 86px);
	line-height: 0.95;
	letter-spacing: 0;
}

.hero-copy {
	max-width: 650px;
	margin: 22px 0 30px;
	font-size: 20px;
	color: rgba(255, 255, 255, 0.9);
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.button.secondary {
	color: #123;
	background: #fff;
	box-shadow: none;
}

.stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--line);
}

.stat {
	padding: 18px;
	border-right: 1px solid var(--line);
	background: #fff;
}

.stat:last-child {
	border-right: 0;
}

.stat strong {
	display: block;
	font-size: 26px;
	line-height: 1;
}

.section {
	max-width: 1160px;
	margin: 0 auto;
	padding: 76px 22px;
}

.site-section-container {
	width: 100%;
	padding-right: 200px;
	padding-left: 200px;
}

.welcome-content h2,
.mission-content h2,
.journey-header h2,
.section-heading h2,
.school-goal-heading h2,
.parent-partnership-copy h2 {
	font-size: 30px;
}

.welcome-mission-section {
	position: relative;
	z-index: 2;
	padding: 58px 0 82px;
	background: #fff;
}

.welcome-mission-row {
	--bs-gutter-x: 78px;
	align-items: flex-start;
}

.welcome-content h2 {
	margin: 0 0 20px;
	color: var(--rose);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: 0;
}

.mission-content h2 {
	margin: 0 0 14px;
	color: #1f4f9e;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
}

.welcome-content p,
.mission-content p {
	margin: 0;
	color: #242527;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0;
}

.welcome-content p + p {
	margin-top: 22px;
}

.mission-more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	min-height: 46px;
	margin-top: 22px;
	padding: 12px 25px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	background: var(--rose);
	border: 0;
	border-radius: 8px;
}

.mission-more-btn:hover {
	color: #fff;
	background: #d90f68;
}

.child-journey-section {
	position: relative;
	overflow: hidden;
	min-height: 710px;
	padding: 76px 0 0;
	background: #d9f0ff;
}

.journey-container {
	position: relative;
	z-index: 2;
	margin: 0;
}

.journey-header {
	max-width: 620px;
	margin: 0 auto 42px;
	text-align: center;
}

.journey-header h2 {
	margin: 0;
	color: #1d4ca1;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: 0;
}

.journey-circle-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 980px;
	margin: 0 auto 22px;
}

.journey-circle-item {
	overflow: hidden;
	width: 218px;
	height: 218px;
	margin: 0 auto;
	border-radius: 50%;
	background: #b8dff5;
}

.journey-circle-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.journey-content-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 430px) minmax(0, 1fr);
	align-items: end;
	min-height: 338px;
	margin-top: 0;
	padding-top: 50px;
}

.journey-copy {
	max-width: 350px;
	padding-bottom: 112px;
}

.journey-copy-left {
	justify-self: start;
}

.journey-copy-right {
	justify-self: end;
}

.journey-copy h3 {
	margin: 0 0 12px;
	color: var(--rose);
	font-size: 28px;
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: 0;
}

.journey-copy p {
	margin: 0;
	color: #242527;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0;
}

.journey-girl-wrap {
	position: relative;
	align-self: end;
	justify-self: center;
	width: 386px;
	max-width: 100%;
}

.journey-girl-img {
	display: block;
	width: 100%;
	height: auto;
}

.journey-strip,
.journey-star {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	user-select: none;
}

.journey-strip-left {
	bottom: -165px;
	left: -28px;
	width: 610px;
	opacity: 0.75;
}

.journey-strip-right {
	top: -80px;
	right: -22px;
	width: 710px;
	opacity: 0.70;
}

.journey-star-one {
	top: 162px;
	left: 20%;
	width: 40px;
}

.journey-star-two {
	top: 236px;
	right: 28.4%;
	width: 20px;
}

.journey-star-three {
	top: 420px;
	left: 31.2%;
	width: 18px;
}

.journey-star-four {
	top: 434px;
	right: 27.6%;
	width: 28px;
}

.learning-approach-section {
	padding: 128px 0 82px;
	background: #fff;
}

.section-heading {
	margin: 0 0 70px;
}

.section-heading h2 {
	margin: 0;
	color: #242527;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

.section-heading-line {
	display: block;
	width: 92px;
	height: 6px;
	margin: 22px auto 0;
	background: var(--rose);
	border-radius: 999px;
}

.approach-row {
	--bs-gutter-x: 62px;
}

.approach-content {
	max-width: 475px;
}

.approach-feature + .approach-feature {
	margin-top: 54px;
}

.approach-feature h3 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	color: #1d4ca1;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
}

.approach-feature:nth-of-type(2) h3 {
	color: var(--rose);
}

.approach-feature h3 img {
	display: block;
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.approach-feature p {
	margin: 0;
	color: #242527;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0;
}

.approach-more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 130px;
	min-height: 44px;
	margin-top: 30px;
	padding: 12px 28px;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	background: var(--rose);
	border: 0;
	border-radius: 8px;
}

.approach-more-btn:hover {
	color: #fff;
	background: #d90f68;
}

.approach-visual {
	max-width: 758px;
	margin: 0 0 0 auto;
}

.approach-visual img {
	display: block;
	width: 100%;
	height: auto;
}

.school-goal-section {
	padding: 70px 0 94px;
	background: #fff;
}

.school-goal-box {
	position: relative;
	padding: 74px 72px 54px;
	border: 2px dashed #242527;
	border-radius: 18px;
}

.school-goal-heading {
	position: absolute;
	top: -36px;
	left: 50%;
	min-width: 330px;
	padding: 0 34px;
	text-align: center;
	background: #fff;
	transform: translateX(-50%);
}

.school-goal-heading h2 {
	margin: 0;
	color: #1d4ca1;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.school-goal-heading .section-heading-line {
	width: 84px;
	height: 6px;
	margin-top: 9px;
}

.school-goal-list {
	--bs-gutter-x: 72px;
	--bs-gutter-y: 0;
}

.goal-list {
	display: flex;
	flex-direction: column;
	gap: 23px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: goal-counter;
}

.goal-list[start="6"] {
	counter-reset: goal-counter 5;
}

.goal-list li {
	display: flex;
	align-items: center;
	gap: 16px;
	color: #242527;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.35;
	counter-increment: goal-counter;
}

.goal-list li::before {
	display: inline-flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	background: var(--rose);
	border-radius: 50%;
	content: counter(goal-counter);
}

.parent-partnership-section {
	padding: 0 0 96px;
	background: #fff;
}

.parent-partnership-box {
	padding: 58px 72px;
	background: #eef6ff;
	border: 1px solid #cfe4ff;
	border-radius: 14px;
}

.parent-partnership-row {
	--bs-gutter-x: 92px;
	--bs-gutter-y: 34px;
}

.parent-partnership-image {
	margin: 0;
}

.parent-partnership-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
}

.parent-partnership-content {
	max-width: 590px;
}

.parent-partnership-copy + .parent-partnership-copy {
	margin-top: 34px;
	padding-top: 30px;
	border-top: 1px solid #cfe0f4;
}

.parent-partnership-copy h2 {
	margin: 0 0 16px;
	color: #1d4ca1;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
}

.parent-partnership-copy p {
	margin: 0;
	color: #242527;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0;
}

.parent-contact-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 128px;
	min-height: 46px;
	margin-top: 34px;
	padding: 12px 28px;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	background: var(--rose);
	border: 0;
	border-radius: 8px;
}

.parent-contact-btn:hover {
	color: #fff;
	background: #d90f68;
}

.section-title {
	max-width: 760px;
	margin: 0 0 34px;
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.05;
}

.grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.card {
	min-height: 240px;
	padding: 26px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
}

.card-icon {
	display: grid;
	width: 46px;
	height: 46px;
	margin-bottom: 18px;
	place-items: center;
	color: #fff;
	background: var(--sky);
	border-radius: 8px;
	font-weight: 800;
}

.card:nth-child(2) .card-icon {
	background: var(--sun);
}

.card:nth-child(3) .card-icon {
	background: var(--leaf);
}

.split {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 38px;
	align-items: center;
}

.photo-band {
	min-height: 420px;
	border-radius: 8px;
	background: url("../../../twentytwentyfive/assets/images/nurse.webp") center/cover;
}

.principal-panel {
	padding: 28px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
}

.principal-photo {
	display: grid;
	width: 100%;
	min-height: 320px;
	margin-bottom: 22px;
	place-items: center;
	color: var(--muted);
	font-weight: 800;
	background:
		linear-gradient(135deg, rgba(245, 158, 11, 0.18), rgba(15, 118, 110, 0.16)),
		#fff;
	border: 1px dashed var(--line);
	border-radius: 8px;
}

.gallery-moments-section {
	padding: 86px 0 106px;
	background: #fff;
}

.gallery-moments-grid {
	--bs-gutter-x: 34px;
	--bs-gutter-y: 42px;
	justify-content: center;
	max-width: 1060px;
	margin: 0 auto;
}

.gallery-moment-card {
	display: block;
	position: relative;
	width: 100%;
	max-width: 300px;
	height: 310px;
	margin: 0 auto;
	overflow: hidden;
	border: 4px solid #fff;
	border-radius: 18px;
	box-shadow: 0 12px 26px rgba(23, 42, 74, 0.18);
}

.gallery-moment-card:hover {
	color: inherit;
}

.gallery-moment-card::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 35, 81, 0.08) 0%, rgba(29, 76, 161, 0.72) 100%);
	content: "";
}

.gallery-moment-card img {
	display: block;
	width: 100%;
	height: 310px;
	object-fit: cover;
}

.gallery-moment-card h2 {
	position: absolute;
	right: 24px;
	bottom: 26px;
	left: 24px;
	z-index: 2;
	margin: 0;
	color: #fff;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: 0;
}

.gallery-extra-card {
	display: none;
}

.gallery-extra-card-visible {
	display: block;
}

.gallery-load-more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 72px;
}

.gallery-load-more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 282px;
	min-height: 54px;
	padding: 15px 34px;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	background: var(--rose);
	border: 0;
	border-radius: 9px;
}

.gallery-album-section {
	padding: 78px 0 106px;
	background: #fff;
}

.gallery-album-heading {
	max-width: 1060px;
	margin: 0 auto 44px;
}

.gallery-back-link {
	display: inline-flex;
	margin-bottom: 18px;
	color: var(--rose);
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
}

.gallery-album-heading h1 {
	margin: 0;
	color: #1d4ca1;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.gallery-album-heading .section-heading-line {
	width: 84px;
	height: 6px;
	margin: 16px 0 0;
}

.gallery-album-grid {
	--bs-gutter-x: 34px;
	--bs-gutter-y: 34px;
	max-width: 1060px;
	margin: 0 auto;
}

.gallery-album-photo {
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 4px solid #fff;
	border-radius: 18px;
	box-shadow: 0 12px 26px rgba(23, 42, 74, 0.16);
}

.gallery-album-photo img {
	display: block;
	width: 100%;
	height: 280px;
	object-fit: cover;
}

.list {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.list li {
	padding: 16px 18px;
	border-left: 5px solid var(--teal);
	background: #fff;
	border-radius: 0 8px 8px 0;
}

.contact {
	background: #12343b;
	color: #fff;
}

.contact-page {
	margin-top: 0;
}

.contact .section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}

.contact p {
	color: rgba(255, 255, 255, 0.82);
}

.contact-box {
	padding: 28px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
}

.site-footer {
	padding: 48px 0 26px;
	background: #f7f7f7;
}

.footer-main-row {
	--bs-gutter-x: 84px;
	--bs-gutter-y: 34px;
}

.footer-widget h2 {
	display: inline-block;
	margin: 0 0 24px;
	color: #1d4ca1;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	border-bottom: 3px solid var(--rose);
}

.footer-widget p,
.footer-widget a,
.footer-links a {
	color: #242527;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0;
}

.footer-widget p {
	max-width: 360px;
	margin: 0 0 16px;
}

.footer-contact-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 390px;
}

.footer-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
}

.footer-contact-item img {
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	margin-top: -3px;
	object-fit: contain;
}

.footer-contact-item span,
.footer-contact-item a {
	min-width: 0;
}

.footer-widget a:hover,
.footer-links a.active,
.footer-links a:hover {
	color: var(--rose);
}

.footer-links {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-map-link {
	display: block;
	width: 100%;
	max-width: 560px;
	height: 190px;
	overflow: hidden;
}

.footer-map-link iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	filter: saturate(0.8) contrast(1.05);
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 76px;
	padding-top: 18px;
	border-top: 1px solid #d7d7d7;
}

.footer-bottom p {
	margin: 0;
	color: #242527;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
}

@media (max-width: 1500px) {
	.header-menu {
		gap: 10px;
	}

	.welcome-content h2,
	.mission-content h2,
	.journey-header h2,
	.section-heading h2,
	.school-goal-heading h2,
	.parent-partnership-copy h2 {
		font-size: 28px;
	}

	.breadcrumb-section h1 {
		font-size: 36px;
	}

	.educational-approach-heading h2,
	.philosophy-card h2,
	.principal-message-heading h1,
	.principal-commitment-heading h2 {
		font-size: 28px;
	}
}

@media (max-width: 991px) {
	.header-container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.site-section-container {
		padding-right: 20px;
		padding-left: 20px;
	}

	.header-navbar {
		min-height: 70px;
		padding: 11px 0;
	}

	.header-toggle {
		border: 0;
		box-shadow: none;
	}

	.primary-navigation {
		padding: 16px 0 8px;
		background: #fff;
	}

	.header-menu {
		gap: 0;
		align-items: stretch !important;
	}

	.header-menu .nav-link {
		padding: 12px 0;
	}

	.header-menu .nav-link.active::after {
		right: auto;
		bottom: 6px;
		width: 38px;
	}

	.inquiry-btn {
		width: fit-content;
		margin-top: 8px;
	}

	.home-hero {
		height: 720px;
		background-size: auto 420px;
		background-position: center bottom;
	}

	.hero-container {
		height: 100%;
		padding-right: 0;
		padding-left: 0;
	}

	.hero-content {
		position: absolute;
		top: 46px;
		left: 50%;
		z-index: 3;
		width: min(560px, calc(100% - 40px));
		padding: 0;
		text-align: center;
		transform: translateX(-50%);
	}

	.hero-content h1 {
		font-size: 34px;
	}

	.hero-content p {
		font-size: 16px;
		line-height: 1.48;
	}

	.hero-content h1,
	.hero-content p {
		margin-right: auto;
		margin-left: auto;
	}

	.hero-abc-img {
		right: auto;
		left: 50%;
		width: min(345px, 70vw);
		bottom: 0;
		transform: translateX(-78%);
	}

	.hero-inner,
	.split,
	.contact .section {
		grid-template-columns: 1fr;
	}

	.hero-inner {
		min-height: auto;
		padding-top: 64px;
	}

	.grid {
		grid-template-columns: 1fr;
	}

	.gallery-moments-section {
		padding: 72px 0 86px;
	}

	.gallery-moments-grid {
		--bs-gutter-x: 26px;
		--bs-gutter-y: 34px;
	}

	.gallery-moment-card,
	.gallery-moment-card img {
		height: 300px;
		min-height: 300px;
	}

	.gallery-album-section {
		padding: 68px 0 86px;
	}

	.gallery-album-heading h1 {
		font-size: 27px;
	}

	.gallery-album-photo img {
		height: 260px;
	}

	.welcome-mission-section {
		padding: 0px 0 60px;
	}

	.welcome-mission-row {
		--bs-gutter-x: 0;
		--bs-gutter-y: 36px;
	}

	.welcome-content h2,
	.mission-content h2,
	.journey-header h2,
	.section-heading h2,
	.school-goal-heading h2,
	.parent-partnership-copy h2 {
		font-size: 27px;
	}

	.child-journey-section {
		min-height: auto;
		padding: 64px 0 0;
	}

	.journey-header {
		margin-bottom: 38px;
	}

	.journey-circle-row {
		grid-template-columns: repeat(4, 1fr);
		gap: 18px;
		max-width: 680px;
	}

	.journey-circle-item {
		width: 128px;
		height: 128px;
	}

	.journey-content-grid {
		grid-template-columns: 1fr 1fr;
		gap: 28px;
		min-height: 0;
	}

	.journey-girl-wrap {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 320px;
		order: 3;
	}

	.journey-copy {
		max-width: none;
		padding-bottom: 0;
		text-align: center;
	}

	.journey-copy-left,
	.journey-copy-right {
		justify-self: stretch;
	}

	.journey-copy h3 {
		font-size: 26px;
	}

	.journey-copy p {
		max-width: 280px;
		margin-right: auto;
		margin-left: auto;
		color: #4d5568;
		font-size: 16px;
		line-height: 1.48;
	}

	.journey-strip-left {
		bottom: -130px;
		left: -180px;
		width: 500px;
	}

	.journey-strip-right {
		top: -180px;
		right: -300px;
		width: 620px;
	}

	.learning-approach-section {
		padding: 82px 0 66px;
	}

	.section-heading {
		margin-bottom: 46px;
	}

	.approach-row {
		--bs-gutter-x: 0;
		--bs-gutter-y: 40px;
	}

	.approach-content {
		max-width: none;
	}

	.approach-visual {
		max-width: 680px;
		margin-right: auto;
		margin-left: auto;
	}

	.school-goal-section {
		padding: 62px 0 70px;
	}

	.school-goal-box {
		padding: 64px 34px 42px;
	}

	.school-goal-list {
		--bs-gutter-x: 0;
		--bs-gutter-y: 23px;
	}

	.parent-partnership-section {
		padding-bottom: 70px;
	}

	.parent-partnership-box {
		padding: 34px;
	}

	.parent-partnership-row {
		--bs-gutter-x: 0;
	}

	.parent-partnership-content {
		max-width: none;
	}

	.site-footer {
		padding-top: 42px;
	}

	.footer-main-row {
		--bs-gutter-x: 34px;
	}

	.footer-bottom {
		margin-top: 48px;
	}

	.breadcrumb-section {
		padding: 76px 0 82px;
	}

	.breadcrumb-section h1 {
		font-size: 32px;
	}

	.breadcrumb-star-large {
		right: 18%;
	}

	.breadcrumb-star-small {
		right: 12%;
	}

	.educational-approach-section {
		padding: 78px 0 84px;
	}

	.educational-approach-row {
		--bs-gutter-x: 0;
		--bs-gutter-y: 38px;
	}

	.educational-approach-content,
	.educational-approach-image-wrap {
		max-width: none;
	}

	.educational-approach-heading h2 {
		font-size: 27px;
	}

	.philosophy-goals-section {
		padding: 72px 0 86px;
	}

	.philosophy-card {
		padding: 42px 34px 36px;
	}

	.philosophy-card + .philosophy-card {
		margin-top: 70px;
	}

	.philosophy-card h2 {
		font-size: 27px;
	}

	.philosophy-goal-list {
		--bs-gutter-x: 0;
		--bs-gutter-y: 10px;
	}

	.principal-message-section {
		padding: 76px 0 90px;
	}

	.principal-message-row {
		--bs-gutter-x: 0;
	}

	.principal-message-content {
		max-width: none;
	}

	.principal-message-heading h1 {
		font-size: 27px;
	}

	.principal-message-star-large {
		right: 28px;
	}

	.principal-commitment-section {
		padding-bottom: 86px;
	}

	.principal-commitment-box {
		padding: 66px 38px 46px;
	}

	.principal-commitment-heading h2 {
		font-size: 27px;
	}

	.principal-commitment-list {
		--bs-gutter-x: 0;
		--bs-gutter-y: 26px;
	}

	.admission-process-section {
		padding: 24px 0 86px;
	}

	.admission-action-row {
		margin-bottom: 86px;
	}

	.admission-process-heading {
		margin-bottom: 48px;
	}

	.admission-process-heading h2 {
		font-size: 27px;
	}

	.admission-step-track::before {
		display: none;
	}

	.admission-step-icon {
		width: 100px;
		height: 100px;
	}

	.admission-eligibility-section {
		padding: 76px 0 84px;
	}

	.admission-eligibility-row {
		--bs-gutter-x: 0;
	}

	.admission-info-heading {
		margin-bottom: 28px;
	}

	.admission-info-heading h2 {
		font-size: 27px;
	}

	.contact-info-section {
		padding: 72px 0 78px;
	}

	.contact-info-row {
		--bs-gutter-x: 0;
	}

	.contact-heading h1 {
		font-size: 27px;
	}

	.contact-map-section {
		height: 360px;
	}
}

@media (max-width: 560px) {
	.brand-logo {
		height: 46px;
		max-width: 190px;
	}

	.home-hero {
		height: 830px;
		background-color: #fff;
		background-image: url("../../../../uploads/2026/08/hero-mobile1.png");
		background-size: 100% auto;
		background-position: center -160px;
	}

	.hero-content {
		top: 42px;
		width: calc(100% - 34px);
	}

	.hero-content h1 {
		font-size: 29px;
	}

	.hero-content p {
		font-size: 15px;
		line-height: 1.45;
	}

	.hero-abc-img {
		bottom: 26px;
		left: 50%;
		width: min(315px, 84vw);
		max-width: 315px;
		min-width: 0;
		transform: translateX(-50%);
	}

	.stats {
		grid-template-columns: 1fr;
	}

	.stat {
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.hero-actions {
		flex-direction: column;
	}

	.button:not(.inquiry-btn) {
		width: 100%;
	}

	.gallery-moments-section {
		padding: 56px 0 68px;
	}

	.gallery-moments-grid {
		--bs-gutter-y: 24px;
	}

	.gallery-moment-card,
	.gallery-moment-card img {
		height: 290px;
		min-height: 290px;
	}

	.gallery-moment-card h2 {
		right: 20px;
		bottom: 20px;
		left: 20px;
		font-size: 16px;
	}

	.gallery-load-more-wrap {
		margin-top: 46px;
	}

	.gallery-load-more-btn {
		width: 100%;
		min-width: 0;
	}

	.gallery-album-section {
		padding: 54px 0 68px;
	}

	.gallery-album-heading {
		margin-bottom: 34px;
	}

	.gallery-album-heading h1 {
		font-size: 25px;
	}

	.gallery-album-photo img {
		height: 240px;
	}

	.welcome-content h2,
	.mission-content h2,
	.journey-header h2,
	.section-heading h2,
	.school-goal-heading h2,
	.parent-partnership-copy h2 {
		font-size: 25px;
	}

	.welcome-content p,
	.mission-content p {
		font-size: 15px;
	}

	.child-journey-section {
		padding: 48px 0;
	}

	.journey-circle-row {
		grid-template-columns: repeat(2, max-content);
		justify-content: center;
		gap: 22px 28px;
		width: min(100%, 380px);
		max-width: 380px;
		margin-bottom: 34px;
	}

	.journey-circle-item {
		width: clamp(142px, 43vw, 168px);
		height: clamp(142px, 43vw, 168px);
	}

	.journey-content-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.journey-girl-wrap {
		grid-column: auto;
		grid-row: 2;
		width: min(300px, 86vw);
	}

	.journey-copy-right {
		grid-row: 3;
	}

	.journey-copy h3 {
		font-size: 25px;
	}

	.journey-copy p {
		color: #4d5568;
		font-size: 15px;
		line-height: 1.48;
	}

	.journey-star-one {
		top: 130px;
		left: 12%;
		width: 28px;
	}

	.journey-star-two {
		top: 210px;
		right: 14%;
	}

	.journey-star-three,
	.journey-star-four {
		display: none;
	}

	.learning-approach-section {
		padding: 58px 0 50px;
	}

	.section-heading {
		margin-bottom: 34px;
	}

	.section-heading-line {
		width: 72px;
		height: 5px;
		margin-top: 16px;
	}

	.approach-feature + .approach-feature {
		margin-top: 34px;
	}

	.approach-feature h3 {
		font-size: 22px;
	}

	.approach-feature p {
		font-size: 15px;
	}

	.school-goal-section {
		padding: 54px 0 56px;
	}

	.school-goal-box {
		padding: 58px 18px 30px;
		border-radius: 14px;
	}

	.school-goal-heading {
		top: -30px;
		min-width: 240px;
		padding: 0 20px;
	}

	.goal-list {
		gap: 18px;
	}

	.goal-list li {
		align-items: flex-start;
		gap: 12px;
		font-size: 15px;
		line-height: 1.45;
	}

	.goal-list li::before {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
		font-size: 14px;
	}

	.parent-partnership-section {
		padding-bottom: 56px;
	}

	.parent-partnership-box {
		padding: 18px;
		border-radius: 12px;
	}

	.parent-partnership-image img {
		border-radius: 10px;
	}

	.parent-partnership-copy + .parent-partnership-copy {
		margin-top: 26px;
		padding-top: 24px;
	}

	.parent-partnership-copy p {
		font-size: 15px;
	}

	.site-footer {
		padding: 36px 0 24px;
	}

	.footer-widget h2 {
		margin-bottom: 16px;
		font-size: 21px;
	}

	.footer-widget p,
	.footer-widget a,
	.footer-links a {
		font-size: 13.5px;
	}

	.footer-map-link {
		height: 220px;
	}

	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 34px;
	}

	.breadcrumb-section {
		padding: 58px 0 64px;
	}

	.breadcrumb-section h1 {
		margin-bottom: 18px;
		font-size: 30px;
	}

	.breadcrumb-nav {
		font-size: 14px;
	}

	.breadcrumb-star-large {
		top: 44px;
		right: 28px;
		width: 34px;
	}

	.breadcrumb-star-small {
		top: 54px;
		right: 14px;
		width: 18px;
	}

	.educational-approach-section {
		padding: 56px 0 64px;
	}

	.educational-approach-heading h2 {
		font-size: 27px;
	}

	.educational-approach-content p,
	.educational-approach-point p {
		font-size: 15px;
	}

	.educational-approach-point h3 {
		font-size: 17px;
	}

	.educational-approach-image {
		border-width: 7px;
		border-radius: 20px;
	}

	.educational-approach-star {
		bottom: -16px;
		left: -12px;
		width: 52px;
	}

	.philosophy-goals-section {
		padding: 56px 0 68px;
	}

	.philosophy-card {
		padding: 34px 20px 28px;
		border-radius: 18px;
	}

	.philosophy-card + .philosophy-card {
		margin-top: 54px;
	}

	.philosophy-icon {
		width: 64px;
		height: 64px;
		margin-bottom: 22px;
	}

	.philosophy-card h2 {
		margin-bottom: 20px;
		font-size: 27px;
	}

	.philosophy-card p,
	.philosophy-goal-list li {
		font-size: 15px;
	}

	.philosophy-card-star {
		right: -18px;
		width: 52px;
	}

	.principal-message-section {
		padding: 58px 0 68px;
	}

	.principal-profile {
		max-width: 320px;
	}

	.principal-profile h2 {
		margin-top: 24px;
		font-size: 24px;
	}

	.principal-message-heading {
		margin-bottom: 30px;
	}

	.principal-message-heading h1 {
		font-size: 27px;
	}

	.principal-message-content p {
		margin-bottom: 20px;
		font-size: 15px;
		line-height: 1.58;
	}

	.principal-signature strong {
		font-size: 24px;
	}

	.principal-message-star-large {
		top: 40px;
		width: 42px;
	}

	.principal-message-star-small {
		display: none;
	}

	.principal-commitment-section {
		padding-bottom: 66px;
	}

	.principal-commitment-box {
		padding: 58px 20px 34px;
		border-radius: 12px;
	}

	.principal-commitment-heading {
		top: -27px;
		min-width: 250px;
		padding: 0 20px;
	}

	.principal-commitment-heading h2 {
		font-size: 27px;
	}

	.principal-commitment-heading .section-heading-line {
		width: 72px;
		height: 5px;
		margin-top: 9px;
	}

	.commitment-item {
		gap: 14px;
	}

	.commitment-number {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
		font-size: 14px;
	}

	.commitment-item p {
		font-size: 15px;
		line-height: 1.45;
	}

	.admission-process-section {
		padding: 18px 0 68px;
	}

	.admission-action-row {
		margin-bottom: 62px;
	}

	.admission-action-card {
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 14px;
		padding: 18px;
		border-radius: 14px;
	}

	.admission-action-icon {
		flex-basis: 42px;
		width: 42px;
		height: 42px;
	}

	.admission-action-content {
		flex: 1 1 calc(100% - 56px);
	}

	.admission-action-content h2 {
		font-size: 16px;
	}

	.admission-action-content p,
	.admission-process-heading p,
	.admission-step-card p {
		font-size: 14px;
	}

	.admission-action-btn {
		width: 100%;
		min-height: 40px;
	}

	.admission-process-heading {
		margin-bottom: 38px;
	}

	.admission-step-row {
		--bs-gutter-x: 18px;
		--bs-gutter-y: 34px;
	}

	.admission-process-heading h2 {
		font-size: 25px;
	}

	.admission-process-heading .section-heading-line {
		width: 72px;
		height: 5px;
		margin: 14px auto 22px;
	}

	.admission-step-icon {
		width: 92px;
		height: 92px;
		margin-bottom: 18px;
	}

	.admission-step-card h3 {
		font-size: 16px;
	}

	.admission-eligibility-section {
		padding: 58px 0 66px;
	}

	.admission-info-heading {
		margin-bottom: 22px;
	}

	.admission-info-heading h2 {
		font-size: 25px;
	}

	.eligibility-table th,
	.eligibility-table td {
		padding: 16px 18px;
		font-size: 13.5px;
	}

	.documents-card {
		padding: 26px 22px;
		border-radius: 14px;
	}

	.documents-card ul {
		gap: 17px;
	}

	.documents-card li {
		font-size: 14px;
	}

	.contact-info-section {
		padding: 56px 0 64px;
	}

	.contact-heading h1 {
		margin-bottom: 28px;
		font-size: 25px;
	}

	.contact-detail-list {
		gap: 22px;
	}

	.contact-detail-item {
		gap: 14px;
	}

	.contact-detail-item img {
		width: 38px;
		height: 38px;
	}

	.contact-detail-item-plain {
		padding-left: 52px;
	}

	.contact-form-card {
		padding: 28px 20px;
		border-radius: 18px;
	}

	.contact-form-row {
		--bs-gutter-y: 20px;
	}

	.contact-map-section {
		height: 320px;
	}
}
