/*
Theme Name: SSELC Child
Theme URI: https://www.superstarselc.com.au/
Description: Minimal child theme support for the Super Stars Early Learning Centre & OSHC Elementor redesign.
Author: Super Stars Early Learning Centre & OSHC
Template: kadence
Version: 0.17.0
Text Domain: sselc-child
*/

/* Bright Constellation — approved local design direction. */
:root {
	--sselc-indigo: #40376d;
	--sselc-indigo-deep: #312a58;
	--sselc-lilac: #b9a8e5;
	--sselc-lilac-soft: #eee9fa;
	--sselc-coral: #b83e56;
	--sselc-coral-dark: #963047;
	--sselc-gold: #e4a62b;
	--sselc-mist: #f8f6fc;
	--sselc-ink: #292733;
	--sselc-white: #ffffff;
	--sselc-radius-sm: 14px;
	--sselc-radius-md: 22px;
	--sselc-radius-lg: 40px;
	--sselc-shadow: 0 18px 50px rgba(64, 55, 109, 0.12);
	--global-palette1: var(--sselc-indigo);
	--global-palette2: var(--sselc-indigo-deep);
	--global-palette3: var(--sselc-ink);
	--global-palette4: #454150;
	--global-palette5: #655f70;
	--global-palette6: #827b8e;
	--global-palette7: var(--sselc-lilac-soft);
	--global-palette8: var(--sselc-mist);
	--global-palette9: var(--sselc-white);
	--global-palette-highlight: var(--sselc-indigo);
	--global-palette-highlight-alt: var(--sselc-indigo-deep);
	--global-palette-btn-bg: var(--sselc-coral);
	--global-palette-btn-bg-hover: var(--sselc-coral-dark);
	--global-body-font-family: "Nunito Sans", sans-serif;
	--global-heading-font-family: "Fredoka", sans-serif;
	--global-primary-nav-font-family: "Nunito Sans", sans-serif;
	--global-content-width: 1200px;
}

/* Complete Programs page — editable Elementor sections. */
body .sselc-programs-page-hero,
body .sselc-programs-early-learning,
body .sselc-programs-learning-focus,
body .sselc-programs-stages,
body .sselc-programs-oshc,
body .sselc-programs-rhythm,
body .sselc-programs-faqs,
body .sselc-programs-final-cta {
	padding: clamp(4.5rem, 8vw, 7.5rem) max(1.25rem, calc((100vw - 1200px) / 2)) !important;
}

body .sselc-programs-page-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 7% 18%, rgba(228, 166, 43, 0.22) 0 9%, transparent 9.3%),
		linear-gradient(135deg, #fffdf8 0 58%, #eee9fa 58% 100%);
}

body .sselc-programs-page-hero::after {
	content: "★";
	position: absolute;
	right: 3.5%;
	top: 5%;
	color: rgba(64, 55, 109, 0.09);
	font-size: clamp(7rem, 15vw, 13rem);
	line-height: 1;
}

body .sselc-programs-page-hero > .e-con-inner,
body .sselc-programs-early-learning > .e-con-inner,
body .sselc-programs-final-cta > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
	gap: clamp(2.5rem, 6vw, 6rem) !important;
	align-items: center !important;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

body .sselc-programs-page-hero-copy,
body .sselc-programs-page-hero-visual,
body .sselc-programs-section-copy,
body .sselc-programs-section-image,
body .sselc-programs-final-copy {
	width: 100% !important;
}

body .sselc-programs-page-hero h1 {
	max-width: 14ch;
	margin: 0.65rem 0 1.6rem;
	color: var(--sselc-indigo-deep);
	font-size: clamp(3.2rem, 5.2vw, 4.75rem);
	line-height: 1.02;
	letter-spacing: -0.035em;
}

body .sselc-programs-page-hero-copy .elementor-widget-text-editor {
	max-width: 54ch;
}

body .sselc-programs-page-hero-copy > .e-con-inner {
	align-content: center;
	gap: 0.25rem;
}

body .sselc-programs-page-actions > .e-con-inner {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.9rem;
	align-items: center;
}

body .sselc-programs-page-hero-visual {
	position: relative;
	z-index: 1;
}

body .sselc-programs-page-hero-main-image img {
	display: block;
	width: 100%;
	min-height: 610px;
	object-fit: cover;
	border: 12px solid #fff;
	border-radius: 46% 54% 23% 27% / 17% 18% 10% 11%;
	box-shadow: 22px 24px 0 rgba(228, 166, 43, 0.2), var(--sselc-shadow);
}

body .sselc-programs-page-hero-visual::before {
	content: "";
	position: absolute;
	inset: -38px -45px auto auto;
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: conic-gradient(from 20deg, #ff5d8f, #ffb703, #f9ef65, #62d28f, #54a9ff, #9b7cff, #ff5d8f);
	filter: blur(1px);
	opacity: 0.28;
	animation: sselc-rainbow-orbit 13s linear infinite;
}

body .sselc-programs-page-hero-secondary-image {
	position: absolute !important;
	left: -2.2rem;
	bottom: 1.8rem;
	z-index: 3;
	width: 210px !important;
}

body .sselc-programs-page-hero-secondary-image::after {
	content: "✦";
	position: absolute;
	right: -18px;
	top: -26px;
	color: #ffd85c;
	font-size: 2.8rem;
	text-shadow: 0 0 10px rgba(255, 216, 92, 0.85), 0 0 24px rgba(255, 118, 171, 0.7);
	animation: sselc-sparkle-pulse 2.4s ease-in-out infinite;
}

body .sselc-programs-page-hero-secondary-image img {
	display: block;
	width: 210px;
	height: 210px;
	object-fit: cover;
	border: 8px solid #fff;
	border-radius: 50%;
	box-shadow: 0 18px 42px rgba(49, 42, 88, 0.25);
}

body .sselc-programs-page-facts {
	position: absolute !important;
	right: -1rem;
	bottom: 2rem;
	width: min(330px, 80%) !important;
	padding: 1.4rem 1.6rem !important;
	border: 4px solid #fff;
	border-radius: 22px;
	background: rgba(64, 55, 109, 0.94);
	color: #fff;
	box-shadow: var(--sselc-shadow);
}

body .sselc-programs-page-facts h3,
body .sselc-programs-page-facts p {
	margin: 0;
	color: #fff !important;
}

body .sselc-programs-page-facts h3 {
	background: linear-gradient(90deg, #ff79a9, #ffd45f, #85e6a2, #79bfff, #c69bff, #ff79a9);
	background-size: 220% auto;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: sselc-rainbow-text 5s linear infinite;
}

body .sselc-programs-page-facts .elementor-widget-text-editor + .elementor-widget-text-editor {
	margin-top: 0.15rem;
}

body .sselc-programs-jump-links {
	position: sticky;
	top: 84px;
	z-index: 20;
	padding: 1rem max(1.25rem, calc((100vw - 1200px) / 2)) !important;
	border-block: 1px solid rgba(64, 55, 109, 0.1);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 8px 26px rgba(64, 55, 109, 0.08);
	backdrop-filter: blur(12px);
}

body .sselc-programs-jump-links nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem 1.8rem;
}

body .sselc-programs-jump-links a {
	color: var(--sselc-indigo);
	font-weight: 800;
	text-decoration: none;
}

body .sselc-programs-jump-links a:hover {
	color: var(--sselc-coral);
}

body .sselc-programs-section-copy h2,
body .sselc-programs-section-heading h2 {
	color: var(--sselc-indigo-deep);
}

body .sselc-programs-section-copy h2 {
	max-width: 15ch;
}

body .sselc-programs-check-list ul {
	display: grid;
	gap: 0.7rem;
	margin: 1.6rem 0 0;
	padding: 0;
	list-style: none;
}

body .sselc-programs-check-list li {
	position: relative;
	padding-left: 2rem;
}

body .sselc-programs-check-list li::before {
	content: "★";
	position: absolute;
	left: 0;
	color: var(--sselc-gold);
}

body .sselc-programs-section-image {
	position: relative;
}

body .sselc-programs-section-image img {
	display: block;
	width: 100%;
	min-height: 590px;
	object-fit: cover;
	border-radius: 42px 42px 140px 42px;
	box-shadow: var(--sselc-shadow);
}

body .sselc-programs-photo-caption {
	position: absolute !important;
	right: -1rem;
	bottom: 1.5rem;
	width: min(380px, 78%) !important;
	padding: 1.1rem 1.35rem !important;
	border: 4px solid #fff;
	border-radius: 18px;
	background: rgba(228, 166, 43, 0.94);
	color: var(--sselc-indigo-deep);
	font-family: "Fredoka", sans-serif;
	font-weight: 700;
	box-shadow: var(--sselc-shadow);
}

body .sselc-programs-photo-caption p {
	margin: 0;
}

body .sselc-programs-learning-focus,
body .sselc-programs-rhythm {
	background: var(--sselc-lilac-soft);
}

body .sselc-programs-section-heading {
	width: min(820px, 100%) !important;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
	text-align: center;
}

body .sselc-programs-focus-grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.35rem !important;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

body .sselc-programs-focus-card {
	width: 100% !important;
	min-height: 285px;
	padding: 1.7rem !important;
	border: 1px solid rgba(64, 55, 109, 0.1);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(64, 55, 109, 0.07);
}

body .sselc-programs-focus-card h3 {
	margin-bottom: 0.6rem;
	color: var(--sselc-indigo);
}

body .sselc-programs-card-icon {
	display: grid;
	width: 52px !important;
	height: 52px;
	margin-bottom: 1rem;
	place-items: center;
	border-radius: 50%;
	background: var(--sselc-gold);
	color: var(--sselc-indigo-deep);
	font-family: "Fredoka", sans-serif;
	font-size: 1.25rem;
	font-weight: 800;
}

body .sselc-programs-stage-grid > .e-con-inner,
body .sselc-programs-oshc-grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

body .sselc-programs-stage-card {
	overflow: hidden;
	width: 100% !important;
	border: 1px solid rgba(64, 55, 109, 0.1);
	border-radius: 26px;
	background: #fff;
	box-shadow: var(--sselc-shadow);
}

body .sselc-programs-stage-card .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 280px;
	object-fit: cover;
}

body .sselc-programs-stage-card .elementor-widget-heading,
body .sselc-programs-stage-card .elementor-widget-text-editor {
	padding-inline: 1.6rem;
}

body .sselc-programs-stage-card .elementor-widget-heading {
	padding-top: 1.35rem;
}

body .sselc-programs-stage-card .elementor-widget-text-editor {
	padding-bottom: 1.5rem;
}

body .sselc-programs-stage-card h3 {
	color: var(--sselc-indigo);
}

body .sselc-programs-oshc {
	background:
		radial-gradient(circle at 94% 7%, rgba(228, 166, 43, 0.22) 0 9%, transparent 9.2%),
		var(--sselc-indigo-deep);
	color: #fff;
}

body .sselc-programs-section-heading-light h2,
body .sselc-programs-section-heading-light p,
body .sselc-programs-section-heading-light .sselc-eyebrow .elementor-heading-title {
	color: #fff !important;
}

body .sselc-programs-oshc-card {
	width: 100% !important;
	min-height: 310px;
	padding: 1.8rem !important;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.09);
	color: #fff;
}

body .sselc-programs-oshc-card h3,
body .sselc-programs-oshc-card p {
	color: #fff !important;
}

body .sselc-programs-oshc-number {
	color: #ffd45f !important;
	font-family: "Fredoka", sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
}

body .sselc-programs-oshc-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	background: #40376d !important;
	box-shadow: 0 18px 42px rgba(11, 7, 36, 0.2);
}

body .sselc-programs-oshc-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 7px;
	background: linear-gradient(90deg, #ff6fa5, #ffd45f, #79d99d, #69b9ff, #b58cff, #ff6fa5);
	background-size: 220% auto;
	animation: sselc-rainbow-text 5.5s linear infinite;
}

body .sselc-programs-oshc-card::after {
	content: "✦";
	position: absolute;
	right: 1.2rem;
	top: 0.9rem;
	color: #fff7bf;
	font-size: 1.5rem;
	text-shadow: 0 0 10px #ffd45f, 0 0 20px #ff6fa5;
	animation: sselc-sparkle-pulse 2.8s ease-in-out infinite;
}

body .sselc-programs-oshc-card h3,
body .sselc-programs-oshc-number {
	display: inline-block;
	color: #ffd45f !important;
	animation: sselc-rainbow-glow 3.2s ease-in-out infinite;
}

body .sselc-programs-oshc-card:nth-child(1) h3,
body .sselc-programs-oshc-card:nth-child(1) .sselc-programs-oshc-number {
	color: #ff9fc2 !important;
}

body .sselc-programs-oshc-card:nth-child(2) h3,
body .sselc-programs-oshc-card:nth-child(2) .sselc-programs-oshc-number {
	color: #98edb1 !important;
}

body .sselc-programs-oshc-card:nth-child(3) h3,
body .sselc-programs-oshc-card:nth-child(3) .sselc-programs-oshc-number {
	color: #8fcaff !important;
}

body .sselc-programs-oshc-card:nth-child(2)::after {
	animation-delay: 0.7s;
}

body .sselc-programs-oshc-card:nth-child(3)::after {
	animation-delay: 1.4s;
}

@keyframes sselc-rainbow-text {
	to { background-position: 230% center; }
}

@keyframes sselc-rainbow-orbit {
	to { transform: rotate(360deg); }
}

@keyframes sselc-sparkle-pulse {
	0%, 100% { opacity: 0.55; transform: scale(0.82) rotate(-8deg); }
	50% { opacity: 1; transform: scale(1.16) rotate(8deg); }
}

@keyframes sselc-rainbow-glow {
	0%, 100% { text-shadow: 0 0 0 rgba(255, 255, 255, 0); }
	50% { text-shadow: 0 0 9px rgba(255, 212, 95, 0.34), 0 0 18px rgba(117, 189, 255, 0.2); }
}

@media (prefers-reduced-motion: reduce) {
	body .sselc-programs-page-hero-visual::before,
	body .sselc-programs-page-hero-secondary-image::after,
	body .sselc-programs-page-facts h3,
	body .sselc-programs-oshc-card::after,
	body .sselc-programs-oshc-card::before,
	body .sselc-programs-oshc-card h3,
	body .sselc-programs-oshc-number {
		animation: none !important;
	}
}

body .sselc-programs-oshc-photo-band > .e-con-inner {
	display: grid !important;
	grid-template-columns: 1.1fr 0.9fr 1.1fr !important;
	gap: 0.85rem !important;
	width: 100%;
	max-width: 1200px;
	margin: 2.2rem auto 0;
}

body .sselc-programs-oshc-photo-band img {
	display: block;
	width: 100%;
	height: 280px;
	object-fit: cover;
	border: 6px solid rgba(255, 255, 255, 0.92);
	border-radius: 24px;
}

body .sselc-programs-oshc-photo-band .elementor-widget-image:nth-child(2) img {
	height: 320px;
	margin-top: -20px;
}

body .sselc-programs-rhythm-grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 0 !important;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

body .sselc-programs-rhythm-step {
	position: relative;
	width: 100% !important;
	padding: 1.8rem 1.2rem !important;
	border-top: 4px solid var(--sselc-lilac);
	text-align: center;
}

body .sselc-programs-rhythm-step::before {
	content: "";
	position: absolute;
	top: -10px;
	left: calc(50% - 8px);
	width: 16px;
	height: 16px;
	border: 3px solid var(--sselc-lilac-soft);
	border-radius: 50%;
	background: var(--sselc-coral);
}

body .sselc-programs-rhythm-step h3 {
	color: var(--sselc-indigo);
}

body .sselc-programs-faqs {
	background: #fff;
}

body .sselc-programs-faq-list {
	display: grid;
	gap: 0.9rem;
	width: min(950px, 100%);
	margin-inline: auto;
}

body .sselc-programs-faq-list details {
	padding: 0;
	border: 1px solid rgba(64, 55, 109, 0.13);
	border-radius: 18px;
	background: var(--sselc-mist);
}

body .sselc-programs-faq-list summary {
	position: relative;
	padding: 1.25rem 3.5rem 1.25rem 1.4rem;
	cursor: pointer;
	color: var(--sselc-indigo-deep);
	font-family: "Fredoka", sans-serif;
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	font-weight: 700;
	list-style: none;
}

body .sselc-programs-faq-list summary::-webkit-details-marker {
	display: none;
}

body .sselc-programs-faq-list summary::after {
	content: "+";
	position: absolute;
	right: 1.35rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--sselc-coral);
	font-size: 1.8rem;
}

body .sselc-programs-faq-list details[open] summary::after {
	content: "−";
}

body .sselc-programs-faq-list details p {
	margin: 0;
	padding: 0 1.4rem 1.4rem;
}

body .sselc-programs-final-cta {
	background:
		radial-gradient(circle at 12% 100%, rgba(228, 166, 43, 0.32) 0 13%, transparent 13.2%),
		var(--sselc-lilac-soft);
}

body .sselc-programs-final-cta h2 {
	max-width: 15ch;
	color: var(--sselc-indigo-deep);
}

@media (max-width: 900px) {
	body .sselc-programs-page-hero > .e-con-inner,
	body .sselc-programs-early-learning > .e-con-inner,
	body .sselc-programs-final-cta > .e-con-inner {
		grid-template-columns: 1fr !important;
	}

	body .sselc-programs-page-hero h1 {
		max-width: 13ch;
	}

	body .sselc-programs-focus-grid > .e-con-inner,
	body .sselc-programs-stage-grid > .e-con-inner,
	body .sselc-programs-oshc-grid > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body .sselc-programs-rhythm-grid > .e-con-inner {
		grid-template-columns: 1fr !important;
	}

	body .sselc-programs-rhythm-step {
		padding: 1.25rem 1.25rem 1.25rem 2rem !important;
		border-top: 0;
		border-left: 4px solid var(--sselc-lilac);
		text-align: left;
	}

	body .sselc-programs-rhythm-step::before {
		top: calc(50% - 8px);
		left: -10px;
	}
}

@media (max-width: 640px) {
	body .sselc-programs-page-hero,
	body .sselc-programs-early-learning,
	body .sselc-programs-learning-focus,
	body .sselc-programs-stages,
	body .sselc-programs-oshc,
	body .sselc-programs-rhythm,
	body .sselc-programs-faqs,
	body .sselc-programs-final-cta {
		padding: 3.75rem 1.2rem !important;
	}

	body .sselc-programs-page-hero h1 {
		max-width: 12ch;
		font-size: clamp(2.85rem, 13vw, 3.65rem);
	}

	body .sselc-programs-page-hero-main-image img,
	body .sselc-programs-section-image img {
		min-height: 430px;
	}

	body .sselc-programs-page-hero-secondary-image {
		left: 0.7rem;
		top: 1.2rem;
		bottom: auto;
		width: 128px !important;
	}

	body .sselc-programs-page-hero-secondary-image img {
		width: 128px;
		height: 128px;
		border-width: 5px;
	}

	body .sselc-programs-page-facts,
	body .sselc-programs-photo-caption {
		right: 0.8rem;
		width: calc(100% - 1.6rem) !important;
	}

	body .sselc-programs-jump-links {
		position: static;
		padding: 1rem 1.2rem !important;
	}

	body .sselc-programs-jump-links nav {
		justify-content: flex-start;
		gap: 0.45rem 1rem;
	}

	body .sselc-programs-focus-grid > .e-con-inner,
	body .sselc-programs-stage-grid > .e-con-inner,
	body .sselc-programs-oshc-grid > .e-con-inner,
	body .sselc-programs-oshc-photo-band > .e-con-inner {
		grid-template-columns: 1fr !important;
	}

	body .sselc-programs-focus-card,
	body .sselc-programs-oshc-card {
		min-height: 0;
	}

	body .sselc-programs-oshc-photo-band .elementor-widget-image:nth-child(2) img {
		height: 280px;
		margin-top: 0;
	}

	body .sselc-programs-page-actions > .e-con-inner {
		align-items: stretch;
		flex-direction: column;
	}

	body .sselc-programs-page-actions .elementor-button {
		width: 100%;
	}
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--sselc-mist);
	color: var(--sselc-ink);
}

