:root {
			--sky: #d8efff;
			--peach: #ffe4d6;
			--lavender: #e8e0ff;
			--mint: #d7f6e5;
			--ink: #243248;
			--muted: #5f6f83;
			--card: #ffffff;
			--accent: #ff7d6b;
			--accent-hover: #ef6856;
			--radius-xl: 28px;
			--radius-lg: 20px;
			--radius-md: 14px;
			--shadow-soft: 0 16px 40px rgba(53, 76, 104, 0.12);
			--shadow-card: 0 12px 30px rgba(31, 54, 84, 0.1);
			--border-soft: 1px solid rgba(89, 113, 145, 0.15);
		}

		* {
			box-sizing: border-box;
		}

		body {
			margin: 0;
			font-family: "Nunito", "Segoe UI", sans-serif;
			color: var(--ink);
			background: #fff;
			line-height: 1.55;
		}

		body.has-fixed-header {
			padding-top: 68px;
		}

		body.home-page {
			overflow-x: hidden;
		}

		body.home-page.has-fixed-header {
			padding-top: 0;
		}

		body.home-page section:last-of-type {
			padding-bottom: 2.2rem;
		}

		html,
		body {
			max-width: 100%;
			overflow-x: hidden;
		}

		.container {
			width: min(1120px, calc(100% - 2rem));
			margin: 0 auto;
		}

		.site-header {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			width: 100%;
			z-index: 1000;
			background: rgba(255, 255, 255, 0.84);
			backdrop-filter: blur(8px);
			border-bottom: 1px solid rgba(89, 113, 145, 0.12);
			transition: box-shadow 0.2s ease, background 0.2s ease;
		}

		.site-header.scrolled {
			background: rgba(255, 255, 255, 0.96);
			box-shadow: 0 8px 24px rgba(39, 63, 90, 0.12);
		}

		.site-header-inner {
			height: 68px;
			display: flex;
			align-items: center;
			justify-content: space-between;
			position: relative;
		}

		.brand {
			font-size: 1.2rem;
			font-weight: 800;
			color: #2a4468;
			text-decoration: none;
		}

		.nav-links {
			display: flex;
			gap: 1rem;
			flex-wrap: wrap;
			align-items: center;
		}

		.nav-links a {
			text-decoration: none;
			color: #4a6285;
			font-size: 0.92rem;
			font-weight: 700;
		}

		.nav-links .nav-user {
			color: #2f5f9b;
		}

		.nav-toggle {
			display: none;
			border: 1px solid #d7e6fb;
			background: linear-gradient(180deg, #ffffff, #eef5ff);
			border-radius: 14px;
			width: 48px;
			height: 48px;
			align-items: center;
			justify-content: center;
			cursor: pointer;
			padding: 0;
			box-shadow: 0 6px 16px rgba(41, 78, 119, 0.12);
			color: #2f5f9b;
			transition: background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
		}

		.nav-toggle:hover,
		.nav-toggle:focus-visible {
			border-color: #bdd3f7;
			background: linear-gradient(180deg, #ffffff, #e3efff);
			box-shadow: 0 10px 22px rgba(41, 78, 119, 0.18);
			transform: translateY(-1px);
			outline: none;
		}

		.nav-toggle i {
			position: absolute;
			font-size: 1.05rem;
			transition: transform 0.2s ease, opacity 0.2s ease;
		}

		.nav-toggle-close {
			opacity: 0;
			transform: scale(0.75) rotate(-90deg);
		}

		.nav-toggle[aria-expanded="true"] {
			background: #e8f1ff;
			border-color: #c9ddfb;
			box-shadow: 0 8px 18px rgba(41, 78, 119, 0.18);
		}

		.nav-toggle[aria-expanded="true"] .nav-toggle-open {
			opacity: 0;
			transform: scale(0.75) rotate(90deg);
		}

		.nav-toggle[aria-expanded="true"] .nav-toggle-close {
			opacity: 1;
			transform: scale(1) rotate(0deg);
		}

		.nav-backdrop {
			display: none;
		}

		.parent-menu {
			position: relative;
			display: inline-block;
		}

		.parent-menu-mobile-label {
			display: none;
		}

		.parent-menu-btn {
			border: 0;
			background: transparent;
			color: #2f5f9b;
			font-size: 0.92rem;
			font-weight: 700;
			font-family: inherit;
			cursor: pointer;
			padding: 0;
		}

		.parent-menu-list {
			display: none;
			position: absolute;
			right: 0;
			top: calc(100% + 10px);
			min-width: 190px;
			background: #fff;
			border: 1px solid #d9e6f7;
			border-radius: 12px;
			box-shadow: 0 10px 24px rgba(31, 54, 84, 0.14);
			padding: 0.45rem;
			z-index: 1100;
		}

		.parent-menu-list a {
			display: block;
			padding: 0.46rem 0.6rem;
			border-radius: 8px;
			color: #3f5678;
		}

		.parent-menu-list a:hover {
			background: #f4f9ff;
			color: #2a4f7e;
		}

		.parent-menu:hover .parent-menu-list,
		.parent-menu:focus-within .parent-menu-list {
			display: block;
		}

		.parent-menu-list.is-open {
			display: block;
		}

		.table-scroll {
			width: 100%;
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
		}

		.auth-section {
			position: relative;
			overflow: hidden;
			background:
				radial-gradient(circle at 12% 12%, rgba(216, 239, 255, 0.9), transparent 42%),
				radial-gradient(circle at 86% 8%, rgba(255, 228, 214, 0.8), transparent 40%),
				linear-gradient(160deg, #f7fbff 0%, #f9f8ff 100%);
			min-height: calc(100vh - 220px);
		}

		.auth-wrap {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(390px, 480px);
			gap: 1.2rem;
			align-items: stretch;
		}

		.auth-showcase {
			background: linear-gradient(145deg, #2e5f94, #32597f);
			color: #fff;
			padding: 2rem 1.8rem;
			border-radius: var(--radius-xl);
			box-shadow: var(--shadow-soft);
			position: relative;
			overflow: hidden;
		}

		.auth-showcase::after {
			content: "";
			position: absolute;
			right: -40px;
			top: -30px;
			width: 160px;
			height: 160px;
			border-radius: 50%;
			background: rgba(255, 255, 255, 0.12);
		}

		.auth-kicker {
			display: inline-flex;
			padding: 0.38rem 0.8rem;
			border-radius: 999px;
			border: 1px solid rgba(255, 255, 255, 0.35);
			font-size: 0.8rem;
			font-weight: 700;
			letter-spacing: 0.02em;
		}

		.auth-showcase h1 {
			margin: 0.8rem 0 0.45rem;
			font-size: clamp(1.55rem, 2.5vw, 2rem);
			line-height: 1.25;
		}

		.auth-showcase p {
			margin: 0;
			color: rgba(255, 255, 255, 0.88);
			max-width: 520px;
		}

		.auth-points {
			list-style: none;
			margin: 1.05rem 0 0;
			padding: 0;
			display: grid;
			gap: 0.6rem;
		}

		.auth-points li {
			padding: 0.58rem 0.75rem;
			border: 1px solid rgba(255, 255, 255, 0.25);
			border-radius: 11px;
			background: rgba(255, 255, 255, 0.08);
			font-size: 0.9rem;
		}

		.auth-card {
			margin: 0 auto;
			padding: 1.5rem;
			background: #fff;
			border-radius: var(--radius-lg);
			border: var(--border-soft);
			box-shadow: var(--shadow-card);
		}

		.auth-card h2 {
			margin: 0;
			font-size: 1.5rem;
		}

		.auth-card p {
			margin: 0.4rem 0 1rem;
			color: var(--muted);
		}

		.verify-card {
			display: flex;
			flex-direction: column;
			justify-content: center;
			min-height: 360px;
			text-align: center;
		}

		.verify-status {
			display: grid;
			justify-items: center;
			gap: 0.75rem;
			padding: 0.55rem 0 0.35rem;
		}

		.verify-icon {
			width: 76px;
			height: 76px;
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: 1.8rem;
			box-shadow: 0 14px 26px rgba(31, 54, 84, 0.12);
		}

		.verify-status-success .verify-icon {
			background: #edf9f2;
			border: 1px solid #bfe5d1;
			color: #19633a;
		}

		.verify-status-error .verify-icon {
			background: #fff1f1;
			border: 1px solid #ffd1d1;
			color: #8b1f1f;
		}

		.verify-kicker {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 0.36rem 0.8rem;
			border-radius: 999px;
			background: #f3f8ff;
			border: 1px solid #d8e7f8;
			color: #2f5f9b;
			font-size: 0.8rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: 0.04em;
		}

		.verify-status h2 {
			margin: 0.1rem 0 0;
			font-size: 1.65rem;
			line-height: 1.2;
		}

		.verify-status p {
			max-width: 360px;
			margin: 0 auto;
			color: #5f6f83;
		}

		.verify-actions {
			display: grid;
			gap: 0.85rem;
			margin-top: 1.5rem;
		}

		.verify-secondary-link {
			color: #2e5f94;
			font-weight: 800;
			text-decoration: none;
		}

		.verify-secondary-link:hover {
			text-decoration: underline;
		}

		.auth-form {
			display: grid;
			gap: 0.85rem;
		}

		.auth-meta {
			display: flex;
			justify-content: flex-end;
		}

		.auth-forgot {
			font-size: 0.9rem;
			font-weight: 600;
			color: #2e5f94;
			text-decoration: none;
		}

		.auth-forgot:hover {
			text-decoration: underline;
		}

		.auth-form label {
			display: block;
			margin-bottom: 0.35rem;
			font-weight: 700;
			color: #2a4468;
			font-size: 0.92rem;
		}

		.auth-form input {
			width: 100%;
			height: 48px;
			border: 1px solid #cfddf0;
			border-radius: 12px;
			padding: 0 0.8rem;
			font-size: 0.95rem;
			font-family: inherit;
			background: #fbfdff;
			transition: border-color 0.2s ease, box-shadow 0.2s ease;
		}

		.auth-form input:focus {
			outline: none;
			border-color: #7bb4ff;
			box-shadow: 0 0 0 4px rgba(143, 193, 255, 0.2);
		}

		.password-input-wrap {
			position: relative;
		}

		.auth-form .password-input-wrap input {
			padding-right: 3rem;
		}

		.password-toggle {
			position: absolute;
			right: 0.55rem;
			top: 50%;
			transform: translateY(-50%);
			width: 38px;
			height: 38px;
			border: 0;
			border-radius: 50%;
			background: transparent;
			color: #5e7190;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			cursor: pointer;
			transition: background 0.2s ease, color 0.2s ease;
		}

		.password-toggle:hover,
		.password-toggle:focus-visible {
			background: #eef6ff;
			color: #2f5f9b;
			outline: none;
		}

		.password-toggle i {
			font-size: 0.95rem;
			pointer-events: none;
		}

		.auth-submit {
			width: 100%;
			margin-top: 0.2rem;
		}

		.auth-note {
			margin-top: 1rem;
			font-size: 0.92rem;
		}

		.auth-note a {
			color: #2e5f94;
			font-weight: 700;
		}

		.recaptcha-wrap {
			margin-top: 0.25rem;
			display: flex;
			justify-content: flex-start;
			min-height: 78px;
			overflow: visible;
		}

		.recaptcha-wrap .g-recaptcha {
			min-width: 304px;
			min-height: 78px;
			overflow: visible;
		}

		.recaptcha-wrap iframe {
			max-width: none;
		}

		.auth-alert {
			border-radius: 12px;
			padding: 0.72rem 0.8rem;
			margin-bottom: 0.85rem;
			font-size: 0.9rem;
			transition: opacity 0.35s ease, transform 0.35s ease, max-height 0.35s ease, margin 0.35s ease, padding 0.35s ease;
		}

		.auth-alert p {
			margin: 0.2rem 0;
			color: inherit;
		}

		.auth-alert-success {
			background: #edf9f2;
			border: 1px solid #c8ead8;
			color: #19633a;
		}

		.auth-alert-error {
			background: #fff1f1;
			border: 1px solid #ffd4d4;
			color: #8b1f1f;
		}

		.section-title {
			font-size: clamp(1.6rem, 2.2vw, 2.15rem);
			margin: 0 0 0.55rem;
			text-align: center;
		}

		.section-subtitle {
			color: var(--muted);
			text-align: center;
			max-width: 700px;
			margin: 0 auto 2.5rem;
		}

		.compare-title-left {
			text-align: left;
		}

		.compare-subtitle-left {
			text-align: left;
			margin: 0.4rem 0 1.2rem;
		}

		.hero {
			position: relative;
			overflow: hidden;
			padding: 4.5rem 0 4rem;
			background:
				radial-gradient(circle at 12% 20%, var(--peach) 0%, transparent 52%),
				radial-gradient(circle at 86% 14%, var(--lavender) 0%, transparent 50%),
				radial-gradient(circle at 38% 90%, var(--mint) 0%, transparent 55%),
				linear-gradient(160deg, #fafdff 0%, #f7f8ff 100%);
		}

		.home-page .hero {
			padding-top: calc(68px + 4.5rem);
		}

		.hero::before,
		.hero::after {
			content: "";
			position: absolute;
			border-radius: 50%;
			z-index: 0;
		}

		.hero::before {
			width: 220px;
			height: 220px;
			background: rgba(255, 183, 162, 0.32);
			left: -70px;
			top: -58px;
		}

		.hero::after {
			width: 270px;
			height: 270px;
			background: rgba(183, 230, 255, 0.3);
			right: -96px;
			bottom: -82px;
		}

		.hero-content {
			position: relative;
			z-index: 1;
			text-align: center;
		}

		.badge {
			display: inline-flex;
			padding: 0.5rem 1rem;
			background: #fff;
			color: #3e526f;
			border-radius: 999px;
			border: var(--border-soft);
			font-size: 0.88rem;
			font-weight: 700;
			margin-bottom: 1rem;
		}

		.hero h1 {
			font-size: clamp(2rem, 4.6vw, 3.4rem);
			line-height: 1.15;
			margin: 0;
		}

		.hero p {
			color: var(--muted);
			max-width: 720px;
			margin: 1rem auto 2rem;
			font-size: 1.02rem;
		}

		.search-shell {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-xl);
			padding: 1rem;
			box-shadow: var(--shadow-soft);
		}

		.offer-section {
			background:
				radial-gradient(circle at 12% 20%, rgba(255, 228, 214, 0.6), transparent 48%),
				radial-gradient(circle at 88% 10%, rgba(216, 239, 255, 0.7), transparent 45%),
				linear-gradient(150deg, #f8fbff 0%, #ffffff 100%);
		}

		.age-search-section {
			background:
				radial-gradient(circle at 12% 20%, rgba(216, 239, 255, 0.6), transparent 48%),
				radial-gradient(circle at 88% 10%, rgba(255, 228, 214, 0.7), transparent 45%),
				linear-gradient(150deg, #f8fbff 0%, #ffffff 100%);
		}

		.age-search-shell {
			max-width: 420px;
			margin-left: auto;
			padding: 1.4rem;
			border-radius: var(--radius-lg);
			border: 1px solid rgba(46, 79, 116, 0.14);
			box-shadow: var(--shadow-card);
		}

		.age-search-wrap {
			display: grid;
			grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
			gap: 1.6rem;
			align-items: center;
		}

		.age-search-copy h2 {
			margin: 0.5rem 0 0.6rem;
			font-size: clamp(1.6rem, 2.4vw, 2.1rem);
			line-height: 1.2;
		}

		.age-search-copy p {
			margin: 0;
			color: #51637c;
			max-width: 520px;
		}

		.age-search-kicker {
			display: inline-flex;
			align-items: center;
			padding: 0.35rem 0.85rem;
			border-radius: 999px;
			background: #ffffff;
			border: 1px solid #d6e6fb;
			color: #2f5f9b;
			font-size: 0.82rem;
			font-weight: 800;
			letter-spacing: 0.04em;
			text-transform: uppercase;
		}

		.age-search-points {
			margin-top: 1rem;
			display: grid;
			gap: 0.7rem;
			max-width: 520px;
		}

		.age-point {
			background: #ffffff;
			border: 1px solid rgba(46, 79, 116, 0.12);
			border-radius: 16px;
			padding: 0.75rem 0.85rem;
			box-shadow: 0 10px 24px rgba(31, 54, 84, 0.08);
			display: grid;
			gap: 0.2rem;
		}

		.age-point strong {
			color: #2a4468;
			font-size: 0.95rem;
		}

		.age-point span {
			color: #576b86;
			font-size: 0.9rem;
		}

		.age-search-shell .search-input:focus {
			outline: none;
			border-color: #7bb4ff;
			box-shadow: 0 0 0 4px rgba(143, 193, 255, 0.2);
		}

		.age-search-form {
			display: grid;
			gap: 0.9rem;
		}

		.age-search-form label {
			font-weight: 700;
			color: #2a4468;
			font-size: 0.9rem;
		}

		.age-search-form .search-btn {
			width: 100%;
		}

		.age-form-head h3 {
			margin: 0;
			font-size: 1.1rem;
			color: #243248;
		}

		.age-form-head p {
			margin: 0.25rem 0 0;
			color: #5d6f87;
			font-size: 0.92rem;
		}

		.age-form-field {
			display: grid;
			gap: 0.4rem;
		}

		.age-input-wrap {
			position: relative;
			display: flex;
			align-items: center;
		}

		.age-input {
			padding-right: 5rem;
			height: 56px;
			font-size: 1rem;
		}

		.age-input-suffix {
			position: absolute;
			right: 14px;
			background: #edf4ff;
			color: #2f5f9b;
			border-radius: 999px;
			padding: 0.25rem 0.65rem;
			font-size: 0.82rem;
			font-weight: 800;
			pointer-events: none;
		}

		.age-hint {
			color: #6a7b92;
			font-size: 0.82rem;
		}

		.age-quick-pills {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 0.45rem;
		}

		.age-pill {
			border: 1px solid #d7e6fb;
			background: #ffffff;
			color: #2f5f9b;
			border-radius: 999px;
			padding: 0.45rem 0.3rem;
			font-weight: 800;
			font-size: 0.85rem;
			cursor: pointer;
			transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
		}

		.age-pill:hover {
			transform: translateY(-1px);
			border-color: #8fc1ff;
			box-shadow: 0 10px 18px rgba(47, 95, 155, 0.12);
		}

		.offer-card {
			display: grid;
			grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
			gap: 1.2rem;
			align-items: center;
			padding: 1.6rem;
			border-radius: var(--radius-xl);
			background: #fff;
			border: 1px solid rgba(46, 79, 116, 0.12);
			box-shadow: 0 18px 40px rgba(31, 54, 84, 0.12);
		}

		.offer-kicker {
			display: inline-flex;
			align-items: center;
			padding: 0.35rem 0.85rem;
			border-radius: 999px;
			background: #eef6ff;
			border: 1px solid #d4e5fb;
			color: #2f5f9b;
			font-size: 0.82rem;
			font-weight: 800;
			letter-spacing: 0.04em;
			text-transform: uppercase;
		}

		.offer-text h2 {
			margin: 0.7rem 0 0.4rem;
			font-size: clamp(1.45rem, 2.1vw, 2.05rem);
			line-height: 1.2;
		}

		.offer-text p {
			margin: 0 0 0.8rem;
			color: #5a6d86;
			font-size: 0.98rem;
		}

		.offer-meta {
			color: #6b7c92;
			font-size: 0.9rem;
			font-weight: 700;
			margin-bottom: 1rem;
		}

		.offer-cta {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			height: 48px;
			padding: 0 1.5rem;
			border-radius: 999px;
			background: #2f5f9b;
			color: #fff;
			font-weight: 800;
			font-size: 0.95rem;
			text-decoration: none;
			white-space: nowrap;
			box-shadow: 0 12px 24px rgba(47, 95, 155, 0.2);
		}

		.offer-cta:hover {
			background: #264f85;
		}

		.offer-steps {
			background: #f8fbff;
			border: 1px solid #d7e6fb;
			border-radius: 20px;
			padding: 1.2rem;
		}

		.offer-steps-title {
			font-size: 0.95rem;
			font-weight: 800;
			color: #2f4f74;
			margin-bottom: 0.9rem;
			text-transform: uppercase;
			letter-spacing: 0.04em;
		}

		.offer-steps-list {
			list-style: none;
			padding: 0;
			margin: 0;
			display: grid;
			gap: 0.8rem;
		}

		.offer-steps-list li {
			display: flex;
			align-items: center;
			gap: 0.7rem;
			background: #fff;
			border: 1px solid #e3edf8;
			border-radius: 14px;
			padding: 0.75rem 0.85rem;
			font-size: 0.95rem;
			color: #3f5168;
			font-weight: 700;
		}

		.offer-steps-list span {
			width: 36px;
			height: 36px;
			border-radius: 50%;
			display: grid;
			place-items: center;
			background: #2f5f9b;
			color: #fff;
			font-size: 0.82rem;
			font-weight: 800;
		}

		.search-grid {
			display: grid;
			grid-template-columns: 1fr auto;
			gap: 0.8rem;
			align-items: center;
		}

		.search-filter-grid {
			display: grid;
			grid-template-columns: minmax(200px, 2fr) repeat(3, minmax(150px, 1fr)) auto auto;
			gap: 0.65rem;
			align-items: center;
		}

		.search-input {
			width: 100%;
			height: 56px;
			border-radius: var(--radius-md);
			border: 1px solid #d8e1ef;
			background: #fff;
			padding: 0 1rem;
			font-size: 0.95rem;
			font-family: inherit;
			color: var(--ink);
		}

		.search-input:focus {
			outline: none;
			border-color: #8fc1ff;
			box-shadow: 0 0 0 4px rgba(143, 193, 255, 0.2);
		}

		.search-select {
			width: 100%;
			height: 56px;
			border-radius: var(--radius-md);
			border: 1px solid #d8e1ef;
			background: #fff;
			padding: 0 0.9rem;
			font-size: 0.9rem;
			font-family: inherit;
			color: var(--ink);
		}

		.search-select:focus {
			outline: none;
			border-color: #8fc1ff;
			box-shadow: 0 0 0 4px rgba(143, 193, 255, 0.2);
		}

		.search-btn {
			height: 56px;
			padding: 0 1.6rem;
			border: 0;
			border-radius: 999px;
			background: var(--accent);
			color: #fff;
			font-weight: 800;
			font-size: 0.96rem;
			letter-spacing: 0.01em;
			cursor: pointer;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			text-decoration: none;
			transition: background 0.2s ease, transform 0.2s ease;
		}

		.search-btn:hover {
			background: var(--accent-hover);
			transform: translateY(-1px);
		}

		.hero-illustration {
			margin-top: 1rem;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 0.7rem;
		}

		.illus-pill {
			display: inline-flex;
			align-items: center;
			gap: 0.45rem;
			background: rgba(255, 255, 255, 0.78);
			border: 1px solid rgba(148, 173, 205, 0.35);
			padding: 0.45rem 0.72rem;
			border-radius: 999px;
			font-size: 0.85rem;
			font-weight: 700;
			color: #426083;
		}

		.section {
			padding: 4.3rem 0;
		}

		.how-grid {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 1rem;
		}

		.step-card {
			background: #fff;
			border: var(--border-soft);
			box-shadow: var(--shadow-card);
			border-radius: var(--radius-lg);
			padding: 1.3rem;
			text-align: center;
		}

		.icon-bubble {
			width: 62px;
			height: 62px;
			margin: 0 auto 0.8rem;
			border-radius: 50%;
			display: grid;
			place-items: center;
			font-size: 1.5rem;
			background: linear-gradient(145deg, #fff, #f4f8ff);
			border: 1px solid #deebfc;
		}

		.step-card h3 {
			margin: 0;
			font-size: 1.1rem;
		}

		.step-card p {
			margin: 0.35rem 0 0;
			color: var(--muted);
			font-size: 0.94rem;
		}

		.featured-grid {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
		}

		.featured-carousel-head {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 1rem;
		}

		.featured-carousel-head .section-title,
		.featured-carousel-head .section-subtitle {
			text-align: center;
			margin-left: auto;
			margin-right: auto;
		}

		#featured .container {
			position: relative;
		}

		.featured-carousel-nav {
			display: flex;
			gap: 0.45rem;
			align-items: center;
		}

		.featured-carousel-foot {
			position: absolute;
			left: 0;
			right: 0;
			top: 50%;
			transform: translateY(-50%);
			pointer-events: none;
		}

		.featured-carousel-foot .featured-carousel-nav {
			width: 100%;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.featured-carousel-foot .slider-btn {
			background: #ffffff;
			border: 1px solid #d6e3f5;
			width: 52px;
			height: 52px;
			font-size: 1.35rem;
			color: #2f5f9b;
			border-radius: 50%;
			box-shadow: 0 10px 20px rgba(20, 45, 80, 0.15);
			transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
			pointer-events: auto;
			display: inline-flex;
			align-items: center;
			justify-content: center;
		}

		.featured-carousel-foot .slider-btn:first-child {
			margin-left: -0.75rem;
		}

		.featured-carousel-foot .slider-btn:last-child {
			margin-right: -0.75rem;
		}

		.featured-carousel-foot .slider-btn:hover {
			transform: translateY(-1px);
			box-shadow: 0 12px 24px rgba(20, 45, 80, 0.2);
			background: #f7fbff;
		}

		.featured-carousel-foot .slider-btn:active {
			transform: translateY(0);
			box-shadow: 0 8px 16px rgba(20, 45, 80, 0.18);
		}

		.featured-carousel {
			margin-top: 1.2rem;
			margin-left: 2.6rem;
			margin-right: 2.6rem;
			display: grid;
			grid-auto-flow: column;
			grid-auto-columns: calc((100% - 3rem) / 4);
			gap: 1rem;
			overflow-x: auto;
			scroll-snap-type: x mandatory;
			padding-bottom: 0.6rem;
			scrollbar-width: none;
			-ms-overflow-style: none;
		}

		.featured-carousel::-webkit-scrollbar {
			display: none;
		}

		.featured-carousel .school-card {
			scroll-snap-align: start;
		}

		.results-grid {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.school-card {
			background: var(--card);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-card);
			border: var(--border-soft);
			overflow: hidden;
		}

		.school-image {
			height: 160px;
			width: 100%;
			object-fit: cover;
			display: block;
		}

		.school-content {
			padding: 1rem;
		}

		.school-name-row {
			display: flex;
			align-items: center;
			gap: 0.65rem;
			margin-bottom: 0.15rem;
		}

		.school-logo-badge {
			width: 38px;
			height: 38px;
			border-radius: 12px;
			object-fit: contain;
			background: #ffffff;
			border: 1px solid #d7e6fb;
			padding: 0.2rem;
			flex-shrink: 0;
			box-shadow: 0 8px 18px rgba(47, 95, 155, 0.12);
		}

		.school-content h3 {
			margin: 0 0 0.25rem;
			font-size: 1.05rem;
		}

		.rating {
			color: #f2b01e;
			font-weight: 700;
			font-size: 0.92rem;
		}

		.location {
			color: var(--muted);
			font-size: 0.9rem;
			margin-top: 0.2rem;
		}

		.school-meta {
			display: grid;
			gap: 0.42rem;
			margin-top: 0.5rem;
		}

		.school-meta-item {
			display: flex;
			align-items: flex-start;
			gap: 0.55rem;
			color: #52647f;
			font-size: 0.9rem;
			line-height: 1.45;
		}

		.school-meta-item i {
			width: 14px;
			margin-top: 0.18rem;
			color: #2f5f9b;
			flex-shrink: 0;
			text-align: center;
		}

		.school-meta-item span {
			min-width: 0;
		}

		.school-content p {
			color: #3d4f68;
			font-size: 0.93rem;
			margin: 0.6rem 0 0.9rem;
		}

		.link-btn {
			display: inline-block;
			padding: 0.48rem 1rem;
			border-radius: 999px;
			background: #eef6ff;
			color: #2662a5;
			font-weight: 700;
			font-size: 0.9rem;
			text-decoration: none;
		}

		.results-detail-btn {
			background: #2f5f9b;
			color: #fff;
			box-shadow: 0 10px 20px rgba(47, 95, 155, 0.18);
		}

		.results-detail-btn:hover {
			background: #264f85;
			color: #fff;
		}

		.featured-detail-btn {
			background: #2f5f9b;
			color: #fff;
			box-shadow: 0 10px 20px rgba(47, 95, 155, 0.18);
		}

		.featured-detail-btn:hover {
			background: #264f85;
			color: #fff;
		}

		.school-actions {
			margin-top: 0.75rem;
			display: flex;
			flex-wrap: wrap;
			gap: 0.6rem;
			align-items: center;
		}

		.compare-option {
			display: inline-flex;
			align-items: center;
			gap: 0.35rem;
			padding: 0.38rem 0.6rem;
			background: #f7fbff;
			border: 1px solid #d8e5f7;
			border-radius: 999px;
			font-size: 0.84rem;
			color: #385272;
			font-weight: 700;
			cursor: pointer;
		}

		.compare-option input {
			accent-color: var(--accent);
		}

		.compare-toolbar {
			margin: 0 auto 1rem;
			background: #fff;
			border: var(--border-soft);
			box-shadow: var(--shadow-card);
			border-radius: var(--radius-md);
			padding: 0.8rem 0.9rem;
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: space-between;
			gap: 0.75rem;
		}

		.compare-toolbar p {
			margin: 0;
			color: #4b5f7a;
			font-size: 0.9rem;
			font-weight: 700;
		}

		.compare-submit {
			height: 44px;
			padding: 0 1.1rem;
			font-size: 0.88rem;
		}

		.compare-alert {
			margin-bottom: 0.9rem;
		}

		.compare-section {
			padding-top: 2rem;
		}

		.compare-head {
			display: grid;
			gap: 0.45rem;
			margin-bottom: 1rem;
		}

		.compare-mobile-list {
			display: none;
			gap: 1rem;
			margin-top: 1rem;
		}

		.compare-mobile-card {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-card);
			padding: 1rem;
		}

		.compare-mobile-head {
			display: flex;
			align-items: center;
			gap: 0.85rem;
			margin-bottom: 0.9rem;
		}

		.compare-school-image-mobile {
			width: 72px;
			height: 72px;
			max-width: none;
			border-radius: 18px;
			object-fit: contain;
			background: #fff;
			padding: 0.25rem;
		}

		.compare-mobile-head-copy {
			display: grid;
			gap: 0.45rem;
			min-width: 0;
		}

		.compare-mobile-head-copy h2 {
			margin: 0;
			font-size: 1.1rem;
			line-height: 1.2;
			color: #243248;
		}

		.compare-mobile-body {
			display: grid;
			gap: 0.75rem;
		}

		.compare-mobile-item {
			display: grid;
			gap: 0.3rem;
			padding-top: 0.75rem;
			border-top: 1px solid #e4edf8;
		}

		.compare-mobile-item:first-child {
			padding-top: 0;
			border-top: 0;
		}

		.compare-mobile-item strong {
			font-size: 0.78rem;
			font-weight: 800;
			letter-spacing: 0.04em;
			text-transform: uppercase;
			color: #2c4b70;
		}

		.compare-mobile-item span {
			color: #3f536f;
			font-size: 0.92rem;
			line-height: 1.5;
		}

		.compare-cards {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 1rem;
			margin-bottom: 1rem;
		}

		.compare-table-wrap {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-card);
			overflow-x: auto;
		}

		.compare-table {
			width: 100%;
			border-collapse: collapse;
			min-width: 860px;
		}

		.compare-table th,
		.compare-table td {
			padding: 0.85rem;
			border-bottom: 1px solid #e4edf8;
			vertical-align: top;
			text-align: left;
			font-size: 0.9rem;
		}

		.compare-table th {
			width: 180px;
			background: #f7fbff;
			color: #2c4b70;
			font-weight: 800;
		}

		.compare-table td {
			color: #3f536f;
			min-width: 220px;
		}

		.compare-facilities {
			margin: 0;
			padding-left: 1rem;
		}

		.compare-facilities li {
			margin-bottom: 0.25rem;
		}

		.compare-matrix-wrap {
			margin-top: 1rem;
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
		}

		.compare-matrix {
			display: grid;
			grid-template-columns: 220px repeat(var(--compare-count), minmax(220px, 1fr));
			min-width: calc(220px + (var(--compare-count) * 220px));
			border: var(--border-soft);
			border-radius: var(--radius-lg);
			overflow: hidden;
			box-shadow: var(--shadow-card);
			background: #fff;
		}

		.compare-row {
			display: contents;
		}

		.compare-label,
		.compare-cell {
			padding: 0.85rem;
			border-bottom: 1px solid #e4edf8;
			border-right: 1px solid #e4edf8;
			font-size: 0.92rem;
			color: #3f536f;
		}

		.compare-label {
			background: #f7fbff;
			color: #2c4b70;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: 0.04em;
			font-size: 0.82rem;
		}

		.compare-cell:last-child {
			border-right: 0;
		}

		.compare-row:last-of-type .compare-label,
		.compare-row:last-of-type .compare-cell {
			border-bottom: 0;
		}

		.compare-matrix .compare-facilities {
			margin: 0;
			padding-left: 1rem;
		}

		.compare-school-head {
			display: grid;
			gap: 0.5rem;
			justify-items: start;
		}

		.compare-school-image {
			width: 100%;
			max-width: 220px;
			height: 140px;
			/*object-fit: cover;*/
			border-radius: 14px;
			/*border: var(--border-soft);*/
		}

		.compare-link-btn {
			font-size: 0.85rem;
			padding: 0.4rem 0.85rem;
		}

		.school-dashboard-section {
			background: linear-gradient(180deg, #fafdff 0%, #ffffff 100%);
			padding-top: 2rem;
		}

		.dashboard-grid {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
			margin-bottom: 1rem;
		}

		.dashboard-stat-card h3 {
			margin: 0;
			font-size: 0.95rem;
			color: #4a6285;
		}

		.dashboard-stat-card p {
			margin: 0.35rem 0 0;
			font-size: 1.3rem;
			font-weight: 800;
			color: #243248;
		}

		.dashboard-content-grid {
			display: grid;
			grid-template-columns: 1.15fr 1fr;
			gap: 1rem;
		}

		.clear-filter-btn {
			height: 56px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 0 1rem;
			border: 1px solid #d7e6fb;
			background: #fff;
		}

		.search-results-search {
			padding: 0.8rem;
		}

		.results-layout {
			display: grid;
			grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
			gap: 1rem;
			align-items: start;
		}

		.results-sidebar {
			position: sticky;
			top: 96px;
		}

		.filters-panel {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-xl);
			box-shadow: var(--shadow-soft);
			padding: 1rem;
		}

		.filter-group + .filter-group {
			margin-top: 1rem;
			padding-top: 1rem;
			border-top: 1px solid #e6edf8;
		}

		.filter-group h3 {
			margin: 0 0 0.55rem;
			font-size: 0.95rem;
			color: var(--ink);
		}

		.filter-options-scroll {
			max-height: 190px;
			overflow-y: auto;
			padding-right: 0.2rem;
		}

		.filter-option {
			display: flex;
			align-items: flex-start;
			gap: 0.5rem;
			margin-bottom: 0.5rem;
			font-size: 0.9rem;
			color: #455a77;
			cursor: pointer;
		}

		.filter-option input {
			margin-top: 0.18rem;
			accent-color: var(--accent);
		}

		.filters-actions {
			margin-top: 1rem;
			display: grid;
			grid-template-columns: 1fr;
			gap: 0.5rem;
		}

		.filters-actions .search-btn,
		.filters-actions .clear-filter-btn {
			width: 100%;
			height: 46px;
			border-radius: 12px;
		}

		.result-meta {
			display: flex;
			flex-wrap: wrap;
			gap: 0.45rem;
			margin-top: 0.45rem;
		}

		.featured-category-meta {
			margin-bottom: 0.2rem;
		}

		.result-chip {
			display: inline-flex;
			align-items: center;
			padding: 0.25rem 0.65rem;
			border-radius: 999px;
			background: #f1f7ff;
			border: 1px solid #d7e6fb;
			color: #365073;
			font-size: 0.8rem;
			font-weight: 700;
		}

		.filters-wrap {
			background: #ffffff;
			border: 1px solid rgba(46, 79, 116, 0.12);
			border-radius: var(--radius-xl);
			padding: 1.5rem;
			box-shadow: var(--shadow-card);
		}

		.filters-head {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 1rem;
			margin-bottom: 1.1rem;
		}

		.filters-head .section-title,
		.filters-head .section-subtitle {
			text-align: center;
			margin-left: auto;
			margin-right: auto;
		}

		.filters-note {
			background: #f5f9ff;
			border: 1px solid #d8e7fb;
			border-radius: 999px;
			padding: 0.4rem 0.85rem;
			color: #2f4f74;
			font-weight: 700;
			font-size: 0.9rem;
		}

		.chips {
			display: flex;
			flex-wrap: wrap;
			gap: 0.65rem;
			justify-content: flex-start;
		}

		.chip {
			background: #f7fbff;
			padding: 0.55rem 1rem;
			border-radius: 999px;
			border: 1px solid #d6e6fb;
			color: #2f5f9b;
			font-size: 0.9rem;
			font-weight: 800;
			text-decoration: none;
			transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
		}

		.chip:hover {
			transform: translateY(-1px);
			border-color: #8fc1ff;
			box-shadow: 0 10px 18px rgba(47, 95, 155, 0.12);
			background: #eef6ff;
		}

		.featured-actions {
			margin-top: 1rem;
			display: flex;
			justify-content: center;
		}

		.featured-view-all-btn {
			background: #eef6ff;
			border: 1px solid #d4e5fb;
		}

		.enquiry-shell {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-xl);
			box-shadow: var(--shadow-card);
			display: grid;
			grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.4fr);
			gap: 1rem;
			padding: 1.1rem;
		}

		.enquiry-note {
			background: linear-gradient(140deg, #edf6ff, #f7fbff);
			border: 1px solid #d8e7fb;
			border-radius: var(--radius-lg);
			padding: 0;
			overflow: hidden;
		}

		.enquiry-note h3 {
			margin: 0;
			font-size: 1.1rem;
			color: #2c4b70;
		}

		.enquiry-note p {
			margin: 0.45rem 0 0;
			color: #4a5f7a;
			font-size: 0.92rem;
		}

		.enquiry-image {
			width: 100%;
			height: 100%;
			min-height: 220px;
			object-fit: cover;
			display: block;
		}

		.enquiry-form {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0.8rem;
		}

		.enquiry-form label {
			display: block;
			margin-bottom: 0.3rem;
			font-weight: 700;
			font-size: 0.9rem;
			color: #2a4468;
		}

		.enquiry-form input,
		.enquiry-form textarea {
			width: 100%;
			border: 1px solid #cfddf0;
			border-radius: 12px;
			padding: 0.68rem 0.75rem;
			font-size: 0.93rem;
			font-family: inherit;
			background: #fbfdff;
		}

		.enquiry-form input {
			height: 46px;
		}

		.enquiry-form textarea {
			resize: vertical;
			min-height: 110px;
		}

		.enquiry-form input:focus,
		.enquiry-form textarea:focus {
			outline: none;
			border-color: #7bb4ff;
			box-shadow: 0 0 0 4px rgba(143, 193, 255, 0.2);
		}

		.enquiry-form-full {
			grid-column: 1 / -1;
		}

		.enquiry-submit {
			height: 48px;
		}

		.contact-hero {
			padding: 4.2rem 0 3.6rem;
			background:
				radial-gradient(circle at 18% 18%, rgba(255, 228, 214, 0.7), transparent 48%),
				radial-gradient(circle at 82% 12%, rgba(216, 239, 255, 0.7), transparent 45%),
				linear-gradient(160deg, #f8fbff 0%, #ffffff 100%);
		}

		.contact-hero-grid {
			display: grid;
			grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
			gap: 1.3rem;
			align-items: stretch;
		}

		.contact-hero-copy h1 {
			margin: 0.5rem 0 0.6rem;
			font-size: clamp(2rem, 3.4vw, 3rem);
			line-height: 1.18;
		}

		.contact-hero-copy p {
			margin: 0;
			color: #5b6d86;
			max-width: 560px;
			font-size: 1rem;
		}

		.contact-quick {
			margin-top: 1.2rem;
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
			gap: 0.7rem;
		}

		.contact-quick-item {
			background: #fff;
			border: var(--border-soft);
			border-radius: 16px;
			padding: 0.8rem 0.9rem;
			box-shadow: var(--shadow-card);
		}

		.contact-quick-item strong {
			display: block;
			color: #2e4d75;
			font-size: 0.92rem;
			margin-bottom: 0.2rem;
		}

		.contact-quick-item span {
			font-size: 0.88rem;
			color: #5a6f87;
			word-break: break-word;
			overflow-wrap: anywhere;
		}

		.contact-hero-card {
			background: #ffffff;
			border-radius: var(--radius-lg);
			border: var(--border-soft);
			box-shadow: var(--shadow-soft);
			padding: 1.4rem;
			height: 100%;
		}

		.contact-hero-card h2 {
			margin: 0 0 0.7rem;
			font-size: 1.3rem;
		}

		.contact-list {
			margin: 0;
			padding-left: 1.2rem;
			color: #3c5170;
			font-size: 0.93rem;
		}

		.contact-list li {
			margin-bottom: 0.5rem;
		}

		.contact-note {
			margin-top: 0.9rem;
			padding: 0.65rem 0.75rem;
			border-radius: 12px;
			background: #f5f9ff;
			border: 1px solid #d8e7fb;
			font-size: 0.9rem;
			color: #2f4f74;
			font-weight: 700;
		}

		.contact-action-cards {
			margin-top: 0.85rem;
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0.7rem;
		}

		.contact-action-card {
			background: #fff;
			border: 1px solid #d8e7fb;
			border-radius: 16px;
			padding: 0.85rem 0.95rem;
			text-decoration: none;
			color: #2f4f74;
			box-shadow: var(--shadow-card);
			display: grid;
			gap: 0.2rem;
			transition: transform 0.2s ease, box-shadow 0.2s ease;
		}

		.contact-action-card strong {
			font-size: 0.95rem;
		}

		.contact-action-card span {
			font-size: 0.88rem;
			color: #5a6f87;
			word-break: break-word;
			overflow-wrap: anywhere;
		}

		.contact-action-card:hover {
			transform: translateY(-2px);
			box-shadow: 0 14px 26px rgba(31, 54, 84, 0.14);
		}

		.contact-grid {
			display: grid;
			grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
			gap: 1.4rem;
			align-items: start;
		}

		.contact-panel h2 {
			margin: 0 0 0.4rem;
			font-size: 1.5rem;
		}

		.contact-panel p {
			margin: 0 0 1.2rem;
			color: #5a6d86;
		}

		.contact-cards {
			display: grid;
			gap: 0.8rem;
		}

		.contact-card {
			background: #fff;
			border: var(--border-soft);
			border-radius: 16px;
			box-shadow: var(--shadow-card);
			padding: 1rem;
		}

		.contact-card h3 {
			margin: 0 0 0.35rem;
			font-size: 1rem;
		}

		.contact-card p {
			margin: 0;
			color: #52647f;
			font-size: 0.92rem;
			line-height: 1.5;
		}

		.contact-form-card {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-card);
			padding: 1.4rem;
		}

		.contact-form-card h2 {
			margin: 0 0 0.35rem;
			font-size: 1.4rem;
		}

		.contact-form-card p {
			margin: 0 0 1rem;
			color: #5a6d86;
		}

		.contact-form {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0.85rem;
		}

		.contact-form label {
			display: block;
			margin-bottom: 0.35rem;
			font-weight: 700;
			font-size: 0.9rem;
			color: #2a4468;
		}

		.contact-form input,
		.contact-form textarea {
			width: 100%;
			border: 1px solid #cfddf0;
			border-radius: 12px;
			padding: 0.68rem 0.75rem;
			font-size: 0.93rem;
			font-family: inherit;
			background: #fbfdff;
		}

		.contact-form input {
			height: 46px;
		}

		.contact-form textarea {
			resize: vertical;
			min-height: 110px;
		}

		.contact-form input:focus,
		.contact-form textarea:focus {
			outline: none;
			border-color: #7bb4ff;
			box-shadow: 0 0 0 4px rgba(143, 193, 255, 0.2);
		}

		.contact-form-full {
			grid-column: 1 / -1;
		}

		.choose-grid {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
		}

		.choose-card {
			background: #fff;
			border-radius: var(--radius-lg);
			border: var(--border-soft);
			box-shadow: var(--shadow-card);
			padding: 1.2rem;
			text-align: center;
		}

		.choose-card h3 {
			margin: 0.55rem 0 0.25rem;
			font-size: 1rem;
		}

		.choose-card p {
			margin: 0;
			color: var(--muted);
			font-size: 0.9rem;
		}

		.testimonials-grid {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 1rem;
		}

		.testimonials-carousel-wrap {
			position: relative;
			margin-top: 1rem;
		}

		.testimonials-carousel {
			display: grid;
			grid-auto-flow: column;
			grid-auto-columns: calc((100% - 2rem) / 3);
			gap: 1rem;
			width: 100%;
			min-width: 0;
			align-items: stretch;
			overflow-x: auto;
			scroll-snap-type: x mandatory;
			scrollbar-width: none;
			-ms-overflow-style: none;
			padding: 0.15rem 0 0.7rem;
		}

		.testimonials-carousel::-webkit-scrollbar {
			display: none;
		}

		.testimonial {
			background: #fff;
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-card);
			border: var(--border-soft);
			padding: 1.2rem;
			scroll-snap-align: start;
			min-width: 0;
			min-height: 100%;
			overflow-wrap: anywhere;
		}

		.testimonials-carousel-nav {
			display: flex;
			justify-content: center;
			gap: 0.5rem;
			margin-top: 0.75rem;
		}

		.testimonials-carousel-nav .slider-btn {
			background: #ffffff;
			border: 1px solid #d6e3f5;
			width: 44px;
			height: 44px;
			font-size: 1.1rem;
			color: #2f5f9b;
			border-radius: 50%;
			box-shadow: 0 8px 18px rgba(20, 45, 80, 0.12);
			display: inline-flex;
			align-items: center;
			justify-content: center;
			transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
		}

		.testimonials-carousel-nav .slider-btn:hover {
			transform: translateY(-1px);
			background: #f7fbff;
			box-shadow: 0 10px 22px rgba(20, 45, 80, 0.16);
		}

		.person {
			display: flex;
			align-items: center;
			gap: 0.75rem;
			margin-bottom: 0.8rem;
		}

		.avatar {
			width: 48px;
			height: 48px;
			border-radius: 50%;
			background: linear-gradient(140deg, #ffe9de, #dceeff);
			display: grid;
			place-items: center;
			font-weight: 800;
			color: #365073;
		}

		.person strong {
			display: block;
			font-size: 0.95rem;
		}

		.person span {
			color: var(--muted);
			font-size: 0.82rem;
		}

		blockquote {
			margin: 0;
			color: #3e4f68;
			font-size: 0.92rem;
		}

		footer {
			background: #f7fbff;
			border-top: 1px solid #e3edf8;
		}

		.footer-pro {
			padding: 2.6rem 0 2rem;
			display: grid;
			grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr));
			gap: 2rem;
			align-items: start;
		}

		.footer-brand p {
			margin: 0.6rem 0 0;
			color: #5c6f88;
			max-width: 420px;
			font-size: 0.95rem;
		}

		.footer-logo {
			font-size: 1.2rem;
			font-weight: 800;
			color: #2a4468;
			text-decoration: none;
		}

		.footer-col h3 {
			margin: 0 0 0.75rem;
			font-size: 0.98rem;
			color: #2a4468;
		}

		.footer-links {
			display: grid;
			gap: 0.5rem;
		}

		.footer-links a {
			color: #3f5678;
			text-decoration: none;
			font-weight: 700;
			font-size: 0.92rem;
		}

		.footer-meta {
			display: grid;
			gap: 0.5rem;
			color: #5b6d86;
			font-size: 0.92rem;
			font-weight: 700;
		}

		.footer-meta a {
			color: inherit;
			text-decoration: none;
		}

		.footer-social {
			display: flex;
			align-items: center;
			gap: 0.65rem;
			margin-top: 0.15rem;
		}

		.footer-social-link {
			width: 38px;
			height: 38px;
			border-radius: 50%;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			background: #ffffff;
			border: 1px solid #d7e6fb;
			color: #2f5f9b;
			text-decoration: none;
			box-shadow: 0 8px 18px rgba(31, 54, 84, 0.08);
			transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
		}

		.footer-social-link:hover {
			transform: translateY(-1px);
			background: #eef6ff;
			color: #244d80;
			box-shadow: 0 12px 22px rgba(31, 54, 84, 0.12);
		}

		.footer-bottom {
			border-top: 1px solid #e1ebf7;
			background: #f3f8ff;
			padding: 0.9rem 0;
		}

		.footer-bottom-inner {
			display: flex;
			flex-wrap: wrap;
			gap: 0.6rem 1.2rem;
			justify-content: space-between;
			align-items: center;
			color: #6a7b92;
			font-size: 0.9rem;
			font-weight: 700;
		}

		.detail-hero {
			padding: 0.8rem 0 0.45rem;
			background:
				radial-gradient(circle at 15% 10%, rgba(255, 226, 212, 0.5), transparent 35%),
				radial-gradient(circle at 80% 12%, rgba(216, 239, 255, 0.6), transparent 36%),
				linear-gradient(180deg, #fbfdff, #ffffff);
		}

		.detail-card {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-xl);
			box-shadow: var(--shadow-soft);
			overflow: hidden;
		}

		.detail-landing-hero {
			display: grid;
			grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
			align-items: stretch;
			width: 100%;
		}

		.detail-hero-media {
			position: relative;
		}

		.detail-image {
			width: 100%;
			height: 400px;
			min-height: 190px;
			object-fit: cover;
			display: block;
		}

		.detail-body {
			padding: 1.2rem;
		}

		.detail-landing-body {
			padding: 0.7rem 0.9rem;
			display: flex;
			flex-direction: column;
			justify-content: center;
		}

		.detail-kicker {
			display: inline-block;
			width: fit-content;
			background: #edf6ff;
			color: #2f5f9b;
			border: 1px solid #d3e7ff;
			border-radius: 999px;
			padding: 0.35rem 0.75rem;
			font-size: 0.82rem;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: 0.04em;
			margin-bottom: 0.8rem;
		}

		.detail-title {
			text-align: left;
			margin: 0;
			line-height: 1.2;
			font-size: clamp(1.35rem, 1.9vw, 1.9rem);
		}

		.detail-copy {
			margin: 0.25rem 0 0;
			color: #5f6f83;
			font-size: 0.92rem;
		}

		.detail-title-wrap {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: flex-start;
			gap: 0.7rem;
		}

		.detail-school-logo {
			width: 64px;
			height: 64px;
			border-radius: 18px;
			object-fit: contain;
			background: #ffffff;
			border: 1px solid #d7e6fb;
			padding: 0.35rem;
			box-shadow: 0 12px 24px rgba(47, 95, 155, 0.12);
			flex-shrink: 0;
		}

		.detail-rating-badge {
			background: #fff7df;
			color: #9a6e00;
			border: 1px solid #ffe4a8;
			border-radius: 999px;
			padding: 0.35rem 0.8rem;
			font-weight: 800;
			font-size: 0.88rem;
		}

		.detail-hero-media .detail-rating-badge {
			position: absolute;
			top: 14px;
			left: 14px;
			box-shadow: 0 8px 20px rgba(51, 68, 92, 0.2);
		}

		.detail-meta {
			display: flex;
			flex-wrap: wrap;
			gap: 0.55rem;
			margin: 0.65rem 0 0.7rem;
		}

		.detail-quick-facts {
			display: grid;
			gap: 0.55rem;
			margin-top: 0.85rem;
			color: #31445f;
			font-size: 0.94rem;
			line-height: 1.45;
		}

		.detail-quick-fact {
			display: grid;
			grid-template-columns: 34px minmax(0, 1fr);
			align-items: center;
			gap: 0.65rem;
			min-height: 34px;
		}

		.detail-quick-icon {
			width: 34px;
			height: 34px;
			border-radius: 8px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			background: #f1f7ff;
			border: 1px solid #d7e6fb;
			color: #2e5f94;
			font-size: 0.92rem;
		}

		.detail-cta-row {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0.75rem;
			align-items: stretch;
			margin-top: 0.35rem;
		}

		.detail-cta-row .search-btn,
		.detail-cta-row .detail-secondary-btn {
			width: 100%;
			justify-content: center;
			text-align: center;
		}

		.detail-secondary-btn {
			background: #2f5f9b;
			border: 0;
			color: #fff;
			height: 56px;
			padding: 0 1.6rem;
			border-radius: 999px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-weight: 800;
			font-size: 0.96rem;
			letter-spacing: 0.01em;
			text-decoration: none;
			cursor: pointer;
		}

		.detail-secondary-btn:hover {
			background: #274f84;
		}

		.detail-highlights {
			padding: 1rem 0 0.6rem;
		}

		.detail-highlights-grid {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 1rem;
		}

		.highlight-card {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-card);
			padding: 1rem;
		}

		.highlight-card h3 {
			margin: 0 0 0.3rem;
			font-size: 0.92rem;
			color: #4a6285;
			text-transform: uppercase;
			letter-spacing: 0.04em;
		}

		.highlight-card p {
			margin: 0;
			font-size: 1rem;
			font-weight: 800;
			color: #243248;
		}

		.meta-chip {
			background: #f1f7ff;
			color: #345276;
			border: 1px solid #d7e6fb;
			border-radius: 999px;
			padding: 0.35rem 0.8rem;
			font-size: 0.86rem;
			font-weight: 700;
		}

		.detail-grid {
			display: grid;
			grid-template-columns: 1.3fr 0.9fr;
			gap: 1rem;
		}

		.detail-content-grid {
			display: grid;
			grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
			gap: 1.2rem;
			align-items: start;
		}

		.detail-stack {
			display: grid;
			gap: 1.1rem;
		}

		.detail-content-grid .slider-block,
		.detail-stack .slider-block {
			margin-top: 0;
		}

		.info-panel {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-card);
			padding: 1.15rem;
		}

		.info-panel h3 {
			margin: 0 0 0.7rem;
			font-size: 1.05rem;
		}

		.info-list {
			margin: 0;
			padding-left: 1.15rem;
			color: #3f5068;
		}

		.info-list li {
			margin-bottom: 0.35rem;
		}

		.info-row {
			display: grid;
			grid-template-columns: 120px 1fr;
			gap: 0.65rem;
			padding: 0.45rem 0;
			border-bottom: 1px solid rgba(84, 110, 143, 0.12);
			color: #3f5068;
		}

		.info-row:last-child {
			border-bottom: 0;
			padding-bottom: 0;
		}

		.info-row strong {
			color: #2e486b;
			font-size: 0.92rem;
		}

		.info-copy {
			margin: 0;
			color: #3f5068;
		}

		.program-grid {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 0.8rem;
		}

		.program-card {
			background: #f8fbff;
			border: 1px solid #dbe9fb;
			border-radius: 14px;
			padding: 0.9rem;
		}

		.program-card h4 {
			margin: 0 0 0.35rem;
			font-size: 0.95rem;
			color: #2f4f74;
		}

		.program-card p {
			margin: 0;
			font-size: 0.88rem;
			color: #49617f;
			line-height: 1.45;
		}

		.back-link {
			display: inline-block;
			margin-bottom: 0.8rem;
			color: #2f5f9b;
			font-weight: 700;
			text-decoration: none;
		}

		.flash-container {
			padding-top: 12px;
		}

		.auto-dismiss-hide {
			opacity: 0;
			transform: translateY(-6px);
			max-height: 0;
			margin-top: 0;
			margin-bottom: 0;
			padding-top: 0;
			padding-bottom: 0;
			overflow: hidden;
			pointer-events: none;
		}

		.slider-block {
			margin-top: 1rem;
		}

		.dual-slider-grid {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1rem;
			align-items: start;
		}

		.slider-head {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			margin-bottom: 0.7rem;
		}

		.slider-head h3 {
			margin: 0;
			font-size: 1.08rem;
		}

		.slider-nav {
			display: flex;
			gap: 0.45rem;
		}

		.slider-btn {
			width: 36px;
			height: 36px;
			border-radius: 50%;
			border: 1px solid #d0e1f8;
			background: #fff;
			color: #35608f;
			font-weight: 800;
			cursor: pointer;
		}

		.slider-window {
			overflow: hidden;
			border-radius: var(--radius-lg);
		}

		.slider-track {
			display: flex;
			transition: transform 0.35s ease;
		}

		.slide {
			min-width: 100%;
			flex: 0 0 100%;
		}

		.gallery-slide {
			width: 100%;
			height: 320px;
			object-fit: cover;
			display: block;
			border-radius: var(--radius-lg);
			border: var(--border-soft);
		}

		.school-gallery-panel {
			position: sticky;
			top: 84px;
		}

		.detail-overview .gallery-slide {
			height: auto;
			aspect-ratio: 1 / 1;
		}

		.testimonial-slide {
			background: #fff;
			border: var(--border-soft);
			border-radius: var(--radius-lg);
			box-shadow: var(--shadow-card);
			padding: 1rem;
		}

		.testimonial-slide .person {
			margin-bottom: 0.5rem;
		}

		.testimonial-slide blockquote {
			font-size: 0.95rem;
			line-height: 1.6;
		}

		.detail-support .info-panel {
			height: 100%;
		}

		.admissions-panel {
			background: linear-gradient(130deg, #f7fbff, #fdf9ff);
			border: 1px solid #d8e5f7;
		}

		.admissions-head h3 {
			margin: 0;
			font-size: 1.2rem;
		}

		.admissions-head p {
			margin: 0.2rem 0 1rem;
			color: #5f6f83;
		}

		.admissions-steps {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 0.8rem;
		}

		.admission-step {
			background: #fff;
			border: 1px solid #dbe7f8;
			border-radius: 14px;
			padding: 0.95rem;
		}

		.admission-step span {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 30px;
			height: 30px;
			border-radius: 50%;
			background: #ecf5ff;
			color: #2f5f9b;
			font-size: 0.82rem;
			font-weight: 800;
			margin-bottom: 0.55rem;
		}

		.admission-step h4 {
			margin: 0 0 0.35rem;
			font-size: 0.95rem;
			color: #2a4468;
		}

		.admission-step p {
			margin: 0;
			color: #566980;
			font-size: 0.86rem;
			line-height: 1.45;
		}

		@media (max-width: 1050px) {
			.featured-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.featured-carousel-head {
				align-items: flex-start;
			}

			.featured-carousel-head .section-subtitle {
				margin-bottom: 0;
			}

			.filters-head {
				flex-direction: column;
				align-items: flex-start;
			}

			.results-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.testimonials-carousel {
				grid-auto-columns: calc((100% - 1rem) / 2);
			}

			.compare-cards {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.enquiry-shell {
				grid-template-columns: 1fr;
			}

			.age-search-wrap {
				grid-template-columns: 1fr;
			}

			.age-search-shell {
				margin-left: 0;
			}

			.age-quick-pills {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.contact-hero-grid,
			.contact-grid {
				grid-template-columns: 1fr;
			}

			.contact-quick {
				grid-template-columns: 1fr;
			}

			.contact-action-cards {
				grid-template-columns: 1fr;
			}

			.results-layout {
				grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
			}

			.dashboard-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.choose-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.detail-landing-hero {
				grid-template-columns: 1fr;
			}

			.detail-image {
				min-height: 165px;
			}

			.detail-landing-body {
				padding: 0.7rem;
			}

			.program-grid {
				grid-template-columns: 1fr;
			}

			.detail-highlights-grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.admissions-steps {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		@media (max-width: 1024px) {
			body.nav-open {
				overflow: hidden;
			}

			.hero,
			.section,
			footer {
				overflow-x: clip;
			}

			.nav-backdrop {
				position: fixed;
				inset: 0;
				background: rgba(17, 27, 43, 0.42);
				backdrop-filter: blur(2px);
				z-index: 998;
			}

			.nav-backdrop.is-open {
				display: block;
			}

			.nav-links {
				display: flex;
				position: fixed;
				right: 0;
				top: 0;
				flex-direction: column;
				align-items: flex-start;
				flex-wrap: nowrap;
				gap: 0.35rem;
				padding: 5.5rem 1.1rem 1.25rem;
				width: min(86vw, 340px);
				height: 100vh;
				background: #fff;
				border-left: 1px solid #d9e6f7;
				border-radius: 24px 0 0 24px;
				box-shadow: -14px 0 32px rgba(31, 54, 84, 0.18);
				overflow-y: auto;
				transform: translateX(100%);
				visibility: hidden;
				opacity: 0;
				pointer-events: none;
				transition: transform 0.22s ease;
				z-index: 999;
			}

			.nav-links.is-open {
				transform: translateX(0);
				visibility: visible;
				opacity: 1;
				pointer-events: auto;
			}

			.nav-links a {
				width: 100%;
				padding: 0.8rem 0.95rem;
				border-radius: 14px;
				background: #f8fbff;
				border: 1px solid rgba(217, 230, 247, 0.7);
			}

			.parent-menu {
				display: block;
				width: 100%;
			}

			.parent-menu-mobile-label {
				display: block;
				width: 100%;
				padding: 0.15rem 0.2rem 0.55rem;
				font-size: 1rem;
				font-weight: 800;
				color: #2a4468;
			}

			.parent-menu-btn {
				display: none;
			}

			.parent-menu-list {
				position: static;
				display: flex;
				flex-direction: column;
				gap: 0.35rem;
				min-width: 0;
				margin-top: 0;
				padding: 0;
				border: 0;
				background: transparent;
				border-radius: 0;
				box-shadow: none;
			}

			.parent-menu-list a {
				width: 100%;
				padding: 0.8rem 0.95rem;
				border-radius: 14px;
				background: #f8fbff;
				border: 1px solid rgba(217, 230, 247, 0.7);
			}

			.parent-menu-list.is-open {
				display: flex;
			}

			.nav-toggle {
				display: inline-flex;
				position: relative;
				z-index: 1001;
			}
		}

		@media (max-width: 860px) {
			body.has-fixed-header {
				padding-top: 64px;
			}

			.featured-carousel {
				margin-left: 2rem;
				margin-right: 2rem;
			}

			.testimonials-carousel {
				grid-auto-columns: 100%;
				gap: 0.85rem;
				padding: 0.15rem 0 0.65rem;
			}

			.testimonial {
				padding: 1rem;
				scroll-snap-stop: always;
			}

			.search-grid {
				grid-template-columns: 1fr;
			}

			.featured-carousel-head {
				flex-direction: column;
				align-items: flex-start;
			}

			.offer-card {
				grid-template-columns: 1fr;
			}

			.offer-steps {
				text-align: left;
			}

			.search-filter-grid {
				grid-template-columns: 1fr;
			}

			.enquiry-form {
				grid-template-columns: 1fr;
			}

			.contact-form {
				grid-template-columns: 1fr;
			}

			.results-layout {
				grid-template-columns: 1fr;
			}

			.dashboard-content-grid {
				grid-template-columns: 1fr;
			}

			.results-sidebar {
				position: static;
			}

			.auth-wrap {
				grid-template-columns: 1fr;
			}

			.auth-showcase {
				padding: 1.25rem;
			}

			.site-header-inner {
				height: 64px;
			}

			.nav-links {
				width: min(100vw, 320px);
				padding-top: 5rem;
				border-radius: 20px 0 0 20px;
			}

			.search-btn {
				width: 100%;
			}

			.how-grid,
			.testimonials-grid {
				grid-template-columns: 1fr;
			}

			.footer-pro {
				grid-template-columns: 1fr;
			}

			.footer-bottom-inner {
				flex-direction: column;
				align-items: flex-start;
			}

			.detail-grid {
				grid-template-columns: 1fr;
			}

			.detail-content-grid {
				grid-template-columns: 1fr;
			}

			.detail-title-wrap-main {
				flex-direction: column;
				align-items: flex-start;
				gap: 0.35rem;
			}

			.detail-hero-media .detail-rating-badge {
				top: 10px;
				left: 10px;
			}

			.school-gallery-panel {
				position: static;
				top: auto;
			}

			.detail-overview .gallery-slide {
				height: auto;
			}

			.dual-slider-grid {
				grid-template-columns: 1fr;
			}

			.detail-cta-row {
				grid-template-columns: 1fr;
			}

			.detail-secondary-btn {
				text-align: center;
			}

			.compare-head {
				gap: 0.35rem;
				margin-bottom: 0.85rem;
			}

			.compare-title-left {
				font-size: clamp(1.35rem, 6vw, 1.8rem);
				line-height: 1.2;
				margin-bottom: 0;
			}

			.compare-subtitle-left {
				margin: 0.1rem 0 0;
				font-size: 0.95rem;
				max-width: none;
			}
		}

		@media (max-width: 620px) {
			.featured-carousel {
				margin-left: 0;
				margin-right: 0;
				grid-auto-columns: 100%;
				gap: 0.85rem;
				padding-bottom: 0;
			}

			.featured-carousel-foot {
				position: static;
				transform: none;
				margin-top: 1rem;
				pointer-events: auto;
			}

			.featured-carousel-foot .featured-carousel-nav {
				justify-content: center;
				gap: 0.75rem;
			}

			.featured-carousel-foot .slider-btn {
				width: 46px;
				height: 46px;
				font-size: 1.15rem;
			}

			.featured-carousel-foot .slider-btn:first-child,
			.featured-carousel-foot .slider-btn:last-child {
				margin: 0;
			}

			.section {
				padding: 3.4rem 0;
			}

			.compare-head .back-link {
				font-size: 0.92rem;
				line-height: 1.35;
				margin-bottom: 0.1rem;
			}

			.hero {
				padding-top: 3.6rem;
			}

			.home-page .hero {
				padding-top: calc(64px + 3.6rem);
			}

			.featured-grid,
			.choose-grid,
			.compare-cards,
			.dashboard-grid {
				grid-template-columns: 1fr;
			}

			.compare-matrix-wrap {
				margin-left: -1rem;
				margin-right: -1rem;
				padding: 0 1rem;
			}

			.newsletter {
				flex-direction: column;
			}

			.info-row {
				grid-template-columns: 1fr;
				gap: 0.25rem;
			}

			.detail-highlights-grid {
				grid-template-columns: 1fr;
			}

			.admissions-steps {
				grid-template-columns: 1fr;
			}
		}