body,
button,
input,
select,
textarea {
	font-family: "Nunito Sans", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title {
	font-family: "Fredoka", sans-serif;
	letter-spacing: -0.025em;
}

h1 {
	font-size: clamp(2.75rem, 6vw, 4.75rem);
	line-height: 0.98;
}

h2 {
	font-size: clamp(2.15rem, 4vw, 3.45rem);
	line-height: 1.05;
}

h3 {
	font-size: clamp(1.45rem, 2.5vw, 2rem);
	line-height: 1.15;
}

a,
button,
.elementor-button {
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.elementor-button:focus-visible {
	outline: 3px solid var(--sselc-gold);
	outline-offset: 3px;
}

/* Kadence header and navigation. */
#masthead {
	border-bottom: 1px solid rgba(64, 55, 109, 0.12);
	box-shadow: 0 6px 26px rgba(64, 55, 109, 0.07);
}

.site-main-header-inner-wrap {
	min-height: 94px;
}

.site-branding .custom-logo {
	width: 82px;
	max-height: 82px;
	object-fit: contain;
}

.site-branding .site-title-wrap {
	display: none;
}

.main-navigation .primary-menu-container > ul > li.menu-item > a {
	padding-right: 0.48em;
	padding-left: 0.48em;
	font-weight: 600;
	font-size: 0.94rem;
	color: var(--sselc-ink);
}

.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a {
	color: var(--sselc-indigo);
}

.main-navigation .primary-menu-container > ul > li:last-child > a {
	min-height: 48px;
	margin-left: 0.65rem;
	padding: 0 1.25rem;
	border-radius: 999px;
	background: var(--sselc-coral);
	color: var(--sselc-white);
}

.main-navigation .primary-menu-container > ul > li:last-child > a:hover,
.main-navigation .primary-menu-container > ul > li:last-child.current-menu-item > a {
	background: var(--sselc-coral-dark);
	color: var(--sselc-white);
	transform: translateY(-1px);
}

.mobile-toggle-open-container .menu-toggle-open {
	border-color: var(--sselc-indigo);
	border-radius: 999px;
	color: var(--sselc-indigo);
}

#mobile-drawer .drawer-inner {
	background: var(--sselc-indigo-deep);
}

/* Full-width Elementor prototype. */
.page-id-5 .entry-hero,
.page-id-5 .entry-header,
.page-id-5 .content-area {
	margin-top: 0;
	margin-bottom: 0;
}

.page-id-5 .entry-content-wrap,
.page-id-5 .content-container,
.page-id-5 .site-container {
	max-width: none;
	padding: 0;
}

.page-id-5 .entry.single-entry {
	box-shadow: none;
}

.page-id-5 .entry-content > p {
	display: none;
}

.sselc-section,
.sselc-hero,
.sselc-proof,
.sselc-intro,
.sselc-programs,
.sselc-difference,
.sselc-tour {
	--padding-inline: clamp(1.25rem, 4vw, 3rem);
	padding: clamp(4rem, 8vw, 7.5rem) var(--padding-inline);
}

.sselc-section > .e-con-inner,
.sselc-hero > .e-con-inner,
.sselc-proof > .e-con-inner,
.sselc-intro > .e-con-inner,
.sselc-programs > .e-con-inner,
.sselc-difference > .e-con-inner,
.sselc-tour > .e-con-inner {
	max-width: 1200px;
	margin-inline: auto;
}

.sselc-eyebrow .elementor-heading-title {
	font-family: "Nunito Sans", sans-serif;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sselc-coral);
}

.sselc-hero {
	position: relative;
	overflow: hidden;
	min-height: 650px;
	background:
		radial-gradient(circle at 85% 14%, rgba(228, 166, 43, 0.22) 0 6%, transparent 6.2%),
		radial-gradient(circle at 92% 30%, rgba(185, 168, 229, 0.36) 0 12%, transparent 12.2%),
		linear-gradient(120deg, var(--sselc-white) 0 48%, var(--sselc-lilac-soft) 48% 100%);
}

.sselc-hero > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.sselc-hero-copy > .e-con-inner,
.sselc-hero-art > .e-con-inner,
.sselc-photo-placeholder > .e-con-inner,
.sselc-program-card > .e-con-inner,
.sselc-feature-card > .e-con-inner,
.sselc-tour-copy > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
}

.sselc-hero-copy .elementor-heading-title {
	max-width: 10ch;
	color: var(--sselc-indigo);
}

.sselc-hero-copy .elementor-widget-text-editor {
	max-width: 56ch;
	font-size: clamp(1.08rem, 1.7vw, 1.28rem);
	color: #504b5b;
}

.sselc-actions > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 0.75rem;
}

.sselc-actions .elementor-widget-button {
	width: auto;
}

.sselc-primary-button .elementor-button,
.sselc-tour .elementor-button {
	min-height: 52px;
	padding: 0.85rem 1.45rem;
	border-radius: 999px;
	background: var(--sselc-coral) !important;
	color: var(--sselc-white) !important;
	font-weight: 700;
	box-shadow: 0 12px 28px rgba(184, 62, 86, 0.24);
}

.sselc-primary-button .elementor-button:hover,
.sselc-tour .elementor-button:hover {
	background: var(--sselc-coral-dark) !important;
	transform: translateY(-2px);
}

.sselc-secondary-button .elementor-button {
	min-height: 52px;
	padding: 0.85rem 1.45rem;
	border: 2px solid var(--sselc-indigo);
	border-radius: 999px;
	background: transparent !important;
	color: var(--sselc-indigo) !important;
	font-weight: 700;
}

.sselc-secondary-button .elementor-button:hover {
	background: var(--sselc-indigo) !important;
	color: var(--sselc-white) !important;
}

.sselc-hero-art {
	position: relative;
	min-height: 460px;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: 52px 18px 52px 18px;
	background:
		linear-gradient(180deg, rgba(49, 42, 88, 0.04) 25%, rgba(49, 42, 88, 0.78) 100%),
		url("assets/images/generated-placeholders/hero-learning.jpg") center / cover no-repeat;
	box-shadow: var(--sselc-shadow);
}

.sselc-hero-art::before {
	content: "";
	position: absolute;
	top: -0.15em;
	right: 0.05em;
	font-size: clamp(11rem, 26vw, 22rem);
	line-height: 1;
	color: transparent;
	transform: rotate(8deg);
}

.sselc-hero-art::after {
	content: none;
	position: absolute;
	right: 8%;
	bottom: 8%;
	width: 40%;
	aspect-ratio: 1;
	border: 3px dotted rgba(255, 255, 255, 0.82);
	border-radius: 50%;
}

.sselc-hero-art .elementor-widget-heading,
.sselc-hero-art .elementor-widget-text-editor {
	position: relative;
	z-index: 1;
	max-width: 22rem;
	margin-top: auto;
	padding: 1rem 1.15rem;
	border-radius: var(--sselc-radius-sm);
	background: rgba(255, 255, 255, 0.94);
}

.sselc-proof {
	padding-top: 1.75rem;
	padding-bottom: 1.75rem;
	background: var(--sselc-indigo);
	color: var(--sselc-white);
}

.sselc-proof > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.sselc-proof-item {
	padding-left: 1rem;
	border-left: 3px solid var(--sselc-gold);
}

.sselc-proof-item .elementor-heading-title,
.sselc-proof-item .elementor-widget-text-editor {
	color: var(--sselc-white);
}

.sselc-proof-item .elementor-heading-title {
	font-size: 1.2rem;
}

.sselc-intro,
.sselc-difference {
	background: var(--sselc-white);
}

.sselc-intro > .e-con-inner,
.sselc-difference > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
}

.sselc-photo-placeholder {
	min-height: 420px;
	border-radius: var(--sselc-radius-lg) var(--sselc-radius-sm) var(--sselc-radius-lg) var(--sselc-radius-sm);
	background:
		linear-gradient(180deg, transparent 48%, rgba(49, 42, 88, 0.76) 100%),
		url("assets/images/generated-placeholders/outdoor-discovery.jpg") center / cover no-repeat;
	box-shadow: var(--sselc-shadow);
}

.sselc-photo-placeholder .elementor-widget-heading,
.sselc-photo-placeholder .elementor-widget-text-editor {
	margin-top: auto;
	padding: 1rem 1.2rem;
	border-radius: var(--sselc-radius-sm);
	background: rgba(255, 255, 255, 0.94);
}

.sselc-programs {
	background: var(--sselc-mist);
}

.sselc-section-heading {
	max-width: 760px;
	margin: 0 auto 2.5rem;
	text-align: center;
}

.sselc-program-grid > .e-con-inner,
.sselc-feature-grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.sselc-feature-grid > .e-con-inner {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sselc-program-card,
.sselc-feature-card {
	position: relative;
	overflow: hidden;
	min-height: 290px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid rgba(64, 55, 109, 0.1);
	border-radius: var(--sselc-radius-sm) var(--sselc-radius-lg) var(--sselc-radius-sm) var(--sselc-radius-lg);
	background: var(--sselc-white);
	box-shadow: 0 12px 32px rgba(64, 55, 109, 0.08);
}

.sselc-program-card::after {
	content: "★";
	position: absolute;
	top: -0.35em;
	right: -0.08em;
	font-size: 8rem;
	line-height: 1;
	color: rgba(185, 168, 229, 0.18);
}

.sselc-program-card > *,
.sselc-feature-card > * {
	position: relative;
	z-index: 1;
}

.sselc-program-card .elementor-heading-title,
.sselc-feature-card .elementor-heading-title {
	color: var(--sselc-indigo);
}

.sselc-feature-card {
	min-height: 220px;
	border-radius: var(--sselc-radius-md);
}

.sselc-reviews {
	position: relative;
	overflow: hidden;
	padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 4vw, 3rem);
	background:
		radial-gradient(circle at 8% 18%, rgba(228, 166, 43, 0.2) 0 6%, transparent 6.2%),
		radial-gradient(circle at 94% 80%, rgba(185, 168, 229, 0.28) 0 9%, transparent 9.2%),
		var(--sselc-white);
}

.sselc-reviews > .e-con-inner {
	max-width: 1200px;
	margin-inline: auto;
}

.sselc-review-summary > .e-con-inner,
.sselc-review-actions > .e-con-inner,
.sselc-review-card > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
}

.sselc-review-summary {
	max-width: 780px;
	margin: 0 auto 3.25rem;
	text-align: center;
}

.sselc-review-summary .elementor-widget {
	width: auto;
	margin-inline: auto;
}

.sselc-review-summary .elementor-heading-title {
	color: var(--sselc-indigo-deep);
}

.sselc-review-excellent .elementor-heading-title {
	margin-top: 0.35rem;
	font-family: "Nunito Sans", sans-serif;
	font-size: 1.35rem;
	font-weight: 900;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.sselc-review-stars .elementor-heading-title {
	font-family: "Nunito Sans", sans-serif;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	font-weight: 800;
	letter-spacing: 0.06em;
	color: #f5b400 !important;
}

.sselc-review-rating {
	color: #504b5b;
}

.sselc-google-mark .elementor-heading-title {
	background: linear-gradient(90deg, #4285f4 0 20%, #ea4335 20% 40%, #fbbc05 40% 58%, #4285f4 58% 74%, #34a853 74% 87%, #ea4335 87% 100%);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent !important;
	font-family: Arial, sans-serif;
	font-size: 2.65rem;
	font-weight: 600;
	letter-spacing: -0.08em;
}

.sselc-review-grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.sselc-review-card {
	position: relative;
	min-height: 360px;
	overflow: hidden;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 2px solid rgba(64, 55, 109, 0.12);
	border-radius: 18px 42px 18px 42px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 16px 38px rgba(64, 55, 109, 0.09);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.sselc-review-card:hover {
	box-shadow: 0 24px 46px rgba(64, 55, 109, 0.15);
	transform: translateY(-5px);
}

.sselc-review-card::before {
	content: "“";
	position: absolute;
	top: -0.35em;
	left: 0.08em;
	color: rgba(185, 168, 229, 0.17);
	font-family: Georgia, serif;
	font-size: 11rem;
	line-height: 1;
}

.sselc-review-card::after {
	content: "G";
	position: absolute;
	top: 1.4rem;
	right: 1.5rem;
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	background: var(--sselc-mist);
	color: #4285f4;
	font-family: Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 800;
}

.sselc-review-card .elementor-widget {
	position: relative;
	z-index: 1;
}

.sselc-review-card .sselc-review-stars {
	max-width: calc(100% - 52px);
}

.sselc-review-card .sselc-review-stars .elementor-heading-title {
	font-size: 1.4rem;
}

.sselc-review-quote {
	flex: 1;
	margin-top: 1.5rem;
	font-size: clamp(1.05rem, 1.6vw, 1.2rem);
	line-height: 1.65;
	color: var(--sselc-ink);
}

.sselc-review-author .elementor-heading-title {
	font-size: 1.2rem;
	color: var(--sselc-indigo-deep);
}

.sselc-review-source {
	font-size: 0.9rem;
	color: #7a7484;
}

.sselc-review-actions {
	align-items: center;
	width: 100% !important;
	max-width: 680px !important;
	margin: 2.5rem auto 0 !important;
	text-align: center;
}

.sselc-review-actions > .e-con-inner {
	align-items: center !important;
}

.sselc-review-actions .elementor-widget-button {
	width: auto;
}

.sselc-review-note {
	margin-top: 0.75rem;
	font-size: 0.86rem;
	color: #716b7c;
}

.sselc-tour {
	background:
		radial-gradient(circle at 10% 20%, rgba(228, 166, 43, 0.24) 0 7%, transparent 7.2%),
		var(--sselc-indigo-deep);
	color: var(--sselc-white);
}

.sselc-tour > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.sselc-tour .elementor-heading-title,
.sselc-tour .elementor-widget-text-editor {
	color: var(--sselc-white);
}

/* Footer. */
#colophon {
	background: #251f46;
	color: rgba(255, 255, 255, 0.84);
}

#colophon a {
	color: var(--sselc-white);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

#colophon a:hover {
	color: var(--sselc-gold);
}

.site-bottom-footer-inner-wrap {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

@media (max-width: 1024px) {
	.site-main-header-inner-wrap {
		min-height: 82px;
	}

	.site-branding .custom-logo {
		width: 68px;
		max-height: 68px;
	}

	.sselc-hero > .e-con-inner,
	.sselc-intro > .e-con-inner,
	.sselc-difference > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.sselc-hero-art {
		min-height: 360px;
	}

	.sselc-feature-grid > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.sselc-review-grid > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Our Team — individually replaceable Elementor profile images. */
.sselc-team-hero,
.sselc-team-gallery,
.sselc-team-callout {
	--container-max-width: 1200px;
}

.sselc-team-hero {
	padding: clamp(70px, 8vw, 118px) clamp(22px, 5vw, 70px);
	background:
		radial-gradient(circle at 8% 18%, rgba(228, 166, 43, 0.16) 0 90px, transparent 92px),
		linear-gradient(135deg, #f7f3ff 0%, #eee9fa 100%);
}

.sselc-team-hero > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
	align-items: center;
	gap: clamp(42px, 7vw, 96px);
}

.sselc-team-hero-copy h1.elementor-heading-title {
	max-width: 590px;
	margin: 14px 0 24px;
	color: var(--sselc-indigo-deep);
	font-size: clamp(44px, 5.6vw, 78px);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.sselc-team-hero-copy .elementor-widget-text-editor {
	max-width: 560px;
	color: #4b4858;
	font-size: clamp(18px, 1.6vw, 23px);
	line-height: 1.55;
}

.sselc-team-hero-photo .elementor-widget-image,
.sselc-team-hero-photo .elementor-widget-image img {
	width: 100%;
}

.sselc-team-hero-photo .elementor-widget-image img {
	display: block;
	height: clamp(380px, 40vw, 540px);
	object-fit: cover;
	border: 10px solid rgba(255, 255, 255, 0.9);
	border-radius: 34px 110px 34px 110px;
	box-shadow: 18px 20px 0 rgba(185, 168, 229, 0.35), 0 28px 60px rgba(49, 42, 88, 0.16);
}

.sselc-team-gallery {
	padding: clamp(74px, 8vw, 116px) clamp(22px, 5vw, 70px);
	background: #fbfaff;
}

.sselc-team-gallery > .e-con-inner,
.sselc-team-gallery-heading > .e-con-inner {
	display: flex;
	flex-direction: column;
}

.sselc-team-gallery-heading {
	max-width: 760px;
	margin: 0 auto clamp(40px, 5vw, 68px);
	text-align: center;
}

.sselc-team-gallery-heading h2.elementor-heading-title {
	margin: 10px 0 14px;
	color: var(--sselc-indigo-deep);
	font-size: clamp(38px, 4.5vw, 62px);
}

.sselc-team-gallery-heading .elementor-widget-text-editor {
	color: #5b5768;
	font-size: 17px;
}

.sselc-team-grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: clamp(22px, 3vw, 36px);
}

.sselc-team-profile {
	min-width: 0;
	padding: 10px;
	overflow: hidden;
	border: 1px solid rgba(64, 55, 109, 0.1);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(49, 42, 88, 0.1);
}

.sselc-team-profile > .e-con-inner,
.sselc-team-profile .elementor-widget-image,
.sselc-team-profile .elementor-widget-image img {
	width: 100%;
}

.sselc-team-profile .elementor-widget-image img {
	display: block;
	height: auto;
	border-radius: 16px;
}

.sselc-team-callout {
	padding: clamp(58px, 6vw, 88px) clamp(22px, 5vw, 70px);
	background: #fff;
}

.sselc-team-callout > .e-con-inner {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}

.sselc-team-callout h2.elementor-heading-title {
	max-width: 720px;
	margin-top: 10px;
	color: var(--sselc-indigo-deep);
	font-size: clamp(32px, 3.7vw, 52px);
}

@media (max-width: 1024px) {
	.sselc-team-hero > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.sselc-team-hero-photo .elementor-widget-image img {
		height: clamp(360px, 62vw, 520px);
	}

	.sselc-team-grid > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 650px) {
	.sselc-team-hero,
	.sselc-team-gallery,
	.sselc-team-callout {
		padding-right: 20px;
		padding-left: 20px;
	}

	.sselc-team-hero-copy h1.elementor-heading-title {
		font-size: clamp(42px, 13vw, 58px);
	}

	.sselc-team-hero-photo .elementor-widget-image img {
		height: 330px;
		border-radius: 26px 70px 26px 70px;
	}

	.sselc-team-grid > .e-con-inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.sselc-team-callout > .e-con-inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Final Why Choose Us page — trust-led, photo-rich marketing layout. */
body .sselc-why-hero,
body .sselc-why-welcome,
body .sselc-why-learning,
body .sselc-why-inclusion,
body .sselc-why-care,
body .sselc-why-families,
body .sselc-why-faqs,
body .sselc-why-cta {
	padding: clamp(4.5rem, 8vw, 7.5rem) max(1.25rem, calc((100vw - 1200px) / 2)) !important;
}

body .sselc-why-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 7% 18%, rgba(244, 186, 50, 0.25) 0 9%, transparent 9.3%),
		linear-gradient(135deg, #fffdf8 0 58%, #eee9fa 58% 100%);
}

body .sselc-why-hero::before,
body .sselc-why-hero::after {
	position: absolute;
	z-index: 0;
	color: rgba(64, 55, 109, 0.14);
	font-size: clamp(3.5rem, 8vw, 7rem);
	line-height: 1;
	content: "✦";
	animation: sselc-why-twinkle 4.8s ease-in-out infinite;
}
body .sselc-why-hero::before { right: 3%; top: 8%; }
body .sselc-why-hero::after { right: 46%; bottom: 5%; color: rgba(228,166,43,.22); font-size: clamp(2.4rem, 5vw, 4.5rem); animation-delay: -2.2s; }

body .sselc-why-hero > .e-con-inner,
body .sselc-why-welcome > .e-con-inner,
body .sselc-why-learning > .e-con-inner,
body .sselc-why-families > .e-con-inner,
body .sselc-why-cta > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: center !important;
	gap: clamp(2.75rem, 6vw, 5.5rem);
}

body .sselc-why-hero-copy,
body .sselc-why-hero-visual,
body .sselc-why-copy-panel,
body .sselc-why-photo-panel,
body .sselc-why-cta-copy { position: relative; z-index: 1; }

body .sselc-why-hero h1 {
	max-width: 670px;
	margin: 0 0 1.4rem;
	color: var(--sselc-indigo-deep);
	font-size: clamp(3.15rem, 6.1vw, 6.2rem);
	line-height: .96;
}

body .sselc-why-hero-copy p,
body .sselc-why-copy-panel p,
body .sselc-why-inclusion p,
body .sselc-why-cta p {
	color: #403b49;
	font-size: clamp(1.05rem, 1.35vw, 1.22rem);
	line-height: 1.75;
}

body .sselc-why-actions > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: .85rem;
	margin-top: 1.75rem;
}

body .sselc-why-hero-visual > .e-con-inner { position: relative; min-height: 570px; }
body .sselc-why-hero-main-image img,
body .sselc-why-photo-panel img {
	display: block;
	width: 100%;
	border: 9px solid #fff;
	border-radius: 44px 18px 44px 18px;
	box-shadow: 0 28px 70px rgba(49,42,88,.18);
	object-fit: cover;
}
body .sselc-why-hero-main-image img { min-height: 500px; aspect-ratio: 4 / 4.15; }
body .sselc-why-hero-inset-image { position: absolute; left: -9%; bottom: -1%; width: 38%; }
body .sselc-why-hero-inset-image img { width: 100%; aspect-ratio: 1; border: 7px solid #fff; border-radius: 50%; box-shadow: 0 18px 40px rgba(49,42,88,.2); object-fit: cover; }
body .sselc-why-hero-proof {
	position: absolute;
	right: -3%;
	bottom: 2%;
	max-width: 265px;
	padding: 1.25rem 1.4rem;
	border: 2px solid rgba(255,255,255,.75);
	border-radius: 22px;
	background: rgba(49,42,88,.9);
	box-shadow: 0 18px 45px rgba(49,42,88,.22);
	color: #fff;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
body .sselc-why-hero-proof strong,
body .sselc-why-hero-proof span { display: block; }
body .sselc-why-hero-proof strong { color: #f8bd3d; font-family: "Fredoka", sans-serif; font-size: 1.3rem; }
body .sselc-why-hero-proof span { margin-top: .3rem; }

body .sselc-why-trust-strip {
	padding: 0 max(1.25rem, calc((100vw - 1200px) / 2)) clamp(4rem, 7vw, 6rem) !important;
	background: #eee9fa;
}
body .sselc-why-trust-strip > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1rem;
}
body .sselc-why-trust-item {
	height: 100%;
	padding: 1.55rem !important;
	border: 1px solid rgba(64,55,109,.11);
	border-radius: 22px;
	background: rgba(255,255,255,.9);
	box-shadow: 0 12px 30px rgba(49,42,88,.07);
}
body .sselc-why-trust-item > .e-con-inner { display: grid !important; grid-template-columns: auto 1fr; column-gap: .8rem; }
body .sselc-why-trust-item .elementor-widget-text-editor { grid-column: 2; }
body .sselc-why-trust-icon .elementor-heading-title { display: grid; width: 2.3rem; aspect-ratio: 1; place-content: center; border-radius: 50%; background: #fff0c9; color: #b83e56; font-size: 1.1rem; }
body .sselc-why-trust-item h3 { margin: .2rem 0; color: var(--sselc-indigo-deep); font-size: 1.2rem; }
body .sselc-why-trust-item p { margin: 0; color: #625c69; line-height: 1.55; }

body .sselc-why-welcome { background: #fffdf8; }
body .sselc-why-learning { background: #f6f9fc; }
body .sselc-why-families { background: #eaf6ee; }
body .sselc-why-learning .sselc-why-copy-panel { order: 1; }
body .sselc-why-learning .sselc-why-photo-panel { order: 2; }
body .sselc-why-photo-panel img { aspect-ratio: 4 / 3.15; }
body .sselc-why-photo-caption {
	position: absolute;
	right: -2%;
	bottom: -1.2rem;
	max-width: 340px;
	padding: 1rem 1.2rem;
	border: 3px solid #fff;
	border-radius: 18px;
	background: rgba(228,166,43,.92);
	box-shadow: 0 12px 30px rgba(49,42,88,.15);
}
body .sselc-why-photo-caption p { margin: 0; color: var(--sselc-indigo-deep); font-family: "Fredoka", sans-serif; font-weight: 600; }

body .sselc-why-copy-panel h2,
body .sselc-why-inclusion h2,
body .sselc-why-section-heading h2,
body .sselc-why-cta h2 {
	margin: 0 0 1.2rem;
	color: var(--sselc-indigo-deep);
	font-size: clamp(2.35rem, 4.2vw, 4.25rem);
	line-height: 1.04;
}
body .sselc-why-learning-mini-grid > .e-con-inner { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem; margin-top: 1.5rem; }
body .sselc-why-learning-mini-card { padding: 1.25rem !important; border-radius: 18px; background: #fff; box-shadow: 0 10px 25px rgba(49,42,88,.07); }
body .sselc-why-learning-mini-card h3 { margin: 0 0 .4rem; color: var(--sselc-indigo-deep); font-size: 1.15rem; }
body .sselc-why-learning-mini-card p { margin: 0; font-size: .98rem; line-height: 1.55; }

body .sselc-why-inclusion {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #312a58, #4d427c);
}
body .sselc-why-inclusion::after { position: absolute; right: 3%; top: 2%; color: rgba(255,255,255,.07); font-size: 14rem; content: "✦"; }
body .sselc-why-inclusion > .e-con-inner { position: relative; z-index: 1; display: grid !important; gap: 2.5rem; }
body .sselc-why-inclusion-heading { max-width: 850px; margin: 0 auto; text-align: center; }
body .sselc-why-inclusion h2.elementor-heading-title,
body .sselc-why-inclusion h2 { color: #fff !important; }
body .sselc-why-inclusion p,
body .sselc-why-inclusion .sselc-eyebrow .elementor-heading-title { color: #fff; }
body .sselc-why-inclusion-grid > .e-con-inner { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 1.15rem; }
body .sselc-why-inclusion-card { height: 100%; padding: 2rem !important; border: 1px solid rgba(255,255,255,.2); border-radius: 26px; background: rgba(255,255,255,.1); box-shadow: inset 0 1px rgba(255,255,255,.16); }
body .sselc-why-inclusion .sselc-why-inclusion-card h3.elementor-heading-title,
body .sselc-why-inclusion .sselc-why-inclusion-card h3 { margin: 1rem 0 .65rem; color: #fff !important; font-size: 1.45rem; }
body .sselc-why-inclusion-card p { margin: 0; color: rgba(255,255,255,.88); font-size: 1rem; line-height: 1.65; }
body .sselc-why-inclusion-icon .elementor-heading-title { display: grid; width: 3.4rem; aspect-ratio: 1; place-content: center; border-radius: 16px; background: #f2b632; color: #312a58; font-size: 1.55rem; }
body .sselc-why-inclusion-note { max-width: 900px; margin: 0 auto; padding: 1.15rem 1.35rem; border-left: 5px solid #f2b632; border-radius: 0 14px 14px 0; background: rgba(255,255,255,.09); }
body .sselc-why-inclusion-note p { margin: 0; font-size: 1rem; }

body .sselc-why-care { background: #f8f6fc; }
body .sselc-why-section-heading { max-width: 790px; margin: 0 auto 3rem; text-align: center; }
body .sselc-why-section-heading p { color: #5b5564; font-size: 1.08rem; line-height: 1.65; }
body .sselc-why-care-frame { position: relative; padding: 3px !important; border-radius: 33px; background: linear-gradient(100deg, #e65c5c, #f2b632, #65aa6b, #5ca9d8, #9d76c5, #e65c5c); background-size: 300% 100%; animation: sselc-why-border-glow 7s linear infinite; box-shadow: 0 20px 55px rgba(49,42,88,.12); }
body .sselc-why-care-frame > .e-con-inner { padding: 1rem; border-radius: 30px; background: #f8f6fc; }
body .sselc-why-care-grid > .e-con-inner { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 1rem; }
body .sselc-why-care-card { position: relative; height: 100%; overflow: hidden; padding: 2rem !important; border: 1px solid rgba(64,55,109,.1); border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(49,42,88,.07); transition: transform .25s ease, box-shadow .25s ease; }
body .sselc-why-care-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(49,42,88,.13); }
body .sselc-why-care-card::after { position: absolute; right: 1rem; top: .8rem; color: rgba(228,166,43,.22); font-size: 2rem; content: "✦"; animation: sselc-why-twinkle 5.4s ease-in-out infinite; }
body .sselc-why-care-card:nth-child(2n)::after { animation-delay: -2.4s; }
body .sselc-why-card-icon .elementor-heading-title { display: grid; width: 3.4rem; aspect-ratio: 1; place-content: center; border-radius: 17px; background: linear-gradient(135deg, #eee9fa, #fff5d8); color: #b83e56; font-size: 1.45rem; }
body .sselc-why-care-card h3 { margin: 1.2rem 0 .7rem; color: var(--sselc-indigo-deep); font-size: 1.45rem; }
body .sselc-why-care-card p { margin: 0; color: #56515e; line-height: 1.65; }

body .sselc-why-faqs { background: #fff; }
body .sselc-why-faq-list { display: grid; gap: .9rem; max-width: 980px; margin: 0 auto; }
body .sselc-why-faq-list details { border: 1px solid rgba(64,55,109,.14); border-radius: 18px; background: #fffdf8; box-shadow: 0 8px 22px rgba(49,42,88,.05); }
body .sselc-why-faq-list summary { position: relative; padding: 1.3rem 3.2rem 1.3rem 1.4rem; color: var(--sselc-indigo-deep); font-family: "Fredoka", sans-serif; font-size: 1.15rem; cursor: pointer; list-style: none; }
body .sselc-why-faq-list summary::-webkit-details-marker { display: none; }
body .sselc-why-faq-list summary::after { position: absolute; right: 1.35rem; color: #b83e56; content: "+"; font-size: 1.6rem; }
body .sselc-why-faq-list details[open] summary::after { content: "−"; }
body .sselc-why-faq-list details p { margin: 0; padding: 0 1.4rem 1.4rem; color: #57515f; line-height: 1.65; }

body .sselc-why-cta { background: linear-gradient(135deg, #312a58, #4d427c); }
body .sselc-why-cta h2.elementor-heading-title,
body .sselc-why-cta h2 { color: #fff !important; }
body .sselc-why-cta p,
body .sselc-why-cta .sselc-eyebrow .elementor-heading-title { color: #fff; }
body .sselc-why-cta .sselc-secondary-button .elementor-button { border-color: #fff; color: #fff !important; }

@keyframes sselc-why-twinkle { 0%,100% { opacity: .35; transform: scale(.82) rotate(0); } 50% { opacity: 1; transform: scale(1.12) rotate(8deg); } }
@keyframes sselc-why-border-glow { to { background-position: 300% 0; } }

@media (max-width: 980px) {
	body .sselc-why-hero > .e-con-inner,
	body .sselc-why-welcome > .e-con-inner,
	body .sselc-why-learning > .e-con-inner,
	body .sselc-why-families > .e-con-inner,
	body .sselc-why-cta > .e-con-inner { grid-template-columns: 1fr !important; }
	body .sselc-why-trust-strip > .e-con-inner { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	body .sselc-why-inclusion-grid > .e-con-inner,
	body .sselc-why-care-grid > .e-con-inner { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	body .sselc-why-hero-visual > .e-con-inner { min-height: 520px; }
	body .sselc-why-learning .sselc-why-copy-panel,
	body .sselc-why-learning .sselc-why-photo-panel { order: initial; }
}

@media (max-width: 620px) {
	body .sselc-why-hero,
	body .sselc-why-welcome,
	body .sselc-why-learning,
	body .sselc-why-inclusion,
	body .sselc-why-care,
	body .sselc-why-families,
	body .sselc-why-faqs,
	body .sselc-why-cta { padding: 4rem 1.15rem !important; }
	body .sselc-why-trust-strip { padding: 0 1.15rem 4rem !important; }
	body .sselc-why-trust-strip > .e-con-inner,
	body .sselc-why-inclusion-grid > .e-con-inner,
	body .sselc-why-care-grid > .e-con-inner,
	body .sselc-why-learning-mini-grid > .e-con-inner { grid-template-columns: 1fr !important; }
	body .sselc-why-actions > .e-con-inner { align-items: stretch !important; flex-direction: column !important; }
	body .sselc-why-actions .elementor-widget-button,
	body .sselc-why-actions .elementor-button { width: 100%; }
	body .sselc-why-hero-visual > .e-con-inner { min-height: 390px; margin-bottom: 2rem; }
	body .sselc-why-hero-main-image img { min-height: 350px; }
	body .sselc-why-hero-inset-image { left: -2%; bottom: -8%; width: 35%; }
	body .sselc-why-hero-proof { right: -1%; bottom: -8%; max-width: 220px; font-size: .86rem; }
	body .sselc-why-photo-panel img { border-width: 6px; border-radius: 28px 14px; }
	body .sselc-why-photo-caption { right: 0; bottom: -2rem; max-width: 88%; }
	body .sselc-why-care-frame > .e-con-inner { padding: .45rem; }
}

@media (prefers-reduced-motion: reduce) {
	body .sselc-why-hero::before,
	body .sselc-why-hero::after,
	body .sselc-why-care-frame,
	body .sselc-why-care-card::after { animation: none !important; }
	body .sselc-why-care-card { transition: none; }
}

/* Final Meals page — warm, editable food-story layout. */
body .sselc-meals-hero,
body .sselc-meals-philosophy,
body .sselc-meals-balance,
body .sselc-meals-rhythm,
body .sselc-meals-menu,
body .sselc-meals-culture,
body .sselc-meals-allergies,
body .sselc-meals-faqs,
body .sselc-meals-cta {
	padding: clamp(4.5rem, 8vw, 7rem) max(1.25rem, calc((100vw - 1200px) / 2)) !important;
}

body .sselc-meals-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 8% 12%, rgba(255, 196, 73, 0.28) 0 9%, transparent 9.3%),
		linear-gradient(135deg, #fffaf0 0 60%, #eaf7ee 60% 100%);
}

body .sselc-meals-hero::after {
	position: absolute;
	right: 3%;
	top: 4%;
	color: rgba(62, 134, 82, 0.12);
	font-size: clamp(6rem, 12vw, 10rem);
	content: "✦";
}

body .sselc-meals-hero > .e-con-inner,
body .sselc-meals-philosophy > .e-con-inner,
body .sselc-meals-menu > .e-con-inner,
body .sselc-meals-culture > .e-con-inner,
body .sselc-meals-cta > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: center !important;
	gap: clamp(2.5rem, 6vw, 5.5rem);
}

body .sselc-meals-hero-copy,
body .sselc-meals-copy-panel,
body .sselc-meals-menu-copy,
body .sselc-meals-cta-copy {
	position: relative;
	z-index: 2;
}

body .sselc-meals-hero h1 {
	max-width: 650px;
	margin: 0 0 1.4rem;
	color: var(--sselc-indigo-deep);
	font-size: clamp(3rem, 5.8vw, 5.8rem);
	line-height: 0.98;
}

body .sselc-meals-hero-copy p,
body .sselc-meals-copy-panel p,
body .sselc-meals-menu-copy p,
body .sselc-meals-allergies p,
body .sselc-meals-cta p {
	color: #3e3a46;
	font-size: clamp(1.05rem, 1.35vw, 1.22rem);
	line-height: 1.75;
}

body .sselc-meals-actions > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1.75rem;
}

body .sselc-meals-hero-visual {
	position: relative;
	z-index: 1;
}

body .sselc-meals-hero-visual > .e-con-inner {
	position: relative;
}

body .sselc-meals-hero-image img,
body .sselc-meals-image-panel img,
body .sselc-meals-food-groups-image img {
	display: block;
	width: 100%;
	border: 10px solid #fff;
	border-radius: 42px 18px 42px 18px;
	box-shadow: 0 28px 65px rgba(49, 42, 88, 0.18);
}

body .sselc-meals-hero-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

body .sselc-meals-hero-badge {
	position: absolute;
	right: -1rem;
	bottom: -1.2rem;
	display: grid;
	place-content: center;
	width: 145px;
	aspect-ratio: 1;
	border: 8px solid #fff;
	border-radius: 50%;
	background: #f7b92f;
	box-shadow: 0 16px 40px rgba(49, 42, 88, 0.2);
	color: var(--sselc-indigo-deep);
	text-align: center;
	transform: rotate(6deg);
}

body .sselc-meals-hero-badge strong,
body .sselc-meals-hero-badge span { display: block; }
body .sselc-meals-hero-badge strong { font-family: "Fredoka", sans-serif; font-size: 1.35rem; }

body .sselc-meals-facts {
	padding: 0 max(1.25rem, calc((100vw - 1200px) / 2)) clamp(4rem, 7vw, 6rem) !important;
	background: #eaf7ee;
}

body .sselc-meals-facts > .e-con-inner,
body .sselc-meals-rhythm-grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1rem;
}

body .sselc-meals-fact,
body .sselc-meals-food-group,
body .sselc-meals-rhythm-step {
	height: 100%;
	padding: 1.5rem !important;
	border: 1px solid rgba(64, 55, 109, 0.1);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(49, 42, 88, 0.08);
}

body .sselc-meals-fact .elementor-heading-title:first-child,
body .sselc-meals-rhythm-step .elementor-heading-title:first-child {
	color: #dc6b4d;
	font-family: "Fredoka", sans-serif;
	font-size: 1rem;
	font-weight: 700;
}

body .sselc-meals-fact h3,
body .sselc-meals-food-group h3,
body .sselc-meals-rhythm-step h3 {
	margin: 0.45rem 0 0.55rem;
	color: var(--sselc-indigo-deep);
	font-size: 1.25rem;
}

body .sselc-meals-fact p,
body .sselc-meals-food-group p,
body .sselc-meals-rhythm-step p { margin: 0; color: #57515f; line-height: 1.6; }

body .sselc-meals-philosophy { background: #fffdf8; }
body .sselc-meals-culture { background: #eaf7ee; }
body .sselc-meals-balance { background: #fff4e4; }
body .sselc-meals-rhythm { background: #fff; }
body .sselc-meals-menu { background: #f2edfb; }

body .sselc-meals-section-heading {
	max-width: 800px;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
	text-align: center;
}

body .sselc-meals-section-heading h2,
body .sselc-meals-copy-panel h2,
body .sselc-meals-menu-copy h2,
body .sselc-meals-allergies h2,
body .sselc-meals-cta h2 {
	margin: 0 0 1.1rem;
	color: var(--sselc-indigo-deep);
	font-size: clamp(2.25rem, 4vw, 4rem);
	line-height: 1.05;
}

body .sselc-meals-check-list ul { margin: 1.5rem 0 0; padding: 0; list-style: none; }
body .sselc-meals-check-list li { position: relative; margin: 0.7rem 0; padding-left: 1.7rem; }
body .sselc-meals-check-list li::before { position: absolute; left: 0; color: #3e8652; content: "✦"; }

body .sselc-meals-balance-body > .e-con-inner { display: grid !important; gap: 2rem; }
body .sselc-meals-food-groups-image { max-width: 760px; margin: 0 auto; }
body .sselc-meals-food-groups-image img { border-radius: 26px; }
body .sselc-meals-food-groups > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 0.9rem;
}
body .sselc-meals-food-group:nth-child(1) { border-top: 6px solid #e86555; }
body .sselc-meals-food-group:nth-child(2) { border-top: 6px solid #71a84c; }
body .sselc-meals-food-group:nth-child(3) { border-top: 6px solid #6cb4dd; }
body .sselc-meals-food-group:nth-child(4) { border-top: 6px solid #e4a62b; }
body .sselc-meals-food-group:nth-child(5) { border-top: 6px solid #a77bc3; }

body .sselc-meals-rhythm-grid > .e-con-inner { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
body .sselc-meals-rhythm-step { position: relative; overflow: hidden; padding-top: 2.4rem !important; }
body .sselc-meals-rhythm-step::before { position: absolute; inset: 0 0 auto; height: 8px; background: linear-gradient(90deg, #e86555, #f7b92f, #66aa68, #5ba6d7, #9a76c4); content: ""; }

body .sselc-meals-menu-table { display: grid; gap: 0.7rem; margin: 1.7rem 0; }
body .sselc-meals-menu-row {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.1rem;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.88);
	box-shadow: 0 8px 20px rgba(49, 42, 88, 0.08);
}
body .sselc-meals-menu-row strong { color: #3e8652; }
body .sselc-meals-menu-note { padding: 1rem 1.15rem; border-left: 5px solid #e4a62b; background: rgba(255,255,255,.55); font-size: 0.98rem !important; }

body .sselc-meals-allergies {
	display: block;
	background: linear-gradient(135deg, #fff4e4, #fffdf8);
}
body .sselc-meals-allergies > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) auto !important;
	align-items: center !important;
	gap: 2rem;
	padding: clamp(2rem, 4vw, 3.5rem);
	border: 2px solid rgba(220, 107, 77, 0.28);
	border-radius: 32px;
	background: rgba(255,255,255,.72);
}

body .sselc-meals-faqs { background: #fff; }
body .sselc-meals-faq-list { display: grid; gap: 0.9rem; max-width: 980px; margin: 0 auto; }
body .sselc-meals-faq-list details { border: 1px solid rgba(64,55,109,.14); border-radius: 18px; background: #fffdf8; box-shadow: 0 8px 22px rgba(49,42,88,.05); }
body .sselc-meals-faq-list summary { position: relative; padding: 1.3rem 3.2rem 1.3rem 1.4rem; color: var(--sselc-indigo-deep); font-family: "Fredoka", sans-serif; font-size: 1.15rem; cursor: pointer; list-style: none; }
body .sselc-meals-faq-list summary::-webkit-details-marker { display: none; }
body .sselc-meals-faq-list summary::after { position: absolute; right: 1.35rem; color: #dc6b4d; content: "+"; font-size: 1.6rem; }
body .sselc-meals-faq-list details[open] summary::after { content: "−"; }
body .sselc-meals-faq-list details p { margin: 0; padding: 0 1.4rem 1.4rem; color: #57515f; line-height: 1.65; }

body .sselc-meals-cta { background: linear-gradient(135deg, var(--sselc-indigo-deep), #4f447d); }
body .sselc-meals-cta h2,
body .sselc-meals-cta p,
body .sselc-meals-cta .sselc-eyebrow .elementor-heading-title { color: #fff; }
body .sselc-meals-cta .sselc-secondary-button .elementor-button { border-color: #fff; color: #fff !important; }

@media (max-width: 980px) {
	body .sselc-meals-hero > .e-con-inner,
	body .sselc-meals-philosophy > .e-con-inner,
	body .sselc-meals-menu > .e-con-inner,
	body .sselc-meals-culture > .e-con-inner,
	body .sselc-meals-cta > .e-con-inner { grid-template-columns: 1fr !important; }
	body .sselc-meals-facts > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body .sselc-meals-food-groups > .e-con-inner { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	body .sselc-meals-rhythm-grid > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body .sselc-meals-allergies > .e-con-inner { grid-template-columns: 1fr !important; }
	body .sselc-meals-culture .sselc-meals-image-panel { order: 2; }
}

@media (max-width: 620px) {
	body .sselc-meals-hero,
	body .sselc-meals-philosophy,
	body .sselc-meals-balance,
	body .sselc-meals-rhythm,
	body .sselc-meals-menu,
	body .sselc-meals-culture,
	body .sselc-meals-allergies,
	body .sselc-meals-faqs,
	body .sselc-meals-cta { padding: 4rem 1.15rem !important; }
	body .sselc-meals-facts { padding: 0 1.15rem 4rem !important; }
	body .sselc-meals-facts > .e-con-inner,
	body .sselc-meals-food-groups > .e-con-inner,
	body .sselc-meals-rhythm-grid > .e-con-inner { grid-template-columns: 1fr !important; }
	body .sselc-meals-actions > .e-con-inner { align-items: stretch !important; flex-direction: column !important; }
	body .sselc-meals-actions .elementor-widget-button,
	body .sselc-meals-actions .elementor-button { width: 100%; }
	body .sselc-meals-hero-badge { right: -0.4rem; bottom: -2.5rem; width: 115px; }
	body .sselc-meals-menu-row { grid-template-columns: 1fr; gap: 0.25rem; }
	body .sselc-meals-hero-image img,
	body .sselc-meals-image-panel img { border-width: 6px; border-radius: 28px 14px; }
}

/* Fees page — content-rich, Elementor-editable and fee-source controlled. */
.sselc-fees-hero,
.sselc-fees-schedule,
.sselc-fees-inclusions,
.sselc-fees-ccs,
.sselc-fees-gap,
.sselc-fees-comparison,
.sselc-fees-choosing,
.sselc-fees-final-cta {
	--container-max-width: 1200px;
}

.sselc-fees-hero {
	padding: clamp(78px, 8vw, 126px) clamp(22px, 5vw, 70px);
	overflow: hidden;
	background:
		radial-gradient(circle at 10% 15%, rgba(228, 166, 43, 0.18) 0 112px, transparent 114px),
		radial-gradient(circle at 94% 82%, rgba(185, 168, 229, 0.24) 0 180px, transparent 182px),
		linear-gradient(135deg, #fffdf7 0%, #f6f1ff 100%);
}

.sselc-fees-hero > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
	align-items: center;
	gap: clamp(44px, 7vw, 96px);
}

.sselc-fees-hero-copy h1.elementor-heading-title {
	max-width: 780px;
	margin: 16px 0 28px;
	color: var(--sselc-indigo-deep);
	font-size: clamp(46px, 5.8vw, 82px);
	line-height: 1;
	letter-spacing: -0.04em;
}

.sselc-fees-hero-copy .elementor-widget-text-editor {
	max-width: 760px;
	color: #4b4857;
	font-size: clamp(17px, 1.45vw, 21px);
	line-height: 1.65;
}

.sselc-fees-hero-aside {
	padding: clamp(30px, 4vw, 50px);
	border: 1px solid rgba(64, 55, 109, 0.12);
	border-radius: 34px 80px 34px 34px;
	background: rgba(255, 255, 255, 0.78);
	box-shadow: 16px 18px 0 rgba(228, 166, 43, 0.2), 0 25px 55px rgba(49, 42, 88, 0.13);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.sselc-fees-hero-star .elementor-heading-title {
	color: var(--sselc-gold);
	font-size: 58px;
	line-height: 1;
}

.sselc-fees-hero-aside h2.elementor-heading-title {
	margin: 14px 0;
	color: var(--sselc-indigo-deep);
	font-size: clamp(30px, 3vw, 44px);
}

.sselc-fees-hero-aside .elementor-widget-text-editor {
	margin-bottom: 18px;
	color: #555162;
	font-size: 17px;
}

.sselc-fees-schedule {
	padding: clamp(70px, 8vw, 110px) clamp(22px, 5vw, 70px);
	background:
		linear-gradient(120deg, rgba(228, 166, 43, 0.18), transparent 46%),
		#f5f1ff;
}

.sselc-fees-schedule > .e-con-inner {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.sselc-fees-section-heading {
	max-width: 780px;
	margin: 0 auto clamp(34px, 5vw, 56px);
	text-align: center;
}

.sselc-fees-section-heading h2.elementor-heading-title {
	margin: 10px 0 16px;
	color: var(--sselc-indigo-deep);
	font-size: clamp(38px, 4.5vw, 62px);
}

.sselc-fees-section-heading .elementor-widget-text-editor {
	color: #5b5768;
	font-size: 18px;
}

.sselc-fee-card-live {
	width: min(100%, 900px);
	padding: clamp(32px, 5vw, 62px);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 34px;
	background:
		radial-gradient(circle at 91% 12%, rgba(228, 166, 43, 0.38) 0 96px, transparent 98px),
		linear-gradient(145deg, var(--sselc-indigo-deep), #4c417d);
	box-shadow: 0 28px 64px rgba(49, 42, 88, 0.22);
	color: #fff;
	text-align: center;
}

.sselc-fee-card-live h3.elementor-heading-title {
	color: #f9d989;
	font-size: 20px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sselc-fee-card-live .sselc-fee-session .elementor-heading-title {
	margin: 18px 0 8px;
	color: #fff;
	font-size: clamp(30px, 3.5vw, 46px);
}

.sselc-fee-card-live .sselc-fee-amount .elementor-heading-title {
	max-width: 700px;
	margin: 0 auto 30px;
	color: #fff;
	font-size: clamp(35px, 5vw, 66px);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.sselc-fee-date-draft,
.sselc-fee-draft-grid,
.sselc-fee-card-draft {
	display: none !important;
}

.sselc-fee-actions > .e-con-inner {
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 14px;
}

.sselc-fee-card-live .sselc-secondary-button .elementor-button {
	border-color: #fff;
	background: #fff !important;
	color: var(--sselc-indigo-deep) !important;
}

.sselc-fees-inclusions,
.sselc-fees-ccs,
.sselc-fees-comparison,
.sselc-fees-choosing {
	padding: clamp(74px, 8vw, 116px) clamp(22px, 5vw, 70px);
}

.sselc-fees-inclusions > .e-con-inner,
.sselc-fees-ccs > .e-con-inner,
.sselc-fees-comparison > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
	align-items: center;
	gap: clamp(44px, 7vw, 92px);
}

.sselc-fees-inclusions h2.elementor-heading-title,
.sselc-fees-ccs h2.elementor-heading-title,
.sselc-fees-comparison h2.elementor-heading-title,
.sselc-fees-choosing h2.elementor-heading-title,
.sselc-fees-final-cta h2.elementor-heading-title {
	margin: 12px 0 20px;
	color: var(--sselc-indigo-deep);
	font-size: clamp(38px, 4.3vw, 60px);
	line-height: 1.08;
}

.sselc-fees-inclusions-copy .elementor-widget-text-editor,
.sselc-fees-ccs-copy .elementor-widget-text-editor,
.sselc-fees-comparison-copy .elementor-widget-text-editor,
.sselc-fees-choosing-card .elementor-widget-text-editor {
	color: #45414f;
	font-size: 17px;
	line-height: 1.65;
}

.sselc-fees-check-list ul {
	display: grid;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.sselc-fees-check-list li {
	position: relative;
	padding-left: 30px;
}

.sselc-fees-check-list li::before {
	position: absolute;
	top: 0.1em;
	left: 0;
	color: var(--sselc-gold);
	font-weight: 900;
	content: "★";
}

.sselc-fees-inclusions-photo {
	position: relative;
}

.sselc-fees-inclusions-photo img {
	display: block;
	width: 100%;
	height: clamp(480px, 50vw, 690px);
	object-fit: cover;
	border: 9px solid #fff;
	border-radius: 34px 100px 34px 100px;
	box-shadow: 18px 20px 0 rgba(228, 166, 43, 0.2), 0 24px 54px rgba(49, 42, 88, 0.15);
}

.sselc-fees-inclusions-photo .elementor-widget-text-editor {
	position: absolute;
	right: 20px;
	bottom: 20px;
	left: 20px;
	padding: 18px 22px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 12px 28px rgba(49, 42, 88, 0.13);
	color: var(--sselc-indigo-deep);
	font-weight: 800;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.sselc-fees-ccs {
	background: var(--sselc-indigo-deep);
}

.sselc-fees-ccs .sselc-eyebrow .elementor-heading-title {
	color: #f6cd68;
}

.sselc-fees-ccs h2.elementor-heading-title,
.sselc-fees-ccs-copy .elementor-widget-text-editor {
	color: #fff;
}

.sselc-fees-resource-panel {
	padding: clamp(28px, 4vw, 46px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.1);
	box-shadow: 0 22px 50px rgba(16, 12, 36, 0.22);
}

.sselc-fees-resource-panel h3.elementor-heading-title,
.sselc-fees-resource-panel .elementor-widget-text-editor {
	color: #fff;
}

.sselc-fees-resource-panel .elementor-widget-button {
	width: 100%;
}

.sselc-fees-resource-panel .elementor-button {
	width: 100%;
	margin-top: 10px;
	justify-content: center;
}

.sselc-fees-resource-panel .sselc-secondary-button .elementor-button {
	border-color: #fff;
	background: #fff !important;
	color: var(--sselc-indigo-deep) !important;
}

.sselc-fees-resource-panel small {
	display: block;
	margin-top: 18px;
	opacity: 0.78;
	line-height: 1.5;
}

.sselc-fees-gap {
	padding: clamp(74px, 8vw, 116px) clamp(22px, 5vw, 70px);
	background: #f8f5ee;
}

.sselc-fees-equation {
	max-width: 1000px;
	margin: 0 auto clamp(34px, 5vw, 54px);
	padding: clamp(24px, 4vw, 38px);
	border: 1px solid rgba(228, 166, 43, 0.34);
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 18px 42px rgba(49, 42, 88, 0.09);
}

.sselc-fees-equation p {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(12px, 2vw, 28px);
	margin: 0;
	color: var(--sselc-indigo-deep);
	font-size: clamp(20px, 2.4vw, 32px);
	text-align: center;
}

.sselc-fees-equation span {
	color: var(--sselc-coral);
	font-size: 1.35em;
	font-weight: 800;
}

.sselc-fees-gap-details > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.sselc-fees-gap-details .elementor-widget-text-editor {
	height: 100%;
	padding: clamp(24px, 3vw, 36px);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(49, 42, 88, 0.08);
	color: #45414f;
	font-size: 17px;
	line-height: 1.65;
}

.sselc-fees-comparison-card {
	padding: clamp(28px, 4vw, 46px);
	border-radius: 30px;
	background: #f1ecfb;
	box-shadow: 14px 16px 0 rgba(185, 168, 229, 0.28);
}

.sselc-fees-comparison-card h3.elementor-heading-title {
	color: var(--sselc-indigo-deep);
	font-size: 32px;
}

.sselc-fees-choosing {
	background:
		linear-gradient(115deg, rgba(185, 168, 229, 0.2), transparent 58%),
		#fffdf7;
}

.sselc-fees-choosing-card {
	max-width: 900px;
	margin: 0 auto;
	padding: clamp(34px, 6vw, 68px);
	border: 1px solid rgba(64, 55, 109, 0.1);
	border-radius: 34px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 24px 54px rgba(49, 42, 88, 0.1);
	text-align: center;
}

.sselc-fees-choosing-card .elementor-widget-button {
	margin-top: 14px;
}

.sselc-fees-final-cta {
	padding: clamp(68px, 8vw, 110px) clamp(22px, 5vw, 70px);
	background:
		radial-gradient(circle at 92% 16%, rgba(228, 166, 43, 0.35) 0 112px, transparent 114px),
		var(--sselc-indigo-deep);
}

.sselc-fees-final-cta > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(34px, 6vw, 80px);
}

.sselc-fees-final-cta .sselc-eyebrow .elementor-heading-title {
	color: #f6cd68;
}

.sselc-fees-final-cta h2.elementor-heading-title,
.sselc-fees-final-copy .elementor-widget-text-editor {
	color: #fff;
}

.sselc-fees-disclaimer {
	max-width: 820px;
	opacity: 0.75;
}

.sselc-fees-final-actions > .e-con-inner {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sselc-fees-final-actions .elementor-button {
	min-width: 220px;
	justify-content: center;
}

.sselc-fees-final-actions .sselc-secondary-button .elementor-button {
	border-color: #fff;
	background: #fff !important;
	color: var(--sselc-indigo-deep) !important;
}

@media (max-width: 1024px) {
	.sselc-fees-hero > .e-con-inner,
	.sselc-fees-inclusions > .e-con-inner,
	.sselc-fees-ccs > .e-con-inner,
	.sselc-fees-comparison > .e-con-inner,
	.sselc-fees-final-cta > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.sselc-fees-hero-aside {
		max-width: 680px;
	}

	.sselc-fees-inclusions-photo img {
		height: 520px;
	}

	.sselc-fees-final-actions > .e-con-inner {
		align-items: flex-start;
		flex-direction: row;
	}
}

@media (max-width: 650px) {
	.sselc-fees-hero,
	.sselc-fees-schedule,
	.sselc-fees-inclusions,
	.sselc-fees-ccs,
	.sselc-fees-gap,
	.sselc-fees-comparison,
	.sselc-fees-choosing,
	.sselc-fees-final-cta {
		padding-right: 20px;
		padding-left: 20px;
	}

	.sselc-fees-hero-copy h1.elementor-heading-title {
		font-size: clamp(42px, 12.5vw, 56px);
	}

	.sselc-fee-actions > .e-con-inner,
	.sselc-fees-final-actions > .e-con-inner {
		align-items: stretch;
		flex-direction: column;
	}

	.sselc-fee-actions .elementor-widget-button,
	.sselc-fee-actions .elementor-button,
	.sselc-fees-final-actions .elementor-widget-button,
	.sselc-fees-final-actions .elementor-button {
		width: 100%;
	}

	.sselc-fees-equation p {
		align-items: stretch;
		flex-direction: column;
	}

	.sselc-fees-equation span {
		line-height: 0.8;
	}

	.sselc-fees-gap-details > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.sselc-fees-inclusions-photo img {
		height: 390px;
		border-radius: 26px 64px 26px 64px;
	}
}

@media (max-width: 767px) {
	.sselc-section,
	.sselc-hero,
	.sselc-intro,
	.sselc-programs,
	.sselc-difference,
	.sselc-tour {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.sselc-hero {
		min-height: auto;
		background: linear-gradient(180deg, var(--sselc-white) 0 58%, var(--sselc-lilac-soft) 58% 100%);
	}

	.sselc-hero-art {
		min-height: 310px;
		border-radius: 32px 12px 32px 12px;
	}

	.sselc-proof > .e-con-inner,
	.sselc-program-grid > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.sselc-proof-item {
		padding: 0.5rem 0 0.5rem 1rem;
	}

	.sselc-program-card {
		min-height: 250px;
	}

	.sselc-reviews {
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}

	.sselc-review-grid {
		overflow: visible;
	}

	.sselc-review-grid > .e-con-inner {
		width: 100%;
		grid-template-columns: 1fr;
	}

	.sselc-review-card {
		min-height: 310px;
	}

	.sselc-tour > .e-con-inner {
		align-items: flex-start;
		flex-direction: column !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
	}
}

/* Replace-ready supporting pages. */
.page:not(.home) .entry-hero,
.page:not(.home) .entry-header {
	display: none;
}

.page:not(.home) .content-area,
.page:not(.home) .content-container,
.page:not(.home) .site-container {
	max-width: none;
	margin: 0;
	padding: 0;
}

.page:not(.home) .entry.single-entry,
.page:not(.home) .entry-content-wrap {
	margin: 0;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}

.sselc-page {
	overflow: hidden;
	background: var(--sselc-white);
}

.sselc-page p,
.sselc-page li,
.sselc-page label,
.sselc-page input,
.sselc-page select,
.sselc-page textarea {
	font-size: 1.08rem;
	line-height: 1.65;
}

.sselc-page p:last-child {
	margin-bottom: 0;
}

.sselc-shell {
	width: min(1200px, calc(100% - 2.5rem));
	margin-inline: auto;
}

.sselc-narrow {
	max-width: 780px;
}

.sselc-page-hero,
.sselc-content-section {
	padding: clamp(4rem, 8vw, 7rem) 0;
}

.sselc-page-hero {
	position: relative;
	min-height: 500px;
	display: flex;
	align-items: center;
}

.sselc-page-hero h1 {
	max-width: 13ch;
	margin: 0.3rem 0 1.5rem;
	color: var(--sselc-indigo);
}

.sselc-lead {
	max-width: 62ch;
	font-size: clamp(1.18rem, 2vw, 1.4rem) !important;
	color: #504b5b;
}

.sselc-kicker {
	margin-bottom: 0.65rem;
	font-size: 0.82rem !important;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sselc-coral);
}

.sselc-page-hero--lilac {
	background:
		radial-gradient(circle at 82% 24%, rgba(228, 166, 43, 0.28) 0 8%, transparent 8.2%),
		linear-gradient(135deg, var(--sselc-white), var(--sselc-lilac-soft));
}

.sselc-page-hero--gold {
	background:
		radial-gradient(circle at 88% 20%, rgba(185, 168, 229, 0.45) 0 10%, transparent 10.2%),
		linear-gradient(135deg, #fffdf5, #f9e7b8);
}

.sselc-page-hero--image {
	min-height: 650px;
	background:
		linear-gradient(90deg, rgba(37, 31, 70, 0.82) 0 43%, rgba(37, 31, 70, 0.08) 72%),
		var(--page-image) center / cover no-repeat;
}

.sselc-hero-panel {
	max-width: 600px;
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: var(--sselc-radius-sm) var(--sselc-radius-lg) var(--sselc-radius-sm) var(--sselc-radius-lg);
	background: rgba(49, 42, 88, 0.9);
	box-shadow: var(--sselc-shadow);
	backdrop-filter: blur(8px);
}

.sselc-hero-panel h1,
.sselc-hero-panel .sselc-lead {
	color: var(--sselc-white);
}

.sselc-page-hero--split {
	background: var(--sselc-lilac-soft);
}

.sselc-page-hero--split img {
	width: 100%;
	min-height: 440px;
	object-fit: cover;
	border-radius: var(--sselc-radius-lg) var(--sselc-radius-sm) var(--sselc-radius-lg) var(--sselc-radius-sm);
	box-shadow: var(--sselc-shadow);
}

.sselc-content-section--mist {
	background: var(--sselc-mist);
}

.sselc-content-section--indigo {
	background: var(--sselc-indigo-deep);
	color: var(--sselc-white);
}

.sselc-content-section--indigo h2,
.sselc-content-section--indigo .sselc-kicker {
	color: var(--sselc-white);
}

.sselc-split {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: center;
}

.sselc-section-heading {
	max-width: 780px;
	margin: 0 auto clamp(2rem, 5vw, 4rem);
	text-align: center;
}

.sselc-card-grid {
	display: grid;
	gap: 1.5rem;
}

.sselc-card-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sselc-info-card,
.sselc-team-card,
.sselc-side-card,
.sselc-notice {
	padding: clamp(1.6rem, 3vw, 2.5rem);
	border: 1px solid rgba(64, 55, 109, 0.12);
	border-radius: var(--sselc-radius-md);
	background: var(--sselc-white);
	box-shadow: 0 14px 36px rgba(64, 55, 109, 0.08);
}

.sselc-info-card h3,
.sselc-team-card h3,
.sselc-side-card h3 {
	color: var(--sselc-indigo);
}

.sselc-card-icon {
	display: grid;
	width: 48px;
	height: 48px;
	margin-bottom: 1.2rem;
	place-items: center;
	border-radius: 50%;
	background: var(--sselc-lilac-soft);
	color: var(--sselc-coral);
	font-size: 1.25rem;
}

.sselc-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 2rem;
}

.sselc-btn {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.45rem;
	border: 2px solid transparent;
	border-radius: 999px;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
}

.sselc-btn--primary {
	background: var(--sselc-coral);
	color: var(--sselc-white);
	box-shadow: 0 12px 28px rgba(184, 62, 86, 0.23);
}

.sselc-btn--primary:hover {
	background: var(--sselc-coral-dark);
	color: var(--sselc-white);
	transform: translateY(-2px);
}

.sselc-btn--outline {
	border-color: var(--sselc-indigo);
	background: transparent;
	color: var(--sselc-indigo);
}

.sselc-btn--outline:hover {
	background: var(--sselc-indigo);
	color: var(--sselc-white);
}

.sselc-btn--light {
	background: var(--sselc-white);
	color: var(--sselc-indigo);
}

.sselc-callout,
.sselc-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.sselc-callout > div,
.sselc-notice > div {
	max-width: 760px;
}

.sselc-check-list {
	margin: 1.5rem 0;
	padding: 0;
	list-style: none;
}

.sselc-check-list li {
	position: relative;
	padding: 0.55rem 0 0.55rem 2rem;
}

.sselc-check-list li::before {
	content: "★";
	position: absolute;
	left: 0;
	color: var(--sselc-gold);
}

.sselc-replace-note,
.sselc-form-note {
	padding: 1rem 1.15rem;
	border-left: 4px solid var(--sselc-gold);
	background: #fff8df;
	color: #5b4b22;
	font-size: 0.95rem !important;
}

.sselc-mini-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.5rem 0;
}

.sselc-mini-grid > div {
	padding: 1.25rem;
	border-radius: var(--sselc-radius-sm);
	background: var(--sselc-white);
}

.sselc-mini-grid h3 {
	font-size: 1.2rem;
}

.sselc-timeline {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 3rem;
}

.sselc-timeline > div {
	position: relative;
	padding: 1.5rem 1rem 1rem;
	border-top: 3px solid var(--sselc-lilac);
	text-align: center;
}

.sselc-timeline > div::before {
	content: "";
	position: absolute;
	top: -8px;
	left: calc(50% - 7px);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--sselc-coral);
}

.sselc-timeline strong,
.sselc-timeline span {
	display: block;
}

.sselc-avatar {
	display: grid;
	width: 100%;
	min-height: 220px;
	margin-bottom: 1.4rem;
	place-items: center;
	border-radius: var(--sselc-radius-sm);
	background:
		radial-gradient(circle at center, var(--sselc-white) 0 18%, transparent 18.5%),
		linear-gradient(145deg, var(--sselc-lilac-soft), var(--sselc-lilac));
	color: var(--sselc-indigo);
	font-weight: 800;
}

.sselc-contact-grid,
.sselc-form-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}

.sselc-contact-list {
	display: grid;
	gap: 0.9rem;
	margin: 2rem 0;
}

.sselc-contact-list a {
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(64, 55, 109, 0.15);
	color: var(--sselc-ink);
	text-decoration: none;
}

.sselc-contact-list strong {
	color: var(--sselc-coral);
}

.sselc-map {
	overflow: hidden;
	border-radius: var(--sselc-radius-lg) var(--sselc-radius-sm) var(--sselc-radius-lg) var(--sselc-radius-sm);
	box-shadow: var(--sselc-shadow);
}

.sselc-map iframe {
	display: block;
	width: 100%;
	min-height: 500px;
}

.sselc-demo-form {
	display: grid;
	gap: 1rem;
}

.sselc-demo-form label {
	display: grid;
	gap: 0.4rem;
	font-weight: 700;
	color: var(--sselc-indigo);
}

.sselc-demo-form input,
.sselc-demo-form select,
.sselc-demo-form textarea {
	width: 100%;
	padding: 0.75rem 0.9rem;
	border: 1px solid #b8b2c4;
	border-radius: 10px;
	background: var(--sselc-white);
	color: var(--sselc-ink);
}

.sselc-demo-form .sselc-btn {
	width: fit-content;
	cursor: pointer;
}

/* Fluent Forms — Book a Tour */
.sselc-form-layout .fluentform {
	margin-top: 1.8rem;
}

.sselc-form-layout .ff-el-group {
	margin-bottom: 1.15rem;
}

.sselc-form-layout .ff-el-input--label label {
	color: var(--sselc-indigo);
	font-family: "Fredoka", sans-serif;
	font-size: 1.05rem;
	font-weight: 650;
	line-height: 1.35;
}

.sselc-form-layout .ff-el-form-control {
	width: 100%;
	min-height: 56px;
	padding: 0.85rem 1rem;
	border: 2px solid #d4d9e6;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 5px 14px rgba(49, 42, 88, 0.04);
	color: var(--sselc-ink);
	font-size: 1rem;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.sselc-form-layout textarea.ff-el-form-control {
	min-height: 148px;
	resize: vertical;
}

.sselc-form-layout .ff-el-form-control:focus {
	border-color: var(--sselc-indigo);
	box-shadow: 0 0 0 4px rgba(64, 55, 109, 0.12);
	outline: 0;
}

.sselc-form-layout .ff-el-is-error .ff-el-form-control {
	border-color: #b83e56;
}

.sselc-form-layout .error.text-danger {
	margin-top: 0.35rem;
	color: #9f2941;
	font-size: 0.88rem;
	font-weight: 700;
}

.sselc-form-layout .ff-btn-submit,
.sselc-form-layout .sselc-tour-submit {
	min-height: 54px;
	padding: 0.88rem 1.55rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #c43f59 !important;
	box-shadow: 0 12px 24px rgba(196, 63, 89, 0.2) !important;
	color: #fff !important;
	font-family: "Fredoka", sans-serif;
	font-size: 1rem !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.sselc-form-layout .ff-btn-submit:hover,
.sselc-form-layout .ff-btn-submit:focus {
	background: #ab314a !important;
	box-shadow: 0 15px 28px rgba(196, 63, 89, 0.26) !important;
	transform: translateY(-2px);
}

.sselc-form-layout .ff-message-success {
	padding: 1.25rem 1.35rem;
	border: 1px solid rgba(64, 55, 109, 0.15);
	border-radius: 18px;
	background: #f4f0ff;
	box-shadow: 0 12px 28px rgba(49, 42, 88, 0.08);
	color: var(--sselc-ink);
}

.sselc-form-layout .ff-message-success h3 {
	margin: 0 0 0.45rem;
	color: var(--sselc-indigo);
}

.sselc-side-card {
	position: sticky;
	top: 120px;
	background: var(--sselc-lilac-soft);
}

.sselc-side-card li {
	margin-bottom: 0.75rem;
}

.sselc-narrow h2 {
	margin-top: 2.5rem;
}

@media (max-width: 900px) {
	.sselc-card-grid--3,
	.sselc-mini-grid {
		grid-template-columns: 1fr 1fr;
	}

	.sselc-split,
	.sselc-contact-grid,
	.sselc-form-layout {
		grid-template-columns: 1fr;
	}

	.sselc-side-card {
		position: static;
	}
}

@media (max-width: 640px) {
	.sselc-page-hero,
	.sselc-content-section {
		padding: 3.5rem 0;
	}

	.sselc-page-hero {
		min-height: 430px;
	}

	.sselc-page-hero--image {
		min-height: 610px;
		align-items: flex-end;
		background:
			linear-gradient(180deg, rgba(37, 31, 70, 0.08) 20%, rgba(37, 31, 70, 0.9) 78%),
			var(--page-image) center / cover no-repeat;
	}

	.sselc-hero-panel {
		padding: 1.6rem;
	}

	.sselc-card-grid--3,
	.sselc-mini-grid,
	.sselc-timeline {
		grid-template-columns: 1fr;
	}

	.sselc-timeline > div {
		border-top: 0;
		border-left: 3px solid var(--sselc-lilac);
		text-align: left;
	}

	.sselc-timeline > div::before {
		top: calc(50% - 7px);
		left: -8px;
	}

	.sselc-callout,
	.sselc-notice {
		align-items: flex-start;
		flex-direction: column;
	}

	.sselc-contact-list a {
		grid-template-columns: 1fr;
		gap: 0.25rem;
	}
}

/* Homepage visual refinements v5. */
.main-navigation .primary-menu-container > ul > li:last-child > a {
	min-height: 52px;
	padding: 0 1.2rem;
	border: 2px solid var(--sselc-indigo-deep);
	background: var(--sselc-gold) !important;
	color: var(--sselc-indigo-deep) !important;
	font-weight: 800;
	box-shadow: 0 8px 0 rgba(64, 55, 109, 0.15);
}

.main-navigation .primary-menu-container > ul > li:last-child > a::before {
	content: "★";
	margin-right: 0.45rem;
	font-size: 0.9rem;
}

.main-navigation .primary-menu-container > ul > li:last-child > a *,
.main-navigation .primary-menu-container > ul > li:last-child.current-menu-item > a * {
	color: inherit !important;
}

.main-navigation .primary-menu-container > ul > li:last-child > a:hover,
.main-navigation .primary-menu-container > ul > li:last-child.current-menu-item > a {
	border-color: var(--sselc-indigo-deep);
	background: var(--sselc-indigo-deep) !important;
	color: var(--sselc-white) !important;
	box-shadow: 0 5px 0 rgba(64, 55, 109, 0.12);
}

#mobile-drawer .mobile-navigation ul li:last-child > a {
	margin-top: 0.75rem;
	border-radius: 12px;
	background: var(--sselc-gold);
	color: var(--sselc-indigo-deep);
	font-weight: 800;
}

.home .sselc-programs {
	background:
		radial-gradient(circle at 7% 88%, rgba(185, 168, 229, 0.2) 0 8%, transparent 8.2%),
		var(--sselc-mist);
}

.sselc-program-orbit-image {
	position: absolute !important;
	top: 3.75rem;
	right: clamp(1.5rem, 4vw, 4.5rem);
	z-index: 2;
	width: clamp(150px, 15vw, 205px) !important;
	max-width: 205px !important;
}

.sselc-program-orbit-image .elementor-widget-container {
	position: relative;
}

.sselc-program-orbit-image .elementor-widget-container::after {
	content: "★";
	position: absolute;
	right: -0.35rem;
	bottom: -0.35rem;
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border: 4px solid var(--sselc-white);
	border-radius: 50%;
	background: var(--sselc-gold);
	color: var(--sselc-indigo-deep);
	font-size: 1.5rem;
	box-shadow: 0 8px 20px rgba(64, 55, 109, 0.18);
}

.sselc-program-orbit-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border: 8px solid var(--sselc-white);
	border-radius: 50%;
	box-shadow:
		0 0 0 12px rgba(228, 166, 43, 0.24),
		0 20px 44px rgba(64, 55, 109, 0.18);
}

.home .sselc-programs .sselc-section-heading {
	max-width: 680px;
}

.sselc-reviews {
	background:
		radial-gradient(circle at 92% 82%, rgba(185, 168, 229, 0.22) 0 8%, transparent 8.2%),
		var(--sselc-white);
}

.sselc-review-summary .sselc-google-mark {
	position: absolute !important;
	top: 8.5rem;
	left: clamp(2.5rem, 8vw, 9rem);
	z-index: 2;
	display: grid !important;
	width: clamp(150px, 16vw, 210px) !important;
	height: clamp(150px, 16vw, 210px) !important;
	place-items: center;
	border: 2px solid rgba(64, 55, 109, 0.1);
	border-radius: 50%;
	background: var(--sselc-white);
	box-shadow: 0 22px 52px rgba(64, 55, 109, 0.14);
}

.sselc-review-summary .sselc-google-mark::after {
	content: "Google Reviews";
	position: absolute;
	right: 50%;
	bottom: -2.2rem;
	width: max-content;
	transform: translateX(50%);
	color: var(--sselc-indigo-deep);
	font-family: "Nunito Sans", sans-serif;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.sselc-review-summary .sselc-google-mark .elementor-widget-container {
	display: grid;
	place-items: center;
}

.sselc-review-summary .sselc-google-mark .elementor-heading-title {
	background: conic-gradient(from -45deg, #4285f4 0 24%, #34a853 24% 42%, #fbbc05 42% 63%, #ea4335 63% 80%, #4285f4 80% 100%);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent !important;
	font-family: Arial, sans-serif;
	font-size: clamp(6.5rem, 11vw, 9.5rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.12em;
}

@media (max-width: 1024px) {
	.sselc-program-orbit-image {
		top: 4.5rem;
		right: 1.5rem;
		width: 145px !important;
	}

	.sselc-review-summary .sselc-google-mark {
		top: 10rem;
		left: 2rem;
		width: 140px !important;
		height: 140px !important;
	}
}

@media (max-width: 767px) {
	.sselc-program-orbit-image {
		position: relative !important;
		top: auto;
		right: auto;
		order: -1;
		width: 150px !important;
		margin: 0 auto 2.5rem;
	}

	.home .sselc-programs .sselc-section-heading {
		max-width: none;
	}

	.sselc-review-summary .sselc-google-mark {
		position: relative !important;
		top: auto;
		left: auto;
		order: -2;
		width: 118px !important;
		height: 118px !important;
		margin: 0 auto 2.25rem;
	}

	.sselc-review-summary .sselc-google-mark .elementor-heading-title {
		font-size: 5.2rem;
	}
}

/* Homepage visual polish v2 — playful, layered and still Elementor-editable. */
.home .sselc-hero {
	isolation: isolate;
	min-height: 720px;
	padding-top: clamp(5rem, 9vw, 8rem);
	padding-bottom: clamp(7rem, 11vw, 10rem);
	background:
		radial-gradient(circle at 8% 14%, rgba(255, 105, 98, 0.12) 0 5%, transparent 5.2%),
		radial-gradient(circle at 88% 8%, rgba(255, 205, 59, 0.26) 0 7%, transparent 7.2%),
		radial-gradient(circle at 94% 38%, rgba(185, 168, 229, 0.42) 0 13%, transparent 13.2%),
		linear-gradient(118deg, #fff 0 47%, #f0ebfb 47% 100%);
}

.home .sselc-hero::before {
	content: "★  ✦";
	position: absolute;
	top: 12%;
	left: 3%;
	z-index: -1;
	color: rgba(228, 166, 43, 0.32);
	font-family: "Fredoka", sans-serif;
	font-size: clamp(2.5rem, 6vw, 5rem);
	letter-spacing: 0.3em;
	transform: rotate(-12deg);
}

.home .sselc-hero::after {
	content: "";
	position: absolute;
	right: 42%;
	bottom: 12%;
	width: 110px;
	height: 60px;
	border-bottom: 4px dotted rgba(184, 62, 86, 0.38);
	border-radius: 50%;
	transform: rotate(-18deg);
}

.home .sselc-hero > .e-con-inner {
	grid-template-columns: minmax(0, 0.88fr) minmax(430px, 1.12fr);
	gap: clamp(2.5rem, 6vw, 6.5rem);
}

.home .sselc-hero-copy {
	position: relative;
	overflow: visible !important;
}

.home .sselc-hero-copy::before {
	content: "Play • Learn • Belong";
	position: absolute;
	top: -3.2rem;
	left: 0;
	padding: 0.55rem 0.9rem;
	border: 1px solid rgba(64, 55, 109, 0.12);
	border-radius: 999px;
	background: #fff8df;
	color: var(--sselc-indigo);
	font-family: "Nunito Sans", sans-serif;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 8px 18px rgba(64, 55, 109, 0.08);
}

.home .sselc-hero-copy h1.elementor-heading-title {
	max-width: 8.5ch;
	font-size: clamp(3.25rem, 6vw, 5.6rem);
	font-weight: 650;
	line-height: 0.92;
	letter-spacing: -0.045em;
	color: var(--sselc-indigo-deep);
}

.home .sselc-hero-copy .elementor-widget-heading:nth-child(2) .elementor-heading-title {
	text-wrap: balance;
}

.home .sselc-hero-copy .elementor-widget-text-editor {
	max-width: 47ch;
	font-size: clamp(1.1rem, 1.6vw, 1.32rem);
	line-height: 1.6;
}

.home .sselc-hero-art {
	min-height: 530px;
	overflow: visible;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 9px solid var(--sselc-white);
	border-radius: 72px 22px 88px 22px;
	background-position: 59% center;
	box-shadow:
		18px 22px 0 rgba(228, 166, 43, 0.23),
		0 28px 70px rgba(49, 42, 88, 0.22);
	transform: rotate(1.4deg);
}

.home .sselc-hero-art > .e-con-inner {
	display: flex !important;
	min-height: 100%;
	justify-content: flex-end;
	overflow: visible;
}

.home .sselc-hero-art::before {
	content: "★";
	top: -2.2rem;
	right: -1.4rem;
	z-index: 4;
	display: grid;
	width: 86px;
	height: 86px;
	place-items: center;
	border: 7px solid var(--sselc-white);
	border-radius: 50%;
	background: var(--sselc-gold);
	color: var(--sselc-indigo-deep);
	font-size: 3.4rem;
	line-height: 1;
	box-shadow: 0 14px 30px rgba(64, 55, 109, 0.22);
	transform: rotate(12deg);
}

.home .sselc-hero-art::after {
	content: "";
	right: auto;
	bottom: -1.4rem;
	left: -1.5rem;
	display: block;
	width: 82px;
	height: 82px;
	border: 8px solid var(--sselc-white);
	border-radius: 50%;
	background: var(--sselc-coral);
	box-shadow: 0 12px 26px rgba(64, 55, 109, 0.18);
}

.home .sselc-hero-art .elementor-widget-heading {
	align-self: flex-start;
	max-width: 19rem;
	margin-top: auto;
	margin-left: -3.4rem;
	padding: 1rem 1.2rem;
	border: 5px solid var(--sselc-white);
	border-radius: 20px 20px 20px 5px;
	background: var(--sselc-gold);
	box-shadow: 0 12px 26px rgba(49, 42, 88, 0.18);
	transform: rotate(-2.5deg);
}

.home .sselc-hero-art .elementor-widget-heading .elementor-heading-title {
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	color: var(--sselc-indigo-deep);
}

.home .sselc-hero-art .elementor-widget-text-editor {
	align-self: flex-end;
	max-width: 21rem;
	margin-top: 0.65rem;
	margin-right: -2.5rem;
	padding: 0.85rem 1.05rem;
	border: 4px solid var(--sselc-white);
	border-radius: 8px 20px 20px 20px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 12px 26px rgba(49, 42, 88, 0.14);
	transform: rotate(1.5deg);
}

.home .sselc-proof {
	position: relative;
	z-index: 5;
	margin-top: -62px;
	padding: 0 1.25rem 1rem;
	background: transparent;
}

.home .sselc-proof > .e-con-inner {
	padding: 1.45rem 2rem;
	border-radius: 26px 8px 26px 8px;
	background: var(--sselc-indigo-deep);
	box-shadow: 0 20px 45px rgba(49, 42, 88, 0.2);
}

.home .sselc-proof-item {
	position: relative;
	padding-left: 2.6rem;
	border-left: 0;
}

.home .sselc-proof-item::before {
	content: "★";
	position: absolute;
	top: 0.15rem;
	left: 0;
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 50%;
	background: var(--sselc-gold);
	color: var(--sselc-indigo-deep);
}

.home .sselc-proof-item .elementor-heading-title,
.home .sselc-proof-item .elementor-widget-text-editor,
.home .sselc-proof-item .elementor-widget-text-editor p {
	color: var(--sselc-white) !important;
}

.home .sselc-intro {
	padding-top: clamp(5rem, 10vw, 9rem);
	background:
		radial-gradient(circle at 5% 82%, rgba(185, 168, 229, 0.2) 0 8%, transparent 8.2%),
		var(--sselc-white);
}

.home .sselc-photo-placeholder {
	position: relative;
	min-height: 500px;
	border: 9px solid var(--sselc-white);
	border-radius: 32px 90px 28px 90px;
	box-shadow:
		-18px 20px 0 rgba(185, 168, 229, 0.34),
		var(--sselc-shadow);
}

.home .sselc-photo-placeholder::after {
	content: "Outdoor discovery";
	position: absolute;
	right: -1.5rem;
	bottom: 1.5rem;
	padding: 0.65rem 1rem;
	border: 4px solid var(--sselc-white);
	border-radius: 999px;
	background: var(--sselc-coral);
	color: var(--sselc-white);
	font-weight: 800;
	box-shadow: 0 10px 24px rgba(49, 42, 88, 0.16);
}

.home .sselc-programs {
	position: relative;
	background:
		radial-gradient(circle at 92% 13%, rgba(228, 166, 43, 0.2) 0 7%, transparent 7.2%),
		var(--sselc-mist);
}

.home .sselc-program-card {
	min-height: 340px;
	border: 0;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.home .sselc-program-card:hover {
	box-shadow: 0 22px 44px rgba(64, 55, 109, 0.16);
	transform: translateY(-6px) rotate(-0.4deg);
}

.home .sselc-program-grid > .e-con-inner > .sselc-program-card:first-child {
	background: linear-gradient(145deg, #fff, #eee9fa);
	transform: rotate(-0.8deg);
}

.home .sselc-program-grid > .e-con-inner > .sselc-program-card:last-child {
	background: linear-gradient(145deg, #fff, #fff3cd);
	transform: rotate(0.8deg);
}

.home .sselc-program-card::after {
	top: auto;
	right: -0.1em;
	bottom: -0.32em;
	font-size: 11rem;
	color: rgba(64, 55, 109, 0.08);
}

.home .sselc-difference {
	background: linear-gradient(180deg, #fff 0%, #f5f1fc 100%);
}

.home .sselc-feature-card {
	border-top: 7px solid var(--sselc-lilac);
	background: rgba(255, 255, 255, 0.9);
}

.home .sselc-feature-grid > .e-con-inner > .sselc-feature-card:nth-child(2) {
	border-top-color: var(--sselc-gold);
	transform: translateY(18px);
}

.home .sselc-feature-grid > .e-con-inner > .sselc-feature-card:nth-child(3) {
	border-top-color: var(--sselc-coral);
}

.home .sselc-tour {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 8% 30%, rgba(228, 166, 43, 0.34) 0 8%, transparent 8.2%),
		radial-gradient(circle at 88% 70%, rgba(185, 168, 229, 0.3) 0 12%, transparent 12.2%),
		var(--sselc-indigo-deep);
}

.home .sselc-tour::after {
	content: "★";
	position: absolute;
	right: 12%;
	top: -0.3em;
	color: rgba(255, 255, 255, 0.08);
	font-size: 16rem;
	line-height: 1;
}

@media (max-width: 1024px) {
	#mobile-header .site-main-header-inner-wrap {
		position: relative;
		min-height: 88px;
		justify-content: center !important;
	}

	#mobile-header .site-header-main-section-left {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	#mobile-header .site-header-main-section-right {
		position: absolute;
		top: 50%;
		right: 1.15rem;
		z-index: 6;
		width: auto !important;
		transform: translateY(-50%);
	}

	#mobile-header .mobile-site-branding .custom-logo {
		width: 72px;
		max-height: 72px;
	}

	.home .sselc-hero > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.home .sselc-hero-art {
		width: min(760px, 94%);
		margin: 1rem auto 0;
	}
}

@media (max-width: 767px) {
	.home .sselc-hero {
		padding-top: 6rem;
		padding-bottom: 6rem;
		background: linear-gradient(180deg, #fff 0 50%, #f0ebfb 50% 100%);
	}

	.home .sselc-hero::after {
		display: none;
	}

	.home .sselc-hero-copy h1.elementor-heading-title {
		font-size: clamp(3.1rem, 15vw, 4.4rem);
	}

	.home .sselc-hero-art {
		width: 100%;
		min-height: 420px;
		border-width: 6px;
		border-radius: 44px 14px 50px 14px;
		box-shadow: 10px 12px 0 rgba(228, 166, 43, 0.22), 0 20px 45px rgba(49, 42, 88, 0.18);
		transform: none;
	}

	.home .sselc-hero-art::before {
		top: -1.6rem;
		right: -0.6rem;
		width: 64px;
		height: 64px;
		border-width: 5px;
		font-size: 2.5rem;
	}

	.home .sselc-hero-art::after {
		display: none;
	}

	.home .sselc-hero-art .elementor-widget-heading,
	.home .sselc-hero-art .elementor-widget-text-editor {
		align-self: stretch;
		max-width: none;
		margin-right: 0;
		margin-left: 0;
		transform: none;
	}

	.home .sselc-proof {
		margin-top: -38px;
	}

	.home .sselc-proof > .e-con-inner {
		padding: 1.5rem;
	}

	.home .sselc-photo-placeholder {
		min-height: 380px;
		border-radius: 24px 54px 20px 54px;
		box-shadow: -10px 12px 0 rgba(185, 168, 229, 0.3), var(--sselc-shadow);
	}

	.home .sselc-photo-placeholder::after {
		right: 0.5rem;
		bottom: 0.8rem;
	}

	.home .sselc-feature-grid > .e-con-inner > .sselc-feature-card:nth-child(2) {
		transform: none;
	}
}

/* Translucent photo captions and layered book-page edges v9. */
.home .sselc-hero-copy {
	box-shadow:
		-5px 6px 0 #fffdf5,
		-10px 12px 0 #f5eddb,
		-15px 18px 0 #eadfc8,
		inset -22px 0 30px rgba(64, 55, 109, 0.08),
		0 28px 42px rgba(49, 42, 88, 0.12);
}

.home .sselc-hero-art {
	box-shadow:
		5px 6px 0 #fcfaff,
		10px 12px 0 #f0ebf8,
		15px 18px 0 #e2d9f0,
		inset 24px 0 30px rgba(49, 42, 88, 0.16),
		0 28px 42px rgba(49, 42, 88, 0.14);
}

.home .sselc-hero-copy::after,
.home .sselc-hero-art::after {
	content: "";
	position: absolute;
	z-index: 6;
	display: block;
	width: 46px;
	height: 46px;
	pointer-events: none;
}

.home .sselc-hero-copy::after {
	bottom: 7px;
	left: 7px;
	border-radius: 0 0 0 30px;
	background: linear-gradient(135deg, rgba(228, 166, 43, 0.08) 0 48%, #eadfc8 50% 100%);
	clip-path: polygon(0 0, 0 100%, 100% 100%);
	filter: drop-shadow(3px -3px 4px rgba(49, 42, 88, 0.13));
}

.home .sselc-hero-art::after {
	right: 8px;
	bottom: 8px;
	border-radius: 0 0 30px;
	background: linear-gradient(225deg, rgba(185, 168, 229, 0.08) 0 48%, #e2d9f0 50% 100%);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
	filter: drop-shadow(-3px -3px 4px rgba(49, 42, 88, 0.13));
}

.home .sselc-hero > .e-con-inner::before {
	width: 22px;
	background:
		linear-gradient(90deg,
			rgba(49, 42, 88, 0.16) 0%,
			rgba(255, 255, 255, 0.72) 27%,
			#ffffff 46%,
			rgba(64, 55, 109, 0.14) 58%,
			rgba(49, 42, 88, 0.2) 100%);
	box-shadow:
		-5px 0 12px rgba(49, 42, 88, 0.09),
		5px 0 12px rgba(49, 42, 88, 0.11);
}

.home .sselc-hero-art .elementor-widget-heading {
	border: 1px solid rgba(255, 255, 255, 0.75);
	background: rgba(228, 166, 43, 0.76);
	-webkit-backdrop-filter: blur(12px) saturate(125%);
	backdrop-filter: blur(12px) saturate(125%);
	box-shadow: 0 10px 24px rgba(49, 42, 88, 0.14);
}

.home .sselc-hero-art .elementor-widget-text-editor,
.home .sselc-photo-placeholder .elementor-widget-heading,
.home .sselc-photo-placeholder .elementor-widget-text-editor {
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.64);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	backdrop-filter: blur(14px) saturate(125%);
	box-shadow: 0 12px 30px rgba(49, 42, 88, 0.12);
}

.home .sselc-photo-placeholder .elementor-widget-heading {
	background: rgba(255, 255, 255, 0.58);
}

.home .sselc-photo-placeholder::after {
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(184, 62, 86, 0.82);
	-webkit-backdrop-filter: blur(10px) saturate(120%);
	backdrop-filter: blur(10px) saturate(120%);
}

.home .sselc-program-card .sselc-secondary-button .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.78);
	background: rgba(255, 255, 255, 0.76) !important;
	-webkit-backdrop-filter: blur(12px) saturate(125%);
	backdrop-filter: blur(12px) saturate(125%);
	box-shadow: 0 10px 22px rgba(22, 18, 45, 0.16);
}

@media (max-width: 1024px) {
	.home .sselc-hero-copy,
	.home .sselc-hero-art {
		box-shadow:
			0 6px 0 #fbf7eb,
			0 12px 0 #ece4d2,
			0 22px 42px rgba(49, 42, 88, 0.14);
	}

	.home .sselc-hero-art {
		box-shadow:
			0 6px 0 #f7f3fc,
			0 12px 0 #e5dcf2,
			0 22px 42px rgba(49, 42, 88, 0.14);
	}

	.home .sselc-hero-copy::after,
	.home .sselc-hero-art::after {
		width: 38px;
		height: 38px;
	}
}

/* Open-book homepage hero v8. */
.home .sselc-hero {
	min-height: auto;
	padding: clamp(4.5rem, 7vw, 6.5rem) clamp(1.25rem, 4vw, 3rem) clamp(5.5rem, 8vw, 7.5rem);
	background:
		radial-gradient(circle at 6% 12%, rgba(255, 105, 98, 0.11) 0 4%, transparent 4.2%),
		radial-gradient(circle at 94% 8%, rgba(228, 166, 43, 0.2) 0 7%, transparent 7.2%),
		linear-gradient(135deg, #ffffff 0 58%, #f3effb 58% 100%);
}

.home .sselc-hero::before,
.home .sselc-hero::after {
	content: none;
}

.home .sselc-hero > .e-con-inner {
	position: relative;
	display: grid !important;
	max-width: 1240px;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	gap: 0 !important;
	row-gap: 0 !important;
	column-gap: 0 !important;
	align-items: stretch;
	filter: drop-shadow(0 28px 42px rgba(49, 42, 88, 0.18));
}

.home .sselc-hero > .e-con-inner::before {
	content: "";
	position: absolute;
	top: 1.35rem;
	bottom: 1.35rem;
	left: 46%;
	z-index: 8;
	width: 18px;
	border-radius: 50%;
	background: linear-gradient(90deg, rgba(49, 42, 88, 0.1), rgba(255, 255, 255, 0.96) 46%, rgba(49, 42, 88, 0.16));
	box-shadow: 0 0 18px rgba(49, 42, 88, 0.16);
	transform: translateX(-50%);
	pointer-events: none;
}

.home .sselc-hero-copy,
.home .sselc-hero-art {
	min-height: 760px;
	transform: none;
}

.home .sselc-hero-copy {
	z-index: 2;
	padding: clamp(4.75rem, 6vw, 6rem) clamp(2rem, 4vw, 3.6rem) clamp(2.5rem, 4vw, 3.5rem);
	border: 1px solid rgba(228, 166, 43, 0.32);
	border-right: 0;
	border-radius: 56px 8px 18px 62px;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(228, 166, 43, 0.08)),
		#fff9e7;
	box-shadow:
		inset -22px 0 30px rgba(64, 55, 109, 0.07),
		inset 0 -16px 24px rgba(228, 166, 43, 0.05);
}

.home .sselc-hero-copy::before {
	top: 1.7rem;
	right: auto;
	bottom: auto;
	left: clamp(2rem, 4vw, 3.6rem);
	z-index: 3;
	width: auto;
	height: auto;
	padding: 0.6rem 1rem;
	border: 0;
	background: var(--sselc-indigo-deep);
	color: var(--sselc-white);
	box-shadow: 0 8px 18px rgba(49, 42, 88, 0.14);
}

.home .sselc-hero-copy h1.elementor-heading-title {
	max-width: 11ch;
	font-size: clamp(3rem, 4.25vw, 4.15rem);
	line-height: 0.98;
}

.home .sselc-hero-copy .elementor-widget-text-editor {
	max-width: 42ch;
	font-size: clamp(1.02rem, 1.35vw, 1.17rem);
	line-height: 1.55;
}

.home .sselc-hero-facts {
	margin-top: 0.55rem;
}

.home .sselc-hero-facts > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem !important;
}

.home .sselc-hero-fact {
	position: relative;
	overflow: hidden;
	padding: 0.8rem 0.9rem;
	border: 1px solid rgba(64, 55, 109, 0.12);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.8);
}

.home .sselc-hero-fact > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.05rem !important;
}

.home .sselc-hero-fact .elementor-widget {
	margin-bottom: 0 !important;
}

.home .sselc-hero-fact::after {
	position: absolute;
	top: 0.55rem;
	right: 0.65rem;
	color: var(--sselc-gold);
	font-size: 1.1rem;
	font-weight: 900;
}

.home .sselc-hero-hours::after {
	content: "◷";
}

.home .sselc-hero-days::after {
	content: "◆";
}

.home .sselc-hero-fact .elementor-widget-heading,
.home .sselc-hero-fact .elementor-widget-text-editor {
	width: 100%;
}

.home .sselc-hero-fact .elementor-heading-title {
	max-width: none;
	padding-right: 1.15rem;
	font-size: clamp(1rem, 1.45vw, 1.18rem);
	color: var(--sselc-indigo-deep);
	white-space: nowrap;
}

.home .sselc-hero-fact .elementor-widget-text-editor,
.home .sselc-hero-fact .elementor-widget-text-editor p {
	margin: 0;
	color: #625d6e;
	font-size: 0.78rem;
	font-weight: 700;
}

.home .sselc-hero-ccs {
	grid-column: 1 / -1;
	background: var(--sselc-indigo-deep);
}

.home .sselc-hero-ccs::after {
	content: "✓";
	display: grid;
	width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 50%;
	background: var(--sselc-gold);
	color: var(--sselc-indigo-deep);
}

.home .sselc-hero-ccs .elementor-heading-title,
.home .sselc-hero-ccs .elementor-widget-text-editor,
.home .sselc-hero-ccs .elementor-widget-text-editor p {
	color: var(--sselc-white) !important;
}

.home .sselc-hero-copy .sselc-actions > .e-con-inner {
	gap: 0.65rem;
	margin-top: 0.3rem;
}

.home .sselc-hero-copy .sselc-actions .elementor-button {
	min-height: 48px;
	padding: 0.75rem 1.15rem;
}

.home .sselc-hero-art {
	z-index: 1;
	overflow: hidden;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 10px solid var(--sselc-white);
	border-left-width: 4px;
	border-radius: 8px 62px 62px 18px;
	background:
		linear-gradient(180deg, rgba(37, 31, 70, 0.01) 45%, rgba(37, 31, 70, 0.66) 100%),
		url("assets/images/generated-placeholders/hero-learning.jpg") center / cover no-repeat;
	box-shadow:
		inset 24px 0 30px rgba(49, 42, 88, 0.15),
		18px 18px 0 rgba(185, 168, 229, 0.24);
}

.home .sselc-hero-art > .e-con-inner {
	min-height: 696px;
}

.home .sselc-hero-art::before {
	top: 1.25rem;
	right: 1.25rem;
	width: 62px;
	height: 62px;
	border-width: 5px;
	font-size: 2.35rem;
}

.home .sselc-hero-art .elementor-widget-heading {
	bottom: 8.8rem;
}

.home .sselc-hero-art .elementor-widget-text-editor {
	bottom: 1.6rem;
}

@media (max-width: 1024px) {
	.home .sselc-hero > .e-con-inner {
		grid-template-columns: 1fr;
		gap: 1.5rem !important;
		filter: none;
	}

	.home .sselc-hero > .e-con-inner::before {
		content: none;
	}

	.home .sselc-hero-copy,
	.home .sselc-hero-art {
		min-height: auto;
		border: 1px solid rgba(64, 55, 109, 0.12);
		border-radius: 36px 64px 36px 36px;
		box-shadow: 0 20px 44px rgba(49, 42, 88, 0.13);
	}

	.home .sselc-hero-art {
		min-height: 520px;
		border: 7px solid var(--sselc-white);
		border-radius: 36px 64px 36px 64px;
	}

	.home .sselc-hero-art > .e-con-inner {
		min-height: 464px;
	}
}

@media (max-width: 767px) {
	.home .sselc-hero {
		padding-top: 4.25rem;
		padding-bottom: 4.5rem;
	}

	.home .sselc-hero-copy {
		padding: 4.8rem 1.3rem 1.6rem;
		border-radius: 28px 48px 28px 28px;
	}

	.home .sselc-hero-copy::before {
		top: 1.4rem;
		left: 1.3rem;
	}

	.home .sselc-hero-copy h1.elementor-heading-title {
		font-size: clamp(2.75rem, 13vw, 3.85rem);
	}

	.home .sselc-hero-facts > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.home .sselc-hero-ccs {
		grid-column: auto;
	}

	.home .sselc-hero-art {
		min-height: 430px;
		padding: 1.1rem;
	}

	.home .sselc-hero-art > .e-con-inner {
		min-height: 392px;
	}

	.home .sselc-hero-art .elementor-widget-heading {
		bottom: 10.2rem;
	}

	.home .sselc-hero-art .elementor-widget-text-editor {
		bottom: 1.2rem;
	}
}

body,
button,
input,
select,
textarea {
	font-family: "Nunito Sans", sans-serif !important;
}

/* Reviews, FAQ and footer refinement v4. */
.sselc-review-summary {
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 2.5rem !important;
	align-items: stretch !important;
}

.sselc-review-summary > .e-con-inner {
	width: min(760px, 100%) !important;
	max-width: 760px !important;
	margin-inline: auto !important;
	align-items: center !important;
}

.sselc-review-summary .elementor-widget-heading,
.sselc-review-summary .elementor-widget-text-editor {
	width: 100% !important;
	text-align: center !important;
}

.sselc-review-summary h2.elementor-heading-title {
	max-width: 18ch;
	margin-inline: auto;
	text-wrap: balance;
}

.sselc-review-summary .elementor-widget {
	margin-bottom: 0.15rem;
}

.sselc-review-excellent .elementor-heading-title {
	margin-top: 0.1rem;
}

.sselc-review-grid > .e-con-inner {
	gap: 1.25rem;
}

.sselc-review-card {
	min-height: 330px;
	padding: 1.75rem;
	border: 1px solid rgba(64, 55, 109, 0.14);
	border-radius: 22px;
}

.sselc-review-card .elementor-widget:not(:last-child) {
	margin-bottom: 0.35rem;
}

.sselc-review-quote {
	margin-top: 1.1rem;
	line-height: 1.55;
}

.sselc-review-author {
	margin-top: auto;
}

.sselc-faq {
	padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 4vw, 3rem);
	background:
		radial-gradient(circle at 94% 12%, rgba(228, 166, 43, 0.2) 0 6%, transparent 6.2%),
		linear-gradient(180deg, var(--sselc-white), var(--sselc-mist));
}

.sselc-faq > .e-con-inner {
	max-width: 1080px;
	margin-inline: auto;
}

.sselc-faq-heading {
	max-width: 760px;
	margin: 0 auto 2.75rem;
	text-align: center;
}

.sselc-faq-heading > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.sselc-faq-heading .elementor-widget-heading,
.sselc-faq-heading .elementor-widget-text-editor {
	width: 100%;
}

.sselc-faq-heading .elementor-heading-title {
	color: var(--sselc-indigo-deep);
}

.sselc-faq-toggle .elementor-toggle {
	display: grid;
	gap: 0.9rem;
}

.sselc-faq-toggle .elementor-toggle-item {
	overflow: hidden;
	border: 1px solid rgba(64, 55, 109, 0.14);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 8px 22px rgba(64, 55, 109, 0.05);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.sselc-faq-toggle .elementor-toggle-item:hover {
	border-color: rgba(64, 55, 109, 0.32);
	box-shadow: 0 12px 26px rgba(64, 55, 109, 0.09);
	transform: translateY(-1px);
}

.sselc-faq-toggle .elementor-tab-title {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 1.4rem;
	border: 0 !important;
	font-family: "Fredoka", sans-serif;
	font-size: clamp(1.08rem, 1.8vw, 1.3rem);
	font-weight: 600;
	color: var(--sselc-indigo-deep) !important;
}

.sselc-faq-toggle .elementor-toggle-icon {
	order: 2;
	margin-left: auto;
	color: var(--sselc-coral);
}

.sselc-faq-toggle .elementor-toggle-title {
	order: 1;
	color: inherit !important;
}

.sselc-faq-toggle .elementor-tab-content {
	padding: 0 1.4rem 1.35rem;
	border: 0 !important;
	color: #504b5b;
}

#colophon {
	border-top: 8px solid var(--sselc-gold);
	background:
		radial-gradient(circle at 92% 15%, rgba(185, 168, 229, 0.16) 0 10%, transparent 10.2%),
		#251f46;
}

#colophon .site-footer-row-container-inner,
#colophon .site-container,
#colophon .site-bottom-footer-inner-wrap,
#colophon .site-footer-bottom-section-1,
#colophon .footer-widget-area,
#colophon .footer-widget-area-inner,
#colophon .footer-html,
#colophon .footer-html-inner {
	width: 100%;
	max-width: none;
}

#colophon .site-bottom-footer-inner-wrap {
	display: block;
	padding: 0;
}

#colophon .footer-html-inner {
	max-width: 1280px;
	margin-inline: auto;
	padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 4vw, 3rem) 1.75rem;
}

#colophon .footer-html-inner > p {
	margin: 0;
}

#colophon a {
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
}

#colophon a:hover {
	color: var(--sselc-gold);
}

.sselc-footer-main {
	display: grid;
	grid-template-columns: minmax(220px, 1.25fr) minmax(130px, 0.65fr) minmax(220px, 1fr) minmax(250px, 1.1fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
	text-align: left;
}

.sselc-footer-brand img {
	width: 118px;
	height: 118px;
	margin-bottom: 1.2rem;
	object-fit: contain;
	filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.22));
}

.sselc-footer-brand p,
.sselc-footer-visit p {
	max-width: 30ch;
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.6;
}

.sselc-footer-column h2,
.sselc-footer-visit h2 {
	margin: 0 0 1rem;
	font-size: 1.25rem;
	color: var(--sselc-white);
}

.sselc-footer-column,
.sselc-footer-column nav,
.sselc-footer-column address {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
}

.sselc-footer-column > p {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 0;
}

.sselc-footer-column > p a {
	max-width: 100%;
	overflow-wrap: anywhere;
}

.sselc-footer-column address {
	margin: 0;
	font-style: normal;
}

.sselc-footer-column nav a,
.sselc-footer-column > a,
.sselc-footer-column address a {
	display: inline-flex;
	padding: 0.15rem 0;
}

.sselc-footer-visit {
	position: relative;
	overflow: hidden;
	padding: 1.6rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 18px 42px 18px 42px;
	background: rgba(185, 168, 229, 0.13);
}

.sselc-footer-star {
	position: absolute;
	top: -0.45em;
	right: -0.1em;
	color: rgba(228, 166, 43, 0.24);
	font-size: 7rem;
	line-height: 1;
}

.sselc-footer-visit h2,
.sselc-footer-visit p,
.sselc-footer-button {
	position: relative;
	z-index: 1;
}

.sselc-footer-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	margin-top: 1.3rem;
	padding: 0.75rem 1.25rem;
	border-radius: 999px;
	background: var(--sselc-coral);
	color: var(--sselc-white) !important;
	font-weight: 800;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.sselc-footer-button:hover {
	background: var(--sselc-coral-dark);
	transform: translateY(-2px);
}

.sselc-footer-lower {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.9rem;
}

.sselc-footer-lower span:last-child {
	display: flex;
	gap: 1.25rem;
}

@media (max-width: 980px) {
	.sselc-footer-main {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.sselc-reviews,
	.sselc-faq {
		padding-top: 4.25rem;
		padding-bottom: 4.25rem;
	}

	.sselc-review-summary > .e-con-inner {
		max-width: 335px !important;
	}

	.sselc-review-card {
		min-height: 300px;
	}

	.sselc-faq-heading {
		text-align: left;
	}

	.sselc-faq-heading > .e-con-inner {
		align-items: flex-start !important;
	}

	.sselc-faq-toggle .elementor-tab-title {
		padding: 1.05rem 1.1rem;
	}

	.sselc-faq-toggle .elementor-tab-content {
		padding: 0 1.1rem 1.15rem;
	}

	.sselc-footer-main {
		grid-template-columns: 1fr;
	}

	.sselc-footer-brand img {
		width: 96px;
		height: 96px;
	}

	.sselc-footer-lower {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Final specificity fixes for Elementor-rendered image and Google mark. */
body .sselc-program-orbit-image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 !important;
	object-fit: cover !important;
	border: 8px solid var(--sselc-white) !important;
	border-radius: 50% !important;
	box-shadow:
		0 0 0 12px rgba(228, 166, 43, 0.24),
		0 20px 44px rgba(64, 55, 109, 0.18) !important;
}

body .sselc-review-summary .sselc-google-mark {
	position: absolute !important;
	top: 8.5rem !important;
	left: clamp(2.5rem, 8vw, 9rem) !important;
	z-index: 2 !important;
	display: grid !important;
	width: clamp(150px, 16vw, 210px) !important;
	height: clamp(150px, 16vw, 210px) !important;
	place-items: center !important;
	border: 2px solid rgba(64, 55, 109, 0.1) !important;
	border-radius: 50% !important;
	background: var(--sselc-white) !important;
	box-shadow: 0 22px 52px rgba(64, 55, 109, 0.14) !important;
}

body .sselc-review-summary .sselc-google-mark::after {
	content: none !important;
}

body .sselc-review-summary .sselc-google-mark .elementor-heading-title {
	background: conic-gradient(from -45deg, #4285f4 0 24%, #34a853 24% 42%, #fbbc05 42% 63%, #ea4335 63% 80%, #4285f4 80% 100%) !important;
	background-clip: text !important;
	-webkit-background-clip: text !important;
	color: transparent !important;
	font-family: Arial, sans-serif !important;
	font-size: clamp(6.5rem, 11vw, 9.5rem) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -0.12em !important;
}

@media (max-width: 1024px) {
	body .sselc-review-summary .sselc-google-mark {
		top: 10rem !important;
		left: 2rem !important;
		width: 140px !important;
		height: 140px !important;
	}
}

@media (max-width: 767px) {
	body .sselc-review-summary .sselc-google-mark {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		order: -2 !important;
		width: 118px !important;
		height: 118px !important;
		margin: 0 auto 2.25rem !important;
	}

	body .sselc-review-summary .sselc-google-mark .elementor-heading-title {
		font-size: 5.2rem !important;
	}
}

/* Centre gallery v1 — compact bridge between Google Reviews and FAQs. */
body .sselc-reviews {
	padding-bottom: clamp(3.5rem, 5vw, 5rem);
}

body .sselc-reviews,
body .sselc-gallery,
body .sselc-faq {
	padding-right: clamp(1.25rem, 4vw, 3rem) !important;
	padding-left: clamp(1.25rem, 4vw, 3rem) !important;
}

.sselc-gallery {
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 6vw, 5.5rem) clamp(1.25rem, 4vw, 3rem);
	border-block: 1px solid rgba(64, 55, 109, 0.09);
	background:
		radial-gradient(circle at 6% 12%, rgba(255, 205, 59, 0.22) 0 5%, transparent 5.2%),
		radial-gradient(circle at 95% 88%, rgba(185, 168, 229, 0.26) 0 8%, transparent 8.2%),
		#f8f6fc;
}

.sselc-gallery > .e-con-inner {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

.sselc-gallery-heading {
	max-width: 790px;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.sselc-gallery-heading > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.sselc-gallery-heading .elementor-widget-heading,
.sselc-gallery-heading .elementor-widget-text-editor {
	width: 100%;
}

.sselc-gallery-heading .elementor-heading-title {
	color: var(--sselc-indigo-deep);
}

.sselc-centre-carousel {
	width: 100%;
}

.sselc-centre-carousel .elementor-image-carousel-wrapper {
	overflow: visible;
}

.sselc-centre-carousel .swiper-slide {
	height: auto;
}

.sselc-centre-carousel figure,
.sselc-centre-carousel .swiper-slide-inner {
	height: 100%;
	margin: 0;
}

.sselc-centre-carousel .swiper-slide-inner {
	overflow: hidden;
	border: 6px solid var(--sselc-white);
	border-radius: 24px;
	background: var(--sselc-white);
	box-shadow: 0 16px 34px rgba(64, 55, 109, 0.14);
}

.sselc-centre-carousel .swiper-slide-image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.sselc-centre-carousel .elementor-image-carousel-caption {
	min-height: 3.7rem;
	padding: 0.8rem 1rem 0.9rem;
	background: var(--sselc-white);
	color: #504b5b;
	font-family: "Nunito Sans", sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
}

.sselc-centre-carousel .elementor-swiper-button {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border: 4px solid var(--sselc-white);
	border-radius: 50%;
	background: var(--sselc-gold);
	color: var(--sselc-indigo-deep);
	font-size: 1.15rem;
	box-shadow: 0 8px 20px rgba(64, 55, 109, 0.2);
	transition: transform 160ms ease, background-color 160ms ease;
}

.sselc-centre-carousel .elementor-swiper-button:hover,
.sselc-centre-carousel .elementor-swiper-button:focus-visible {
	background: #ffcd3b;
	transform: scale(1.06);
}

.sselc-centre-carousel .swiper-pagination {
	position: relative;
	margin-top: 1.5rem;
}

.sselc-centre-carousel .swiper-pagination-bullet {
	width: 9px;
	height: 9px;
	background: rgba(64, 55, 109, 0.34);
	opacity: 1;
}

.sselc-centre-carousel .swiper-pagination-bullet-active {
	width: 26px;
	border-radius: 999px;
	background: var(--sselc-coral);
}

body .sselc-faq {
	padding-top: clamp(3.5rem, 6vw, 5.5rem);
}

@media (max-width: 767px) {
	body .sselc-reviews {
		padding-bottom: 3.25rem;
	}

	.sselc-gallery {
		padding-top: 3.25rem;
		padding-bottom: 3.25rem;
	}

	.sselc-gallery-heading {
		margin-bottom: 1.8rem;
		text-align: left;
	}

	.sselc-gallery-heading > .e-con-inner {
		align-items: flex-start !important;
	}

	.sselc-centre-carousel .elementor-swiper-button {
		width: 42px;
		height: 42px;
	}

	body .sselc-faq {
		padding-top: 3.25rem;
	}
}

/* Header, hero, programs and footer refinement v7. */
@media (min-width: 1025px) {
	#masthead .site-main-header-inner-wrap {
		position: relative;
		display: flex !important;
		width: 100%;
		max-width: 1280px;
		min-height: 108px;
		align-items: center;
		justify-content: center !important;
		margin-inline: auto;
		padding-inline: 1.5rem;
	}

	#masthead .site-header-main-section-left {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 5;
		transform: translate(-50%, -50%);
	}

	#masthead .site-branding .custom-logo {
		width: 92px;
		max-height: 92px;
	}

	#masthead .site-header-main-section-right,
	#masthead .site-header-item-main-navigation,
	#masthead .main-navigation,
	#masthead .primary-menu-container {
		width: 100%;
	}

	#masthead .site-header-main-section-right {
		justify-content: center !important;
	}

	#masthead .main-navigation .primary-menu-container > ul {
		display: flex !important;
		width: 100%;
		align-items: center;
		justify-content: center;
	}

	#masthead .main-navigation .primary-menu-container > ul > li:nth-child(5) {
		margin-left: 132px;
	}
}

/* Super Stars navigation — refined typography, starlight and motion. */
#masthead {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 4% 22%, rgba(255, 207, 82, 0.2) 0 2px, transparent 2.6px),
		radial-gradient(circle at 11% 72%, rgba(181, 140, 255, 0.16) 0 2px, transparent 2.6px),
		radial-gradient(circle at 89% 28%, rgba(255, 111, 165, 0.16) 0 2px, transparent 2.6px),
		radial-gradient(circle at 96% 70%, rgba(105, 185, 255, 0.16) 0 2px, transparent 2.6px),
		linear-gradient(180deg, #fff 0%, #fffdf8 100%);
}

#masthead::before,
#masthead::after {
	position: absolute;
	z-index: -1;
	pointer-events: none;
	font-family: "Fredoka", sans-serif;
}

#masthead::before {
	content: "✦";
	left: 2.5%;
	top: 50%;
	color: rgba(228, 166, 43, 0.28);
	font-size: 1.8rem;
	text-shadow: 36px -22px 0 rgba(185, 168, 229, 0.18), 72px 17px 0 rgba(255, 111, 165, 0.14);
	transform: translateY(-50%);
	animation: sselc-header-twinkle 3.6s ease-in-out infinite;
}

#masthead::after {
	content: "✧";
	right: 2.5%;
	top: 50%;
	color: rgba(105, 185, 255, 0.25);
	font-size: 2rem;
	text-shadow: -38px 22px 0 rgba(255, 212, 95, 0.18), -76px -18px 0 rgba(152, 237, 177, 0.15);
	transform: translateY(-50%);
	animation: sselc-header-twinkle 3.6s 1.2s ease-in-out infinite;
}

#masthead .site-main-header-wrap,
#masthead .site-main-header-inner-wrap {
	background: transparent !important;
}

@media (min-width: 1025px) {
	#masthead .site-main-header-inner-wrap {
		min-height: 116px;
	}

	#masthead .site-branding .custom-logo {
		width: 96px;
		max-height: 96px;
		filter: drop-shadow(0 8px 12px rgba(64, 55, 109, 0.1));
		animation: sselc-logo-float 4.8s ease-in-out infinite;
	}

	#masthead .main-navigation .primary-menu-container > ul > li.menu-item:not(:last-child) > a {
		position: relative;
		min-height: 52px;
		padding: 0.7rem 0.66rem;
		border-radius: 999px;
		color: #373348;
		font-family: "Fredoka", sans-serif !important;
		font-size: 1.06rem;
		font-weight: 600;
		letter-spacing: 0.005em;
		transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
	}

	#masthead .main-navigation .primary-menu-container > ul > li.menu-item:not(:last-child) > a::before {
		content: "✦";
		position: absolute;
		left: 0.28rem;
		top: 0.12rem;
		color: var(--sselc-gold);
		font-size: 0.68rem;
		opacity: 0;
		transform: scale(0.5) rotate(-20deg);
		transition: opacity 180ms ease, transform 180ms ease;
	}

	#masthead .main-navigation .primary-menu-container > ul > li.menu-item:not(:last-child) > a::after {
		content: "";
		position: absolute;
		left: 0.7rem;
		right: 0.7rem;
		bottom: 0.32rem;
		height: 3px;
		border-radius: 999px;
		background: linear-gradient(90deg, #ff7aa9, #ffd45f, #8ee6a6, #75bdff, #c89aff);
		box-shadow: 0 0 10px rgba(255, 212, 95, 0.34);
		transform: scaleX(0);
		transform-origin: center;
		transition: transform 200ms ease;
	}

	#masthead .main-navigation .primary-menu-container > ul > li.menu-item:not(:last-child) > a:hover,
	#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item:not(:last-child) > a {
		background: rgba(238, 233, 250, 0.74);
		color: var(--sselc-indigo);
		transform: translateY(-2px);
	}

	#masthead .main-navigation .primary-menu-container > ul > li.menu-item:not(:last-child) > a:hover::before,
	#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item:not(:last-child) > a::before {
		opacity: 1;
		transform: scale(1) rotate(0);
	}

	#masthead .main-navigation .primary-menu-container > ul > li.menu-item:not(:last-child) > a:hover::after,
	#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item:not(:last-child) > a::after {
		transform: scaleX(1);
	}

	#masthead .main-navigation .primary-menu-container > ul > li:last-child > a {
		min-height: 56px;
		padding-inline: 1.35rem;
		font-family: "Fredoka", sans-serif !important;
		font-size: 1.06rem;
		font-weight: 700;
	}
}

@keyframes sselc-header-twinkle {
	0%, 100% { opacity: 0.5; transform: translateY(-50%) scale(0.88) rotate(-5deg); }
	50% { opacity: 1; transform: translateY(-50%) scale(1.08) rotate(5deg); }
}

@keyframes sselc-logo-float {
	0%, 100% { transform: translateY(0) rotate(0); }
	50% { transform: translateY(-3px) rotate(1deg); }
}

@media (prefers-reduced-motion: reduce) {
	#masthead::before,
	#masthead::after,
	#masthead .site-branding .custom-logo {
		animation: none !important;
	}
}

.home .sselc-hero {
	min-height: 660px;
	padding-top: clamp(4rem, 7vw, 6rem);
	padding-bottom: clamp(5rem, 8vw, 7rem);
	background:
		radial-gradient(circle at 7% 14%, rgba(255, 105, 98, 0.12) 0 4.5%, transparent 4.7%),
		radial-gradient(circle at 92% 10%, rgba(228, 166, 43, 0.22) 0 7%, transparent 7.2%),
		linear-gradient(135deg, #ffffff 0 58%, #f2edfb 58% 100%);
}

.home .sselc-hero::before {
	content: "★";
	top: auto;
	bottom: 7%;
	left: 46%;
	font-size: clamp(2rem, 4vw, 3.5rem);
	letter-spacing: 0;
	transform: rotate(-12deg);
}

.home .sselc-hero::after {
	right: 45%;
	bottom: 4%;
	width: 92px;
	height: 48px;
}

.home .sselc-hero > .e-con-inner {
	grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
	gap: clamp(3rem, 6vw, 6rem);
}

.home .sselc-hero-copy {
	padding: clamp(2rem, 4vw, 3.25rem);
	border: 1px solid rgba(228, 166, 43, 0.28);
	border-radius: 38px 84px 38px 38px;
	background: rgba(255, 248, 220, 0.82);
	box-shadow: 0 20px 55px rgba(64, 55, 109, 0.1);
}

.home .sselc-hero-copy::before {
	top: -1.25rem;
	right: auto;
	bottom: auto;
	left: 2rem;
	z-index: 3;
	width: auto;
	height: auto;
	background: var(--sselc-indigo-deep);
	color: var(--sselc-white);
}

.home .sselc-hero-copy h1.elementor-heading-title {
	max-width: 12ch;
	font-size: clamp(3.1rem, 4.3vw, 4.2rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.home .sselc-hero-copy .elementor-widget-text-editor {
	max-width: 42ch;
	font-size: clamp(1.08rem, 1.4vw, 1.22rem);
	line-height: 1.58;
}

.home .sselc-hero-art {
	min-height: 510px;
	overflow: hidden;
	padding: clamp(1.5rem, 3vw, 2.4rem);
	border: 8px solid var(--sselc-white);
	border-radius: 34px 76px 34px 76px;
	background:
		linear-gradient(180deg, rgba(37, 31, 70, 0.02) 45%, rgba(37, 31, 70, 0.74) 100%),
		url("assets/images/generated-placeholders/hero-learning.jpg") center / cover no-repeat;
	box-shadow:
		16px 18px 0 rgba(185, 168, 229, 0.3),
		0 26px 65px rgba(49, 42, 88, 0.2);
	transform: none;
}

.home .sselc-hero-art > .e-con-inner {
	position: static;
	min-height: 454px;
	justify-content: flex-end;
}

.home .sselc-hero-art::before {
	top: 1.2rem;
	right: 1.2rem;
	width: 64px;
	height: 64px;
	border-width: 5px;
	font-size: 2.45rem;
	transform: rotate(8deg);
}

.home .sselc-hero-art::after {
	display: none;
}

.home .sselc-hero-art .elementor-widget-heading,
.home .sselc-hero-art .elementor-widget-text-editor {
	position: absolute;
	left: clamp(1.35rem, 3vw, 2.2rem);
	align-self: auto;
	max-width: 28rem;
	margin: 0;
	transform: none;
}

.home .sselc-hero-art .elementor-widget-heading {
	bottom: 9rem;
	padding: 0.75rem 1rem;
	border-width: 4px;
	border-radius: 14px;
}

.home .sselc-hero-art .elementor-widget-heading .elementor-heading-title {
	font-size: clamp(1.15rem, 1.8vw, 1.5rem);
}

.home .sselc-hero-art .elementor-widget-text-editor {
	right: clamp(1.35rem, 3vw, 2.2rem);
	bottom: 1.6rem;
	padding: 0.75rem 1rem;
	border-width: 0;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.94);
}

.home .sselc-program-card {
	isolation: isolate;
	min-height: 430px;
	justify-content: flex-end;
	overflow: hidden;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	border: 7px solid var(--sselc-white);
	border-radius: 28px 70px 28px 70px;
	background-color: var(--sselc-indigo-deep);
	background-position: center !important;
	background-size: cover !important;
	box-shadow: 0 20px 45px rgba(49, 42, 88, 0.18);
	transform: none !important;
}

.home .sselc-program-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(180deg, rgba(22, 18, 45, 0.48) 0, rgba(22, 18, 45, 0.22) 34%, rgba(22, 18, 45, 0.08) 52%, rgba(22, 18, 45, 0.84) 100%);
}

.home .sselc-program-grid > .e-con-inner > .sselc-program-card:first-child {
	background-image: url("assets/images/centre-gallery/super-stars-cooloongup-childrens-art-room.jpg") !important;
}

.home .sselc-program-grid > .e-con-inner > .sselc-program-card:last-child {
	background-image: url("assets/images/centre-gallery/super-stars-cooloongup-sandpit-playground.jpg") !important;
}

.home .sselc-program-card > .e-con-inner {
	position: relative;
	z-index: 2;
	min-height: 330px;
	justify-content: flex-end;
}

.home .sselc-program-card::after {
	top: 1rem;
	right: 1.1rem;
	bottom: auto;
	font-size: 4rem;
	color: var(--sselc-gold);
	text-shadow: 0 3px 12px rgba(22, 18, 45, 0.28);
}

.home .sselc-program-card .elementor-heading-title,
.home .sselc-program-card .elementor-widget-text-editor,
.home .sselc-program-card .elementor-widget-text-editor p {
	color: var(--sselc-white) !important;
}

.home .sselc-program-card .sselc-eyebrow .elementor-heading-title {
	color: #ffcd3b !important;
}

.home .sselc-program-card .sselc-secondary-button .elementor-button {
	border-color: var(--sselc-white);
	background: var(--sselc-white) !important;
	color: var(--sselc-indigo-deep) !important;
}

.home .sselc-program-card .sselc-secondary-button .elementor-button:hover {
	border-color: var(--sselc-gold);
	background: var(--sselc-gold) !important;
}

#colophon {
	border-top: 0;
	background:
		radial-gradient(circle at 92% 18%, rgba(185, 168, 229, 0.15) 0 10%, transparent 10.2%),
		linear-gradient(145deg, #251f46, #312858 70%, #251f46);
}

#colophon .footer-html-inner {
	max-width: 1280px;
	padding-top: 0;
}

.sselc-footer-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	margin: 0 0 clamp(3rem, 6vw, 4.75rem);
	padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 3rem);
	border-radius: 0 0 34px 34px;
	background: var(--sselc-gold);
	color: var(--sselc-indigo-deep);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
}

.sselc-footer-intro span,
.sselc-footer-kicker {
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.sselc-footer-intro h2 {
	max-width: 720px;
	margin: 0.35rem 0 0;
	font-size: clamp(1.8rem, 3.5vw, 3rem);
	line-height: 1.05;
	color: var(--sselc-indigo-deep);
}

.sselc-footer-intro > p {
	margin: 0;
}

.sselc-footer-intro > a,
.sselc-footer-intro > p > a {
	display: flex;
	min-width: 220px;
	flex-direction: column;
	align-items: flex-start;
	padding: 0.9rem 1.2rem;
	border: 2px solid var(--sselc-indigo-deep);
	border-radius: 16px;
	color: var(--sselc-indigo-deep) !important;
}

.sselc-footer-intro > a:hover,
.sselc-footer-intro > p > a:hover {
	background: var(--sselc-indigo-deep);
	color: var(--sselc-white) !important;
}

.sselc-footer-intro small {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sselc-footer-intro strong {
	font-family: "Fredoka", sans-serif;
	font-size: 1.2rem;
}

.sselc-footer-brand img {
	padding: 0.5rem;
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.96);
	filter: none;
}

.sselc-footer-location {
	display: inline-flex;
	margin-top: 1.25rem;
	padding: 0.5rem 0.75rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--sselc-gold);
	font-size: 0.83rem;
	font-weight: 800;
}

.sselc-footer-column nav a::before,
.sselc-footer-column > a::before,
.sselc-footer-column address a::before {
	content: "→";
	margin-right: 0.5rem;
	color: var(--sselc-gold);
}

.sselc-footer-visit {
	padding: 1.9rem;
	border-color: rgba(255, 255, 255, 0.18);
	background: linear-gradient(145deg, rgba(185, 168, 229, 0.2), rgba(255, 255, 255, 0.08));
}

.sselc-footer-kicker {
	margin-bottom: 0.55rem !important;
	color: var(--sselc-gold) !important;
}

@media (max-width: 1024px) {
	.home .sselc-hero > .e-con-inner {
		grid-template-columns: 1fr;
	}

	.home .sselc-hero-art {
		min-height: 470px;
	}
}

@media (max-width: 767px) {
	.home .sselc-hero {
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}

	.home .sselc-hero-copy {
		padding: 2rem 1.35rem 1.6rem;
		border-radius: 26px 56px 26px 26px;
	}

	.home .sselc-hero-copy::before {
		left: 1.25rem;
	}

	.home .sselc-hero-copy h1.elementor-heading-title {
		font-size: clamp(2.8rem, 14vw, 4rem);
	}

	.home .sselc-hero-art {
		min-height: 400px;
		padding: 1.25rem;
		border-width: 6px;
		border-radius: 24px 48px 24px 48px;
	}

	.home .sselc-hero-art > .e-con-inner {
		min-height: 352px;
	}

	.home .sselc-hero-art .elementor-widget-heading {
		bottom: 10rem;
	}

	.home .sselc-program-card {
		min-height: 390px;
		padding: 1.5rem;
		border-radius: 24px 48px 24px 48px;
	}

	.sselc-footer-intro {
		align-items: flex-start;
		flex-direction: column;
		border-radius: 0 0 24px 24px;
	}

	.sselc-footer-intro > a,
	.sselc-footer-intro > p,
	.sselc-footer-intro > p > a {
		width: 100%;
	}
}

/* Final-priority glass captions and visible stacked page edges. */
body.home .sselc-hero-copy {
	box-shadow:
		-5px 6px 0 #fffdf5,
		-10px 12px 0 #f5eddb,
		-15px 18px 0 #eadfc8,
		inset -22px 0 30px rgba(64, 55, 109, 0.08),
		0 28px 42px rgba(49, 42, 88, 0.12);
}

body.home .sselc-hero-art {
	box-shadow:
		5px 6px 0 #fcfaff,
		10px 12px 0 #f0ebf8,
		15px 18px 0 #e2d9f0,
		inset 24px 0 30px rgba(49, 42, 88, 0.16),
		0 28px 42px rgba(49, 42, 88, 0.14);
}

body.home .sselc-hero-copy::after,
body.home .sselc-hero-art::after {
	content: "" !important;
	position: absolute;
	z-index: 6;
	display: block !important;
	width: 46px;
	height: 46px;
	pointer-events: none;
}

body.home .sselc-hero-copy::after {
	bottom: 7px;
	left: 7px;
	border-radius: 0 0 0 30px;
	background: linear-gradient(135deg, rgba(228, 166, 43, 0.08) 0 48%, #eadfc8 50% 100%);
	clip-path: polygon(0 0, 0 100%, 100% 100%);
	filter: drop-shadow(3px -3px 4px rgba(49, 42, 88, 0.13));
}

body.home .sselc-hero-art::after {
	right: 8px;
	bottom: 8px;
	left: auto;
	border-radius: 0 0 30px;
	background: linear-gradient(225deg, rgba(185, 168, 229, 0.08) 0 48%, #e2d9f0 50% 100%);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
	filter: drop-shadow(-3px -3px 4px rgba(49, 42, 88, 0.13));
}

body.home .sselc-hero > .e-con-inner::before {
	width: 22px;
	background:
		linear-gradient(90deg,
			rgba(49, 42, 88, 0.16) 0%,
			rgba(255, 255, 255, 0.72) 27%,
			#ffffff 46%,
			rgba(64, 55, 109, 0.14) 58%,
			rgba(49, 42, 88, 0.2) 100%);
	box-shadow:
		-5px 0 12px rgba(49, 42, 88, 0.09),
		5px 0 12px rgba(49, 42, 88, 0.11);
}

body.home .sselc-hero-art .elementor-widget-heading {
	border: 1px solid rgba(255, 255, 255, 0.75);
	background: rgba(228, 166, 43, 0.76);
	-webkit-backdrop-filter: blur(12px) saturate(125%);
	backdrop-filter: blur(12px) saturate(125%);
	box-shadow: 0 10px 24px rgba(49, 42, 88, 0.14);
}

body.home .sselc-hero-art .elementor-widget-text-editor,
body.home .sselc-photo-placeholder .elementor-widget-heading,
body.home .sselc-photo-placeholder .elementor-widget-text-editor {
	border: 1px solid rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.62);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	backdrop-filter: blur(14px) saturate(125%);
	box-shadow: 0 12px 30px rgba(49, 42, 88, 0.12);
}

body.home .sselc-photo-placeholder .elementor-widget-heading {
	background: rgba(255, 255, 255, 0.56);
}

body.home .sselc-photo-placeholder::after {
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(184, 62, 86, 0.8);
	-webkit-backdrop-filter: blur(10px) saturate(120%);
	backdrop-filter: blur(10px) saturate(120%);
}

body.home .sselc-program-card .sselc-secondary-button .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.78);
	background: rgba(255, 255, 255, 0.76) !important;
	-webkit-backdrop-filter: blur(12px) saturate(125%);
	backdrop-filter: blur(12px) saturate(125%);
	box-shadow: 0 10px 22px rgba(22, 18, 45, 0.16);
}

@media (max-width: 1024px) {
	body.home .sselc-hero-copy {
		box-shadow:
			0 6px 0 #fbf7eb,
			0 12px 0 #ece4d2,
			0 22px 42px rgba(49, 42, 88, 0.14);
	}

	body.home .sselc-hero-art {
		box-shadow:
			0 6px 0 #f7f3fc,
			0 12px 0 #e5dcf2,
			0 22px 42px rgba(49, 42, 88, 0.14);
	}

	body.home .sselc-hero-copy::after,
	body.home .sselc-hero-art::after {
		width: 38px;
		height: 38px;
	}
}

/* Fees quick-update board — final-priority independent section. */
.sselc-fees-schedule {
	padding: clamp(70px, 7vw, 104px) clamp(22px, 5vw, 70px);
	background: #fff;
}

.sselc-fees-schedule > .e-con-inner {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.sselc-fees-board-title .elementor-heading-title {
	margin: 0;
	color: #f1bf4c;
	font-size: clamp(52px, 6vw, 82px);
	line-height: 1;
	text-align: center;
}

body .sselc-fees-board-title .elementor-heading-title {
	color: #f1bf4c !important;
}

.sselc-fees-board-note {
	max-width: 760px;
	margin: 18px auto 42px;
	color: #555162;
	font-size: 18px;
	line-height: 1.6;
	text-align: center;
}

.sselc-fees-board {
	width: 100%;
}

.sselc-fees-board > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 30px;
}

.sselc-fees-board-panel {
	position: relative;
	min-height: clamp(510px, 54vw, 660px);
	padding: clamp(34px, 5vw, 66px);
	overflow: hidden;
	isolation: isolate;
	border-radius: 6px;
	background-position: center !important;
	background-size: cover !important;
	box-shadow: 0 22px 52px rgba(49, 42, 88, 0.15);
}

body .sselc-fees-board-panel {
	min-height: clamp(510px, 54vw, 660px) !important;
	padding: clamp(34px, 5vw, 66px) !important;
	border-radius: 8px !important;
	background-position: center !important;
	background-size: cover !important;
}

body .sselc-fees-board-panel-live {
	background-image:
		linear-gradient(180deg, rgba(237, 246, 255, 0.93) 0%, rgba(237, 246, 255, 0.8) 48%, rgba(237, 246, 255, 0.2) 73%, rgba(49, 42, 88, 0.08) 100%),
		url("assets/images/centre-gallery/super-stars-cooloongup-classroom.jpg") !important;
}

body .sselc-fees-board-panel-draft {
	background-image:
		linear-gradient(180deg, rgba(237, 246, 255, 0.93) 0%, rgba(237, 246, 255, 0.8) 48%, rgba(237, 246, 255, 0.2) 73%, rgba(49, 42, 88, 0.08) 100%),
		url("assets/images/centre-gallery/super-stars-cooloongup-outdoor-play-area.jpg") !important;
}

body .sselc-fees-board-panel-info {
	background-image:
		linear-gradient(180deg, rgba(237, 246, 255, 0.93) 0%, rgba(237, 246, 255, 0.8) 48%, rgba(237, 246, 255, 0.2) 73%, rgba(49, 42, 88, 0.08) 100%),
		url("assets/images/centre-gallery/super-stars-cooloongup-outdoor-play-area.jpg") !important;
}

.sselc-fees-board-panel::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	background: linear-gradient(180deg, rgba(237, 246, 255, 0.92) 0%, rgba(237, 246, 255, 0.8) 48%, rgba(237, 246, 255, 0.25) 72%, rgba(49, 42, 88, 0.08) 100%);
	content: "";
}

body .sselc-fees-board-panel::before {
	display: none !important;
}

.sselc-fees-board-panel > .e-con-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	flex-direction: column;
}

.sselc-fees-board-panel-title .elementor-heading-title {
	margin: 0 0 34px;
	color: #314a62;
	font-size: clamp(38px, 4.5vw, 62px);
	font-weight: 500;
	line-height: 1.1;
	text-align: center;
}

.sselc-fees-board-fee-row {
	width: min(100%, 720px);
	margin: 0 auto 14px;
}

.sselc-fees-board-price-row .elementor-heading-title {
	background: rgba(222, 235, 248, 0.88);
	font-weight: 700;
}

.sselc-fees-board-info-row .elementor-heading-title {
	background: rgba(255, 255, 255, 0.82);
	font-size: clamp(23px, 2.4vw, 34px);
}

.sselc-fees-board-panel-info .elementor-widget-button {
	margin-top: 10px;
}

.sselc-fees-board-panel-info .elementor-button {
	border-color: #314a62;
	background: rgba(255, 255, 255, 0.86) !important;
	color: #314a62 !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.sselc-fees-board-fee-row .elementor-heading-title {
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid rgba(255, 255, 255, 0.78);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 12px 30px rgba(49, 75, 97, 0.16);
	color: #314a62;
	font-size: clamp(27px, 3.3vw, 46px);
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.sselc-fees-board-panel-draft {
	display: none !important;
}

.sselc-fees-board-actions {
	margin-top: 34px;
}

.sselc-fees-board-actions > .e-con-inner {
	display: flex !important;
	align-items: center !important;
	flex-direction: row !important;
	justify-content: center !important;
	gap: 14px;
}

@media (max-width: 650px) {
	.sselc-fees-board-panel {
		min-height: 500px !important;
		padding: 32px 20px !important;
	}

	.sselc-fees-board-panel-title .elementor-heading-title {
		margin-bottom: 24px;
	}

	.sselc-fees-board-actions > .e-con-inner {
		align-items: stretch !important;
		flex-direction: column !important;
	}

	.sselc-fees-board-actions .elementor-widget-button,
	.sselc-fees-board-actions .elementor-button {
		width: 100%;
	}
}

/* Professional homepage message and coordinated Contact / Tour hero sections. */
body.home .sselc-hero-copy h1.elementor-heading-title {
	max-width: 13.5ch;
	font-size: clamp(2.9rem, 4vw, 4rem) !important;
	font-weight: 650;
	line-height: 1.04;
	letter-spacing: -0.028em;
	text-wrap: balance;
}

.sselc-page-hero--editorial {
	position: relative;
	min-height: 680px;
	padding: clamp(4.75rem, 8vw, 7.5rem) 0;
	background:
		radial-gradient(circle at 7% 16%, rgba(255, 105, 98, 0.12) 0 5%, transparent 5.2%),
		radial-gradient(circle at 94% 11%, rgba(228, 166, 43, 0.24) 0 8%, transparent 8.2%),
		linear-gradient(135deg, #fffdf8 0 54%, #f1ecfb 54% 100%);
}

.sselc-page-hero--editorial::before,
.sselc-page-hero--editorial::after {
	position: absolute;
	z-index: 0;
	color: rgba(228, 166, 43, 0.36);
	font-family: "Fredoka", sans-serif;
	pointer-events: none;
}

.sselc-page-hero--editorial::before {
	top: 12%;
	left: 48%;
	content: "✦";
	font-size: clamp(2.6rem, 5vw, 5rem);
	transform: rotate(10deg);
}

.sselc-page-hero--editorial::after {
	right: 3%;
	bottom: 8%;
	content: "★";
	font-size: clamp(2rem, 4vw, 3.6rem);
	transform: rotate(-12deg);
}

.sselc-editorial-hero {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(480px, 1.12fr);
	gap: clamp(3rem, 6vw, 6rem);
	align-items: center;
}

.sselc-editorial-copy {
	position: relative;
	padding: clamp(1rem, 2vw, 2rem) 0;
}

.sselc-page-hero--editorial .sselc-kicker {
	margin-bottom: 1rem;
	color: #b83e56;
	font-size: 0.86rem !important;
	letter-spacing: 0.15em;
}

.sselc-page-hero--editorial h1 {
	max-width: 13ch;
	margin: 0 0 1.4rem;
	color: var(--sselc-indigo-deep);
	font-size: clamp(3.25rem, 5.2vw, 5.3rem);
	font-weight: 650;
	line-height: 0.98;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.sselc-page-hero--editorial .sselc-lead {
	max-width: 48ch;
	margin-bottom: 1.8rem;
	color: #504b5b;
	font-size: clamp(1.08rem, 1.5vw, 1.28rem) !important;
	line-height: 1.65;
}

.sselc-editorial-media {
	position: relative;
	margin: 0;
	padding: 10px;
	border-radius: 38px 82px 38px 82px;
	background: #fff;
	box-shadow:
		15px 17px 0 rgba(185, 168, 229, 0.32),
		0 28px 65px rgba(49, 42, 88, 0.2);
	transform: rotate(0.8deg);
}

.sselc-editorial-media::before {
	position: absolute;
	top: -26px;
	left: -28px;
	z-index: 2;
	display: grid;
	width: 74px;
	aspect-ratio: 1;
	place-items: center;
	border: 7px solid #fff;
	border-radius: 50%;
	background: var(--sselc-gold);
	box-shadow: 0 10px 25px rgba(49, 42, 88, 0.18);
	color: var(--sselc-indigo-deep);
	content: "★";
	font-size: 2rem;
}

.sselc-editorial-media img {
	display: block;
	width: 100%;
	min-height: 500px;
	max-height: 590px;
	border-radius: 30px 72px 30px 72px;
	object-fit: cover;
}

.sselc-editorial-media figcaption {
	position: absolute;
	right: clamp(1.3rem, 4vw, 3rem);
	bottom: clamp(1.25rem, 3vw, 2.4rem);
	left: clamp(1.3rem, 4vw, 3rem);
	display: grid;
	gap: 0.28rem;
	padding: 1.1rem 1.3rem;
	border: 2px solid rgba(255, 255, 255, 0.76);
	border-radius: 18px;
	background: rgba(49, 42, 88, 0.88);
	box-shadow: 0 12px 30px rgba(22, 18, 45, 0.24);
	color: #fff;
	-webkit-backdrop-filter: blur(12px) saturate(120%);
	backdrop-filter: blur(12px) saturate(120%);
}

.sselc-editorial-media figcaption strong {
	color: #fff;
	font-family: "Fredoka", sans-serif;
	font-size: 1.2rem;
}

.sselc-editorial-media figcaption span {
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.95rem;
	line-height: 1.45;
}

.sselc-editorial-actions,
.sselc-hero-checks {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.sselc-editorial-actions .sselc-btn {
	margin: 0;
}

.sselc-hero-checks span {
	display: inline-flex;
	align-items: center;
	gap: 0.48rem;
	padding: 0.64rem 0.82rem;
	border: 1px solid rgba(64, 55, 109, 0.13);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	box-shadow: 0 8px 18px rgba(49, 42, 88, 0.07);
	color: var(--sselc-indigo-deep);
	font-size: 0.92rem;
	font-weight: 750;
}

.sselc-hero-checks span::before {
	color: #b83e56;
	content: "✦";
}

.sselc-contact-hero .sselc-editorial-media img {
	object-position: center;
}

.sselc-tour-hero .sselc-editorial-media img {
	object-position: center;
}

@media (max-width: 980px) {
	.sselc-page-hero--editorial {
		min-height: auto;
	}

	.sselc-editorial-hero {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.sselc-page-hero--editorial::before {
		top: 4%;
		left: auto;
		right: 8%;
	}

	.sselc-editorial-copy {
		max-width: 760px;
	}
}

@media (max-width: 620px) {
	body.home .sselc-hero-copy h1.elementor-heading-title {
		max-width: 14ch;
		font-size: clamp(2.45rem, 10vw, 3.15rem) !important;
		line-height: 1.03;
	}

	.sselc-page-hero--editorial {
		padding: 4.25rem 0 5rem;
	}

	.sselc-page-hero--editorial h1 {
		max-width: 14ch;
		font-size: clamp(2.75rem, 13vw, 3.75rem);
		line-height: 1;
	}

	.sselc-editorial-media {
		border-radius: 26px 48px 26px 48px;
		transform: none;
	}

	.sselc-editorial-media::before {
		top: -22px;
		left: -10px;
		width: 60px;
		border-width: 5px;
		font-size: 1.55rem;
	}

	.sselc-editorial-media img {
		min-height: 360px;
		border-radius: 20px 42px 20px 42px;
	}

	.sselc-editorial-media figcaption {
		right: 1rem;
		bottom: 1rem;
		left: 1rem;
	}

	.sselc-editorial-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.sselc-editorial-actions .sselc-btn {
		width: 100%;
		text-align: center;
	}
}

/* Meals hero typography — balanced with the refreshed homepage. */
body .sselc-meals-hero h1.elementor-heading-title,
body .sselc-meals-hero h1 {
	max-width: 13ch;
	margin-bottom: 1.4rem;
	font-size: clamp(2.9rem, 4.15vw, 4.2rem) !important;
	font-weight: 650;
	line-height: 1.035;
	letter-spacing: -0.028em;
	text-wrap: balance;
}

body .sselc-meals-hero-copy .sselc-eyebrow .elementor-heading-title {
	max-width: 32rem;
	font-size: clamp(0.82rem, 1.15vw, 0.94rem);
	line-height: 1.35;
	letter-spacing: 0.13em;
}

@media (max-width: 620px) {
	body .sselc-meals-hero h1.elementor-heading-title,
	body .sselc-meals-hero h1 {
		max-width: 14ch;
		font-size: clamp(2.45rem, 10vw, 3.15rem) !important;
		line-height: 1.04;
	}
}
