/* ==========================================================================
   CampusSphere Homepage — front-page only (loaded via enqueue when is_front_page)
   ========================================================================== */

/* Prevent horizontal page blowout from misconfigured layout padding */
html,
body {
	overflow-x: clip;
	max-width: 100%;
}

/* Keep the homepage hero flush with the site header. */
.is-front-page .wp-block-post-content,
.home .wp-site-blocks > .wp-block-post-content {
	margin-block-start: 0 !important;
}

/* WordPress applies the root block gap between the header and main template. */
.wp-site-blocks > main.wp-block-group {
	margin-block-start: 0 !important;
}

/* Unified homepage section heading scale */
.home,
.is-front-page {
	--campussphere-section-heading-size: clamp( 1.85rem, 3.5vw, 2.65rem );
	--campussphere-section-heading-weight: 800;
	--campussphere-section-heading-leading: 1.15;
	--campussphere-section-heading-tracking: -0.03em;
}

.campussphere-feature-grid__headline,
.campussphere-benefit-split__headline,
.campussphere-module-showcase__heading,
.campussphere-faq-accordion__heading,
.campussphere-cta-banner__headline,
.campussphere-capabilities__title,
.campussphere-personas__title,
.campussphere-sphero__title,
.campussphere-mobile-suite__title,
.campussphere-security__title,
.campussphere-credibility__title,
.campussphere-home-seo__title,
.campussphere-home-faq__title {
	margin: 0;
	color: #0f172a;
	font-family: inherit;
	font-size: var( --campussphere-section-heading-size );
	font-weight: var( --campussphere-section-heading-weight );
	line-height: var( --campussphere-section-heading-leading );
	letter-spacing: var( --campussphere-section-heading-tracking );
}

.campussphere-hero,
.campussphere-feature-grid,
.campussphere-benefit-split,
.campussphere-module-showcase,
.campussphere-faq-accordion,
.campussphere-cta-banner {
	padding-right: var( --campussphere-container-gutter );
	padding-left: var( --campussphere-container-gutter );
}

/* --------------------------------------------------------------------------
   Hero — premium SaaS landing
   -------------------------------------------------------------------------- */

.campussphere-hero.campussphere-hero--light,
.campussphere-hero.campussphere-hero--saas {
	--campussphere-hero-stage-pad: 1rem;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	overflow: hidden;
	min-height: 0;
	background:
		radial-gradient( ellipse 90% 70% at 0% 0%, rgba( 37, 99, 235, 0.14 ), transparent 55% ),
		radial-gradient( ellipse 80% 60% at 100% 10%, rgba( 14, 165, 233, 0.12 ), transparent 50% ),
		radial-gradient( ellipse 60% 50% at 50% 100%, rgba( 99, 102, 241, 0.08 ), transparent 55% ),
		linear-gradient( 180deg, #eef5ff 0%, #f8fafc 45%, #ffffff 100% );
	padding-top: clamp( 1.25rem, 2vw, 2rem );
	padding-bottom: clamp( 1rem, 1.75vw, 1.5rem );
	border-bottom: 1px solid rgba( 148, 163, 184, 0.16 );
}

.campussphere-hero.campussphere-hero--light::before,
.campussphere-hero.campussphere-hero--saas::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image:
		linear-gradient( rgba( 148, 163, 184, 0.06 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 148, 163, 184, 0.06 ) 1px, transparent 1px );
	background-size: 48px 48px;
	mask-image: radial-gradient( ellipse 80% 70% at 50% 40%, #000 20%, transparent 75% );
	pointer-events: none;
}

.campussphere-hero__announcement,
.campussphere-hero__scroll-indicator {
	display: none !important;
}

/* Background orbs */
.campussphere-hero__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	overflow: clip;
	pointer-events: none;
	z-index: 0;
}

.campussphere-hero__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur( 60px );
	opacity: 0.55;
	animation: campussphereOrbDrift 18s ease-in-out infinite;
}

.campussphere-hero__orb:nth-child( 1 ) {
	top: -8%;
	left: -4%;
	width: clamp( 220px, 28vw, 420px );
	height: clamp( 220px, 28vw, 420px );
	background: rgba( 37, 99, 235, 0.22 );
}

.campussphere-hero__orb:nth-child( 2 ) {
	top: 18%;
	right: -6%;
	width: clamp( 180px, 22vw, 340px );
	height: clamp( 180px, 22vw, 340px );
	background: rgba( 14, 165, 233, 0.2 );
	animation-delay: -6s;
	animation-duration: 22s;
}

.campussphere-hero__orb:nth-child( 3 ) {
	bottom: -10%;
	left: 35%;
	width: clamp( 160px, 20vw, 300px );
	height: clamp( 160px, 20vw, 300px );
	background: rgba( 99, 102, 241, 0.16 );
	animation-delay: -12s;
	animation-duration: 20s;
}

.campussphere-hero--saas .campussphere-hero__inner,
.campussphere-hero--light .campussphere-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 42% 58%;
	gap: clamp( 2rem, 4vw, 3rem );
	align-items: center;
	align-content: center;
	max-width: var( --campussphere-container-width );
	width: 100%;
	min-height: 0;
	margin: 0 auto;
	padding: 0;
}

.campussphere-hero--saas .campussphere-hero__content,
.campussphere-hero--light .campussphere-hero__content {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 34rem;
	padding-top: var( --campussphere-hero-stage-pad );
	animation: campussphereHomeFadeUp 0.75s ease both;
}

.campussphere-hero__badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 0.5rem;
	margin: 0 0 1rem;
	padding: 0.5rem 1rem;
	border: 1px solid rgba( 37, 99, 235, 0.22 );
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.72 );
	backdrop-filter: blur( 8px );
	box-shadow: 0 4px 16px rgba( 37, 99, 235, 0.08 );
	color: #1d4ed8;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.4;
}

.campussphere-hero--saas .campussphere-hero__headline,
.campussphere-hero--light .campussphere-hero__headline {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 2rem, 3.5vw, 2.9rem );
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.campussphere-hero__highlight {
	position: relative;
	display: inline-block;
	background: linear-gradient( 135deg, #1d4ed8 0%, #2563eb 45%, #0ea5e9 100% );
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.campussphere-hero__highlight::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0.08em;
	width: 100%;
	height: 0.18em;
	border-radius: 999px;
	background: linear-gradient( 90deg, #2563eb, #0ea5e9 );
	opacity: 0.35;
}

.campussphere-hero--saas .campussphere-hero__sub,
.campussphere-hero--light .campussphere-hero__sub {
	margin: 1rem 0 0;
	color: #475569;
	font-size: clamp( 1rem, 1.3vw, 1.075rem );
	line-height: 1.65;
	max-width: 42ch;
}

.campussphere-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.5rem;
}

.campussphere-hero__cta-primary,
.campussphere-hero__cta-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	padding: 0.5rem 1.5rem;
	border-radius: 12px;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease;
}

.campussphere-hero--saas .campussphere-hero__cta-primary,
.campussphere-hero--light .campussphere-hero__cta-primary,
.campussphere-hero--saas .btn--primary,
.campussphere-hero--light .btn--primary {
	background-color: #2563eb;
	background-image: linear-gradient( 135deg, #1d4ed8, #2563eb );
	color: #fff !important;
	border: none;
	box-shadow: 0 14px 32px rgba( 37, 99, 235, 0.32 );
}

.campussphere-hero--saas .campussphere-hero__cta-secondary,
.campussphere-hero--light .campussphere-hero__cta-secondary,
.campussphere-hero--saas .btn--secondary,
.campussphere-hero--light .btn--secondary {
	background-color: rgba( 255, 255, 255, 0.88 );
	background-image: none;
	border: 1.5px solid rgba( 148, 163, 184, 0.45 );
	color: #0f172a !important;
	box-shadow: 0 8px 24px rgba( 15, 23, 42, 0.06 );
	backdrop-filter: blur( 6px );
}

.campussphere-hero__cta-icon {
	flex-shrink: 0;
}

.campussphere-hero__cta-secondary[data-video="true"]::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background-color: currentColor;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='10' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M10 8.5v7l6-3.5-6-3.5z' fill='black'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='10' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M10 8.5v7l6-3.5-6-3.5z' fill='black'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.campussphere-hero__cta-primary:hover,
.campussphere-hero__cta-secondary:hover {
	transform: translateY( -3px );
	text-decoration: none;
}

.campussphere-hero__cta-primary:hover {
	color: #fff !important;
	box-shadow: 0 18px 40px rgba( 37, 99, 235, 0.38 );
}

.campussphere-hero__cta-secondary:hover {
	color: #0f172a !important;
	border-color: rgba( 37, 99, 235, 0.35 );
	box-shadow: 0 12px 28px rgba( 15, 23, 42, 0.1 );
}

.campussphere-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.5rem 0 0;
	padding: 0 !important;
	padding-inline-start: 0 !important;
	list-style: none !important;
}

.campussphere-hero--saas .campussphere-hero__trust-pill,
.campussphere-hero--light .campussphere-hero__trust-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.28 );
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.65 );
	backdrop-filter: blur( 6px );
	box-shadow: 0 4px 14px rgba( 15, 23, 42, 0.04 );
	color: #334155;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.3;
}

.campussphere-hero__trust-pill::before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: linear-gradient( 135deg, #22c55e, #16a34a );
	color: #fff;
	font-size: 0.65rem;
	font-weight: 800;
	flex-shrink: 0;
}

/* Visual stage */
.campussphere-hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 0;
	overflow: visible;
	animation: campussphereHomeFadeUp 0.75s 0.14s ease both;
}

.campussphere-hero__visual::before,
.campussphere-hero__visual::after {
	display: none;
}

.campussphere-hero__stage {
	position: relative;
	left: -1rem;
	width: 110%;
	max-width: 880px;
	margin: 0 -5%;
	padding: var( --campussphere-hero-stage-pad ) 0.5rem 0.75rem;
}

.campussphere-hero__laptop {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
	object-position: center;
	image-rendering: auto;
	filter: drop-shadow( 0 28px 56px rgba( 15, 23, 42, 0.2 ) )
		drop-shadow( 0 8px 16px rgba( 15, 23, 42, 0.08 ) );
	animation: campussphereLaptopFloat 5.5s ease-in-out infinite;
	will-change: transform;
}

/* Floating stat cards */
.campussphere-hero__float {
	position: absolute;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 148px;
	padding: 0.5rem 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.22 );
	border-radius: 14px;
	background: rgba( 255, 255, 255, 0.92 );
	backdrop-filter: blur( 10px );
	box-shadow:
		0 4px 6px rgba( 15, 23, 42, 0.04 ),
		0 18px 36px rgba( 15, 23, 42, 0.1 );
	animation: campussphereCardFloat 4.5s ease-in-out infinite;
}

.campussphere-hero__float--attendance {
	top: 10%;
	left: 3%;
	animation-delay: 0s;
}

.campussphere-hero__float--fees {
	top: 9%;
	right: 10%;
	animation-delay: -1.2s;
}

.campussphere-hero__float--parent {
	bottom: 15%;
	right: 10%;
	animation-delay: -2.4s;
}

.campussphere-hero__float--admissions {
	bottom: 12%;
	left: 3%;
	animation-delay: -3.6s;
}

.campussphere-hero__float-label {
	color: #64748b;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.campussphere-hero__float-value {
	color: #0f172a;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.campussphere-hero__float-value--green {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: #16a34a;
}

.campussphere-hero__live-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 3px rgba( 34, 197, 94, 0.22 );
	flex-shrink: 0;
	animation: campussphereLivePulse 2s ease-in-out infinite;
}

.campussphere-hero__float-meta {
	color: #22c55e;
	font-size: 0.72rem;
	font-weight: 600;
}

/* Mobile chips (hidden on desktop) */
.campussphere-hero__chips {
	display: none;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.campussphere-hero__chip {
	display: inline-flex;
	padding: 0.45rem 0.75rem;
	border: 1px solid rgba( 148, 163, 184, 0.25 );
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.8 );
	color: #475569;
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
}

/* Legacy dashboard mock — unused */
.campussphere-hero__dashboard,
.campussphere-hero__dash-sidebar,
.campussphere-hero__dash-main,
.campussphere-hero__dash-chart,
.campussphere-hero__mockup-placeholder {
	display: none !important;
}

@keyframes campussphereHomeFadeUp {
	from { opacity: 0; transform: translateY( 22px ); }
	to   { opacity: 1; transform: translateY( 0 ); }
}

@keyframes campussphereLaptopFloat {
	0%, 100% { transform: translateY( 0 ); }
	50%      { transform: translateY( -10px ); }
}

@keyframes campussphereCardFloat {
	0%, 100% { transform: translateY( 0 ); }
	50%      { transform: translateY( -8px ); }
}

@keyframes campussphereOrbDrift {
	0%, 100% { transform: translate( 0, 0 ) scale( 1 ); }
	33%      { transform: translate( 12px, -16px ) scale( 1.04 ); }
	66%      { transform: translate( -10px, 10px ) scale( 0.98 ); }
}

@keyframes campussphereLivePulse {
	0%, 100% { box-shadow: 0 0 0 3px rgba( 34, 197, 94, 0.22 ); opacity: 1; }
	50%      { box-shadow: 0 0 0 5px rgba( 34, 197, 94, 0.12 ); opacity: 0.85; }
}

/* --------------------------------------------------------------------------
   Introduction video
   -------------------------------------------------------------------------- */

.campussphere-introduction {
	position: relative;
	padding: clamp( 4.5rem, 7vw, 6rem ) var( --campussphere-container-gutter );
	overflow: hidden;
	background:
		radial-gradient( circle at 50% 100%, rgba( 37, 99, 235, 0.08 ), transparent 42% ),
		#fff;
}

.campussphere-introduction__inner {
	width: 100%;
	max-width: var( --campussphere-container-width );
	margin-inline: auto;
}

.campussphere-introduction__header {
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
}

.campussphere-introduction__overline {
	margin: 0 0 0.75rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.5;
	text-transform: uppercase;
}

.campussphere-introduction__title {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 2rem, 4vw, 3rem );
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.1;
}

.campussphere-introduction__lead {
	max-width: 62ch;
	margin: 1rem auto 0;
	color: #64748b;
	font-size: clamp( 1rem, 1.4vw, 1.125rem );
	line-height: 1.7;
}

.campussphere-introduction__video {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: 1120px;
	aspect-ratio: 16 / 9;
	margin: 3rem auto 0;
	overflow: hidden;
	border: 1px solid rgba( 148, 163, 184, 0.2 );
	border-radius: 1.5rem;
	background: linear-gradient( 135deg, rgba( 15, 23, 42, 0.98 ), rgba( 30, 58, 138, 0.94 ) );
	box-shadow:
		0 2rem 5rem rgba( 15, 23, 42, 0.16 ),
		0 0.5rem 1.5rem rgba( 37, 99, 235, 0.12 );
}

.campussphere-introduction__video::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient( rgba( 255, 255, 255, 0.045 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.045 ) 1px, transparent 1px );
	background-size: 3rem 3rem;
	mask-image: linear-gradient( to bottom, #000, transparent 90% );
}

.campussphere-introduction__poster {
	position: absolute;
	inset: 5% 2% 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.campussphere-introduction__poster img {
	display: block;
	width: min( 94%, 1040px );
	height: auto;
	max-height: 94%;
	object-fit: contain;
	filter: drop-shadow( 0 1.5rem 2.5rem rgba( 0, 0, 0, 0.35 ) );
	opacity: 0.88;
}

.campussphere-introduction__video::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgba( 2, 6, 23, 0.08 ) 25%,
		rgba( 2, 6, 23, 0.42 ) 100%
	);
	pointer-events: none;
}

.campussphere-introduction__video-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.75rem 1rem 0.75rem 0.75rem;
	border: 1px solid rgba( 255, 255, 255, 0.28 );
	border-radius: 999px;
	background: rgba( 15, 23, 42, 0.66 );
	box-shadow: 0 1rem 2.5rem rgba( 2, 6, 23, 0.28 );
	backdrop-filter: blur( 0.75rem );
	color: #fff;
	transform: translate( -50%, -50% );
}

.campussphere-introduction__play {
	position: relative;
	display: grid;
	width: 3.5rem;
	height: 3.5rem;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient( 135deg, #2563eb, #0ea5e9 );
	box-shadow: 0 0.75rem 2rem rgba( 37, 99, 235, 0.4 );
}

.campussphere-introduction__play::before {
	content: "";
	width: 0;
	height: 0;
	margin-left: 0.25rem;
	border-top: 0.5rem solid transparent;
	border-bottom: 0.5rem solid transparent;
	border-left: 0.75rem solid #fff;
}

.campussphere-introduction__video-copy {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	padding-right: 0.5rem;
	white-space: nowrap;
}

.campussphere-introduction__video-copy strong {
	font-size: 0.9375rem;
	line-height: 1.4;
}

.campussphere-introduction__video-copy span {
	color: #cbd5e1;
	font-size: 0.75rem;
	line-height: 1.4;
}

.campussphere-introduction__video-status {
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem;
	left: 1.5rem;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	color: rgba( 255, 255, 255, 0.82 );
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Feature grid
   -------------------------------------------------------------------------- */

.campussphere-feature-grid {
	position: relative;
	padding-top: clamp( 3rem, 5vw, 4.5rem );
	padding-bottom: clamp( 3.5rem, 6vw, 5.5rem );
	border-top: 1px solid rgba( 148, 163, 184, 0.14 );
	border-bottom: 1px solid rgba( 148, 163, 184, 0.14 );
	background:
		radial-gradient( circle at 8% 12%, rgba( 37, 99, 235, 0.08 ), transparent 26% ),
		radial-gradient( circle at 92% 90%, rgba( 124, 58, 237, 0.06 ), transparent 28% ),
		linear-gradient( 180deg, #f8fbff 0%, #f8fafc 100% );
}

/* Kill empty band between hero and first content section */
.is-front-page .wp-block-post-content > .campussphere-hero + .campussphere-feature-grid,
.home .wp-block-post-content > .campussphere-hero + .campussphere-feature-grid,
.is-front-page .wp-block-post-content > .wp-block-campussphere-hero + .wp-block-campussphere-feature-grid,
.home .wp-block-post-content > .wp-block-campussphere-hero + .wp-block-campussphere-feature-grid {
	margin-block-start: 0 !important;
	padding-top: clamp( 2.25rem, 3.5vw, 3.25rem );
}

.campussphere-feature-grid__header,
.campussphere-feature-grid__grid {
	max-width: var( --campussphere-container-width );
	margin: 0 auto;
}

.campussphere-feature-grid__header {
	display: grid;
	grid-template-columns: minmax( 0, 0.85fr ) minmax( 0, 1.15fr );
	gap: clamp( 3rem, 7vw, 7rem );
	align-items: end;
	max-width: var( --campussphere-container-width );
	margin-bottom: 3rem;
	padding: 0;
	text-align: left;
}

.campussphere-feature-grid__heading-group {
	max-width: 560px;
}

.campussphere-feature-grid__header-content {
	max-width: 660px;
	justify-self: end;
}

.campussphere-feature-grid__overline,
.campussphere-benefit-split__overline {
	margin: 0 0 0.75rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.campussphere-feature-grid__subheadline,
.campussphere-benefit-split__sub,
.campussphere-module-showcase__subheading,
.campussphere-faq-accordion__subheading {
	margin: 0.9rem 0 0;
	color: #64748b;
	font-size: 1.05rem;
	line-height: 1.7;
}

.campussphere-feature-grid__subheadline {
	margin-top: 0;
}

.campussphere-feature-grid__scope {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.5rem 0 0;
	padding: 0 !important;
	padding-inline-start: 0 !important;
	list-style: none !important;
}

.campussphere-feature-grid__scope li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid rgba( 148, 163, 184, 0.28 );
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.78 );
	box-shadow: 0 0.25rem 0.75rem rgba( 15, 23, 42, 0.035 );
	color: #334155;
	font-size: 0.8125rem;
	font-weight: 650;
	line-height: 1.25;
}

.campussphere-feature-grid__scope li::before {
	content: "";
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 50%;
	background: linear-gradient( 135deg, #2563eb, #0ea5e9 );
	box-shadow: 0 0 0 0.1875rem rgba( 37, 99, 235, 0.1 );
}

.campussphere-feature-grid__grid {
	display: grid;
	gap: 1.5rem;
	padding: 0;
}

.campussphere-feature-grid__grid--3,
.campussphere-feature-grid__grid[style*="repeat(3"] {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) ) !important;
}

.campussphere-feature-grid__card {
	--campussphere-feature-accent: #2563eb;
	--campussphere-feature-soft: #eff6ff;
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
	min-height: 430px;
	padding: 2rem;
	overflow: hidden;
	border: 1px solid rgba( 148, 163, 184, 0.24 );
	border-radius: 1.5rem;
	background:
		linear-gradient( 145deg, rgba( 255, 255, 255, 0.98 ), rgba( 255, 255, 255, 0.86 ) );
	box-shadow:
		0 0.75rem 2rem rgba( 15, 23, 42, 0.05 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.8 );
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

.campussphere-feature-grid__card--cloud {
	--campussphere-feature-accent: #0f766e;
	--campussphere-feature-soft: #ecfdf5;
}

.campussphere-feature-grid__card--mobile {
	--campussphere-feature-accent: #7c3aed;
	--campussphere-feature-soft: #f5f3ff;
}

.campussphere-feature-grid .campussphere-feature-grid__card::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: auto;
	height: 0.25rem;
	border-radius: 0;
	background: linear-gradient( 90deg, var( --campussphere-feature-accent ), transparent 82% );
	opacity: 1;
}

.campussphere-feature-grid__card:hover {
	transform: translateY( -0.375rem );
	border-color: color-mix( in srgb, var( --campussphere-feature-accent ) 28%, transparent );
	box-shadow: 0 1.5rem 3.5rem rgba( 15, 23, 42, 0.11 );
	box-shadow:
		0 1.5rem 3.5rem rgba( 15, 23, 42, 0.1 ),
		0 0.5rem 1.5rem color-mix( in srgb, var( --campussphere-feature-accent ) 12%, transparent );
}

.campussphere-feature-grid__card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.campussphere-feature-grid__icon-container {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	flex: 0 0 auto;
	margin: 0;
	border: 1px solid color-mix( in srgb, var( --campussphere-feature-accent ) 15%, transparent );
	border-radius: 1rem;
	background: var( --campussphere-feature-soft );
	color: var( --campussphere-feature-accent );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.8 );
}

.campussphere-feature-grid__icon {
	display: block;
	width: 1.625rem;
	height: 1.625rem;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.campussphere-feature-grid__icon--ai {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 1.85 6.15L20 10l-6.15 1.85L12 18l-1.85-6.15L4 10l6.15-1.85L12 2Zm7 13 1 2 2 1-2 1-1 2-1-2-2-1 2-1 1-2Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 1.85 6.15L20 10l-6.15 1.85L12 18l-1.85-6.15L4 10l6.15-1.85L12 2Zm7 13 1 2 2 1-2 1-1 2-1-2-2-1 2-1 1-2Z'/%3E%3C/svg%3E");
}

.campussphere-feature-grid__icon--cloud {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18h10a4 4 0 0 0 .5-7.97A6 6 0 0 0 6.1 8.5 4.75 4.75 0 0 0 7 18Z'/%3E%3Cpath d='m9.5 13 1.7 1.7 3.8-3.8'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18h10a4 4 0 0 0 .5-7.97A6 6 0 0 0 6.1 8.5 4.75 4.75 0 0 0 7 18Z'/%3E%3Cpath d='m9.5 13 1.7 1.7 3.8-3.8'/%3E%3C/svg%3E");
}

.campussphere-feature-grid__icon--mobile {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2.5'/%3E%3Cpath d='M10 6h4M11 18h2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2.5'/%3E%3Cpath d='M10 6h4M11 18h2'/%3E%3C/svg%3E");
}

.campussphere-feature-grid__card-index {
	color: #cbd5e1;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.5;
}

.campussphere-feature-grid__card-kicker {
	margin: 1.5rem 0 0.5rem;
	color: var( --campussphere-feature-accent );
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

.campussphere-feature-grid__card-title {
	margin: 0 0 0.75rem;
	color: #0f172a;
	font-size: clamp( 1.25rem, 1.7vw, 1.5rem );
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.campussphere-feature-grid__card-desc {
	margin: 0;
	color: #475569;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.campussphere-feature-grid__card-points {
	display: grid;
	gap: 0.625rem;
	margin: 1.5rem 0 0;
	padding: 0 !important;
	padding-inline-start: 0 !important;
	list-style: none !important;
}

.campussphere-feature-grid__card-points li {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	color: #334155;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
}

.campussphere-feature-grid__card-points li::before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.125rem;
	height: 1.125rem;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var( --campussphere-feature-soft );
	color: var( --campussphere-feature-accent );
	font-size: 0.6875rem;
	font-weight: 900;
}

.campussphere-feature-grid__card-outcome {
	margin: auto 0 0;
	padding: 1.5rem 0 0;
	border-top: 1px solid rgba( 148, 163, 184, 0.2 );
	color: var( --campussphere-feature-accent );
	font-size: 0.875rem;
	font-weight: 750;
	letter-spacing: -0.01em;
	line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Benefit split
   -------------------------------------------------------------------------- */

.campussphere-benefit-split {
	padding-top: clamp( 4rem, 7vw, 5.75rem );
	padding-bottom: clamp( 4rem, 7vw, 5.75rem );
	background: linear-gradient( 180deg, #f8fafc 0%, #ffffff 100% );
}

.campussphere-benefit-split__inner {
	display: grid;
	grid-template-columns: minmax( 0, 1.05fr ) minmax( 0, 0.95fr );
	gap: clamp( 2rem, 4vw, 3.5rem );
	align-items: center;
	max-width: var( --campussphere-container-width );
	margin: 0 auto;
}

.campussphere-benefit-split__list {
	display: grid;
	gap: 0.75rem;
	padding: 0;
	margin: 1.6rem 0 0;
	list-style: none;
}

.campussphere-benefit-split__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.9rem;
	padding: 0.95rem 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
}

.campussphere-benefit-split__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 10px;
	background: #eff6ff;
	color: #2563eb;
}

.campussphere-benefit-split__title {
	display: block;
	margin-bottom: 0.2rem;
	color: #0f172a;
	font-size: 0.98rem;
}

.campussphere-benefit-split__desc {
	margin: 0;
	color: #64748b;
	line-height: 1.6;
	font-size: 0.9rem;
}

.campussphere-benefit-split__visual {
	display: flex;
	justify-content: center;
}

.campussphere-benefit-split__img-placeholder {
	display: none;
}

.campussphere-benefit-split__panel {
	width: min( 100%, 440px );
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 24px 48px rgba( 15, 23, 42, 0.1 );
}

.campussphere-benefit-split__panel-header {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.9rem 1.1rem;
	background: #f1f5f9;
	border-bottom: 1px solid #e2e8f0;
}

.campussphere-benefit-split__panel-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #cbd5e1;
}

.campussphere-benefit-split__panel-dot:nth-child( 1 ) { background: #f87171; }
.campussphere-benefit-split__panel-dot:nth-child( 2 ) { background: #fbbf24; }
.campussphere-benefit-split__panel-dot:nth-child( 3 ) { background: #34d399; }

.campussphere-benefit-split__panel-label {
	margin-left: 0.5rem;
	color: #475569;
	font-size: 0.8rem;
	font-weight: 600;
}

.campussphere-benefit-split__panel-body {
	padding: 1.35rem;
}

.campussphere-benefit-split__metric {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 0.75rem 0;
	border-bottom: 1px solid #f1f5f9;
	color: #64748b;
	font-size: 0.9rem;
}

.campussphere-benefit-split__metric strong {
	color: #0f172a;
	font-size: 1.35rem;
	letter-spacing: -0.02em;
}

.campussphere-benefit-split__bars {
	display: flex;
	align-items: flex-end;
	gap: 0.55rem;
	height: 120px;
	margin-top: 1.25rem;
	padding: 1rem;
	border-radius: 12px;
	background: #f8fafc;
}

.campussphere-benefit-split__bars span {
	flex: 1;
	height: var( --h, 50% );
	border-radius: 6px 6px 2px 2px;
	background: linear-gradient( 180deg, #60a5fa, #2563eb );
}

/* --------------------------------------------------------------------------
   Module showcase
   -------------------------------------------------------------------------- */

.campussphere-module-showcase {
	position: relative;
	isolation: isolate;
	width: min( var( --campussphere-container-width ), calc( 100% - 2.5rem ) );
	max-width: none;
	margin: clamp( 2rem, 4vw, 3.5rem ) auto;
	padding-top: clamp( 3rem, 5vw, 4.5rem );
	padding-bottom: clamp( 3rem, 5vw, 4.5rem );
	overflow: hidden;
	border: 1px solid rgba( 148, 163, 184, 0.13 );
	border-radius: 1.5rem;
	background:
		radial-gradient( circle at 4% 0%, rgba( 37, 99, 235, 0.28 ), transparent 30% ),
		radial-gradient( circle at 96% 100%, rgba( 124, 58, 237, 0.2 ), transparent 34% ),
		linear-gradient( 145deg, #0b1224 0%, #111c35 58%, #131b32 100% );
	box-shadow:
		0 2rem 5rem rgba( 15, 23, 42, 0.2 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.06 );
}

.campussphere-module-showcase::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient( rgba( 148, 163, 184, 0.05 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 148, 163, 184, 0.05 ) 1px, transparent 1px );
	background-size: 3.5rem 3.5rem;
	mask-image: radial-gradient( circle at 65% 45%, #000, transparent 72% );
}

.campussphere-module-showcase__header {
	display: grid;
	grid-template-columns: minmax( 0, 0.85fr ) minmax( 0, 1.15fr );
	gap: clamp( 3rem, 7vw, 7rem );
	align-items: end;
	max-width: none;
	margin: 0 auto 3rem;
	text-align: left;
}

.campussphere-module-showcase__heading-group {
	max-width: 560px;
}

.campussphere-module-showcase__header-content {
	max-width: 640px;
	justify-self: end;
}

.entry-content .campussphere-module-showcase__overline,
.wp-block-post-content .campussphere-module-showcase__overline {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0 0 0.875rem;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.5;
	text-transform: uppercase;
}

.entry-content .campussphere-module-showcase__overline::before,
.wp-block-post-content .campussphere-module-showcase__overline::before {
	content: "";
	width: 1.75rem;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient( 90deg, #38bdf8, #818cf8 );
	box-shadow: 0 0 0.75rem rgba( 56, 189, 248, 0.45 );
}

.campussphere-module-showcase__heading {
	color: #fff;
}

.entry-content .campussphere-module-showcase__subheading,
.wp-block-post-content .campussphere-module-showcase__subheading {
	margin: 0;
	color: rgba( 226, 232, 240, 0.78 );
	font-size: clamp( 1.05rem, 1.5vw, 1.1875rem );
	line-height: 1.65;
}

.campussphere-module-showcase__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.campussphere-module-showcase__meta span {
	display: inline-flex;
	align-items: baseline;
	gap: 0.375rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid rgba( 148, 163, 184, 0.2 );
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.055 );
	color: #cbd5e1;
	font-size: 0.8125rem;
	font-weight: 650;
	line-height: 1.25;
}

.campussphere-module-showcase__meta strong {
	color: #7dd3fc;
	font-size: 1rem;
}

.campussphere-module-showcase__inner {
	display: grid;
	grid-template-columns: 300px minmax( 0, 1fr );
	gap: 1.5rem;
	align-items: start;
}

.campussphere-module-tabs {
	position: sticky;
	top: 110px;
	display: grid;
	gap: 0.5rem;
	align-content: start;
	max-height: calc( 100vh - 140px );
	padding: 0.5rem;
	overflow-y: auto;
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 1.25rem;
	background: rgba( 2, 6, 23, 0.24 );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.04 );
	scrollbar-width: thin;
	scrollbar-color: rgba( 148, 163, 184, 0.32 ) transparent;
}

.campussphere-module-tab {
	display: grid;
	grid-template-columns: auto minmax( 0, 1fr ) auto;
	align-items: center;
	gap: 0.875rem;
	width: 100%;
	min-height: 4.25rem;
	padding: 0.625rem 0.75rem;
	border: 1px solid transparent;
	border-radius: 0.875rem;
	background: transparent;
	color: rgba( 226, 232, 240, 0.8 );
	text-align: left;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.campussphere-module-tab:hover {
	border-color: rgba( 148, 163, 184, 0.18 );
	background: rgba( 255, 255, 255, 0.055 );
	color: #fff;
	transform: translateX( 0.125rem );
}

.campussphere-module-tab.is-active {
	border-color: rgba( 125, 211, 252, 0.34 );
	background: linear-gradient( 135deg, rgba( 37, 99, 235, 0.32 ), rgba( 14, 165, 233, 0.14 ) );
	box-shadow:
		0 0.75rem 1.75rem rgba( 2, 6, 23, 0.22 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.08 );
	color: #fff;
}

.campussphere-module-tab__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid rgba( 125, 211, 252, 0.12 );
	border-radius: 0.75rem;
	background: rgba( 59, 130, 246, 0.14 );
	font-size: 1.125rem;
	filter: saturate( 0.9 );
}

.campussphere-module-tab__icon--admissions,
.campussphere-module-tab__icon--student-management,
.campussphere-module-tab__icon--attendance,
.campussphere-module-tab__icon--fee-management,
.campussphere-module-tab__icon--parent-app,
.campussphere-module-tab__icon--teacher-portal {
	font-size: 0;
}

.campussphere-module-tab__icon--admissions::before,
.campussphere-module-tab__icon--student-management::before,
.campussphere-module-tab__icon--attendance::before,
.campussphere-module-tab__icon--fee-management::before,
.campussphere-module-tab__icon--parent-app::before,
.campussphere-module-tab__icon--teacher-portal::before {
	content: "";
	width: 1.375rem;
	height: 1.375rem;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.campussphere-module-tab__icon--admissions::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 10 9-5 9 5-9 5-9-5Z'/%3E%3Cpath d='M7 12.2V17c2.8 2 7.2 2 10 0v-4.8M21 10v6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 10 9-5 9 5-9 5-9-5Z'/%3E%3Cpath d='M7 12.2V17c2.8 2 7.2 2 10 0v-4.8M21 10v6'/%3E%3C/svg%3E");
}

.campussphere-module-tab__icon--student-management::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5.5 20c.6-4 3-6 6.5-6s5.9 2 6.5 6M18 5.5h3M19.5 4v3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5.5 20c.6-4 3-6 6.5-6s5.9 2 6.5 6M18 5.5h3M19.5 4v3'/%3E%3C/svg%3E");
}

.campussphere-module-tab__icon--attendance::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V2h6v2M8.5 12l2.2 2.2 4.8-5M9 18h6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V2h6v2M8.5 12l2.2 2.2 4.8-5M9 18h6'/%3E%3C/svg%3E");
}

.campussphere-module-tab__icon--fee-management::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='13' rx='2.5'/%3E%3Cpath d='M3 10h18M7 15h4M17 14v2M16 15h2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='13' rx='2.5'/%3E%3Cpath d='M3 10h18M7 15h4M17 14v2M16 15h2'/%3E%3C/svg%3E");
}

.campussphere-module-tab__icon--parent-app::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6.5' y='2' width='11' height='20' rx='2.5'/%3E%3Cpath d='M10 5h4M10 18h4'/%3E%3Ccircle cx='16.5' cy='8' r='2.5' fill='black' stroke='none'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6.5' y='2' width='11' height='20' rx='2.5'/%3E%3Cpath d='M10 5h4M10 18h4'/%3E%3Ccircle cx='16.5' cy='8' r='2.5' fill='black' stroke='none'/%3E%3C/svg%3E");
}

.campussphere-module-tab__icon--teacher-portal::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H11v16H6.5A2.5 2.5 0 0 0 4 21.5v-16ZM20 5.5A2.5 2.5 0 0 0 17.5 3H13v16h4.5a2.5 2.5 0 0 1 2.5 2.5v-16Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H11v16H6.5A2.5 2.5 0 0 0 4 21.5v-16ZM20 5.5A2.5 2.5 0 0 0 17.5 3H13v16h4.5a2.5 2.5 0 0 1 2.5 2.5v-16Z'/%3E%3C/svg%3E");
}

.campussphere-module-tab.is-active .campussphere-module-tab__icon {
	border-color: rgba( 125, 211, 252, 0.25 );
	background: rgba( 14, 165, 233, 0.2 );
}

.campussphere-module-tab__text {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 0.125rem;
}

.campussphere-module-tab__number {
	color: #64748b;
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.2;
}

.campussphere-module-tab.is-active .campussphere-module-tab__number {
	color: #7dd3fc;
}

.campussphere-module-tab__label {
	font-weight: 700;
	font-size: 0.9rem;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.campussphere-module-tab__arrow {
	color: #64748b;
	font-size: 1rem;
	opacity: 0;
	transform: translateX( -0.25rem );
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.campussphere-module-tab:hover .campussphere-module-tab__arrow,
.campussphere-module-tab.is-active .campussphere-module-tab__arrow {
	color: #7dd3fc;
	opacity: 1;
	transform: translateX( 0 );
}

.campussphere-module-tab:focus-visible {
	outline: 2px solid #7dd3fc;
	outline-offset: 2px;
}

.campussphere-module-panels {
	min-width: 0;
	perspective: 1200px;
}

.campussphere-module-panel {
	position: relative;
	min-height: 0;
	border: 1px solid rgba( 148, 163, 184, 0.2 );
	border-radius: 1.5rem;
	background:
		radial-gradient( circle at 100% 0%, rgba( 219, 234, 254, 0.52 ), transparent 32% ),
		#fff;
	box-shadow:
		0 1.5rem 3.5rem rgba( 2, 6, 23, 0.24 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.9 );
	overflow: hidden;
}

.campussphere-module-panel::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	z-index: 2;
	height: 3px;
	background: linear-gradient( 90deg, #2563eb 0%, #38bdf8 46%, #8b5cf6 100% );
	box-shadow: 0 0.5rem 1.5rem rgba( 56, 189, 248, 0.2 );
}

.campussphere-module-panel.is-active {
	animation: campussphereModuleReveal 0.42s cubic-bezier( 0.22, 1, 0.36, 1 ) both;
}

@keyframes campussphereModuleReveal {
	from {
		opacity: 0;
		transform: translateY( 0.625rem ) rotateX( 1deg );
	}
	to {
		opacity: 1;
		transform: translateY( 0 ) rotateX( 0 );
	}
}

.campussphere-module-panel__content {
	display: grid;
	grid-template-columns: minmax( 0, 0.88fr ) minmax( 280px, 1.12fr );
	gap: clamp( 1.5rem, 3vw, 2.75rem );
	align-items: center;
	min-height: 0;
	padding: clamp( 1.5rem, 3vw, 2.5rem );
}

.campussphere-module-panel__eyebrow {
	margin: 0 0 0.75rem;
	color: #2563eb;
	font-size: 0.6875rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.campussphere-module-panel__title {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 1.75rem, 2.8vw, 2.5rem );
	font-weight: 850;
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.campussphere-module-panel__tagline {
	margin: 1rem 0 0;
	color: #475569;
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.55;
}

.campussphere-module-features {
	display: grid;
	gap: 0.75rem;
	margin: 1.5rem 0 0;
	padding: 0 !important;
	padding-inline-start: 0 !important;
	list-style: none !important;
}

.campussphere-module-features__item {
	position: relative;
	padding-left: 1.75rem;
	color: #334155;
	font-size: 0.9rem;
	font-weight: 550;
	line-height: 1.5;
}

.campussphere-module-features__item::before {
	content: "✓";
	position: absolute;
	top: 0.08rem;
	left: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.125rem;
	height: 1.125rem;
	border-radius: 50%;
	background: #eff6ff;
	color: #2563eb;
	font-size: 0.6875rem;
	font-weight: 900;
}

.campussphere-module-panel__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.75rem;
	padding: 0.75rem 1rem;
	border: 1px solid rgba( 255, 255, 255, 0.2 );
	border-radius: 0.75rem;
	background: linear-gradient( 135deg, #2563eb, #4f46e5 );
	box-shadow:
		0 0.75rem 1.5rem rgba( 37, 99, 235, 0.2 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.18 );
	color: #fff;
	font-size: 0.875rem;
	font-weight: 750;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.campussphere-module-panel__cta:hover {
	background: linear-gradient( 135deg, #1d4ed8, #4338ca );
	box-shadow:
		0 1rem 2rem rgba( 37, 99, 235, 0.28 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.2 );
	color: #fff;
	text-decoration: none;
	transform: translateY( -0.125rem );
}

.campussphere-module-panel__cta:focus-visible {
	outline: 3px solid rgba( 56, 189, 248, 0.5 );
	outline-offset: 3px;
}

.campussphere-module-panel__screenshot {
	min-height: 360px;
	border: 1px solid #dbe3ef;
	border-radius: 1.125rem;
	background:
		linear-gradient( 135deg, rgba( 37, 99, 235, 0.08 ), rgba( 14, 165, 233, 0.06 ) ),
		#f8fafc;
	box-shadow:
		0 1.25rem 2.5rem rgba( 15, 23, 42, 0.12 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.9 );
	overflow: hidden;
	transform: rotate( -0.35deg );
	transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.campussphere-module-panel:hover .campussphere-module-panel__screenshot {
	box-shadow:
		0 1.75rem 3.5rem rgba( 15, 23, 42, 0.16 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.95 );
	transform: translateY( -0.25rem ) rotate( 0 );
}

.campussphere-module-panel__screenshot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.campussphere-module-preview {
	height: 100%;
	min-height: 360px;
	padding: 1rem;
	background:
		radial-gradient( circle at 82% 12%, rgba( 14, 165, 233, 0.14 ), transparent 28% ),
		linear-gradient( 145deg, #eef5ff 0%, #f8fafc 55%, #eef2ff 100% );
}

.campussphere-module-preview__bar {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	height: 2.75rem;
	padding: 0 0.875rem;
	border: 1px solid rgba( 203, 213, 225, 0.7 );
	border-bottom: 0;
	border-radius: 0.75rem 0.75rem 0 0;
	background: rgba( 255, 255, 255, 0.88 );
	box-shadow: 0 0.5rem 1rem rgba( 15, 23, 42, 0.04 );
}

.campussphere-module-preview__bar > span {
	width: 0.4375rem;
	height: 0.4375rem;
	border-radius: 50%;
	background: #cbd5e1;
}

.campussphere-module-preview__bar > span:first-child { background: #fb7185; }
.campussphere-module-preview__bar > span:nth-child( 2 ) { background: #fbbf24; }
.campussphere-module-preview__bar > span:nth-child( 3 ) { background: #34d399; }

.campussphere-module-preview__bar strong {
	margin-left: auto;
	color: #64748b;
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-module-preview__body {
	display: grid;
	grid-template-columns: 3.25rem minmax( 0, 1fr );
	min-height: 286px;
	border: 1px solid rgba( 203, 213, 225, 0.7 );
	border-radius: 0 0 0.75rem 0.75rem;
	background: rgba( 255, 255, 255, 0.88 );
	box-shadow: 0 1.25rem 2.5rem rgba( 15, 23, 42, 0.08 );
	overflow: hidden;
}

.campussphere-module-preview__sidebar {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1rem;
	padding-top: 1.25rem;
	border-right: 1px solid #e2e8f0;
	background: #f8fafc;
}

.campussphere-module-preview__sidebar span {
	width: 1.375rem;
	height: 0.375rem;
	border-radius: 999px;
	background: #cbd5e1;
}

.campussphere-module-preview__sidebar span.is-active {
	height: 1.375rem;
	border-radius: 0.375rem;
	background: linear-gradient( 135deg, #2563eb, #0ea5e9 );
	box-shadow: 0 0.375rem 0.75rem rgba( 37, 99, 235, 0.22 );
}

.campussphere-module-preview__main {
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	gap: 1rem;
	padding: 1.25rem;
}

.campussphere-module-preview__welcome {
	width: 44%;
	height: 0.625rem;
	border-radius: 999px;
	background: #cbd5e1;
}

.campussphere-module-preview__metrics {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 0.625rem;
}

.campussphere-module-preview__metrics span {
	position: relative;
	height: 3.5rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.625rem;
	background: #fff;
	box-shadow: 0 0.375rem 0.75rem rgba( 15, 23, 42, 0.035 );
}

.campussphere-module-preview__metrics span::before,
.campussphere-module-preview__metrics span::after {
	content: "";
	position: absolute;
	left: 0.625rem;
	border-radius: 999px;
	background: #cbd5e1;
}

.campussphere-module-preview__metrics span::before {
	top: 0.75rem;
	width: 34%;
	height: 0.3rem;
}

.campussphere-module-preview__metrics span::after {
	top: 1.625rem;
	width: 55%;
	height: 0.5rem;
	background: #93c5fd;
}

.campussphere-module-preview__chart {
	display: flex;
	align-items: end;
	gap: 0.45rem;
	min-height: 7rem;
	padding: 1rem 1rem 0;
	border: 1px solid #e2e8f0;
	border-radius: 0.75rem;
	background:
		repeating-linear-gradient( to bottom, transparent 0 1.75rem, #eef2f7 1.75rem calc( 1.75rem + 1px ) ),
		#fff;
}

.campussphere-module-preview__chart i {
	flex: 1;
	height: var( --bar );
	border-radius: 0.3rem 0.3rem 0 0;
	background: linear-gradient( 180deg, #38bdf8, #2563eb );
	opacity: 0.88;
}

.campussphere-module-preview__rows {
	display: grid;
	gap: 0.45rem;
}

.campussphere-module-preview__rows span {
	height: 0.375rem;
	border-radius: 999px;
	background: linear-gradient( 90deg, #dbe3ed 74%, transparent 74% );
}

.campussphere-module-panel__screenshot:empty::after {
	content: "Module preview";
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	color: #94a3b8;
	font-size: 0.85rem;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Mobile app suite
   -------------------------------------------------------------------------- */

.campussphere-mobile-suite {
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba( 148, 163, 184, 0.14 );
	border-bottom: 1px solid rgba( 148, 163, 184, 0.14 );
	background:
		radial-gradient( circle at 8% 16%, rgba( 37, 99, 235, 0.09 ), transparent 26% ),
		radial-gradient( circle at 94% 84%, rgba( 124, 58, 237, 0.08 ), transparent 28% ),
		linear-gradient( 180deg, #fff 0%, #f8fbff 100% );
}

.is-front-page .wp-block-post-content > .campussphere-mobile-suite.alignfull,
.home .wp-block-post-content > .campussphere-mobile-suite.alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.campussphere-mobile-suite__inner {
	display: grid;
	grid-template-columns: minmax( 0, 0.92fr ) minmax( 0, 1.08fr );
	gap: clamp( 2.5rem, 5vw, 5rem );
	align-items: center;
	width: 100%;
}

.campussphere-mobile-suite__content {
	min-width: 0;
	max-width: 560px;
}

.entry-content .campussphere-mobile-suite__overline,
.wp-block-post-content .campussphere-mobile-suite__overline {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0 0 0.75rem;
}

.campussphere-mobile-suite__overline > span {
	position: relative;
	width: 0.625rem;
	height: 0.625rem;
	border: 2px solid #93c5fd;
	border-radius: 50%;
	background: #2563eb;
	box-shadow: 0 0 0 0.3rem #dbeafe;
}

.entry-content .campussphere-mobile-suite__lead,
.wp-block-post-content .campussphere-mobile-suite__lead {
	max-width: 52ch;
}

.campussphere-mobile-suite__audiences {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0.625rem;
	margin-top: 2rem;
}

.campussphere-mobile-suite__audience {
	display: grid;
	grid-template-columns: auto minmax( 0, 1fr );
	gap: 0.875rem;
	align-items: center;
	padding: 0.75rem;
	border: 1px solid transparent;
	border-radius: 0.875rem;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.campussphere-mobile-suite__audience:hover {
	border-color: #dbeafe;
	background: rgba( 255, 255, 255, 0.82 );
	transform: translateX( 0.25rem );
}

.campussphere-mobile-suite__audience > span:last-child {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 0.125rem;
}

.campussphere-mobile-suite__audience strong {
	color: #0f172a;
	font-size: 0.9375rem;
	font-weight: 800;
	line-height: 1.35;
}

.campussphere-mobile-suite__audience small {
	color: #64748b;
	font-size: 0.8125rem;
	line-height: 1.45;
}

.campussphere-mobile-suite__audience-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid #dbeafe;
	border-radius: 0.75rem;
	background: linear-gradient( 145deg, #eff6ff, #eef2ff );
	color: #2563eb;
	box-shadow: 0 0.5rem 1.25rem rgba( 37, 99, 235, 0.09 );
}

.campussphere-mobile-suite__audience-icon::before {
	content: "";
	width: 1.375rem;
	height: 1.375rem;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.campussphere-mobile-suite__audience-icon--parent::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9.5' cy='7' r='4'/%3E%3Cpath d='M17 11.5c2.2 0 4 1.8 4 4V18M16.5 3.2a4 4 0 0 1 0 7.6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9.5' cy='7' r='4'/%3E%3Cpath d='M17 11.5c2.2 0 4 1.8 4 4V18M16.5 3.2a4 4 0 0 1 0 7.6'/%3E%3C/svg%3E");
}

.campussphere-mobile-suite__audience-icon--teacher::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H11v16H6.5A2.5 2.5 0 0 0 4 21.5v-16ZM20 5.5A2.5 2.5 0 0 0 17.5 3H13v16h4.5a2.5 2.5 0 0 1 2.5 2.5v-16Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H11v16H6.5A2.5 2.5 0 0 0 4 21.5v-16ZM20 5.5A2.5 2.5 0 0 0 17.5 3H13v16h4.5a2.5 2.5 0 0 1 2.5 2.5v-16Z'/%3E%3C/svg%3E");
}

.campussphere-mobile-suite__audience-icon--admin::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Cpath d='M17.5 14v7M14 17.5h7'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Cpath d='M17.5 14v7M14 17.5h7'/%3E%3C/svg%3E");
}

.campussphere-mobile-suite__action {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	align-items: center;
	margin-top: 2rem;
}

.campussphere-mobile-suite__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.875rem 1.125rem;
	border: 1px solid rgba( 255, 255, 255, 0.22 );
	border-radius: 0.875rem;
	background: linear-gradient( 135deg, #2563eb, #4f46e5 );
	box-shadow: 0 0.875rem 2rem rgba( 37, 99, 235, 0.22 );
	color: #fff;
	font-size: 0.9rem;
	font-weight: 750;
	line-height: 1.4;
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.campussphere-mobile-suite__cta:hover {
	box-shadow: 0 1.125rem 2.5rem rgba( 37, 99, 235, 0.3 );
	color: #fff;
	text-decoration: none;
	transform: translateY( -0.125rem );
}

.campussphere-mobile-suite__availability {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: #475569;
	font-size: 0.8125rem;
	font-weight: 700;
}

.campussphere-mobile-suite__availability i {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 0.25rem rgba( 34, 197, 94, 0.12 );
}

.campussphere-mobile-suite__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	min-height: clamp( 500px, 38vw, 620px );
	border: 1px solid rgba( 99, 102, 241, 0.18 );
	border-radius: 2rem;
	background:
		radial-gradient( circle at 50% 28%, rgba( 59, 130, 246, 0.38 ), transparent 35% ),
		radial-gradient( circle at 20% 90%, rgba( 14, 165, 233, 0.2 ), transparent 30% ),
		radial-gradient( circle at 86% 78%, rgba( 139, 92, 246, 0.22 ), transparent 32% ),
		linear-gradient( 145deg, #0b1224, #101a34 58%, #15152c );
	box-shadow:
		0 2rem 5rem rgba( 15, 23, 42, 0.18 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.08 );
	overflow: hidden;
}

.campussphere-mobile-suite__stage {
	position: relative;
	width: min( 100%, 660px );
	height: 100%;
	min-height: inherit;
	margin-inline: auto;
}

.campussphere-mobile-suite__visual::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient( rgba( 148, 163, 184, 0.06 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 148, 163, 184, 0.06 ) 1px, transparent 1px );
	background-size: 2.5rem 2.5rem;
	mask-image: radial-gradient( circle at center, #000 18%, transparent 72% );
}

.campussphere-mobile-suite__glow {
	position: absolute;
	top: 48%;
	left: 50%;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: rgba( 37, 99, 235, 0.2 );
	filter: blur( 70px );
	transform: translate( -50%, -50% );
}

.campussphere-mobile-suite__phone {
	position: absolute;
	z-index: 2;
	width: 195px;
	text-align: center;
	will-change: transform;
}

.campussphere-mobile-suite.is-inview .campussphere-mobile-suite__phone--teacher {
	animation: campussphereMobilePhoneLeft 7s ease-in-out infinite;
}

.campussphere-mobile-suite.is-inview .campussphere-mobile-suite__phone--parent {
	animation: campussphereMobilePhoneCenter 6.5s ease-in-out infinite;
}

.campussphere-mobile-suite.is-inview .campussphere-mobile-suite__phone--admin {
	animation: campussphereMobilePhoneRight 7.25s ease-in-out infinite;
}

.campussphere-mobile-suite__phone--teacher {
	top: 17%;
	left: 0;
	transform: rotate( -6deg );
}

.campussphere-mobile-suite__phone--admin {
	top: 17%;
	right: 0;
	left: auto;
	transform: rotate( 6deg );
}

.campussphere-mobile-suite__phone--parent {
	top: 2%;
	left: 50%;
	z-index: 3;
	width: 238px;
	transform: translateX( -50% );
}

.campussphere-mobile-suite__device {
	position: relative;
	padding: 0.5rem;
	border: 1px solid rgba( 255, 255, 255, 0.15 );
	border-radius: 2rem;
	background: linear-gradient( 145deg, #334155, #0f172a 42%, #020617 );
	box-shadow:
		0 2rem 3.5rem rgba( 2, 6, 23, 0.52 ),
		inset 0 1px 1px rgba( 255, 255, 255, 0.22 );
}

.campussphere-mobile-suite__phone--parent .campussphere-mobile-suite__device {
	border-radius: 2.35rem;
	box-shadow:
		0 2.5rem 4.5rem rgba( 2, 6, 23, 0.62 ),
		0 0 0 1px rgba( 96, 165, 250, 0.12 ),
		inset 0 1px 1px rgba( 255, 255, 255, 0.24 );
}

.campussphere-mobile-suite__notch {
	position: absolute;
	top: 0.75rem;
	left: 50%;
	z-index: 4;
	width: 34%;
	height: 1.1rem;
	border-radius: 999px;
	background: #020617;
	transform: translateX( -50% );
}

.campussphere-mobile-suite__screen {
	min-height: 390px;
	padding: 2.5rem 0.75rem 0.75rem;
	border-radius: 1.55rem;
	background: #f8fafc;
	text-align: left;
	overflow: hidden;
}

.campussphere-mobile-suite__phone--parent .campussphere-mobile-suite__screen {
	min-height: 474px;
	padding: 2.75rem 0.875rem 0.875rem;
	border-radius: 1.85rem;
}

.campussphere-mobile-suite__appbar {
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

.campussphere-mobile-suite__appbar b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 0.45rem;
	background: linear-gradient( 135deg, #2563eb, #4f46e5 );
	color: #fff;
	font-size: 0.65rem;
}

.campussphere-mobile-suite__appbar span {
	color: #0f172a;
	font-size: 0.62rem;
	font-weight: 800;
}

.campussphere-mobile-suite__appbar i {
	width: 1.4rem;
	height: 1.4rem;
	margin-left: auto;
	border-radius: 50%;
	background: #dbeafe;
}

.campussphere-mobile-suite__hello {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin-top: 1.1rem;
}

.campussphere-mobile-suite__hello small {
	color: #94a3b8;
	font-size: 0.52rem;
}

.campussphere-mobile-suite__hello strong {
	color: #0f172a;
	font-size: 0.8rem;
	letter-spacing: -0.02em;
}

.campussphere-mobile-suite__metric-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.45rem;
	margin-top: 0.85rem;
}

.campussphere-mobile-suite__metric-row span {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.65rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.65rem;
	background: #fff;
}

.campussphere-mobile-suite__metric-row small,
.campussphere-mobile-suite__attendance small {
	color: #94a3b8;
	font-size: 0.45rem;
}

.campussphere-mobile-suite__metric-row strong,
.campussphere-mobile-suite__attendance strong {
	color: #0f172a;
	font-size: 0.78rem;
}

.campussphere-mobile-suite__attendance {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 1rem;
	padding: 0.9rem;
	border-radius: 0.8rem;
	background: linear-gradient( 135deg, #eff6ff, #eef2ff );
}

.campussphere-mobile-suite__attendance span {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.campussphere-mobile-suite__attendance i {
	width: 2.5rem;
	height: 2.5rem;
	border: 0.4rem solid #bfdbfe;
	border-top-color: #2563eb;
	border-right-color: #2563eb;
	border-radius: 50%;
	transform: rotate( 18deg );
}

.campussphere-mobile-suite__notice,
.campussphere-mobile-suite__task {
	display: grid;
	grid-template-columns: auto minmax( 0, 1fr ) auto;
	gap: 0.5rem;
	align-items: center;
	margin-top: 0.6rem;
	padding: 0.65rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.65rem;
	background: #fff;
}

.campussphere-mobile-suite__notice > i,
.campussphere-mobile-suite__task > i {
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 0.4rem;
	background: #dbeafe;
}

.campussphere-mobile-suite__notice span,
.campussphere-mobile-suite__task span {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 0.1rem;
}

.campussphere-mobile-suite__notice strong,
.campussphere-mobile-suite__task strong {
	overflow: hidden;
	color: #334155;
	font-size: 0.5rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.campussphere-mobile-suite__notice small,
.campussphere-mobile-suite__task small {
	color: #94a3b8;
	font-size: 0.42rem;
}

.campussphere-mobile-suite__notice > b {
	color: #2563eb;
	font-size: 0.6rem;
}

.campussphere-mobile-suite__bottom-nav {
	position: absolute;
	right: 1.3rem;
	bottom: 1.3rem;
	left: 1.3rem;
	display: flex;
	justify-content: space-around;
	padding: 0.65rem;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 0.5rem 1.5rem rgba( 15, 23, 42, 0.1 );
}

.campussphere-mobile-suite__bottom-nav i {
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 0.2rem;
	background: #cbd5e1;
}

.campussphere-mobile-suite__bottom-nav i:first-child {
	background: #2563eb;
}

.campussphere-mobile-suite__mini-chart {
	display: flex;
	align-items: end;
	gap: 0.25rem;
	height: 5.25rem;
	margin-top: 0.75rem;
	padding: 0.75rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.65rem;
	background: #fff;
}

.campussphere-mobile-suite__mini-chart i {
	flex: 1;
	height: 45%;
	border-radius: 0.2rem 0.2rem 0 0;
	background: linear-gradient( #38bdf8, #2563eb );
}

.campussphere-mobile-suite__mini-chart i:nth-child( 2 ) { height: 68%; }
.campussphere-mobile-suite__mini-chart i:nth-child( 3 ) { height: 52%; }
.campussphere-mobile-suite__mini-chart i:nth-child( 4 ) { height: 82%; }
.campussphere-mobile-suite__mini-chart i:nth-child( 5 ) { height: 62%; }
.campussphere-mobile-suite__mini-chart i:nth-child( 6 ) { height: 92%; }

.campussphere-mobile-suite__phone-label {
	display: inline-flex;
	margin-top: 0.8rem;
	padding: 0.4rem 0.7rem;
	border: 1px solid rgba( 255, 255, 255, 0.14 );
	border-radius: 999px;
	background: rgba( 15, 23, 42, 0.62 );
	box-shadow: 0 0.5rem 1.25rem rgba( 2, 6, 23, 0.16 );
	color: #e2e8f0;
	font-size: 0.625rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	backdrop-filter: blur( 8px );
}

@keyframes campussphereMobilePhoneLeft {
	0%,
	100% {
		transform: translateY( 0 ) rotate( -6deg );
	}

	50% {
		transform: translateY( -10px ) rotate( -6deg );
	}
}

@keyframes campussphereMobilePhoneCenter {
	0%,
	100% {
		transform: translateX( -50% ) translateY( 0 );
	}

	50% {
		transform: translateX( -50% ) translateY( -12px );
	}
}

@keyframes campussphereMobilePhoneRight {
	0%,
	100% {
		transform: translateY( 0 ) rotate( 6deg );
	}

	50% {
		transform: translateY( -10px ) rotate( 6deg );
	}
}

@keyframes campussphereMobilePhoneLeftMobile {
	0%,
	100% {
		transform: scale( 0.78 ) rotate( -6deg ) translateY( 0 );
	}

	50% {
		transform: scale( 0.78 ) rotate( -6deg ) translateY( -8px );
	}
}

@keyframes campussphereMobilePhoneCenterMobile {
	0%,
	100% {
		transform: translateX( -50% ) scale( 0.86 ) translateY( 0 );
	}

	50% {
		transform: translateX( -50% ) scale( 0.86 ) translateY( -10px );
	}
}

@keyframes campussphereMobilePhoneRightMobile {
	0%,
	100% {
		transform: scale( 0.78 ) rotate( 6deg ) translateY( 0 );
	}

	50% {
		transform: scale( 0.78 ) rotate( 6deg ) translateY( -8px );
	}
}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */

.campussphere-faq-accordion {
	position: relative;
	max-width: none;
	margin: 0;
	padding-top: clamp( 5rem, 8vw, 7rem );
	padding-bottom: clamp( 5rem, 8vw, 7rem );
	overflow: hidden;
	border-bottom: 1px solid rgba( 148, 163, 184, 0.14 );
	background:
		radial-gradient( circle at 4% 14%, rgba( 37, 99, 235, 0.08 ), transparent 24% ),
		radial-gradient( circle at 96% 84%, rgba( 124, 58, 237, 0.06 ), transparent 26% ),
		linear-gradient( 180deg, #f8fafc 0%, #fff 100% );
}

.campussphere-faq-accordion__inner {
	display: grid;
	grid-template-columns: minmax( 280px, 0.72fr ) minmax( 0, 1.28fr );
	gap: clamp( 3rem, 7vw, 7rem );
	align-items: start;
	width: 100%;
	max-width: var( --campussphere-container-width );
	margin-inline: auto;
}

.campussphere-faq-accordion__aside {
	position: sticky;
	top: 7rem;
}

.campussphere-faq-accordion__header {
	max-width: 440px;
	margin: 0;
	text-align: left;
}

.entry-content .campussphere-faq-accordion__overline,
.wp-block-post-content .campussphere-faq-accordion__overline {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0 0 1rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	line-height: 1.5;
	text-transform: uppercase;
}

.entry-content .campussphere-faq-accordion__overline::before,
.wp-block-post-content .campussphere-faq-accordion__overline::before {
	content: "";
	width: 1.75rem;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient( 90deg, #2563eb, #7c3aed );
}

.entry-content .campussphere-faq-accordion__subheading,
.wp-block-post-content .campussphere-faq-accordion__subheading {
	max-width: 38ch;
	margin: 1.25rem 0 0;
	color: #64748b;
	font-size: 1.0625rem;
	line-height: 1.7;
}

.campussphere-faq-accordion__assurances {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.campussphere-faq-accordion__assurances span {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.4rem 0.625rem;
	border: 1px solid #dbeafe;
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.78 );
	color: #475569;
	font-size: 0.6875rem;
	font-weight: 750;
	line-height: 1.3;
}

.campussphere-faq-accordion__assurances span::before {
	content: "✓";
	color: #2563eb;
	font-size: 0.65rem;
	font-weight: 900;
}

.campussphere-faq-accordion__support {
	display: grid;
	grid-template-columns: auto minmax( 0, 1fr );
	gap: 0.875rem;
	max-width: 400px;
	margin-top: 2rem;
	padding: 1.125rem;
	border: 1px solid rgba( 37, 99, 235, 0.14 );
	border-radius: 1rem;
	background:
		linear-gradient( 145deg, rgba( 239, 246, 255, 0.9 ), rgba( 238, 242, 255, 0.78 ) ),
		#fff;
	box-shadow: 0 1rem 2.5rem rgba( 37, 99, 235, 0.09 );
}

.campussphere-faq-accordion__support-icon {
	display: inline-flex;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.75rem;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8.5 8.5 0 0 1-9 8.5 9.4 9.4 0 0 1-4-.9L3 21l1.5-4.3A8.5 8.5 0 1 1 21 12Z'/%3E%3Cpath d='M9.6 9a2.5 2.5 0 0 1 4.8.9c0 1.8-2.4 2-2.4 3.6M12 17h.01'/%3E%3C/svg%3E") center / 1.35rem no-repeat,
		linear-gradient( 135deg, #2563eb, #4f46e5 );
	box-shadow: 0 0.625rem 1.25rem rgba( 37, 99, 235, 0.2 );
}

.campussphere-faq-accordion__support > div {
	min-width: 0;
}

.campussphere-faq-accordion__support strong {
	color: #0f172a;
	font-size: 0.9rem;
	font-weight: 800;
}

.entry-content .campussphere-faq-accordion__support p,
.wp-block-post-content .campussphere-faq-accordion__support p {
	margin: 0.25rem 0 0.625rem;
	color: #64748b;
	font-size: 0.75rem;
	line-height: 1.5;
}

.campussphere-faq-accordion__support a {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	color: #1d4ed8;
	font-size: 0.75rem;
	font-weight: 800;
	text-decoration: none;
}

.campussphere-faq-accordion__support a:hover {
	color: #1e40af;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.campussphere-faq-accordion__questions {
	min-width: 0;
}

.campussphere-faq-accordion__list {
	display: grid;
	gap: 0.875rem;
}

.campussphere-faq-item {
	position: relative;
	border: 1px solid #e2e8f0;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 0.5rem 1.5rem rgba( 15, 23, 42, 0.035 );
	overflow: hidden;
	transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.campussphere-faq-item:hover {
	border-color: #cbd5e1;
	box-shadow: 0 0.875rem 2rem rgba( 15, 23, 42, 0.07 );
	transform: translateY( -1px );
}

.campussphere-faq-item.is-open {
	border-color: rgba( 37, 99, 235, 0.28 );
	background:
		radial-gradient( circle at 100% 0%, rgba( 219, 234, 254, 0.58 ), transparent 35% ),
		#fff;
	box-shadow:
		0 1.25rem 2.75rem rgba( 37, 99, 235, 0.11 ),
		inset 3px 0 0 #2563eb;
	transform: none;
}

.campussphere-faq-item__heading {
	margin: 0;
}

.campussphere-faq-item__trigger {
	display: grid;
	grid-template-columns: auto minmax( 0, 1fr ) auto;
	align-items: center;
	gap: 1.125rem;
	width: 100%;
	padding: 1.25rem 1.375rem;
	border: 0;
	background: transparent;
	color: #0f172a;
	text-align: left;
	cursor: pointer;
}

.campussphere-faq-item__trigger:focus-visible {
	outline: 3px solid rgba( 37, 99, 235, 0.3 );
	outline-offset: -3px;
}

.campussphere-faq-item__number {
	color: #94a3b8;
	font-size: 0.6875rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	line-height: 1.3;
}

.campussphere-faq-item.is-open .campussphere-faq-item__number {
	color: #2563eb;
}

.campussphere-faq-item__question {
	color: #1e293b;
	font-size: 1.025rem;
	font-weight: 750;
	line-height: 1.5;
}

.campussphere-faq-item.is-open .campussphere-faq-item__question {
	color: #0f172a;
}

.campussphere-faq-item__icon {
	position: relative;
	flex: 0 0 auto;
	width: 2rem;
	height: 2rem;
	border: 1px solid #dbeafe;
	border-radius: 999px;
	background: #eff6ff;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.25s ease;
}

.campussphere-faq-item.is-open .campussphere-faq-item__icon {
	border-color: #2563eb;
	background: #2563eb;
	transform: rotate( 180deg );
}

.campussphere-faq-item__icon::before,
.campussphere-faq-item__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.7rem;
	height: 2px;
	background: #2563eb;
	border-radius: 999px;
	transform: translate( -50%, -50% );
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.campussphere-faq-item__icon::after {
	transform: translate( -50%, -50% ) rotate( 90deg );
}

.campussphere-faq-item.is-open .campussphere-faq-item__icon::after {
	opacity: 0;
}

.campussphere-faq-item.is-open .campussphere-faq-item__icon::before,
.campussphere-faq-item.is-open .campussphere-faq-item__icon::after {
	background: #fff;
}

.campussphere-faq-item__panel {
	padding: 0 4.75rem 1.5rem;
}

.campussphere-faq-item__answer {
	max-width: 62ch;
	padding-top: 0.125rem;
	color: #56657a;
	font-size: 0.9375rem;
	line-height: 1.75;
	animation: campussphereFaqReveal 0.25s ease both;
}

@keyframes campussphereFaqReveal {
	from {
		opacity: 0;
		transform: translateY( -0.25rem );
	}
	to {
		opacity: 1;
		transform: translateY( 0 );
	}
}

.campussphere-faq-item__answer > *:first-child { margin-top: 0; }
.campussphere-faq-item__answer > *:last-child { margin-bottom: 0; }

.campussphere-faq-empty {
	display: none;
}

/* --------------------------------------------------------------------------
   CTA banner
   -------------------------------------------------------------------------- */

.campussphere-cta-banner {
	max-width: var( --campussphere-container-width );
	margin: 0 auto clamp( 2.5rem, 5vw, 4rem );
	padding-top: clamp( 2.75rem, 5vw, 4rem );
	padding-bottom: clamp( 2.75rem, 5vw, 4rem );
	border-radius: 24px;
	background: linear-gradient( 135deg, #1e3a8a 0%, #1d4ed8 50%, #0284c7 100% );
	box-shadow: 0 24px 56px rgba( 37, 99, 235, 0.22 );
}

.campussphere-cta-banner__inner {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.campussphere-cta-banner__overline,
.campussphere-cta-banner__headline {
	color: #fff;
}

.campussphere-cta-banner__subheadline,
.campussphere-cta-banner__body {
	color: rgba( 255, 255, 255, 0.88 );
}

/* Override global post-content typography on gradient CTA blocks. */
.wp-block-post-content .campussphere-cta-banner__overline {
	margin: 0 0 0.75rem;
	color: rgba( 255, 255, 255, 0.72 ) !important;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.wp-block-post-content .campussphere-cta-banner__headline {
	color: #fff !important;
	font-size: var( --campussphere-section-heading-size );
	font-weight: var( --campussphere-section-heading-weight );
	line-height: var( --campussphere-section-heading-leading );
	letter-spacing: var( --campussphere-section-heading-tracking );
}

.wp-block-post-content .campussphere-cta-banner__subheadline,
.wp-block-post-content .campussphere-cta-banner__body {
	color: rgba( 255, 255, 255, 0.88 ) !important;
}

.campussphere-cta-banner__ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.85rem;
	margin-top: 1.75rem;
}

.campussphere-cta-banner__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0.9rem 1.4rem;
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
}

.campussphere-cta-banner__btn--primary {
	background: #fff;
	color: #1d4ed8;
}

.campussphere-cta-banner__btn--secondary {
	border: 1px solid rgba( 255, 255, 255, 0.35 );
	background: rgba( 255, 255, 255, 0.1 );
	color: #fff;
}

.campussphere-cta-banner__trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem 1.25rem;
	margin-top: 1.35rem;
}

.campussphere-cta-banner__trust-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: rgba( 255, 255, 255, 0.9 );
	font-size: 0.875rem;
}

/* --------------------------------------------------------------------------
   Footer polish
   -------------------------------------------------------------------------- */

.campussphere-footer-pre {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding-left: clamp( 1.25rem, 4vw, 2.5rem ) !important;
	padding-right: clamp( 1.25rem, 4vw, 2.5rem ) !important;
}

.campussphere-footer-pre .wp-block-columns {
	max-width: var( --campussphere-container-width );
	margin-left: auto;
	margin-right: auto;
}

.campussphere-footer-pre::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient( circle at top left, rgba( 255, 255, 255, 0.12 ), transparent 28% ),
		linear-gradient( 135deg, rgba( 255, 255, 255, 0.06 ), transparent );
	pointer-events: none;
}

.campussphere-footer-pre > .wp-block-group {
	position: relative;
	z-index: 1;
}

.campussphere-footer {
	padding: 0;
	overflow: hidden;
}

.campussphere-footer .wp-block-group[style*="max-width:1280px"] {
	max-width: var( --campussphere-container-width );
	margin: 0 auto;
}

.campussphere-footer__grid {
	padding-top: 0;
	padding-bottom: 0;
}

.campussphere-footer__brand-name {
	line-height: 1;
	margin: 0;
}

.campussphere-footer__tagline {
	margin-top: 0 !important;
}

.campussphere-footer__desc,
.campussphere-footer__contact p,
.campussphere-footer__list a,
.campussphere-footer__legal a {
	color: #94a3b8;
}

.campussphere-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.03 );
	transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.campussphere-footer__social a:hover,
.campussphere-footer__list a:hover,
.campussphere-footer__legal a:hover {
	color: #fff;
}

.campussphere-footer__social a:hover {
	transform: translateY( -2px );
	border-color: rgba( 147, 197, 253, 0.4 );
	background: rgba( 59, 130, 246, 0.12 );
}

.campussphere-footer__list,
.campussphere-footer__legal {
	list-style: none;
}

.campussphere-footer__list a,
.campussphere-footer__legal a {
	text-decoration: none;
	transition: color 0.2s ease;
}

.campussphere-footer__bottom {
	margin-top: 0;
}

.campussphere-footer__copyright,
.campussphere-footer__bottom .has-text-color {
	margin: 0;
}

/* Full-width divider — WP default separator is only 100px */
.campussphere-footer__divider.wp-block-separator,
.campussphere-footer .wp-block-separator.campussphere-footer__divider {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 1px;
	margin: 0 !important;
	border: 0 !important;
	border-top: none !important;
	background: #1e293b !important;
	opacity: 1;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media ( min-width: 1101px ) and ( max-height: 850px ) {
	.campussphere-hero.campussphere-hero--saas,
	.campussphere-hero.campussphere-hero--light {
		--campussphere-hero-stage-pad: 0.75rem;
		min-height: 0;
		padding-top: 1rem;
		padding-bottom: 0.75rem;
	}

	.campussphere-hero--saas .campussphere-hero__inner,
	.campussphere-hero--light .campussphere-hero__inner {
		min-height: 0;
	}

	.campussphere-hero--saas .campussphere-hero__headline,
	.campussphere-hero--light .campussphere-hero__headline {
		font-size: clamp( 2rem, 3.2vw, 2.65rem );
	}

	.campussphere-hero--saas .campussphere-hero__sub,
	.campussphere-hero--light .campussphere-hero__sub {
		margin-top: 0.9rem;
		line-height: 1.55;
	}

	.campussphere-hero__ctas {
		margin-top: 1.25rem;
	}

	.campussphere-hero__trust {
		margin-top: 1rem;
	}

	.campussphere-hero__stage {
		max-width: 840px;
		padding-bottom: 1rem;
	}
}

@media ( max-width: 1100px ) {
	.campussphere-mobile-suite__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.campussphere-mobile-suite__content {
		max-width: 720px;
	}

	.campussphere-mobile-suite__visual {
		width: 100%;
		max-width: min( 760px, 100% );
		min-height: clamp( 480px, 72vw, 580px );
		margin-inline: auto;
	}

	.campussphere-mobile-suite__stage {
		width: min( 100%, 620px );
	}

	.campussphere-module-showcase__header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		align-items: start;
	}

	.campussphere-module-showcase__header-content {
		max-width: 720px;
		justify-self: start;
	}

	.campussphere-feature-grid__header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		align-items: start;
	}

	.campussphere-feature-grid__header-content {
		max-width: 720px;
		justify-self: start;
	}

	.campussphere-feature-grid__grid--3,
	.campussphere-feature-grid__grid[style*="repeat(3"] {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) ) !important;
	}

	.campussphere-feature-grid__card:last-child {
		grid-column: 1 / -1;
		min-height: 360px;
	}

	.campussphere-module-showcase__inner,
	.campussphere-benefit-split__inner,
	.campussphere-module-panel__content,
	.campussphere-hero--saas .campussphere-hero__inner,
	.campussphere-hero--light .campussphere-hero__inner,
	.campussphere-hero__inner {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.campussphere-hero.campussphere-hero--saas,
	.campussphere-hero.campussphere-hero--light,
	.campussphere-hero {
		min-height: auto;
	}

	.campussphere-hero--saas .campussphere-hero__content,
	.campussphere-hero--light .campussphere-hero__content,
	.campussphere-hero__content {
		max-width: 40rem;
		margin: 0 auto;
		padding-top: 0;
		text-align: center;
	}

	.campussphere-hero__badge {
		align-self: center;
	}

	.campussphere-hero--saas .campussphere-hero__sub,
	.campussphere-hero--light .campussphere-hero__sub,
	.campussphere-hero__sub {
		max-width: 48ch;
		margin-left: auto;
		margin-right: auto;
	}

	.campussphere-hero__ctas,
	.campussphere-hero__trust {
		justify-content: center;
	}

	.campussphere-hero__visual {
		justify-content: center;
		margin-top: 0.5rem;
		order: 2;
	}

	.campussphere-hero__content {
		order: 1;
	}

	.campussphere-hero__stage {
		left: 0;
		width: 100%;
		max-width: min( 100%, 580px );
		margin-right: auto;
		margin-left: auto;
	}

	.campussphere-hero__float--attendance {
		top: 4%;
		left: 2%;
	}

	.campussphere-hero__float--fees {
		top: 2%;
		right: 0;
	}

	.campussphere-hero__float--parent {
		bottom: 10%;
		right: 2%;
	}

	.campussphere-hero__float--admissions {
		bottom: 8%;
		left: 0;
	}

	.campussphere-module-tabs {
		position: static;
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		max-height: none;
		overflow: visible;
	}

	.campussphere-module-panel__content {
		gap: 2rem;
	}

	.campussphere-footer__grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) ) !important;
	}
}

@media ( max-width: 900px ) {
	.campussphere-faq-accordion__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.campussphere-faq-accordion__aside {
		position: static;
	}

	.campussphere-faq-accordion__header {
		max-width: 640px;
	}

	.campussphere-faq-accordion__support {
		max-width: 520px;
	}

	.campussphere-hero__float {
		display: none;
	}

	.campussphere-hero__chips {
		display: flex;
		justify-content: center;
	}
}

@media ( max-width: 782px ) {
	.campussphere-faq-accordion {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.campussphere-faq-accordion__support {
		margin-top: 1.5rem;
	}

	.campussphere-faq-item__trigger {
		grid-template-columns: minmax( 0, 1fr ) auto;
		gap: 0.875rem;
		padding: 1.125rem;
	}

	.campussphere-faq-item__number {
		display: none;
	}

	.campussphere-faq-item__question {
		font-size: 0.95rem;
	}

	.campussphere-faq-item__panel {
		padding: 0 3.75rem 1.25rem 1.125rem;
	}

	.campussphere-mobile-suite {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.campussphere-mobile-suite__inner {
		gap: 2rem;
	}

	.campussphere-mobile-suite__audiences {
		grid-template-columns: 1fr;
		margin-top: 1.5rem;
	}

	.campussphere-mobile-suite__lead {
		margin-top: 1rem;
	}

	.campussphere-mobile-suite__audience {
		padding-right: 0;
		padding-left: 0;
	}

	.campussphere-mobile-suite__audience:hover {
		border-color: transparent;
		background: transparent;
		transform: none;
	}

	.campussphere-mobile-suite__action {
		align-items: stretch;
		flex-direction: column;
	}

	.campussphere-mobile-suite__cta {
		justify-content: center;
		width: 100%;
	}

	.campussphere-mobile-suite__availability {
		justify-content: center;
	}

	.campussphere-mobile-suite__visual {
		min-height: 460px;
		border-radius: 1.5rem;
	}

	.campussphere-mobile-suite__stage {
		width: min( 100%, 400px );
	}

	.campussphere-mobile-suite__phone--teacher {
		top: 74px;
		left: -2%;
		transform: scale( 0.78 ) rotate( -6deg );
		transform-origin: left center;
	}

	.campussphere-mobile-suite__phone--admin {
		top: 74px;
		right: -2%;
		left: auto;
		transform: scale( 0.78 ) rotate( 6deg );
		transform-origin: right center;
	}

	.campussphere-mobile-suite__phone--parent {
		top: 28px;
		transform: translateX( -50% ) scale( 0.86 );
		transform-origin: center top;
	}

	.campussphere-mobile-suite.is-inview .campussphere-mobile-suite__phone--teacher {
		animation: campussphereMobilePhoneLeftMobile 7s ease-in-out infinite;
	}

	.campussphere-mobile-suite.is-inview .campussphere-mobile-suite__phone--parent {
		animation: campussphereMobilePhoneCenterMobile 6.5s ease-in-out infinite;
	}

	.campussphere-mobile-suite.is-inview .campussphere-mobile-suite__phone--admin {
		animation: campussphereMobilePhoneRightMobile 7.25s ease-in-out infinite;
	}

	.campussphere-feature-grid {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.campussphere-feature-grid__header {
		gap: 1rem;
		margin-bottom: 2rem;
	}

	.campussphere-feature-grid__scope {
		margin-top: 1rem;
	}

	.campussphere-feature-grid__card,
	.campussphere-feature-grid__card:last-child {
		grid-column: auto;
		min-height: auto;
		padding: 1.5rem;
	}

	.campussphere-feature-grid__card-outcome {
		margin-top: 1.5rem;
	}

	.campussphere-introduction {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.campussphere-introduction__video {
		min-height: 300px;
		aspect-ratio: 4 / 3;
		margin-top: 2rem;
		border-radius: 1.25rem;
	}

	.campussphere-introduction__video-overlay {
		gap: 0.75rem;
		padding: 0.5rem 0.75rem 0.5rem 0.5rem;
	}

	.campussphere-introduction__play {
		width: 3rem;
		height: 3rem;
	}

	.campussphere-introduction__video-status {
		right: 1rem;
		bottom: 1rem;
		left: 1rem;
	}

	.campussphere-feature-grid__grid,
	.campussphere-feature-grid__grid--3,
	.campussphere-feature-grid__grid[style*="repeat(3"] {
		grid-template-columns: 1fr !important;
	}

	.campussphere-module-tabs {
		display: flex;
		gap: 0.5rem;
		margin-right: calc( -1 * var( --campussphere-container-gutter ) );
		margin-left: calc( -1 * var( --campussphere-container-gutter ) );
		padding-right: var( --campussphere-container-gutter );
		padding-left: var( --campussphere-container-gutter );
		overflow-x: auto;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.campussphere-module-tabs::-webkit-scrollbar {
		display: none;
	}

	.campussphere-module-tab {
		flex: 0 0 min( 76vw, 250px );
		scroll-snap-align: start;
	}

	.campussphere-module-showcase {
		margin-top: 1.5rem;
		margin-bottom: 1.5rem;
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
		border-radius: 1.5rem;
	}

	.campussphere-module-showcase__header {
		margin-bottom: 2rem;
	}

	.campussphere-module-showcase__meta {
		gap: 0.5rem;
		margin-top: 1.25rem;
	}

	.campussphere-module-panel {
		min-height: 0;
		border-radius: 1.125rem;
	}

	.campussphere-module-panel__content {
		min-height: 0;
		padding: 1.5rem;
	}

	.campussphere-module-panel__screenshot,
	.campussphere-module-preview {
		min-height: 300px;
	}

	.campussphere-module-panel__screenshot,
	.campussphere-module-panel:hover .campussphere-module-panel__screenshot {
		transform: none;
	}

	.campussphere-module-preview__body {
		min-height: 226px;
	}

	.campussphere-hero__ctas,
	.campussphere-cta-banner__ctas {
		flex-direction: column;
	}

	.campussphere-hero__cta-primary,
	.campussphere-hero__cta-secondary,
	.campussphere-cta-banner__btn {
		width: 100%;
	}

	.campussphere-hero__laptop {
		max-width: 100%;
	}

	.campussphere-footer__grid {
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
	}

	.campussphere-footer__bottom .wp-block-group[style*="display:flex"] {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 1rem !important;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.campussphere-hero__content,
	.campussphere-hero__visual,
	.campussphere-hero__laptop,
	.campussphere-hero__float,
	.campussphere-hero__orb,
	.campussphere-hero__live-dot,
	.campussphere-feature-grid__card,
	.campussphere-module-panel,
	.campussphere-module-tab,
	.campussphere-module-panel__screenshot,
	.campussphere-mobile-suite__audience,
	.campussphere-mobile-suite__cta,
	.campussphere-mobile-suite__phone,
	.campussphere-faq-item,
	.campussphere-faq-item__answer,
	.campussphere-faq-item__icon {
		animation: none !important;
		transition: none !important;
	}
}

/* --------------------------------------------------------------------------
   Homepage enterprise sections (capabilities, personas, AI, security, trust)
   -------------------------------------------------------------------------- */

.campussphere-capabilities,
.campussphere-personas,
.campussphere-sphero,
.campussphere-mobile-suite,
.campussphere-security,
.campussphere-credibility,
.campussphere-home-seo,
.campussphere-home-faq {
	position: relative;
	padding: clamp( 3.25rem, 5.5vw, 4.75rem ) clamp( 1.25rem, 4vw, 3rem );
	font-family: var( --campussphere-font-sans, "Inter", ui-sans-serif, system-ui, sans-serif );
}

/* Keep stacked homepage sections visually connected (no fake blank bands). */
.is-front-page .wp-block-post-content > * + *,
.home .wp-block-post-content > * + * {
	margin-block-start: 0 !important;
}

.is-front-page .wp-block-post-content > section[class*="campussphere-"] + section[class*="campussphere-"],
.home .wp-block-post-content > section[class*="campussphere-"] + section[class*="campussphere-"],
.is-front-page .wp-block-post-content > .wp-block-campussphere-hero + .wp-block-campussphere-feature-grid,
.home .wp-block-post-content > .wp-block-campussphere-hero + .wp-block-campussphere-feature-grid {
	margin-block-start: 0 !important;
}

.campussphere-capabilities__inner,
.campussphere-personas__inner,
.campussphere-sphero__inner,
.campussphere-mobile-suite__inner,
.campussphere-security__inner,
.campussphere-credibility__inner,
.campussphere-home-seo__inner,
.campussphere-home-faq__inner {
	width: min( var( --campussphere-container-width ), 100% );
	margin-inline: auto;
}

.campussphere-personas__header,
.campussphere-sphero__header,
.campussphere-security__header,
.campussphere-credibility__header {
	max-width: 720px;
	margin-bottom: clamp( 2rem, 4vw, 3rem );
}

.campussphere-capabilities__overline,
.campussphere-personas__overline,
.campussphere-sphero__overline,
.campussphere-mobile-suite__overline,
.campussphere-security__overline,
.campussphere-credibility__overline {
	margin: 0 0 0.75rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.campussphere-capabilities__title span,
.campussphere-mobile-suite__title span {
	background: linear-gradient( 120deg, #2563eb, #7c3aed );
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.wp-block-post-content .campussphere-capabilities__lead,
.wp-block-post-content .campussphere-personas__lead,
.wp-block-post-content .campussphere-sphero__lead,
.wp-block-post-content .campussphere-mobile-suite__lead,
.wp-block-post-content .campussphere-security__lead,
.wp-block-post-content .campussphere-credibility__lead {
	margin: 1rem 0 0;
	color: #64748b !important;
	font-size: 1.05rem;
	line-height: 1.7;
}

.campussphere-capabilities {
	position: relative;
	overflow: hidden;
	background: linear-gradient( 180deg, #ffffff 0%, #f8fafc 48%, #ffffff 100% );
	border-bottom: 1px solid rgba( 148, 163, 184, 0.12 );
}

.campussphere-capabilities__ambient {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}

.campussphere-capabilities__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur( 80px );
	opacity: 0.45;
	animation: campussphere-cap-float 24s ease-in-out infinite alternate;
}

.campussphere-capabilities__orb--a {
	top: -8%;
	left: -6%;
	width: min( 520px, 55vw );
	height: min( 520px, 55vw );
	background: radial-gradient( circle, rgba( 37, 99, 235, 0.14 ), transparent 68% );
}

.campussphere-capabilities__orb--b {
	right: -8%;
	bottom: 12%;
	width: min( 480px, 50vw );
	height: min( 480px, 50vw );
	background: radial-gradient( circle, rgba( 124, 58, 237, 0.12 ), transparent 68% );
	animation-delay: -8s;
}

.campussphere-capabilities__mesh {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient( rgba( 148, 163, 184, 0.06 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 148, 163, 184, 0.06 ) 1px, transparent 1px );
	background-size: 48px 48px;
	mask-image: radial-gradient( ellipse 80% 60% at 50% 20%, #000 20%, transparent 75% );
	opacity: 0.55;
}

@keyframes campussphere-cap-float {
	0% { transform: translate3d( 0, 0, 0 ); }
	100% { transform: translate3d( 2%, 3%, 0 ); }
}

.campussphere-capabilities__inner {
	position: relative;
	z-index: 1;
}

.campussphere-capabilities__header--story {
	display: grid;
	gap: 1.25rem;
	max-width: 760px;
	margin-inline: auto;
	margin-bottom: clamp( 3rem, 6vw, 4.5rem );
	text-align: center;
	justify-items: center;
}

.campussphere-capabilities__header--story .campussphere-capabilities__lead {
	max-width: 640px;
	margin: 0;
	text-align: center;
}

.campussphere-capabilities__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.campussphere-capabilities__stat {
	display: grid;
	gap: 0.2rem;
	min-width: 7.25rem;
	padding: 1rem 1.15rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: rgba( 255, 255, 255, 0.88 );
	backdrop-filter: blur( 8px );
	box-shadow:
		0 1px 2px rgba( 15, 23, 42, 0.04 ),
		0 12px 32px rgba( 15, 23, 42, 0.06 );
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.campussphere-capabilities__stat:hover {
	transform: translateY( -4px );
	border-color: rgba( 79, 70, 229, 0.22 );
	box-shadow:
		0 1px 2px rgba( 15, 23, 42, 0.04 ),
		0 20px 40px rgba( 79, 70, 229, 0.1 );
}

.campussphere-capabilities__stats strong {
	color: #0f172a;
	font-size: clamp( 1.45rem, 2.2vw, 1.75rem );
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.campussphere-capabilities__stats span {
	color: #64748b;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Connected pipeline */
.campussphere-capabilities__pipeline-wrap {
	--pipe-steps: 8;
	--pipe-step-ms: 240ms;
	--pipe-dot-size: 1.625rem;
	--pipe-line-h: 3px;
	--pipe-node-gap: 0.55rem;
	--pipe-label-size: 0.84rem;
	--pipe-label-lh: 1.35;
	--pipe-label-lines: 2;
	--pipe-label-h: calc( var( --pipe-label-size ) * var( --pipe-label-lh ) * var( --pipe-label-lines ) );
	--pipe-node-h: calc( var( --pipe-dot-size ) + var( --pipe-node-gap ) + var( --pipe-label-h ) );
	--pipe-row-gap: 1.2rem;
	margin-bottom: clamp( 3rem, 6vw, 4.5rem );
	padding: clamp( 1.35rem, 3vw, 2rem ) clamp( 1.25rem, 3vw, 2rem ) clamp( 1.15rem, 2.5vw, 1.65rem );
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 1.25rem;
	background:
		radial-gradient( circle at 50% 0%, rgba( 37, 99, 235, 0.04 ), transparent 55% ),
		rgba( 255, 255, 255, 0.88 );
	backdrop-filter: blur( 12px );
	box-shadow:
		0 1px 2px rgba( 15, 23, 42, 0.03 ),
		0 16px 48px rgba( 15, 23, 42, 0.05 );
}

.campussphere-capabilities__pipeline-head {
	display: grid;
	gap: 0.35rem;
	margin-bottom: 1.5rem;
	text-align: center;
}

.campussphere-capabilities__pipeline-label {
	margin: 0;
	color: #2563eb;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.campussphere-capabilities__pipeline-sub {
	margin: 0;
	color: #64748b;
	font-size: 0.92rem;
	line-height: 1.5;
}

.campussphere-capabilities__pipeline-track {
	position: relative;
	padding: 0 0 0.35rem;
}

.campussphere-capabilities__pipeline-rail {
	position: absolute;
	top: calc( ( var( --pipe-dot-size ) - var( --pipe-line-h ) ) / 2 );
	right: calc( 100% / ( var( --pipe-steps ) * 2 ) );
	left: calc( 100% / ( var( --pipe-steps ) * 2 ) );
	z-index: 0;
	height: var( --pipe-line-h );
	pointer-events: none;
}

.campussphere-capabilities__pipeline-line {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 999px;
	background: rgba( 148, 163, 184, 0.22 );
	overflow: visible;
}

.campussphere-capabilities__pipeline-progress {
	position: relative;
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient( 90deg, #2563eb 0%, #6366f1 52%, #7c3aed 100% );
	transform-origin: left center;
	will-change: width;
}

.campussphere-capabilities__pipeline-progress::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.4375rem;
	height: 0.4375rem;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 2px rgba( 99, 102, 241, 0.45 );
	transform: translate( 50%, -50% );
	opacity: 0;
}

.campussphere-capabilities__pipeline-wrap.is-animated .campussphere-capabilities__pipeline-progress {
	animation: campussphere-cap-pipeline-fill 2.4s cubic-bezier( 0.22, 1, 0.36, 1 ) forwards;
}

.campussphere-capabilities__pipeline-wrap.is-animated .campussphere-capabilities__pipeline-progress::after {
	opacity: 1;
}

.campussphere-capabilities__pipeline {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat( var( --pipe-steps ), minmax( 0, 1fr ) );
	grid-auto-rows: var( --pipe-node-h );
	column-gap: 0;
	row-gap: var( --pipe-row-gap );
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-capabilities__pipe-node {
	--i: 0;
	--pipe-accent: #2563eb;
	--pipe-soft: #eff6ff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: var( --pipe-node-gap );
	width: 100%;
	height: var( --pipe-node-h );
	min-width: 0;
	text-align: center;
}

.campussphere-capabilities__pipeline .campussphere-capabilities__pipe-node:nth-child( 1 ) { --i: 1; }
.campussphere-capabilities__pipeline .campussphere-capabilities__pipe-node:nth-child( 2 ) { --i: 2; }
.campussphere-capabilities__pipeline .campussphere-capabilities__pipe-node:nth-child( 3 ) { --i: 3; }
.campussphere-capabilities__pipeline .campussphere-capabilities__pipe-node:nth-child( 4 ) { --i: 4; }
.campussphere-capabilities__pipeline .campussphere-capabilities__pipe-node:nth-child( 5 ) { --i: 5; }
.campussphere-capabilities__pipeline .campussphere-capabilities__pipe-node:nth-child( 6 ) { --i: 6; }
.campussphere-capabilities__pipeline .campussphere-capabilities__pipe-node:nth-child( 7 ) { --i: 7; }
.campussphere-capabilities__pipeline .campussphere-capabilities__pipe-node:nth-child( 8 ) {
	--i: 8;
	--pipe-accent: #7c3aed;
	--pipe-soft: #f5f3ff;
}

.campussphere-capabilities__pipe-stem {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: var( --pipe-dot-size );
	height: var( --pipe-dot-size );
}

.campussphere-capabilities__pipe-label {
	display: block;
	width: 100%;
	max-width: 10.5rem;
	min-height: var( --pipe-label-h );
	overflow: hidden;
	color: #64748b;
	font-size: var( --pipe-label-size );
	font-weight: 800;
	line-height: var( --pipe-label-lh );
	letter-spacing: -0.015em;
	text-wrap: balance;
	transition: color 0.35s ease;
}

.campussphere-capabilities__pipe-dot {
	box-sizing: border-box;
	display: block;
	width: 1rem;
	height: 1rem;
	border: 2px solid rgba( 148, 163, 184, 0.5 );
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 4px #fff;
	transition:
		border-color 0.35s ease,
		background 0.35s ease,
		box-shadow 0.35s ease,
		transform 0.35s ease;
}

.campussphere-capabilities__pipeline-wrap.is-animated .campussphere-capabilities__pipe-node {
	opacity: 0;
	animation: campussphere-cap-node-in 0.5s cubic-bezier( 0.22, 1, 0.36, 1 ) forwards;
	animation-delay: calc( 160ms + ( var( --i ) - 1 ) * var( --pipe-step-ms ) );
}

.campussphere-capabilities__pipe-node.is-lit .campussphere-capabilities__pipe-dot {
	border-color: var( --pipe-accent );
	background: var( --pipe-soft );
	box-shadow:
		0 0 0 4px #fff,
		0 0 0 5px var( --pipe-accent );
	transform: scale( 1.15 );
}

.campussphere-capabilities__pipe-node.is-lit .campussphere-capabilities__pipe-label {
	color: #1e293b;
}

.campussphere-capabilities__pipe-node--ai.is-lit .campussphere-capabilities__pipe-label {
	color: #5b21b6;
}

@keyframes campussphere-cap-pipeline-fill {
	from { width: 0; }
	to { width: 100%; }
}

@keyframes campussphere-cap-node-in {
	from {
		opacity: 0;
		transform: translateY( 8px );
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* Hero spotlight */
.campussphere-capabilities__spotlight {
	display: grid;
	grid-template-columns: minmax( 0, 1.05fr ) minmax( 0, 0.95fr );
	gap: clamp( 1.5rem, 4vw, 2.75rem );
	align-items: center;
	margin-bottom: clamp( 3rem, 6vw, 4.5rem );
	padding: clamp( 1.5rem, 3.5vw, 2.5rem );
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 1.5rem;
	background:
		radial-gradient( circle at 0% 0%, rgba( 37, 99, 235, 0.06 ), transparent 42% ),
		radial-gradient( circle at 100% 100%, rgba( 124, 58, 237, 0.05 ), transparent 38% ),
		#fff;
	box-shadow:
		0 1px 2px rgba( 15, 23, 42, 0.03 ),
		0 24px 64px rgba( 15, 23, 42, 0.07 );
}

.campussphere-capabilities__spotlight-tag {
	display: inline-flex;
	margin-bottom: 0.85rem;
	padding: 0.32rem 0.65rem;
	border: 1px solid rgba( 37, 99, 235, 0.18 );
	border-radius: 999px;
	background: rgba( 239, 246, 255, 0.9 );
	color: #2563eb;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-capabilities__spotlight-copy h3 {
	margin: 0 0 0.85rem;
	color: #0f172a;
	font-size: clamp( 1.35rem, 2.5vw, 1.85rem );
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.campussphere-capabilities__spotlight-lead {
	margin: 0 0 1.35rem;
	color: #64748b;
	font-size: 1rem;
	line-height: 1.65;
}

.campussphere-capabilities__spotlight-steps {
	display: grid;
	gap: 0.65rem;
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.campussphere-capabilities__spotlight-steps li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.75rem;
	align-items: start;
	color: #334155;
	font-size: 0.875rem;
	line-height: 1.5;
}

.campussphere-capabilities__spotlight-steps li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 0.5rem;
	background: #eff6ff;
	color: #2563eb;
	font-size: 0.68rem;
	font-weight: 800;
}

.campussphere-capabilities__spotlight-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-capabilities__spotlight-tags li {
	padding: 0.32rem 0.65rem;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 999px;
	background: #f8fafc;
	color: #475569;
	font-size: 0.72rem;
	font-weight: 700;
}

.campussphere-capabilities__spotlight-visual {
	position: relative;
}

.campussphere-capabilities__mock {
	position: relative;
	padding: 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1.125rem;
	background: linear-gradient( 180deg, #f8fafc 0%, #fff 100% );
	box-shadow:
		inset 0 1px 0 rgba( 255, 255, 255, 0.95 ),
		0 20px 48px rgba( 15, 23, 42, 0.08 );
	overflow: hidden;
}

.campussphere-capabilities__mock-chrome {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba( 148, 163, 184, 0.12 );
}

.campussphere-capabilities__mock-chrome span {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: #cbd5e1;
}

.campussphere-capabilities__mock-chrome span:first-child { background: #fca5a5; }
.campussphere-capabilities__mock-chrome span:nth-child( 2 ) { background: #fde047; }
.campussphere-capabilities__mock-chrome span:nth-child( 3 ) { background: #86efac; }

.campussphere-capabilities__mock-chrome em {
	margin-left: auto;
	color: #64748b;
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 600;
}

.campussphere-capabilities__mock-metrics {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 0.65rem;
	margin-bottom: 1rem;
}

.campussphere-capabilities__mock-metrics div {
	padding: 0.75rem;
	border-radius: 0.75rem;
	background: #fff;
	border: 1px solid rgba( 148, 163, 184, 0.12 );
	text-align: center;
}

.campussphere-capabilities__mock-metrics strong {
	display: block;
	color: #0f172a;
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.campussphere-capabilities__mock-metrics span {
	color: #64748b;
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.campussphere-capabilities__mock-list {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-capabilities__mock-list li {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.65rem 0.75rem;
	border-radius: 0.65rem;
	background: #fff;
	border: 1px solid rgba( 148, 163, 184, 0.1 );
	color: #334155;
	font-size: 0.78rem;
	font-weight: 600;
}

.campussphere-capabilities__mock-list em {
	margin-left: auto;
	color: #64748b;
	font-size: 0.68rem;
	font-style: normal;
	font-weight: 600;
}

.campussphere-capabilities__mock-status {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	flex-shrink: 0;
}

.campussphere-capabilities__mock-status--ok { background: #22c55e; }
.campussphere-capabilities__mock-status--wait { background: #f59e0b; }
.campussphere-capabilities__mock-status--new { background: #3b82f6; }

.campussphere-capabilities__mock-glow {
	position: absolute;
	inset: auto -20% -30% -20%;
	height: 50%;
	background: radial-gradient( circle, rgba( 37, 99, 235, 0.12 ), transparent 68% );
	pointer-events: none;
}

/* Automation strip */
.campussphere-capabilities__automation {
	margin-bottom: clamp( 3rem, 6vw, 4.5rem );
	padding: clamp( 1.35rem, 3vw, 2rem );
	border: 1px solid rgba( 124, 58, 237, 0.12 );
	border-radius: 1.25rem;
	background:
		linear-gradient( 135deg, rgba( 245, 243, 255, 0.95 ), rgba( 239, 246, 255, 0.85 ) );
	box-shadow: 0 16px 40px rgba( 79, 70, 229, 0.06 );
}

.campussphere-capabilities__automation-head {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	margin-bottom: 1.25rem;
}

.campussphere-capabilities__automation-mark {
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border-radius: 0.75rem;
	background: linear-gradient( 135deg, #7c3aed, #2563eb );
	box-shadow: 0 8px 24px rgba( 79, 70, 229, 0.25 );
}

.campussphere-capabilities__automation-mark::before {
	content: "";
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.625rem;
	background: #fff;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 1.85 6.15L20 10l-6.15 1.85L12 18l-1.85-6.15L4 10l6.15-1.85L12 2Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 1.85 6.15L20 10l-6.15 1.85L12 18l-1.85-6.15L4 10l6.15-1.85L12 2Z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

.campussphere-capabilities__automation-head h3 {
	margin: 0 0 0.35rem;
	color: #0f172a;
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.wp-block-post-content .campussphere-capabilities__automation-head p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.92rem;
	line-height: 1.55;
}

.campussphere-capabilities__automation-list {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-capabilities__automation-list li {
	display: grid;
	gap: 0.2rem;
	padding: 0.95rem 1rem;
	border: 1px solid rgba( 255, 255, 255, 0.8 );
	border-radius: 0.85rem;
	background: rgba( 255, 255, 255, 0.82 );
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.campussphere-capabilities__automation-list li:hover {
	transform: translateY( -2px );
	box-shadow: 0 10px 24px rgba( 79, 70, 229, 0.08 );
}

.campussphere-capabilities__automation-list strong {
	color: #0f172a;
	font-size: 0.85rem;
	font-weight: 700;
}

.campussphere-capabilities__automation-list span {
	color: #64748b;
	font-size: 0.78rem;
	line-height: 1.45;
}

/* Workflow tabs */
.campussphere-capabilities__flows {
	margin-bottom: clamp( 3rem, 6vw, 4.5rem );
}

.campussphere-capabilities__flows-head {
	max-width: 560px;
	margin-bottom: 1.35rem;
}

.campussphere-capabilities__flows-head h3 {
	margin: 0 0 0.45rem;
	color: #0f172a;
	font-size: clamp( 1.25rem, 2.2vw, 1.55rem );
	font-weight: 800;
	letter-spacing: -0.025em;
}

.wp-block-post-content .campussphere-capabilities__flows-head p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.95rem;
	line-height: 1.6;
}

.campussphere-capabilities__flows-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
	padding: 0.35rem;
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 999px;
	background: rgba( 248, 250, 252, 0.9 );
	width: fit-content;
	max-width: 100%;
}

.campussphere-capabilities__flows-tab {
	padding: 0.65rem 1.1rem;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: #64748b;
	font-family: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.campussphere-capabilities__flows-tab:hover {
	color: #334155;
}

.campussphere-capabilities__flows-tab.is-active {
	background: #fff;
	color: #4f46e5;
	box-shadow: 0 4px 16px rgba( 79, 70, 229, 0.12 );
}

.campussphere-capabilities__flows-tab:focus-visible {
	outline: 3px solid rgba( 79, 70, 229, 0.35 );
	outline-offset: 2px;
}

.campussphere-capabilities__flows-panel {
	padding: clamp( 1.25rem, 3vw, 1.75rem );
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 1.125rem;
	background: #fff;
	box-shadow: 0 12px 36px rgba( 15, 23, 42, 0.05 );
}

.campussphere-capabilities__flow-steps {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-capabilities__flow-steps > li:not( .campussphere-capabilities__flow-arrow ) {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	min-width: min( 100%, 11rem );
	padding: 0.85rem 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.12 );
	border-radius: 0.85rem;
	background: #f8fafc;
	flex: 1 1 10rem;
}

.campussphere-capabilities__flow-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.65rem;
	flex-shrink: 0;
	border-radius: 0.5rem;
	background: #4f46e5;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 800;
}

.campussphere-capabilities__flow-steps strong {
	display: block;
	color: #0f172a;
	font-size: 0.88rem;
	font-weight: 700;
}

.wp-block-post-content .campussphere-capabilities__flow-steps p {
	margin: 0.15rem 0 0;
	color: #64748b !important;
	font-size: 0.75rem;
	line-height: 1.45;
}

.campussphere-capabilities__flow-arrow {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 auto;
	background: #94a3b8;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	opacity: 0.55;
}

/* Outcome-focused modules grid */
.campussphere-capabilities__modules-head {
	max-width: 560px;
	margin-bottom: 1.5rem;
}

.campussphere-capabilities__modules-head h3 {
	margin: 0 0 0.45rem;
	color: #0f172a;
	font-size: clamp( 1.25rem, 2.2vw, 1.55rem );
	font-weight: 800;
	letter-spacing: -0.025em;
}

.wp-block-post-content .campussphere-capabilities__modules-head p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.95rem;
	line-height: 1.6;
}

.campussphere-capabilities__modules {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
	margin-bottom: clamp( 1.5rem, 3vw, 2rem );
}

.campussphere-capabilities__module {
	--cap-accent: #2563eb;
	--cap-soft: #f8fafc;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.35rem 1.25rem 1.25rem;
	overflow: hidden;
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 1.125rem;
	background: #fff;
	box-shadow:
		0 1px 2px rgba( 15, 23, 42, 0.03 ),
		0 8px 24px rgba( 15, 23, 42, 0.04 );
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.campussphere-capabilities__module::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: var( --cap-accent );
	opacity: 0.45;
}

.campussphere-capabilities__module:hover {
	transform: translateY( -4px );
	border-color: color-mix( in srgb, var( --cap-accent ) 20%, rgba( 148, 163, 184, 0.14 ) );
	box-shadow: 0 16px 36px rgba( 15, 23, 42, 0.07 );
}

.campussphere-capabilities__module-tag {
	margin: 0;
	color: color-mix( in srgb, var( --cap-accent ) 72%, #64748b );
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-capabilities__module h4 {
	margin: 0;
	color: #0f172a;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.wp-block-post-content .campussphere-capabilities__module .campussphere-capabilities__body > p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.8125rem;
	line-height: 1.55;
}

.campussphere-capabilities__module--admissions,
.campussphere-capabilities__module--attendance,
.campussphere-capabilities__module--students {
	--cap-accent: #2563eb;
	--cap-soft: #f8fbff;
}

.campussphere-capabilities__module--communication {
	--cap-accent: #ea580c;
	--cap-soft: #fffaf5;
}

.campussphere-capabilities__module--exams,
.campussphere-capabilities__module--homework,
.campussphere-capabilities__module--certificates {
	--cap-accent: #7c3aed;
	--cap-soft: #faf8ff;
}

.campussphere-capabilities__module--fees {
	--cap-accent: #059669;
	--cap-soft: #f7fdfb;
}

.campussphere-capabilities__module--hr {
	--cap-accent: #4f46e5;
	--cap-soft: #f8f8ff;
}

.campussphere-capabilities__module--transport {
	--cap-accent: #0d9488;
	--cap-soft: #f6fefe;
}

.campussphere-capabilities__module--ai {
	--cap-accent: #0891b2;
	--cap-soft: #f6fdff;
}

.campussphere-capabilities__module--more {
	--cap-accent: #475569;
	--cap-soft: #f8fafc;
	border-style: dashed;
}

/* Bento grid */
.campussphere-capabilities__bento-head {
	max-width: 560px;
	margin-bottom: 1.5rem;
}

.campussphere-capabilities__bento-head h3 {
	margin: 0 0 0.45rem;
	color: #0f172a;
	font-size: clamp( 1.25rem, 2.2vw, 1.55rem );
	font-weight: 800;
	letter-spacing: -0.025em;
}

.wp-block-post-content .campussphere-capabilities__bento-head p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.95rem;
}

.campussphere-capabilities__bento {
	display: grid;
	grid-template-columns: repeat( 12, minmax( 0, 1fr ) );
	gap: 1rem;
	margin-bottom: clamp( 2rem, 4vw, 3rem );
}

.campussphere-capabilities__tile {
	--cap-accent: #2563eb;
	--cap-soft: #f8fafc;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	grid-column: span 3;
	min-height: 168px;
	padding: 1.35rem 1.25rem 1.25rem;
	overflow: hidden;
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 1.125rem;
	background: #fff;
	box-shadow:
		0 1px 2px rgba( 15, 23, 42, 0.03 ),
		0 8px 24px rgba( 15, 23, 42, 0.04 );
	transition:
		transform 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
	will-change: transform;
}

.campussphere-capabilities__tile--tall {
	grid-column: span 4;
	grid-row: span 2;
	min-height: 100%;
}

.campussphere-capabilities__tile--wide {
	grid-column: span 5;
}

.campussphere-capabilities__tile--feature {
	grid-column: span 6;
}

.campussphere-capabilities__tile--banner {
	grid-column: 1 / -1;
	flex-direction: row;
	align-items: center;
	gap: 1.25rem;
	min-height: auto;
	padding: 1.5rem 1.75rem;
	border-style: dashed;
}

.campussphere-capabilities__tile--banner .campussphere-capabilities__body {
	flex: 1;
}

.campussphere-capabilities__tile::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: var( --cap-accent );
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

.campussphere-capabilities__tile::after {
	content: "";
	position: absolute;
	inset: auto -20% -40% -20%;
	height: 55%;
	background: radial-gradient( circle, color-mix( in srgb, var( --cap-accent ) 12%, transparent ), transparent 68% );
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}

.campussphere-capabilities__tile:hover {
	transform: translateY( -6px );
	border-color: color-mix( in srgb, var( --cap-accent ) 22%, rgba( 148, 163, 184, 0.14 ) );
	box-shadow:
		0 1px 2px rgba( 15, 23, 42, 0.04 ),
		0 20px 40px rgba( 15, 23, 42, 0.08 ),
		0 0 0 1px color-mix( in srgb, var( --cap-accent ) 8%, transparent );
}

.campussphere-capabilities__tile:hover::before {
	opacity: 1;
}

.campussphere-capabilities__tile:hover::after {
	opacity: 1;
}

.campussphere-capabilities__tile:focus-within {
	outline: 3px solid color-mix( in srgb, var( --cap-accent ) 35%, transparent );
	outline-offset: 2px;
}

.campussphere-capabilities__tile:hover .campussphere-capabilities__icon {
	transform: scale( 1.05 );
}

.campussphere-capabilities__tile-label {
	margin: 0;
	color: color-mix( in srgb, var( --cap-accent ) 75%, #64748b );
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-capabilities__icon {
	display: block;
	width: 3.25rem;
	height: 3.25rem;
	flex: 0 0 auto;
	border: 1px solid color-mix( in srgb, var( --cap-accent ) 12%, transparent );
	border-radius: 0.95rem;
	background: var( --cap-soft );
	color: var( --cap-accent );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.95 );
	transition: transform 0.2s ease;
}

.campussphere-capabilities__icon::before {
	content: "";
	display: block;
	width: 1.55rem;
	height: 1.55rem;
	margin: 0.85rem;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.campussphere-capabilities__body {
	display: grid;
	gap: 0.35rem;
	min-width: 0;
	flex: 1;
}

.campussphere-capabilities__tile h4,
.campussphere-capabilities__tile h3 {
	margin: 0;
	color: #0f172a;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.wp-block-post-content .campussphere-capabilities__body > p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.8125rem;
	line-height: 1.5;
}

.campussphere-capabilities__badge {
	display: inline-flex;
	align-self: flex-start;
	margin-top: 0.35rem;
	padding: 0.28rem 0.55rem;
	border: 1px solid color-mix( in srgb, var( --cap-accent ) 14%, transparent );
	border-radius: 999px;
	background: color-mix( in srgb, var( --cap-accent ) 6%, #fff );
	color: color-mix( in srgb, var( --cap-accent ) 78%, #334155 );
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
}

.campussphere-capabilities__card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.45rem;
	color: var( --cap-accent );
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
}

.campussphere-capabilities__card-link:hover {
	text-decoration: underline;
}

.campussphere-capabilities__card-link:focus-visible {
	outline: 2px solid var( --cap-accent );
	outline-offset: 3px;
	border-radius: 0.25rem;
}

/* Per-module accents */
.campussphere-capabilities__tile--attendance,
.campussphere-capabilities__tile--students {
	--cap-accent: #2563eb;
	--cap-soft: #f8fbff;
}

.campussphere-capabilities__tile--communication {
	--cap-accent: #ea580c;
	--cap-soft: #fffaf5;
}

.campussphere-capabilities__tile--exams,
.campussphere-capabilities__tile--homework,
.campussphere-capabilities__tile--certificates {
	--cap-accent: #7c3aed;
	--cap-soft: #faf8ff;
}

.campussphere-capabilities__tile--fees {
	--cap-accent: #059669;
	--cap-soft: #f7fdfb;
}

.campussphere-capabilities__tile--hr,
.campussphere-capabilities__tile--parent {
	--cap-accent: #4f46e5;
	--cap-soft: #f8f8ff;
}

.campussphere-capabilities__tile--transport {
	--cap-accent: #0d9488;
	--cap-soft: #f6fefe;
}

.campussphere-capabilities__tile--ai {
	--cap-accent: #0891b2;
	--cap-soft: #f6fdff;
}

.campussphere-capabilities__tile--more {
	--cap-accent: #475569;
	--cap-soft: #f8fafc;
}

.campussphere-capabilities__bridge {
	margin-top: clamp( 2rem, 4vw, 3rem );
	padding-top: clamp( 2rem, 4vw, 2.75rem );
	border-top: 1px solid rgba( 148, 163, 184, 0.12 );
	text-align: center;
}

.campussphere-capabilities__bridge-eyebrow {
	margin: 0 0 0.65rem;
	color: #64748b;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.campussphere-capabilities__bridge-lead {
	max-width: 420px;
	margin: 0 auto 1.15rem;
	color: #0f172a;
	font-size: clamp( 1.05rem, 2vw, 1.2rem );
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: -0.02em;
}

.campussphere-capabilities__bridge-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: #4f46e5;
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 0.2s ease, gap 0.2s ease;
}

.campussphere-capabilities__bridge-link:hover {
	color: #4338ca;
	gap: 0.6rem;
}

.campussphere-capabilities__bridge-link:focus-visible {
	outline: 3px solid rgba( 79, 70, 229, 0.35 );
	outline-offset: 4px;
	border-radius: 0.25rem;
}

.campussphere-capabilities__bridge-arrow {
	display: inline-block;
	font-size: 1rem;
	line-height: 1;
	transition: transform 0.2s ease;
}

.campussphere-capabilities__bridge-link:hover .campussphere-capabilities__bridge-arrow {
	transform: translateY( 2px );
}

#campussphere-personas-title {
	scroll-margin-top: 6rem;
}

.campussphere-capabilities__icon--admissions::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 7v5c0 5-3.5 8-8 9-4.5-1-8-4-8-9V7l8-4Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 7v5c0 5-3.5 8-8 9-4.5-1-8-4-8-9V7l8-4Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--students::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--attendance::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3Cpath d='M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3Cpath d='M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--communication::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5Z'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--exams::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='4' y='4' width='16' height='18' rx='2'/%3E%3Cpath d='M8 10h8M8 14h8M8 18h5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='4' y='4' width='16' height='18' rx='2'/%3E%3Cpath d='M8 10h8M8 14h8M8 18h5'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--timetable::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 3v18M15 3v18'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 3v18M15 3v18'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--homework::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h6'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--certificates::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--fees::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M7 15h.01M11 15h2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M7 15h.01M11 15h2'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--hr::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2M2 12h20'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2M2 12h20'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--transport::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6v6M16 6v6'/%3E%3Crect x='3' y='6' width='18' height='11' rx='2'/%3E%3Cpath d='M3 12h18M6 19h.01M18 19h.01'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6v6M16 6v6'/%3E%3Crect x='3' y='6' width='18' height='11' rx='2'/%3E%3Cpath d='M3 12h18M6 19h.01M18 19h.01'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--inventory::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='M3.3 7 12 12l8.7-5M12 22V12'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='M3.3 7 12 12l8.7-5M12 22V12'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--library::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2Z'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--hostel::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9 12 3l9 6v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1Z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9 12 3l9 6v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1Z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--analytics::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m7 16 4-4 3 3 5-6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m7 16 4-4 3 3 5-6'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--ai::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 1.85 6.15L20 10l-6.15 1.85L12 18l-1.85-6.15L4 10l6.15-1.85L12 2Zm7 13 1 2 2 1-2 1-1 2-1-2-2-1 2-1 1-2Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 1.85 6.15L20 10l-6.15 1.85L12 18l-1.85-6.15L4 10l6.15-1.85L12 2Zm7 13 1 2 2 1-2 1-1 2-1-2-2-1 2-1 1-2Z'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--reports::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M8 13h2M8 17h6M12 13h4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M8 13h2M8 17h6M12 13h4'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--parent::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2.5'/%3E%3Cpath d='M10 6h4M11 18h2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2.5'/%3E%3Cpath d='M10 6h4M11 18h2'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--teacher::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2.5'/%3E%3Cpath d='M10 7h4M10 17h4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2.5'/%3E%3Cpath d='M10 7h4M10 17h4'/%3E%3C/svg%3E");
}

.campussphere-capabilities__icon--more::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Cpath d='M17.5 14v7M14 17.5h7'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Cpath d='M17.5 14v7M14 17.5h7'/%3E%3C/svg%3E");
}

.campussphere-capabilities__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1.25rem;
	align-items: center;
	justify-content: center;
	margin-top: 1.25rem;
}

.campussphere-capabilities__button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 48px;
	padding: 0.8rem 1.25rem;
	border-radius: 0.75rem;
	background: #4f46e5;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, background 0.2s ease;
}

.campussphere-capabilities__button:hover {
	transform: translateY( -2px );
	background: #4338ca;
	color: #fff;
}

.campussphere-capabilities__link {
	color: #4f46e5;
	font-weight: 700;
	text-decoration: none;
}

.campussphere-capabilities__link:hover {
	text-decoration: underline;
}

.campussphere-personas {
	background: #fff;
	border-bottom: 1px solid rgba( 148, 163, 184, 0.14 );
}

.campussphere-personas--everyone {
	background:
		linear-gradient( 180deg, #f8fafc 0%, #ffffff 100% );
}

.campussphere-personas__outcome {
	margin: 0;
	color: #64748b;
	font-size: 0.9rem;
	line-height: 1.6;
}

.campussphere-personas__grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-personas__card {
	padding: 1.4rem;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 1.15rem;
	background:
		linear-gradient( 180deg, #ffffff 0%, #f8fafc 100% );
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.campussphere-personas__card:hover {
	transform: translateY( -4px );
	border-color: rgba( 79, 70, 229, 0.28 );
	box-shadow: 0 18px 36px rgba( 15, 23, 42, 0.08 );
}

.campussphere-personas__role {
	margin: 0 0 0.55rem;
	color: #4f46e5;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-personas__card h3 {
	margin: 0 0 1rem;
	font-size: 1.15rem;
	letter-spacing: -0.02em;
}

.campussphere-personas__card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-personas__card li {
	position: relative;
	padding-left: 1.15rem;
	color: #475569;
	font-size: 0.9rem;
	line-height: 1.55;
}

.campussphere-personas__card li + li {
	margin-top: 0.45rem;
}

.campussphere-personas__card li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
}

.campussphere-sphero {
	background:
		radial-gradient( circle at 88% 12%, rgba( 124, 58, 237, 0.16 ), transparent 26% ),
		radial-gradient( circle at 8% 80%, rgba( 37, 99, 235, 0.14 ), transparent 24% ),
		linear-gradient( 155deg, #0b1220 0%, #151f38 55%, #10182c 100% );
	color: #fff;
}

.campussphere-sphero__overline {
	color: #a5b4fc;
}

.campussphere-sphero__title {
	color: #fff;
}

.wp-block-post-content .campussphere-sphero__lead {
	color: #9eafc8 !important;
}

.campussphere-sphero__grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-sphero__card {
	padding: 1.35rem;
	border: 1px solid rgba( 255, 255, 255, 0.1 );
	border-radius: 1.1rem;
	background: rgba( 255, 255, 255, 0.05 );
	transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.campussphere-sphero__card:hover {
	transform: translateY( -4px );
	border-color: rgba( 165, 180, 252, 0.35 );
	background: rgba( 255, 255, 255, 0.08 );
}

.campussphere-sphero__icon {
	position: relative;
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	margin-bottom: 1rem;
	border-radius: 0.7rem;
	background:
		radial-gradient( circle at 30% 30%, rgba( 255, 255, 255, 0.35 ), transparent 45% ),
		linear-gradient( 135deg, #6366f1, #7c3aed );
}

.campussphere-sphero__icon::before {
	content: "";
	position: absolute;
	inset: 0.46rem;
	background: #fff;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.campussphere-sphero__card:nth-child( 1 ) .campussphere-sphero__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18v12H3z'/%3E%3Cpath d='M3 10h18M7 15h5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18v12H3z'/%3E%3Cpath d='M3 10h18M7 15h5'/%3E%3C/svg%3E");
}

.campussphere-sphero__card:nth-child( 2 ) .campussphere-sphero__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v3M18 3v3M4 8h16M5 5h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v3M18 3v3M4 8h16M5 5h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E");
}

.campussphere-sphero__card:nth-child( 3 ) .campussphere-sphero__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h8v9H3zM13 3h8v18h-8z'/%3E%3Cpath d='M7 18v-2M17 18V8'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h8v9H3zM13 3h8v18h-8z'/%3E%3Cpath d='M7 18v-2M17 18V8'/%3E%3C/svg%3E");
}

.campussphere-sphero__card:nth-child( 4 ) .campussphere-sphero__icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H8l-4 4V5Z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H8l-4 4V5Z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E");
}

.campussphere-sphero__card h3 {
	margin: 0 0 0.55rem;
	color: #fff;
	font-size: 1.05rem;
}

.wp-block-post-content .campussphere-sphero__card p {
	margin: 0;
	color: #9eafc8 !important;
	font-size: 0.9rem;
	line-height: 1.6;
}

.campussphere-sphero__cta {
	margin-top: 2rem;
}

.campussphere-sphero__button {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 48px;
	padding: 0.8rem 1.25rem;
	border-radius: 0.75rem;
	background: #fff;
	color: #312e81;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease;
}

.campussphere-sphero__button:hover {
	transform: translateY( -2px );
	color: #312e81;
}

.campussphere-security {
	background:
		radial-gradient( circle at 90% 10%, rgba( 14, 165, 233, 0.08 ), transparent 24% ),
		linear-gradient( 180deg, #f8fafc 0%, #ffffff 100% );
	border-bottom: 1px solid rgba( 148, 163, 184, 0.14 );
}

.campussphere-security__grid,
.campussphere-credibility__grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-security__card,
.campussphere-credibility__card {
	padding: 1.35rem;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 1.1rem;
	background: #fff;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.campussphere-security__card:hover,
.campussphere-credibility__card:hover {
	transform: translateY( -3px );
	border-color: rgba( 37, 99, 235, 0.25 );
	box-shadow: 0 14px 30px rgba( 15, 23, 42, 0.07 );
}

.campussphere-security__card h3,
.campussphere-credibility__card h3 {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
}

.wp-block-post-content .campussphere-security__card p,
.wp-block-post-content .campussphere-credibility__card p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.9rem;
	line-height: 1.6;
}

.campussphere-credibility {
	background: #fff;
	border-top: 1px solid rgba( 148, 163, 184, 0.14 );
}

.campussphere-credibility__card--wide {
	grid-column: span 3;
	background:
		linear-gradient( 135deg, rgba( 239, 246, 255, 0.95 ), rgba( 238, 242, 255, 0.9 ) );
}

.campussphere-mobile-suite__audience-icon--student::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10L12 5 2 10l10 5 10-5Z'/%3E%3Cpath d='M6 12v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10L12 5 2 10l10 5 10-5Z'/%3E%3Cpath d='M6 12v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E");
}

@media ( max-width: 1100px ) {
	.campussphere-capabilities__spotlight {
		grid-template-columns: 1fr;
	}

	.campussphere-capabilities__spotlight-visual {
		order: -1;
	}

	.campussphere-capabilities__automation-list {
		grid-template-columns: 1fr;
	}

	.campussphere-capabilities__modules {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.campussphere-capabilities__bento {
		grid-template-columns: repeat( 6, minmax( 0, 1fr ) );
	}

	.campussphere-capabilities__tile,
	.campussphere-capabilities__tile--tall,
	.campussphere-capabilities__tile--wide,
	.campussphere-capabilities__tile--feature {
		grid-column: span 3;
		grid-row: auto;
	}

	.campussphere-capabilities__tile--banner {
		grid-column: 1 / -1;
		flex-direction: column;
		align-items: flex-start;
	}

	.campussphere-personas__grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 860px ) {
	.campussphere-capabilities__bento {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.campussphere-capabilities__tile,
	.campussphere-capabilities__tile--tall,
	.campussphere-capabilities__tile--wide,
	.campussphere-capabilities__tile--feature,
	.campussphere-capabilities__tile--banner {
		grid-column: span 1;
		grid-row: auto;
	}

	.campussphere-capabilities__flows-tabs {
		width: 100%;
		border-radius: 1rem;
	}

	.campussphere-capabilities__flows-tab {
		flex: 1 1 auto;
		text-align: center;
	}

	.campussphere-sphero__grid,
	.campussphere-security__grid,
	.campussphere-credibility__grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.campussphere-credibility__card--wide {
		grid-column: span 2;
	}
}

@media ( max-width: 1024px ) and ( min-width: 601px ) {
	.campussphere-capabilities__pipeline-track {
		padding-bottom: 0.4rem;
	}

	.campussphere-capabilities__pipeline-rail {
		display: none;
	}

	.campussphere-capabilities__pipeline {
		grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	}

	.campussphere-capabilities__pipeline::before,
	.campussphere-capabilities__pipeline::after {
		content: "";
		position: absolute;
		right: 12.5%;
		left: 12.5%;
		z-index: 0;
		height: var( --pipe-line-h );
		border-radius: 999px;
		background: linear-gradient( 90deg, #2563eb 0%, #6366f1 52%, #7c3aed 100% );
		opacity: 0.28;
		pointer-events: none;
	}

	.campussphere-capabilities__pipeline::before {
		top: calc( ( var( --pipe-dot-size ) - var( --pipe-line-h ) ) / 2 );
	}

	.campussphere-capabilities__pipeline::after {
		top: calc( var( --pipe-node-h ) + var( --pipe-row-gap ) + ( var( --pipe-dot-size ) - var( --pipe-line-h ) ) / 2 );
	}

	.campussphere-capabilities__pipe-node {
		position: relative;
		z-index: 1;
	}

	.campussphere-capabilities__pipe-label {
		max-width: 8.5rem;
	}
}

@media ( max-width: 600px ) {
	.campussphere-capabilities__pipeline-rail {
		display: none;
	}

	.campussphere-capabilities__pipeline {
		grid-template-columns: 1fr;
		row-gap: 1rem;
	}

	.campussphere-capabilities__pipeline::before {
		content: "";
		position: absolute;
		top: calc( var( --pipe-dot-size ) / 2 );
		bottom: calc( var( --pipe-dot-size ) / 2 );
		left: 50%;
		z-index: 0;
		width: var( --pipe-line-h );
		border-radius: 999px;
		background: linear-gradient( 180deg, #2563eb 0%, #6366f1 52%, #7c3aed 100% );
		transform: translateX( -50% );
		opacity: 0.28;
		pointer-events: none;
	}

	.campussphere-capabilities__pipeline::after {
		display: none;
	}

	.campussphere-capabilities__pipe-node {
		position: relative;
		z-index: 1;
	}

	.campussphere-capabilities__pipe-label {
		max-width: 13rem;
	}

	.campussphere-capabilities__flow-steps {
		flex-direction: column;
		align-items: stretch;
	}

	.campussphere-capabilities__flow-arrow {
		align-self: center;
		transform: rotate( 90deg );
	}

	.campussphere-capabilities__modules,
	.campussphere-capabilities__bento,
	.campussphere-personas__grid,
	.campussphere-sphero__grid,
	.campussphere-security__grid,
	.campussphere-credibility__grid {
		grid-template-columns: 1fr;
	}

	.campussphere-capabilities__tile--banner {
		flex-direction: column;
	}

	.campussphere-credibility__card--wide {
		grid-column: span 1;
	}
}

@media ( min-width: 1101px ) {
	.campussphere-capabilities__tile--attendance {
		grid-column: 1 / span 4;
		grid-row: span 2;
	}

	.campussphere-capabilities__tile--communication {
		grid-column: 5 / span 4;
	}

	.campussphere-capabilities__tile--exams {
		grid-column: 9 / span 4;
	}

	.campussphere-capabilities__tile--fees {
		grid-column: 5 / span 4;
	}

	.campussphere-capabilities__tile--homework {
		grid-column: 9 / span 4;
	}

	.campussphere-capabilities__tile--ai {
		grid-column: 1 / span 6;
	}

	.campussphere-capabilities__tile--students {
		grid-column: 7 / span 3;
	}

	.campussphere-capabilities__tile--transport {
		grid-column: 10 / span 3;
	}

	.campussphere-capabilities__tile--hr {
		grid-column: 1 / span 4;
	}

	.campussphere-capabilities__tile--parent {
		grid-column: 5 / span 4;
	}

	.campussphere-capabilities__tile--certificates {
		grid-column: 9 / span 4;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.campussphere-capabilities__orb,
	.campussphere-capabilities__pipe-node,
	.campussphere-capabilities__pipe-dot {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.campussphere-capabilities__pipeline-progress {
		width: 100% !important;
		animation: none !important;
	}

	.campussphere-capabilities__pipeline-progress::after {
		opacity: 1 !important;
	}

	.campussphere-capabilities__pipe-node.is-lit .campussphere-capabilities__pipe-dot {
		border-color: var( --pipe-accent );
		background: var( --pipe-soft );
		box-shadow:
			0 0 0 4px #fff,
			0 0 0 5px var( --pipe-accent );
		transform: scale( 1.15 );
		animation: none !important;
	}

	.campussphere-capabilities__module,
	.campussphere-capabilities__tile,
	.campussphere-capabilities__stat,
	.campussphere-capabilities__icon,
	.campussphere-capabilities__bridge-link,
	.campussphere-capabilities__automation-list li,
	.campussphere-personas__card,
	.campussphere-sphero__card,
	.campussphere-security__card,
	.campussphere-credibility__card,
	.campussphere-capabilities__button,
	.campussphere-sphero__button {
		transition: none !important;
		transform: none !important;
	}

	.campussphere-capabilities .campussphere-reveal {
		opacity: 1;
		transform: none;
		transition: none;
		animation: none !important;
	}
}

/* ============================================================
   Contact / Book Demo page
   ============================================================ */

.campussphere-inner-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient( ellipse 80% 60% at 10% 0%, rgba( 37, 99, 235, 0.12 ), transparent 55% ),
		radial-gradient( ellipse 70% 50% at 90% 100%, rgba( 14, 165, 233, 0.1 ), transparent 50% ),
		linear-gradient( 180deg, #eef5ff 0%, #f8fafc 100% ) !important;
}

.campussphere-inner-hero > .wp-block-heading,
.campussphere-inner-hero > .wp-block-paragraph,
.campussphere-inner-hero > .wp-block-buttons {
	max-width: 760px;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
}

.campussphere-inner-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient( rgba( 37, 99, 235, 0.07 ) 1px, transparent 1px );
	background-size: 22px 22px;
	pointer-events: none;
	opacity: 0.7;
}

.campussphere-inner-hero > * {
	position: relative;
	z-index: 1;
}

.campussphere-contact__channel-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 16px;
}

@media ( max-width: 1100px ) {
	.campussphere-contact__channel-grid {
		grid-template-columns: 1fr;
	}
}

.campussphere-contact__channel {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 22px 22px 20px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
	animation: campussphere-contact-rise 0.55s ease both;
}

.campussphere-contact__channel:nth-child( 2 ) {
	animation-delay: 0.08s;
}

.campussphere-contact__channel:nth-child( 3 ) {
	animation-delay: 0.16s;
}

a.campussphere-contact__channel:hover {
	border-color: #93c5fd;
	box-shadow: 0 10px 28px rgba( 37, 99, 235, 0.1 );
	transform: translateY( -2px );
}

.campussphere-contact__channel-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 10px;
	border-radius: 11px;
	background: #eff6ff;
	color: #2563eb;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
}

.campussphere-contact__channel-icon--email {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

.campussphere-contact__channel-icon--phone {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.campussphere-contact__channel-icon--office {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.campussphere-contact__channel-label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #64748b;
}

.campussphere-contact__channel-value {
	font-size: 1.0625rem;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.35;
}

.campussphere-contact__channel-meta {
	font-size: 0.875rem;
	color: #64748b;
	line-height: 1.45;
}

.campussphere-contact__split {
	align-items: start !important;
}

.campussphere-contact__form-col .campussphere-demo-form-wrap--card {
	max-width: none;
	margin-inline: 0;
	animation: campussphere-contact-rise 0.6s ease 0.1s both;
}

.campussphere-contact__aside {
	padding: 8px 4px 0;
	animation: campussphere-contact-rise 0.6s ease 0.18s both;
}

.campussphere-contact__aside-overline {
	margin: 0 0 10px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2563eb;
}

.campussphere-contact__aside-title {
	margin: 0 0 28px;
	font-size: clamp( 1.35rem, 2.4vw, 1.75rem );
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #0f172a;
}

.campussphere-contact__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.campussphere-contact__steps li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.campussphere-contact__step-num {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #2563eb;
	color: #ffffff;
	font-size: 0.8125rem;
	font-weight: 800;
}

.campussphere-contact__steps strong {
	display: block;
	font-size: 0.975rem;
	color: #0f172a;
	margin-bottom: 4px;
}

.campussphere-contact__steps p {
	margin: 0;
	font-size: 0.9rem;
	color: #64748b;
	line-height: 1.55;
}

.campussphere-contact__trust {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 12px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid #e2e8f0;
}

.campussphere-contact__trust div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.campussphere-contact__trust strong {
	font-size: 1.125rem;
	font-weight: 800;
	color: #0f172a;
}

.campussphere-contact__trust span {
	font-size: 0.75rem;
	color: #64748b;
	line-height: 1.35;
}

.campussphere-contact__aside-cta {
	display: inline-block;
	margin-top: 28px;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #2563eb;
	text-decoration: none;
	transition: color 0.15s ease;
}

.campussphere-contact__aside-cta:hover {
	color: #1d4ed8;
}

.campussphere-contact__checklist {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.campussphere-contact__checklist li {
	position: relative;
	padding-left: 28px;
	font-size: 0.975rem;
	color: #334155;
	line-height: 1.5;
}

.campussphere-contact__checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #dbeafe;
	box-shadow: inset 0 0 0 4px #2563eb;
}

.campussphere-contact__aside-note {
	margin: 0;
	font-size: 0.9rem;
	color: #64748b;
	line-height: 1.6;
}

.campussphere-contact__aside-note a {
	color: #2563eb;
	font-weight: 600;
	text-decoration: none;
}

.campussphere-contact__aside-note a:hover {
	text-decoration: underline;
}

@keyframes campussphere-contact-rise {
	from {
		opacity: 0;
		transform: translateY( 14px );
	}
	to {
		opacity: 1;
		transform: translateY( 0 );
	}
}

@media ( max-width: 900px ) {
	.campussphere-contact__trust {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.campussphere-contact__aside {
		margin-top: 32px;
		padding: 0;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.campussphere-contact__channel,
	.campussphere-contact__form-col .campussphere-demo-form-wrap--card,
	.campussphere-contact__aside {
		animation: none !important;
	}
}

/* ============================================================
   Website design services
   ============================================================ */

.campussphere-web-design {
	--web-ink: #0b1930;
	--web-blue: #1d4ed8;
	--web-cyan: #06b6d4;
	--web-line: rgba( 148, 163, 184, 0.22 );
	margin-block-start: 0 !important;
	color: var( --web-ink );
	background: #fff;
	font-family: var( --campussphere-font-sans, "Inter", ui-sans-serif, system-ui, sans-serif );
}

.campussphere-web-design + .campussphere-cta-banner {
	margin-block-start: 0 !important;
}

.campussphere-web-design *,
.campussphere-web-design *::before,
.campussphere-web-design *::after {
	box-sizing: border-box;
}

.campussphere-web-design__hero {
	position: relative;
	overflow: hidden;
	padding: clamp( 2.25rem, 4vw, 3.75rem ) clamp( 1.25rem, 4vw, 3rem ) clamp( 4.5rem, 7vw, 7rem );
	background:
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.94 ), rgba( 255, 255, 255, 0.65 ) 48%, transparent ),
		radial-gradient( circle at 84% 18%, rgba( 6, 182, 212, 0.14 ), transparent 26% ),
		radial-gradient( circle at 5% 70%, rgba( 37, 99, 235, 0.1 ), transparent 25% ),
		#f7faff;
}

.campussphere-web-design__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient( rgba( 37, 99, 235, 0.035 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 37, 99, 235, 0.035 ) 1px, transparent 1px );
	background-size: 48px 48px;
	mask-image: linear-gradient( to right, #000, transparent 65% );
	pointer-events: none;
}

.campussphere-web-design__hero-inner,
.campussphere-web-design__outcomes-inner,
.campussphere-web-design__strategy,
.campussphere-web-design__deliverables,
.campussphere-web-design__process {
	width: min( 1180px, 100% );
	margin-inline: auto;
}

.campussphere-web-design__hero-inner {
	display: grid;
	grid-template-columns: minmax( 0, 0.88fr ) minmax( 480px, 1.12fr );
	gap: clamp( 3rem, 7vw, 7rem );
	align-items: center;
	position: relative;
	z-index: 1;
}

.campussphere-web-design__hero-copy {
	max-width: 650px;
}

.campussphere-web-design__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1.25rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.campussphere-web-design__eyebrow > span {
	width: 1.75rem;
	height: 2px;
	background: linear-gradient( 90deg, var( --web-blue ), var( --web-cyan ) );
}

.campussphere-web-design__hero h1,
.campussphere-web-design__section-heading h2,
.campussphere-web-design__process-intro h2 {
	margin: 0;
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -0.035em;
}

.campussphere-web-design__hero h1 {
	max-width: 700px;
	font-size: clamp( 2rem, 3.8vw, 3.25rem );
	line-height: 1.08;
}

.campussphere-web-design__hero h1 em {
	display: block;
	color: var( --web-blue );
	font-style: normal;
}

.campussphere-web-design__hero-lede {
	max-width: 610px;
	margin: 1.25rem 0 0;
	color: #526278;
	font-size: clamp( 1rem, 1.3vw, 1.075rem );
	line-height: 1.65;
}

.campussphere-web-design__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.campussphere-web-design__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	min-height: 52px;
	padding: 0.9rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 0.75rem;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.campussphere-web-design__button:hover {
	transform: translateY( -2px );
}

.campussphere-web-design a:focus-visible {
	outline: 3px solid #f59e0b;
	outline-offset: 4px;
}

.campussphere-web-design__button--primary {
	background: linear-gradient( 135deg, #1d4ed8, #2563eb );
	box-shadow: 0 0.85rem 1.8rem rgba( 37, 99, 235, 0.22 );
	color: #fff;
}

.campussphere-web-design__button--secondary {
	border-color: #d7e0ec;
	background: rgba( 255, 255, 255, 0.74 );
	color: #1e293b;
}

.campussphere-web-design__assurances {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.25rem;
	margin: 1.5rem 0 0;
	padding: 0 !important;
	color: #526278;
	font-size: 0.82rem;
	font-weight: 650;
	list-style: none !important;
}

.campussphere-web-design__assurances li {
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

.campussphere-web-design__assurances li::before {
	content: "✓";
	display: grid;
	width: 1.15rem;
	height: 1.15rem;
	place-items: center;
	border-radius: 50%;
	background: #dcfce7;
	color: #15803d;
	font-size: 0.65rem;
	font-weight: 900;
}

.campussphere-web-design__visual {
	position: relative;
	padding: 1.25rem 0 1.5rem;
	perspective: 1200px;
}

.campussphere-web-design__browser {
	overflow: hidden;
	border: 1px solid rgba( 148, 163, 184, 0.28 );
	border-radius: 1.15rem;
	background: #fff;
	box-shadow:
		0 2.5rem 5rem rgba( 15, 23, 42, 0.18 ),
		0 0 0 0.55rem rgba( 255, 255, 255, 0.6 );
	transform: rotateY( -2deg ) rotateX( 1deg );
	animation: campussphere-web-float 6s ease-in-out infinite;
}

.campussphere-web-design__browser-bar {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	height: 2.45rem;
	padding: 0 0.75rem;
	border-bottom: 1px solid #e8edf4;
	background: #f8fafc;
}

.campussphere-web-design__browser-bar > span {
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 50%;
	background: #cbd5e1;
}

.campussphere-web-design__browser-bar > span:first-child { background: #fb7185; }
.campussphere-web-design__browser-bar > span:nth-child( 2 ) { background: #fbbf24; }
.campussphere-web-design__browser-bar > span:nth-child( 3 ) { background: #4ade80; }

.campussphere-web-design__address {
	width: 45%;
	margin: 0 auto;
	padding: 0.3rem 0.7rem;
	border-radius: 0.3rem;
	background: #eef2f7;
	color: #94a3b8;
	font-size: 0.56rem;
	text-align: center;
}

.campussphere-web-design__browser-page {
	min-height: 390px;
	background: #fffdf8;
}

.campussphere-web-design__demo-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
}

.campussphere-web-design__demo-logo {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	color: #17345f;
}

.campussphere-web-design__demo-logo span {
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 50%;
	background: #17345f;
	color: #fff;
	font-size: 0.58rem;
	font-weight: 800;
}

.campussphere-web-design__demo-logo strong {
	font-family: inherit;
	font-size: 0.62rem;
	letter-spacing: 0.02em;
	line-height: 1.05;
	text-transform: uppercase;
}

.campussphere-web-design__demo-links {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.campussphere-web-design__demo-links i {
	width: 1.65rem;
	height: 0.2rem;
	border-radius: 1rem;
	background: #cad4df;
}

.campussphere-web-design__demo-links b {
	padding: 0.45rem 0.7rem;
	border-radius: 0.3rem;
	background: #e99f32;
	color: #fff;
	font-size: 0.52rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.campussphere-web-design__demo-hero {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	min-height: 250px;
	overflow: hidden;
	background: #17345f;
}

.campussphere-web-design__demo-copy {
	padding: clamp( 1.6rem, 4vw, 2.8rem );
	color: #fff;
}

.campussphere-web-design__demo-copy small {
	color: #f8c773;
	font-size: 0.52rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.campussphere-web-design__demo-copy strong {
	display: block;
	margin-top: 0.75rem;
	font-family: inherit;
	font-size: clamp( 1.2rem, 2.5vw, 1.85rem );
	font-weight: 500;
	line-height: 1.13;
}

.campussphere-web-design__demo-copy p {
	margin: 0.65rem 0 1rem;
	color: rgba( 255, 255, 255, 0.68 );
	font-size: 0.63rem;
}

.campussphere-web-design__demo-copy > span {
	padding-bottom: 0.22rem;
	border-bottom: 1px solid #f8c773;
	color: #f8c773;
	font-size: 0.58rem;
	font-weight: 700;
}

.campussphere-web-design__demo-art {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient( 145deg, transparent 47%, rgba( 255, 255, 255, 0.1 ) 48% ),
		linear-gradient( 135deg, #f9c66b, #e99f32 );
}

.campussphere-web-design__sun {
	position: absolute;
	top: 14%;
	right: 15%;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 50%;
	background: rgba( 255, 248, 220, 0.62 );
}

.campussphere-web-design__student {
	display: grid;
	position: absolute;
	right: 16%;
	bottom: -10%;
	width: 9rem;
	height: 11rem;
	place-items: center;
	border: 0.8rem solid rgba( 255, 255, 255, 0.7 );
	border-radius: 5rem 5rem 1rem 1rem;
	background: #e5eef9;
	box-shadow: 0 0 0 0.6rem rgba( 23, 52, 95, 0.18 );
	color: #17345f;
	font-family: inherit;
	font-size: 2.2rem;
	font-weight: 800;
}

.campussphere-web-design__demo-stats {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	background: #fff;
}

.campussphere-web-design__demo-stats div {
	padding: 1rem 0.65rem;
	border-right: 1px solid #e8edf4;
	text-align: center;
}

.campussphere-web-design__demo-stats div:last-child { border-right: 0; }

.campussphere-web-design__demo-stats strong {
	display: block;
	color: #17345f;
	font-family: inherit;
	font-size: 1rem;
}

.campussphere-web-design__demo-stats span {
	color: #778397;
	font-size: 0.5rem;
}

.campussphere-web-design__float-card {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	position: absolute;
	padding: 0.75rem 0.9rem;
	border: 1px solid rgba( 148, 163, 184, 0.23 );
	border-radius: 0.85rem;
	background: rgba( 255, 255, 255, 0.94 );
	box-shadow: 0 1rem 2.4rem rgba( 15, 23, 42, 0.15 );
	backdrop-filter: blur( 10px );
}

.campussphere-web-design__float-card > span {
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 0.55rem;
	background: #dbeafe;
	color: #1d4ed8;
	font-weight: 900;
}

.campussphere-web-design__float-card strong,
.campussphere-web-design__float-card small {
	display: block;
	white-space: nowrap;
}

.campussphere-web-design__float-card strong { font-size: 0.72rem; }
.campussphere-web-design__float-card small { margin-top: 0.1rem; color: #64748b; font-size: 0.58rem; }
.campussphere-web-design__float-card--enquiry { right: -1.5rem; bottom: 0; }
.campussphere-web-design__float-card--mobile { top: 0; left: -1.8rem; }
.campussphere-web-design__float-card--mobile > span { background: #dcfce7; color: #15803d; }

.campussphere-web-design__outcomes {
	padding: 0 clamp( 1.25rem, 4vw, 3rem );
	border-top: 1px solid var( --web-line );
	border-bottom: 1px solid var( --web-line );
	background: #fff;
}

.campussphere-web-design__outcomes-inner {
	display: grid;
	grid-template-columns: 0.85fr repeat( 3, 1fr );
	align-items: stretch;
}

.campussphere-web-design__outcomes-inner > p,
.campussphere-web-design__outcomes-inner > div {
	display: flex;
	align-items: center;
	min-height: 96px;
	margin: 0;
	padding: 1.25rem clamp( 0.75rem, 2vw, 1.5rem );
	border-right: 1px solid var( --web-line );
}

.campussphere-web-design__outcomes-inner > p {
	padding-left: 0;
	color: #64748b;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-web-design__outcomes-inner > div:last-child { border-right: 0; }

.campussphere-web-design__outcomes-inner span {
	margin-right: 0.8rem;
	color: #93a4ba;
	font-size: 0.68rem;
	font-weight: 800;
}

.campussphere-web-design__outcomes-inner strong {
	font-size: 0.95rem;
	letter-spacing: -0.02em;
}

.campussphere-web-design__strategy,
.campussphere-web-design__deliverables,
.campussphere-web-design__process {
	padding: clamp( 5rem, 9vw, 8rem ) 0;
}

.campussphere-web-design__strategy {
	padding-right: clamp( 1.25rem, 4vw, 3rem );
	padding-left: clamp( 1.25rem, 4vw, 3rem );
}

.campussphere-web-design__section-heading {
	display: grid;
	grid-template-columns: minmax( 0, 1.08fr ) minmax( 280px, 0.72fr );
	gap: clamp( 2rem, 8vw, 8rem );
	align-items: end;
}

.campussphere-web-design__section-heading h2,
.campussphere-web-design__process-intro h2 {
	max-width: 690px;
	font-size: clamp( 1.85rem, 3.5vw, 2.65rem );
	line-height: 1.15;
}

.campussphere-web-design__section-heading > p,
.campussphere-web-design__process-intro > p {
	margin: 0;
	color: #64748b;
	font-size: 1.02rem;
	line-height: 1.75;
}

.campussphere-web-design__journey {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 1px;
	margin-top: clamp( 3rem, 6vw, 5rem );
	overflow: hidden;
	border: 1px solid var( --web-line );
	border-radius: 1.25rem;
	background: var( --web-line );
}

.campussphere-web-design__journey article {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.2rem;
	min-height: 280px;
	padding: clamp( 1.5rem, 3vw, 2.25rem );
	background: #fff;
	transition: background 0.25s ease, transform 0.25s ease;
}

.campussphere-web-design__journey article:hover { background: #f8fbff; }

.campussphere-web-design__journey-icon {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	border-radius: 0.75rem;
	background: #eff6ff;
	color: #2563eb;
	font-size: 0.68rem;
	font-weight: 800;
}

.campussphere-web-design__journey small {
	color: #2563eb;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-web-design__journey h3,
.campussphere-web-design__deliverable-grid h3,
.campussphere-web-design__process-list h3 {
	margin: 0.65rem 0;
	font-size: 1.25rem;
	letter-spacing: -0.025em;
}

.campussphere-web-design__journey p,
.campussphere-web-design__deliverable-grid p,
.campussphere-web-design__process-list p {
	margin: 0;
	color: #64748b;
	font-size: 0.91rem;
	line-height: 1.7;
}

.campussphere-web-design__deliverables {
	width: 100%;
	max-width: none;
	padding-right: max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
	padding-left: max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
	background:
		radial-gradient( circle at 90% 0%, rgba( 37, 99, 235, 0.16 ), transparent 30% ),
		#08182e;
	color: #fff;
}

.campussphere-web-design__section-heading--light h2 { color: #fff; }
.campussphere-web-design__section-heading--light > p { color: #9cafc7; }
.campussphere-web-design__section-heading--light .campussphere-web-design__eyebrow { color: #67e8f9; }

.campussphere-web-design__deliverable-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 1rem;
	margin-top: clamp( 3rem, 6vw, 5rem );
}

.campussphere-web-design__deliverable-grid article {
	min-height: 245px;
	padding: clamp( 1.5rem, 3vw, 2rem );
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 1.1rem;
	background: rgba( 255, 255, 255, 0.045 );
	transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.campussphere-web-design__deliverable-grid article:hover {
	transform: translateY( -4px );
	border-color: rgba( 103, 232, 249, 0.45 );
	background: rgba( 255, 255, 255, 0.075 );
}

.campussphere-web-design__deliverable-grid article > span {
	display: inline-grid;
	min-width: 2.6rem;
	height: 2.6rem;
	padding: 0 0.55rem;
	place-items: center;
	border-radius: 0.7rem;
	background: rgba( 37, 99, 235, 0.22 );
	color: #67e8f9;
	font-size: 0.63rem;
	font-weight: 800;
	letter-spacing: 0.06em;
}

.campussphere-web-design__deliverable-grid h3 {
	margin-top: 1.6rem;
	color: #fff;
}

.campussphere-web-design__deliverable-grid p { color: #9cafc7; }

.campussphere-web-design__process {
	display: grid;
	grid-template-columns: minmax( 280px, 0.8fr ) minmax( 0, 1.2fr );
	gap: clamp( 3rem, 9vw, 9rem );
	padding-right: clamp( 1.25rem, 4vw, 3rem );
	padding-left: clamp( 1.25rem, 4vw, 3rem );
	scroll-margin-top: 7rem;
}

.campussphere-web-design__process-intro > p { margin-top: 1.5rem; }

.campussphere-web-design__process-intro > a {
	display: inline-flex;
	gap: 0.65rem;
	margin-top: 1.75rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid #2563eb;
	color: #1d4ed8;
	font-weight: 700;
	text-decoration: none;
}

.campussphere-web-design__process-list {
	margin: 0;
	padding: 0 !important;
	list-style: none !important;
}

.campussphere-web-design__process-list li {
	display: grid;
	grid-template-columns: 3rem 1fr;
	gap: 1.2rem;
	position: relative;
	padding: 0 0 2rem;
}

.campussphere-web-design__process-list li::before {
	content: "";
	position: absolute;
	top: 2.35rem;
	bottom: 0.25rem;
	left: 1.25rem;
	width: 1px;
	background: #dbe4ef;
}

.campussphere-web-design__process-list li:last-child { padding-bottom: 0; }
.campussphere-web-design__process-list li:last-child::before { display: none; }

.campussphere-web-design__process-list li > span {
	display: grid;
	position: relative;
	z-index: 1;
	width: 2.55rem;
	height: 2.55rem;
	place-items: center;
	border: 1px solid #bfdbfe;
	border-radius: 50%;
	background: #eff6ff;
	color: #2563eb;
	font-size: 0.67rem;
	font-weight: 800;
}

.campussphere-web-design__process-list h3 { margin-top: 0.45rem; }

@keyframes campussphere-web-float {
	0%,
	100% { transform: rotateY( -2deg ) rotateX( 1deg ) translateY( 0 ); }
	50% { transform: rotateY( -2deg ) rotateX( 1deg ) translateY( -8px ); }
}

@media ( max-width: 1050px ) {
	.campussphere-web-design__hero-inner {
		grid-template-columns: 1fr;
	}

	.campussphere-web-design__hero-copy {
		max-width: 760px;
		text-align: center;
		justify-self: center;
	}

	.campussphere-web-design__eyebrow,
	.campussphere-web-design__actions,
	.campussphere-web-design__assurances {
		justify-content: center;
	}

	.campussphere-web-design__visual {
		width: min( 720px, 95% );
		margin: 0 auto;
	}

	.campussphere-web-design__outcomes-inner {
		grid-template-columns: repeat( 3, 1fr );
	}

	.campussphere-web-design__outcomes-inner > p {
		display: none;
	}

	.campussphere-web-design__journey {
		grid-template-columns: 1fr;
	}

	.campussphere-web-design__journey article {
		min-height: auto;
	}

	.campussphere-web-design__deliverable-grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media ( max-width: 760px ) {
	.campussphere-web-design__hero {
		padding-top: 2rem;
	}

	.campussphere-web-design__hero h1 {
		font-size: clamp( 2rem, 8vw, 2.75rem );
	}

	.campussphere-web-design__float-card {
		display: none;
	}

	.campussphere-web-design__visual {
		width: 100%;
		padding: 0;
	}

	.campussphere-web-design__browser {
		transform: none;
	}

	.campussphere-web-design__demo-links i { display: none; }
	.campussphere-web-design__demo-hero { min-height: 220px; }
	.campussphere-web-design__demo-copy { padding: 1.4rem; }

	.campussphere-web-design__outcomes-inner {
		grid-template-columns: 1fr;
	}

	.campussphere-web-design__outcomes-inner > div {
		min-height: 72px;
		padding-left: 0;
		border-right: 0;
		border-bottom: 1px solid var( --web-line );
	}

	.campussphere-web-design__outcomes-inner > div:last-child { border-bottom: 0; }

	.campussphere-web-design__section-heading,
	.campussphere-web-design__process {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.campussphere-web-design__deliverable-grid {
		grid-template-columns: 1fr;
	}

	.campussphere-web-design__deliverable-grid article {
		min-height: auto;
	}
}

@media ( max-width: 520px ) {
	.campussphere-web-design__actions,
	.campussphere-web-design__button {
		width: 100%;
	}

	.campussphere-web-design__assurances {
		align-items: flex-start;
		flex-direction: column;
	}

	.campussphere-web-design__browser-page { min-height: auto; }
	.campussphere-web-design__demo-hero { grid-template-columns: 1fr; }
	.campussphere-web-design__demo-art { display: none; }
	.campussphere-web-design__demo-stats span { display: none; }
}

@media ( prefers-reduced-motion: reduce ) {
	.campussphere-web-design__browser {
		animation: none;
	}

	.campussphere-web-design__button,
	.campussphere-web-design__journey article,
	.campussphere-web-design__deliverable-grid article {
		transition: none;
	}
}

.campussphere-web-design__seo {
	padding: clamp( 4rem, 7vw, 6rem ) clamp( 1.25rem, 4vw, 3rem );
	background: linear-gradient( 180deg, #ffffff 0%, #f8fbff 100% );
	border-block: 1px solid rgba( 148, 163, 184, 0.12 );
}

.campussphere-web-design__seo-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
	margin-top: clamp( 2rem, 4vw, 3rem );
}

.campussphere-web-design__seo-grid article,
.campussphere-web-design__seo-types {
	padding: 1.35rem 1.4rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: #ffffff;
	box-shadow: 0 12px 32px rgba( 15, 23, 42, 0.05 );
}

.campussphere-web-design__seo-types {
	margin-top: 1rem;
}

.campussphere-web-design__seo-grid h3,
.campussphere-web-design__seo-types h3 {
	margin: 0;
	color: #0f172a;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
}

.campussphere-web-design__seo-grid p {
	margin: 0.65rem 0 0;
	color: #64748b;
	font-size: 0.94rem;
	line-height: 1.65;
}

.campussphere-web-design__seo-types ul {
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.75rem;
}

.campussphere-web-design__seo-types li {
	color: #64748b;
	font-size: 0.94rem;
	line-height: 1.65;
}

.campussphere-web-design__seo-types strong {
	color: #0f172a;
}

.campussphere-web-design__seo-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.5rem;
}

.campussphere-web-design__seo-links a {
	display: inline-flex;
	align-items: center;
	padding: 0.72rem 1.1rem;
	border: 1px solid rgba( 37, 99, 235, 0.18 );
	border-radius: 999px;
	background: #ffffff;
	color: #1d4ed8;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.campussphere-web-design__seo-links a:hover {
	transform: translateY( -2px );
	border-color: rgba( 37, 99, 235, 0.32 );
	box-shadow: 0 12px 28px rgba( 37, 99, 235, 0.12 );
}

.campussphere-web-design__faq-wrap {
	padding: clamp( 4rem, 7vw, 5rem ) clamp( 1.25rem, 4vw, 3rem ) 1.5rem;
	background: #f8fbff;
}

.campussphere-web-design__faq-head {
	width: min( 1180px, 100% );
	margin-inline: auto;
	max-width: 760px;
}

.campussphere-web-design__faq-head h2 {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 1.85rem, 3.5vw, 2.35rem );
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.campussphere-web-design__faq-head p {
	margin: 1rem 0 0;
	color: #64748b;
	font-size: 1.02rem;
	line-height: 1.7;
}

.wp-block-post-content > .campussphere-web-design__faq-wrap + .wp-block-yoast-faq-block,
.wp-block-post-content > .campussphere-web-design__faq-wrap + .campussphere-yoast-faq {
	width: min( 1180px, calc( 100% - 2.5rem ) );
	margin: 0 auto clamp( 3rem, 6vw, 4.5rem );
	padding: 0 clamp( 1.25rem, 4vw, 3rem ) clamp( 2rem, 4vw, 3rem );
	background: #f8fbff;
}

@media ( max-width: 960px ) {
	.campussphere-web-design__seo-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   Digital marketing services
   ============================================================ */

.campussphere-growth {
	--growth-ink: #10182c;
	--growth-blue: #5570ff;
	--growth-violet: #8b5cf6;
	--growth-lime: #b9f56a;
	--growth-line: rgba( 148, 163, 184, 0.22 );
	margin-block-start: 0 !important;
	color: var( --growth-ink );
	background: #fff;
	font-family: var( --campussphere-font-sans, "Inter", ui-sans-serif, system-ui, sans-serif );
}

.campussphere-growth + .campussphere-cta-banner {
	margin-block-start: 0 !important;
}

.campussphere-growth *,
.campussphere-growth *::before,
.campussphere-growth *::after {
	box-sizing: border-box;
}

.campussphere-growth a:focus-visible {
	outline: 3px solid var( --growth-lime );
	outline-offset: 4px;
}

.campussphere-growth__hero {
	position: relative;
	overflow: hidden;
	padding: clamp( 2.5rem, 4vw, 3.75rem ) clamp( 1.25rem, 4vw, 3rem ) clamp( 2.25rem, 3.5vw, 3.25rem );
	background:
		radial-gradient( circle at 74% 14%, rgba( 111, 89, 255, 0.2 ), transparent 25% ),
		radial-gradient( circle at 92% 75%, rgba( 14, 165, 233, 0.12 ), transparent 24% ),
		linear-gradient( 135deg, #071022 0%, #101b38 54%, #111d3f 100% );
	color: #fff;
}

.campussphere-growth__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient( rgba( 255, 255, 255, 0.035 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.035 ) 1px, transparent 1px );
	background-size: 48px 48px;
	mask-image: linear-gradient( 90deg, #000, transparent 80% );
	pointer-events: none;
}

.campussphere-growth__hero-inner,
.campussphere-growth__outcomes-inner,
.campussphere-growth__journey,
.campussphere-growth__channels,
.campussphere-growth__measurement,
.campussphere-growth__process {
	width: min( 1180px, 100% );
	margin-inline: auto;
}

.campussphere-growth__hero-inner {
	display: grid;
	grid-template-columns: minmax( 0, 0.9fr ) minmax( 0, 1.1fr );
	gap: clamp( 2rem, 4vw, 4.5rem );
	align-items: center;
	position: relative;
	z-index: 1;
}

.campussphere-growth__hero-copy {
	width: 100%;
	max-width: 640px;
}

.campussphere-growth__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1.15rem;
	color: #667dff;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.campussphere-growth__hero .campussphere-growth__eyebrow {
	color: #b9c5ff;
}

.campussphere-growth__eyebrow > span {
	width: 1.75rem;
	height: 2px;
	background: linear-gradient( 90deg, var( --growth-lime ), #67e8f9 );
}

.campussphere-growth__hero h1,
.campussphere-growth__section-head h2,
.campussphere-growth__measurement-copy h2 {
	margin: 0;
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -0.035em;
}

.campussphere-growth__hero h1 {
	max-width: 640px;
	color: #fff;
	font-size: clamp( 2rem, 3.8vw, 3.25rem );
	line-height: 1.08;
}

.campussphere-growth__hero h1 em {
	display: block;
	color: var( --growth-lime );
	font-style: normal;
}

.wp-block-post-content .campussphere-growth__hero-lede {
	max-width: 560px;
	margin: 1.25rem 0 0;
	color: #b6c3db !important;
	font-size: clamp( 1rem, 1.3vw, 1.075rem );
	line-height: 1.65;
}

.campussphere-growth__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.campussphere-growth__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	min-height: 52px;
	padding: 0.9rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 0.75rem;
	font-size: 0.94rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.campussphere-growth__button:hover {
	transform: translateY( -2px );
}

.campussphere-growth__button--primary {
	background: var( --growth-lime );
	box-shadow: 0 0.9rem 2rem rgba( 185, 245, 106, 0.18 );
	color: #10210b;
}

.campussphere-growth__button--secondary {
	border-color: rgba( 255, 255, 255, 0.22 );
	background: rgba( 255, 255, 255, 0.06 );
	color: #fff;
}

.campussphere-growth__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.1rem;
	margin: 1.15rem 0 0;
	padding: 0 !important;
	color: #9dacc8;
	font-size: 0.78rem;
	font-weight: 650;
	list-style: none !important;
}

.campussphere-growth__proof li {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: #9dacc8;
}

.campussphere-growth__proof li::before {
	content: "✓";
	color: var( --growth-lime );
	font-weight: 900;
}

.campussphere-growth__dashboard {
	position: relative;
	width: 100%;
	max-width: 640px;
	min-width: 0;
	margin-top: 0;
	justify-self: end;
	overflow: visible;
	border: 1px solid rgba( 255, 255, 255, 0.12 );
	border-radius: 1.2rem;
	background: #f8faff;
	box-shadow: 0 2.5rem 5rem rgba( 0, 0, 0, 0.38 );
	color: var( --growth-ink );
	transform: none;
}

.campussphere-growth__dash-top,
.campussphere-growth__dash-top > div,
.campussphere-growth__dash-heading,
.campussphere-growth__pipeline-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.campussphere-growth__dash-top {
	padding: 0.85rem 1rem;
	border-radius: 1.2rem 1.2rem 0 0;
	background: #fff;
}

.campussphere-growth__dash-top > div {
	justify-content: flex-start;
	gap: 0.55rem;
	font-size: 0.7rem;
}

.campussphere-growth__dash-mark {
	display: grid;
	width: 1.75rem;
	height: 1.75rem;
	place-items: center;
	border-radius: 0.48rem;
	background: linear-gradient( 135deg, var( --growth-blue ), var( --growth-violet ) );
	color: #fff;
	font-size: 0.5rem;
	font-weight: 800;
}

.campussphere-growth__status {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.55rem;
	border-radius: 99px;
	background: #eefcf0;
	color: #16743a;
	font-size: 0.54rem;
	font-weight: 700;
}

.campussphere-growth__status i {
	width: 0.38rem;
	height: 0.38rem;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 0.2rem rgba( 34, 197, 94, 0.12 );
}

.campussphere-growth__dash-body {
	padding: clamp( 1rem, 2.5vw, 1.5rem );
}

.campussphere-growth__dash-heading small,
.campussphere-growth__dash-heading h2 {
	display: block;
	margin: 0;
}

.campussphere-growth__dash-heading small {
	color: #8a98ae;
	font-size: 0.56rem;
}

.campussphere-growth__dash-heading h2 {
	margin-top: 0.15rem;
	font-size: 1.05rem;
	letter-spacing: -0.03em;
}

.campussphere-growth__dash-heading > span {
	padding: 0.4rem 0.55rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.4rem;
	background: #fff;
	color: #64748b;
	font-size: 0.53rem;
}

.campussphere-growth__signal-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 0.65rem;
	margin-top: 1rem;
}

.campussphere-growth__signal-grid > div {
	min-width: 0;
	padding: 0.8rem;
	border: 1px solid #e5eaf2;
	border-radius: 0.65rem;
	background: #fff;
}

.campussphere-growth__signal-grid small,
.campussphere-growth__signal-grid strong,
.campussphere-growth__signal-grid span {
	display: block;
}

.campussphere-growth__signal-grid small,
.campussphere-growth__signal-grid span {
	overflow: hidden;
	color: #8693a8;
	font-size: 0.48rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.campussphere-growth__signal-grid strong {
	margin: 0.3rem 0;
	font-size: 0.65rem;
}

.campussphere-growth__dash-lower {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: 0.65rem;
	margin-top: 0.65rem;
}

.campussphere-growth__chart,
.campussphere-growth__mini-funnel {
	padding: 0.85rem;
	border: 1px solid #e5eaf2;
	border-radius: 0.65rem;
	background: #fff;
}

.campussphere-growth__chart-title {
	display: flex;
	justify-content: space-between;
	font-size: 0.58rem;
}

.campussphere-growth__chart-title span {
	color: #22a45a;
	font-size: 0.47rem;
}

.campussphere-growth__bars {
	display: flex;
	align-items: flex-end;
	justify-content: space-around;
	height: 10.5rem;
	margin-top: 0.85rem;
	border-bottom: 1px solid #e8edf5;
	background: repeating-linear-gradient( to bottom, #eef2f7 0, #eef2f7 1px, transparent 1px, transparent 2rem );
}

.campussphere-growth__bars i {
	display: flex;
	align-items: flex-end;
	width: 9%;
	height: 100%;
}

.campussphere-growth__bars i span {
	width: 100%;
	height: var( --bar );
	border-radius: 0.22rem 0.22rem 0 0;
	background: linear-gradient( 180deg, #8b5cf6, #5570ff );
}

.campussphere-growth__chart-labels {
	display: flex;
	justify-content: space-between;
	margin-top: 0.45rem;
	color: #8794a8;
	font-size: 0.43rem;
}

.campussphere-growth__mini-funnel > strong {
	font-size: 0.58rem;
}

.campussphere-growth__mini-funnel ol {
	display: grid;
	gap: 0.5rem;
	margin: 0.65rem 0 0;
	padding: 0 !important;
	list-style: none !important;
}

.campussphere-growth__mini-funnel li {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 !important;
	padding: 0.5rem;
	border-radius: 0.4rem;
	background: #f6f8fc;
}

.campussphere-growth__mini-funnel li > span {
	display: grid;
	width: 1.35rem;
	height: 1.35rem;
	place-items: center;
	border-radius: 0.35rem;
	background: #e8edff;
	color: #5570ff;
	font-size: 0.43rem;
	font-weight: 800;
}

.campussphere-growth__mini-funnel li div {
	font-size: 0.5rem;
	font-weight: 700;
}

.campussphere-growth__mini-funnel li small {
	display: block;
	color: #8996aa;
	font-size: 0.42rem;
	font-weight: 500;
}

.campussphere-growth__dash-float {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	position: absolute;
	right: 0.85rem;
	bottom: -1.1rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid rgba( 148, 163, 184, 0.2 );
	border-radius: 0.8rem;
	background: rgba( 255, 255, 255, 0.96 );
	box-shadow: 0 1rem 2.4rem rgba( 0, 0, 0, 0.22 );
}

.campussphere-growth__dash-float > span {
	display: grid;
	width: 1.9rem;
	height: 1.9rem;
	place-items: center;
	border-radius: 0.5rem;
	background: #effbdc;
	color: #4d7c0f;
	font-weight: 900;
}

.campussphere-growth__dash-float strong,
.campussphere-growth__dash-float small {
	display: block;
	white-space: nowrap;
}

.campussphere-growth__dash-float strong { font-size: 0.65rem; }
.campussphere-growth__dash-float small { margin-top: 0.1rem; color: #7d8ba0; font-size: 0.5rem; }

.campussphere-growth__outcomes {
	padding: 0 clamp( 1.25rem, 4vw, 3rem );
	border-bottom: 1px solid var( --growth-line );
	background: #fff;
}

.campussphere-growth__outcomes-inner {
	display: grid;
	grid-template-columns: 0.85fr repeat( 3, 1fr );
}

.campussphere-growth__outcomes-inner > p,
.campussphere-growth__outcomes-inner > div {
	display: flex;
	align-items: center;
	min-height: 78px;
	margin: 0;
	padding: 1.2rem clamp( 0.75rem, 2vw, 1.4rem );
	border-right: 1px solid var( --growth-line );
}

.campussphere-growth__outcomes-inner > p {
	padding-left: 0;
	color: #6b788c;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-growth__outcomes-inner > div:last-child { border-right: 0; }
.campussphere-growth__outcomes-inner span { margin-right: 0.7rem; color: #8b5cf6; font-size: 0.65rem; font-weight: 800; }
.campussphere-growth__outcomes-inner strong { font-size: 0.88rem; letter-spacing: -0.02em; }

.campussphere-growth__journey,
.campussphere-growth__channels,
.campussphere-growth__process {
	padding: clamp( 3.75rem, 6vw, 5.75rem ) clamp( 1.25rem, 4vw, 3rem );
}

.campussphere-growth__section-head {
	display: grid;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 240px, 0.85fr );
	gap: clamp( 1.5rem, 4vw, 3.5rem );
	align-items: end;
}

.campussphere-growth__section-head h2,
.campussphere-growth__measurement-copy h2 {
	max-width: 720px;
	font-size: clamp( 1.85rem, 3.5vw, 2.65rem );
	line-height: 1.15;
}

.campussphere-growth__section-head > p,
.campussphere-growth__measurement-copy > p {
	margin: 0;
	color: #627086;
	font-size: 1rem;
	line-height: 1.75;
}

.campussphere-growth__journey-track {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 1rem;
	margin-top: clamp( 2.25rem, 4vw, 3.5rem );
}

.campussphere-growth__journey-track article {
	overflow: hidden;
	border: 1px solid var( --growth-line );
	border-radius: 1.1rem;
	background: #fff;
	box-shadow: 0 0.8rem 2rem rgba( 15, 23, 42, 0.04 );
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.campussphere-growth__journey-track article:hover {
	transform: translateY( -5px );
	box-shadow: 0 1.4rem 3rem rgba( 31, 41, 72, 0.1 );
}

.campussphere-growth__stage {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.1rem 1.25rem;
	background: linear-gradient( 135deg, #eef1ff, #f7f3ff );
}

.campussphere-growth__stage span {
	color: #6674e8;
	font-size: 0.7rem;
	font-weight: 800;
}

.campussphere-growth__stage i {
	color: #7c6cd6;
	font-size: 0.65rem;
	font-style: normal;
	font-weight: 700;
}

.campussphere-growth__journey-track article > div:last-child {
	padding: 1.4rem 1.25rem 1.6rem;
}

.campussphere-growth__journey-track small,
.campussphere-growth__process-grid > li > small {
	color: #6a72dd;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-growth__journey-track h3,
.campussphere-growth__channel h3,
.campussphere-growth__process-grid h3 {
	margin: 0.65rem 0;
	font-size: 1.15rem;
	letter-spacing: -0.025em;
}

.campussphere-growth__journey-track p,
.campussphere-growth__channel p,
.campussphere-growth__process-grid p {
	margin: 0;
	color: #64748b;
	font-size: 0.88rem;
	line-height: 1.68;
}

.campussphere-growth__journey-track ul {
	display: grid;
	gap: 0.5rem;
	margin: 1.25rem 0 0;
	padding: 1rem 0 0 !important;
	border-top: 1px solid #edf0f5;
	list-style: none !important;
}

.campussphere-growth__journey-track li {
	display: flex;
	gap: 0.45rem;
	margin: 0 !important;
	color: #344158;
	font-size: 0.77rem;
	font-weight: 650;
}

.campussphere-growth__journey-track li::before {
	content: "→";
	color: #7c6ce5;
}

.campussphere-growth__channels {
	width: 100%;
	max-width: none;
	padding-right: max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
	padding-left: max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
	background:
		radial-gradient( circle at 8% 8%, rgba( 139, 92, 246, 0.08 ), transparent 24% ),
		linear-gradient( 180deg, #f7f8ff, #fbfcff );
}

.campussphere-growth__section-head--center {
	display: block;
	max-width: 790px;
	margin-inline: auto;
	text-align: center;
}

.campussphere-growth__section-head--center .campussphere-growth__eyebrow {
	justify-content: center;
}

.campussphere-growth__section-head--center > p {
	margin: 1.2rem auto 0;
}

.campussphere-growth__channel-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 1rem;
	margin-top: clamp( 2.25rem, 4vw, 3.5rem );
}

.campussphere-growth__channel {
	min-height: 250px;
	padding: 1.7rem;
	overflow: hidden;
	border: 1px solid #e2e7f0;
	border-radius: 1.1rem;
	background: #fff;
}

.campussphere-growth__channel--search,
.campussphere-growth__channel--social {
	min-height: 320px;
}

.campussphere-growth__channel-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.campussphere-growth__channel-top > span {
	display: inline-grid;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.5rem;
	place-items: center;
	border-radius: 0.68rem;
	background: #eef1ff;
	color: #5968e8;
	font-size: 0.65rem;
	font-weight: 800;
}

.campussphere-growth__channel-top small {
	padding: 0.35rem 0.55rem;
	border-radius: 99px;
	background: #f3f5f9;
	color: #718096;
	font-size: 0.55rem;
	font-weight: 700;
}

.campussphere-growth__channel h3 { margin-top: 1.4rem; }

.campussphere-growth__search-demo {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	padding: 0.55rem;
	border: 1px solid #e2e7f0;
	border-radius: 0.55rem;
	box-shadow: 0 0.55rem 1.2rem rgba( 15, 23, 42, 0.06 );
}

.campussphere-growth__search-demo i {
	flex: 1;
	padding-left: 0.45rem;
	color: #607088;
	font-size: 0.65rem;
	font-style: normal;
}

.campussphere-growth__search-demo b {
	padding: 0.42rem 0.62rem;
	border-radius: 0.35rem;
	background: #5570ff;
	color: #fff;
	font-size: 0.56rem;
}

.campussphere-growth__social-demo {
	display: grid;
	grid-template-columns: 0.7fr 1.3fr;
	gap: 0.65rem;
	height: 4.5rem;
	margin-top: 1.5rem;
}

.campussphere-growth__social-demo > span {
	border-radius: 0.6rem;
	background: linear-gradient( 145deg, #fcaa7c, #8b5cf6 );
}

.campussphere-growth__social-demo > div {
	display: grid;
	gap: 0.45rem;
}

.campussphere-growth__social-demo i {
	border-radius: 0.35rem;
	background: linear-gradient( 90deg, #e9edf5 70%, #f5f7fa 70% );
}

.campussphere-growth__measurement {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 0.92fr );
	gap: clamp( 2rem, 5vw, 4.5rem );
	align-items: center;
	padding: clamp( 3.75rem, 6vw, 5.75rem ) clamp( 1.25rem, 4vw, 3rem );
}

.campussphere-growth__measurement-visual {
	padding: clamp( 1.2rem, 4vw, 3rem );
	border-radius: 1.5rem;
	background:
		radial-gradient( circle at 80% 10%, rgba( 185, 245, 106, 0.15 ), transparent 22% ),
		linear-gradient( 145deg, #111a34, #202650 );
}

.campussphere-growth__pipeline-card {
	padding: 1rem;
	border: 1px solid rgba( 255, 255, 255, 0.12 );
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 1.5rem 3rem rgba( 0, 0, 0, 0.24 );
}

.campussphere-growth__pipeline-head {
	padding-bottom: 0.85rem;
	border-bottom: 1px solid #e8edf4;
}

.campussphere-growth__pipeline-head small,
.campussphere-growth__pipeline-head strong {
	display: block;
}

.campussphere-growth__pipeline-head small { color: #718096; font-size: 0.55rem; }
.campussphere-growth__pipeline-head strong { margin-top: 0.15rem; font-size: 0.78rem; }
.campussphere-growth__pipeline-head > span { padding: 0.35rem 0.55rem; border-radius: 99px; background: #effbdc; color: #4d7c0f; font-size: 0.52rem; font-weight: 700; }

.campussphere-growth__pipeline-flow {
	display: grid;
	gap: 0.6rem;
	margin-top: 0.8rem;
}

.campussphere-growth__pipeline-flow > div {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 0.65rem;
	align-items: center;
	padding: 0.75rem;
	border: 1px solid #e7ebf2;
	border-radius: 0.6rem;
}

.campussphere-growth__pipeline-flow > div > span {
	width: 0.55rem;
	height: 2.2rem;
	border-radius: 99px;
}

.campussphere-growth__pipeline-flow .is-blue { background: #5570ff; }
.campussphere-growth__pipeline-flow .is-violet { background: #8b5cf6; }
.campussphere-growth__pipeline-flow .is-green { background: #7dbb3b; }
.campussphere-growth__pipeline-flow p { margin: 0; }
.campussphere-growth__pipeline-flow strong,
.campussphere-growth__pipeline-flow small { display: block; }
.campussphere-growth__pipeline-flow strong { font-size: 0.65rem; }
.campussphere-growth__pipeline-flow small { margin-top: 0.12rem; color: #8190a5; font-size: 0.5rem; }
.campussphere-growth__pipeline-flow b { padding: 0.35rem 0.5rem; border-radius: 99px; background: #f2f4f8; color: #66758b; font-size: 0.47rem; }

.campussphere-growth__measurement-copy > p {
	margin-top: 1.4rem;
}

.campussphere-growth__measurement-copy ul {
	display: grid;
	gap: 1rem;
	margin: 1.8rem 0 0;
	padding: 0 !important;
	list-style: none !important;
}

.campussphere-growth__measurement-copy li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.8rem;
	margin: 0 !important;
}

.campussphere-growth__measurement-copy li > span {
	display: grid;
	width: 1.65rem;
	height: 1.65rem;
	place-items: center;
	border-radius: 50%;
	background: #eef1ff;
	color: #5b69e5;
	font-size: 0.7rem;
	font-weight: 900;
}

.campussphere-growth__measurement-copy li strong,
.campussphere-growth__measurement-copy li small {
	display: block;
}

.campussphere-growth__measurement-copy li strong { font-size: 0.9rem; }
.campussphere-growth__measurement-copy li small { margin-top: 0.25rem; color: #6f7c90; font-size: 0.8rem; line-height: 1.55; }

.campussphere-growth__process {
	width: 100%;
	max-width: none;
	padding-right: max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
	padding-left: max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
	border-top: 1px solid var( --growth-line );
	background: #fff;
}

.campussphere-growth__process-grid {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 1px;
	margin: clamp( 3rem, 6vw, 5rem ) 0 0;
	padding: 0 !important;
	border: 1px solid var( --growth-line );
	border-radius: 1.1rem;
	background: var( --growth-line );
	overflow: hidden;
	list-style: none !important;
}

.campussphere-growth__process-grid > li {
	min-height: 250px;
	margin: 0 !important;
	padding: 1.6rem;
	background: #fff;
}

.campussphere-growth__process-grid > li > span {
	display: block;
	margin-bottom: 2.5rem;
	color: #9aa5b5;
	font-size: 0.68rem;
	font-weight: 800;
}

@media ( max-width: 1080px ) {
	.campussphere-growth__hero-inner {
		grid-template-columns: minmax( 0, 1fr );
	}

	.campussphere-growth__hero-copy {
		max-width: 780px;
		text-align: center;
		justify-self: center;
	}

	.campussphere-growth__hero .campussphere-growth__eyebrow,
	.campussphere-growth__actions,
	.campussphere-growth__proof {
		justify-content: center;
	}

	.campussphere-growth__dashboard {
		width: min( 720px, 96% );
		max-width: 720px;
		margin-inline: auto;
		margin-top: 0;
		justify-self: center;
		transform: none;
	}

	.campussphere-growth__journey-track,
	.campussphere-growth__process-grid {
		grid-template-columns: repeat( 2, 1fr );
	}

	.campussphere-growth__channel-grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media ( max-width: 760px ) {
	.campussphere-growth__hero {
		padding: 2rem 1.15rem 2.25rem;
	}

	.campussphere-growth__hero h1 {
		width: 100%;
		max-width: 100%;
		font-size: clamp( 2rem, 8vw, 2.75rem );
		letter-spacing: -0.035em;
		overflow-wrap: normal;
	}

	.campussphere-growth__hero h1 em {
		width: 7.2em;
		max-width: 100%;
		margin-inline: auto;
	}

	.campussphere-growth__hero-copy,
	.campussphere-growth__hero-inner,
	.campussphere-growth__section-head,
	.campussphere-growth__section-head > div,
	.campussphere-growth__measurement,
	.campussphere-growth__measurement > div {
		min-width: 0;
	}

	.campussphere-growth__hero .campussphere-growth__eyebrow {
		gap: 0.45rem;
		font-size: 0.62rem;
		letter-spacing: 0.09em;
		white-space: normal;
	}

	.wp-block-post-content .campussphere-growth__hero-lede {
		margin-top: 1.25rem;
		font-size: 1rem;
		line-height: 1.65;
	}

	.campussphere-growth__dashboard {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.campussphere-growth__dash-float {
		display: none;
	}

	.campussphere-growth__outcomes-inner,
	.campussphere-growth__section-head,
	.campussphere-growth__measurement {
		grid-template-columns: minmax( 0, 1fr );
	}

	.campussphere-growth__outcomes-inner > p {
		display: none;
	}

	.campussphere-growth__outcomes-inner > div {
		min-height: 0;
		padding: 0.95rem 0;
		border-right: 0;
		border-bottom: 1px solid var( --growth-line );
	}

	.campussphere-growth__outcomes-inner > div:last-child { border-bottom: 0; }

	.campussphere-growth__section-head,
	.campussphere-growth__measurement {
		gap: 1.25rem;
	}

	.campussphere-growth__journey,
	.campussphere-growth__channels,
	.campussphere-growth__process,
	.campussphere-growth__measurement {
		padding-top: 3.25rem;
		padding-bottom: 3.25rem;
	}

	.campussphere-growth__journey-track,
	.campussphere-growth__channel-grid,
	.campussphere-growth__process-grid {
		grid-template-columns: minmax( 0, 1fr );
		margin-top: 2rem;
	}

	.campussphere-growth__process-grid > li {
		min-height: auto;
	}
}

@media ( max-width: 540px ) {
	.campussphere-growth__actions,
	.campussphere-growth__button {
		width: 100%;
	}

	.campussphere-growth__proof {
		align-items: center;
		flex-direction: column;
	}

	.campussphere-growth__signal-grid {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
		gap: 0.35rem;
	}

	.campussphere-growth__signal-grid > div {
		padding: 0.55rem 0.4rem;
	}

	.campussphere-growth__signal-grid strong {
		font-size: 0.52rem;
	}

	.campussphere-growth__signal-grid span {
		display: none;
	}

	.campussphere-growth__dash-lower {
		grid-template-columns: 1fr;
	}

	.campussphere-growth__mini-funnel {
		display: none;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.campussphere-growth__button,
	.campussphere-growth__journey-track article {
		transition: none;
	}
}
/* ============================================================
   Creative branding & design
   ============================================================ */

.campussphere-brand {
	--brand-ink: #0f172a;
	--brand-coral: #ff5a36;
	--brand-blue: #1d4ed8;
	--brand-line: rgba( 148, 163, 184, 0.22 );
	margin-block-start: 0 !important;
	color: var( --brand-ink );
	background: #fff;
	font-family: var( --campussphere-font-sans, "Inter", ui-sans-serif, system-ui, sans-serif );
}

.campussphere-brand + .campussphere-cta-banner {
	margin-block-start: 0 !important;
}

.campussphere-brand *,
.campussphere-brand *::before,
.campussphere-brand *::after {
	box-sizing: border-box;
}

.campussphere-brand a:focus-visible {
	outline: 3px solid var( --brand-coral );
	outline-offset: 4px;
}

.campussphere-reveal {
	opacity: 0;
	transform: translateY( 18px );
	transition: opacity 0.65s ease, transform 0.65s ease;
	transition-delay: var( --delay, 0ms );
}

.campussphere-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.campussphere-brand__hero .campussphere-reveal {
	opacity: 0;
	transform: translateY( 18px );
	animation: campussphere-brand-rise 0.75s ease forwards;
	animation-delay: var( --delay, 0ms );
	transition: none;
}

.campussphere-brand__hero {
	position: relative;
	overflow: hidden;
	padding: clamp( 2.5rem, 4vw, 3.75rem ) clamp( 1.25rem, 4vw, 3rem ) clamp( 2.5rem, 4vw, 3.5rem );
	background:
		radial-gradient( circle at 88% 18%, rgba( 255, 90, 54, 0.16 ), transparent 28% ),
		radial-gradient( circle at 8% 80%, rgba( 29, 78, 216, 0.12 ), transparent 26% ),
		linear-gradient( 160deg, #08111f 0%, #121c31 55%, #0b1424 100% );
	color: #fff;
}

.campussphere-brand__hero-glow {
	position: absolute;
	inset: auto -10% -20% 40%;
	height: 60%;
	background: radial-gradient( circle, rgba( 255, 90, 54, 0.18 ), transparent 60% );
	filter: blur( 40px );
	pointer-events: none;
	animation: campussphere-brand-glow 8s ease-in-out infinite;
}

.campussphere-brand__hero-inner,
.campussphere-brand__outcomes-inner,
.campussphere-brand__system,
.campussphere-brand__deliverables,
.campussphere-brand__process {
	width: min( 1180px, 100% );
	margin-inline: auto;
}

.campussphere-brand__hero-inner {
	display: grid;
	grid-template-columns: minmax( 0, 0.95fr ) minmax( 0, 1.05fr );
	gap: clamp( 2rem, 5vw, 4.5rem );
	align-items: center;
	position: relative;
	z-index: 1;
}

.campussphere-brand__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1.1rem;
	color: #ffb39f;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.campussphere-brand__eyebrow > span {
	width: 1.75rem;
	height: 2px;
	background: linear-gradient( 90deg, var( --brand-coral ), #ffd0c2 );
}

.campussphere-brand__hero h1,
.campussphere-brand__section-head h2 {
	margin: 0;
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -0.035em;
}

.campussphere-brand__hero h1 {
	max-width: 640px;
	color: #fff;
	font-size: clamp( 2rem, 3.8vw, 3.25rem );
	line-height: 1.08;
}

.campussphere-brand__lede {
	max-width: 560px;
	margin: 1.25rem 0 0;
	color: #b7c3d8 !important;
	font-size: clamp( 1rem, 1.3vw, 1.075rem );
	line-height: 1.65;
}

.campussphere-brand__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.campussphere-brand__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 52px;
	padding: 0.9rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 0.75rem;
	font-size: 0.94rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.campussphere-brand__button:hover {
	transform: translateY( -2px );
}

.campussphere-brand__button--primary {
	background: var( --brand-coral );
	box-shadow: 0 0.9rem 2rem rgba( 255, 90, 54, 0.28 );
	color: #fff;
}

.campussphere-brand__button--ghost {
	border-color: rgba( 255, 255, 255, 0.22 );
	background: rgba( 255, 255, 255, 0.06 );
	color: #fff;
}

.campussphere-brand__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.1rem;
	margin: 1.15rem 0 0;
	padding: 0 !important;
	color: #9eb0c9;
	font-size: 0.78rem;
	font-weight: 650;
	list-style: none !important;
}

.campussphere-brand__proof li {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.campussphere-brand__proof li::before {
	content: "✓";
	color: var( --brand-coral );
	font-weight: 900;
}

.campussphere-brand__stage {
	position: relative;
	min-width: 0;
}

.campussphere-brand__board {
	position: relative;
	min-height: 420px;
	padding: 1.25rem;
	border: 1px solid rgba( 255, 255, 255, 0.1 );
	border-radius: 1.35rem;
	background:
		linear-gradient( 145deg, rgba( 255, 255, 255, 0.08 ), rgba( 255, 255, 255, 0.02 ) );
	box-shadow: 0 2rem 4rem rgba( 0, 0, 0, 0.35 );
	backdrop-filter: blur( 8px );
}

.campussphere-brand__float {
	animation: campussphere-brand-float 6.5s ease-in-out infinite;
	animation-delay: var( --float-delay, 0s );
}

.campussphere-brand__mark,
.campussphere-brand__palette,
.campussphere-brand__typecard,
.campussphere-brand__poster,
.campussphere-brand__badge {
	position: absolute;
	border: 1px solid rgba( 255, 255, 255, 0.12 );
	border-radius: 1rem;
	background: rgba( 255, 255, 255, 0.96 );
	box-shadow: 0 1rem 2.4rem rgba( 0, 0, 0, 0.22 );
	color: var( --brand-ink );
}

.campussphere-brand__mark {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	top: 1.4rem;
	left: 1.4rem;
	padding: 0.85rem 1rem;
}

.campussphere-brand__mark-orb {
	display: grid;
	width: 2.6rem;
	height: 2.6rem;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient( 135deg, #0f172a, #1d4ed8 );
	color: #fff;
	font-size: 0.7rem;
	font-weight: 800;
}

.campussphere-brand__mark strong,
.campussphere-brand__mark small,
.campussphere-brand__badge strong,
.campussphere-brand__badge small {
	display: block;
}

.campussphere-brand__mark strong { font-size: 0.82rem; }
.campussphere-brand__mark small { margin-top: 0.15rem; color: #64748b; font-size: 0.62rem; }

.campussphere-brand__palette {
	display: flex;
	gap: 0.45rem;
	top: 1.5rem;
	right: 1.4rem;
	padding: 0.7rem;
}

.campussphere-brand__palette span {
	width: 1.7rem;
	height: 1.7rem;
	border-radius: 50%;
	background: var( --swatch );
	box-shadow: inset 0 0 0 1px rgba( 15, 23, 42, 0.08 );
	animation: campussphere-brand-swatch 3.8s ease-in-out infinite;
}

.campussphere-brand__palette span:nth-child( 2 ) { animation-delay: 0.2s; }
.campussphere-brand__palette span:nth-child( 3 ) { animation-delay: 0.4s; }
.campussphere-brand__palette span:nth-child( 4 ) { animation-delay: 0.6s; }

.campussphere-brand__typecard {
	top: 7.2rem;
	left: 1.6rem;
	width: min( 240px, 55% );
	padding: 1rem;
}

.campussphere-brand__typecard small {
	color: var( --brand-coral );
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-brand__typecard strong {
	display: block;
	margin-top: 0.45rem;
	font-size: 1.05rem;
	letter-spacing: -0.03em;
}

.campussphere-brand__typecard p {
	margin: 0.45rem 0 0;
	color: #64748b;
	font-size: 0.72rem;
}

.campussphere-brand__poster {
	right: 1.5rem;
	bottom: 4.5rem;
	width: min( 250px, 58% );
	padding: 1.2rem;
	overflow: hidden;
	background:
		linear-gradient( 160deg, rgba( 15, 23, 42, 0.94 ), rgba( 29, 78, 216, 0.9 ) );
	color: #fff;
}

.campussphere-brand__poster small {
	color: #ffb39f;
	font-size: 0.58rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.campussphere-brand__poster strong {
	display: block;
	margin-top: 0.65rem;
	font-size: 1.2rem;
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.campussphere-brand__poster span {
	display: inline-block;
	margin-top: 0.9rem;
	padding-bottom: 0.15rem;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.45 );
	font-size: 0.68rem;
	font-weight: 700;
}

.campussphere-brand__badge {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	right: 1.6rem;
	bottom: 1.2rem;
	padding: 0.7rem 0.85rem;
}

.campussphere-brand__badge > span {
	display: grid;
	width: 1.8rem;
	height: 1.8rem;
	place-items: center;
	border-radius: 0.5rem;
	background: #ffe8e1;
	color: var( --brand-coral );
	font-weight: 900;
}

.campussphere-brand__badge strong { font-size: 0.7rem; }
.campussphere-brand__badge small { margin-top: 0.1rem; color: #64748b; font-size: 0.55rem; }

.campussphere-brand__marquee {
	overflow: hidden;
	border-bottom: 1px solid var( --brand-line );
	background: #f8fafc;
}

.campussphere-brand__marquee-track {
	display: flex;
	width: max-content;
	gap: 2.5rem;
	padding: 0.95rem 0;
	animation: campussphere-brand-marquee 28s linear infinite;
	color: #475569;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-brand__marquee-track span::before {
	content: "✦";
	margin-right: 2.5rem;
	color: var( --brand-coral );
}

.campussphere-brand__outcomes {
	padding: 0 clamp( 1.25rem, 4vw, 3rem );
	border-bottom: 1px solid var( --brand-line );
	background: #fff;
}

.campussphere-brand__outcomes-inner {
	display: grid;
	grid-template-columns: 0.9fr repeat( 3, 1fr );
}

.campussphere-brand__outcomes-inner > p,
.campussphere-brand__outcomes-inner > div {
	display: flex;
	align-items: center;
	min-height: 78px;
	margin: 0;
	padding: 1.15rem clamp( 0.75rem, 2vw, 1.35rem );
	border-right: 1px solid var( --brand-line );
}

.campussphere-brand__outcomes-inner > p {
	padding-left: 0;
	color: #6b788c;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-brand__outcomes-inner > div:last-child { border-right: 0; }
.campussphere-brand__outcomes-inner span { margin-right: 0.7rem; color: var( --brand-coral ); font-size: 0.65rem; font-weight: 800; }
.campussphere-brand__outcomes-inner strong { font-size: 0.88rem; letter-spacing: -0.02em; }

.campussphere-brand__system,
.campussphere-brand__process {
	padding: clamp( 3.75rem, 6vw, 5.75rem ) clamp( 1.25rem, 4vw, 3rem );
}

.campussphere-brand__section-head {
	display: grid;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 240px, 0.85fr );
	gap: clamp( 1.5rem, 4vw, 3.5rem );
	align-items: end;
}

.campussphere-brand__section-head h2 {
	max-width: 720px;
	font-size: clamp( 1.85rem, 3.5vw, 2.65rem );
	line-height: 1.15;
}

.campussphere-brand__section-head > p {
	margin: 0;
	color: #64748b;
	font-size: 1rem;
	line-height: 1.7;
}

.campussphere-brand__system-grid {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 1rem;
	margin-top: clamp( 2.25rem, 4vw, 3.5rem );
}

.campussphere-brand__system-grid article {
	min-height: 230px;
	padding: 1.5rem;
	border: 1px solid var( --brand-line );
	border-radius: 1.1rem;
	background: #fff;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.campussphere-brand__system-grid article:hover {
	transform: translateY( -5px );
	border-color: rgba( 255, 90, 54, 0.35 );
	box-shadow: 0 1.25rem 2.5rem rgba( 15, 23, 42, 0.08 );
}

.campussphere-brand__system-icon {
	display: inline-grid;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.5rem;
	place-items: center;
	border-radius: 0.7rem;
	background: #fff1ec;
	color: var( --brand-coral );
	font-size: 0.65rem;
	font-weight: 800;
}

.campussphere-brand__system-grid h3,
.campussphere-brand__bento-item h3,
.campussphere-brand__steps h3 {
	margin: 1.2rem 0 0.65rem;
	font-size: 1.1rem;
	letter-spacing: -0.025em;
}

.campussphere-brand__system-grid p,
.campussphere-brand__bento-item p,
.campussphere-brand__steps p {
	margin: 0;
	color: #64748b;
	font-size: 0.9rem;
	line-height: 1.65;
}

.campussphere-brand__deliverables {
	width: 100%;
	max-width: none;
	padding: clamp( 3.75rem, 6vw, 5.75rem ) max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
	background:
		radial-gradient( circle at 12% 10%, rgba( 255, 90, 54, 0.18 ), transparent 28% ),
		linear-gradient( 160deg, #0b1220, #151f35 );
	color: #fff;
}

.campussphere-brand__section-head--light h2 { color: #fff; }
.campussphere-brand__section-head--light > p { color: #9eafc8; }
.campussphere-brand__section-head--light .campussphere-brand__eyebrow { color: #ffb39f; }

.wp-block-post-content .campussphere-brand__deliverables .campussphere-brand__section-head--light h2,
.wp-block-post-content .campussphere-brand__deliverables .campussphere-brand__bento-item h3 {
	color: #fff !important;
}

.wp-block-post-content .campussphere-brand__deliverables .campussphere-brand__section-head--light > p,
.wp-block-post-content .campussphere-brand__deliverables .campussphere-brand__bento-item p {
	color: #9eafc8 !important;
}

.campussphere-brand__bento {
	display: grid;
	grid-template-columns: repeat( 6, 1fr );
	gap: 1rem;
	margin-top: clamp( 2.25rem, 4vw, 3.5rem );
}

.campussphere-brand__bento-item {
	grid-column: span 2;
	min-height: 230px;
	padding: 1.4rem;
	overflow: hidden;
	border: 1px solid rgba( 255, 255, 255, 0.1 );
	border-radius: 1.15rem;
	background: rgba( 255, 255, 255, 0.05 );
	transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.campussphere-brand__bento-item:hover {
	transform: translateY( -4px );
	border-color: rgba( 255, 179, 159, 0.45 );
	background: rgba( 255, 255, 255, 0.08 );
}

.campussphere-brand__bento-item--wide {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	grid-column: span 4;
	gap: 1.25rem;
	align-items: center;
	min-height: 280px;
}

.campussphere-brand__bento-item small {
	color: #ffb39f;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-brand__bento-item h3 { color: #fff; }
.campussphere-brand__bento-item p { color: #9eafc8; }

.campussphere-brand__bento-visual {
	position: relative;
	overflow: hidden;
	border-radius: 0.9rem;
	background: rgba( 255, 255, 255, 0.06 );
}

.campussphere-brand__bento-visual--prospectus {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.65rem;
	min-height: 190px;
	padding: 0.85rem;
}

.campussphere-brand__bento-visual--prospectus > div {
	border-radius: 0.55rem;
	background: linear-gradient( 160deg, #fff, #ffd7cc );
	animation: campussphere-brand-float 5.5s ease-in-out infinite;
}

.campussphere-brand__bento-visual--prospectus > div:last-child {
	background: linear-gradient( 160deg, #1d4ed8, #0f172a );
	animation-delay: 0.8s;
}

.campussphere-brand__bento-visual--social {
	display: grid;
	gap: 0.45rem;
	min-height: 88px;
	margin-bottom: 1rem;
	padding: 0.7rem;
}

.campussphere-brand__bento-visual--social i {
	height: 0.55rem;
	border-radius: 99px;
	background: linear-gradient( 90deg, rgba( 255, 90, 54, 0.7 ), rgba( 255, 255, 255, 0.15 ) );
}

.campussphere-brand__bento-visual--campaign {
	display: grid;
	place-items: end start;
	min-height: 88px;
	margin-bottom: 1rem;
	padding: 0.8rem;
	background: linear-gradient( 135deg, rgba( 255, 90, 54, 0.35 ), rgba( 29, 78, 216, 0.35 ) );
}

.campussphere-brand__bento-visual--campaign span {
	width: 42%;
	height: 0.55rem;
	border-radius: 99px;
	background: #fff;
}

.campussphere-brand__steps {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 1px;
	margin: clamp( 2.25rem, 4vw, 3.5rem ) 0 0;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid var( --brand-line );
	border-radius: 1.1rem;
	background: var( --brand-line );
	list-style: none !important;
}

.campussphere-brand__steps > li {
	display: grid;
	gap: 2rem;
	min-height: 240px;
	margin: 0 !important;
	padding: 1.5rem;
	background: #fff;
}

.campussphere-brand__steps > li > span {
	color: #94a3b8;
	font-size: 0.7rem;
	font-weight: 800;
}

@keyframes campussphere-brand-float {
	0%,
	100% { transform: translateY( 0 ); }
	50% { transform: translateY( -8px ); }
}

@keyframes campussphere-brand-rise {
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes campussphere-brand-swatch {
	0%,
	100% { transform: scale( 1 ); }
	50% { transform: scale( 1.08 ); }
}

@keyframes campussphere-brand-marquee {
	from { transform: translateX( 0 ); }
	to { transform: translateX( -50% ); }
}

@keyframes campussphere-brand-glow {
	0%,
	100% { opacity: 0.55; transform: scale( 1 ); }
	50% { opacity: 0.9; transform: scale( 1.08 ); }
}

@media ( max-width: 1080px ) {
	.campussphere-brand__hero-inner {
		grid-template-columns: minmax( 0, 1fr );
	}

	.campussphere-brand__hero-copy {
		text-align: center;
		justify-self: center;
	}

	.campussphere-brand__eyebrow,
	.campussphere-brand__actions,
	.campussphere-brand__proof {
		justify-content: center;
	}

	.campussphere-brand__stage {
		width: min( 640px, 100% );
		margin-inline: auto;
	}

	.campussphere-brand__system-grid {
		grid-template-columns: repeat( 2, 1fr );
	}

	.campussphere-brand__bento-item--wide {
		grid-column: span 6;
	}

	.campussphere-brand__bento-item {
		grid-column: span 3;
	}
}

@media ( max-width: 760px ) {
	.campussphere-brand__hero {
		padding: 2rem 1.15rem 2.25rem;
	}

	.campussphere-brand__hero h1 {
		font-size: clamp( 2rem, 8vw, 2.75rem );
	}

	.campussphere-brand__board {
		min-height: 360px;
	}

	.campussphere-brand__typecard {
		width: min( 210px, 58% );
	}

	.campussphere-brand__poster {
		width: min( 200px, 54% );
		bottom: 4.2rem;
	}

	.campussphere-brand__outcomes-inner,
	.campussphere-brand__section-head {
		grid-template-columns: minmax( 0, 1fr );
		gap: 1.25rem;
	}

	.campussphere-brand__outcomes-inner > p {
		display: none;
	}

	.campussphere-brand__outcomes-inner > div {
		min-height: 0;
		padding: 0.95rem 0;
		border-right: 0;
		border-bottom: 1px solid var( --brand-line );
	}

	.campussphere-brand__outcomes-inner > div:last-child { border-bottom: 0; }

	.campussphere-brand__system,
	.campussphere-brand__process,
	.campussphere-brand__deliverables {
		padding-top: 3.25rem;
		padding-bottom: 3.25rem;
	}

	.campussphere-brand__system-grid,
	.campussphere-brand__steps {
		grid-template-columns: minmax( 0, 1fr );
	}

	.campussphere-brand__bento-item,
	.campussphere-brand__bento-item--wide {
		grid-column: span 6;
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.campussphere-brand__steps > li {
		min-height: auto;
		gap: 1rem;
	}
}

@media ( max-width: 540px ) {
	.campussphere-brand__actions,
	.campussphere-brand__button {
		width: 100%;
	}

	.campussphere-brand__proof {
		align-items: center;
		flex-direction: column;
	}

	.campussphere-brand__palette {
		display: none;
	}

	.campussphere-brand__badge {
		left: 1.2rem;
		right: auto;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.campussphere-reveal,
	.campussphere-brand__hero .campussphere-reveal {
		opacity: 1;
		transform: none;
		transition: none;
		animation: none !important;
	}

	.campussphere-brand__float,
	.campussphere-brand__palette span,
	.campussphere-brand__marquee-track,
	.campussphere-brand__hero-glow,
	.campussphere-brand__bento-visual--prospectus > div,
	.campussphere-brand__button,
	.campussphere-brand__system-grid article,
	.campussphere-brand__bento-item {
		animation: none !important;
		transition: none;
	}
}

/* ============================================================
   AI automation solutions
   ============================================================ */

.campussphere-auto {
	--auto-ink: #0f172a;
	--auto-cyan: #06b6d4;
	--auto-teal: #0891b2;
	--auto-mint: #5eead4;
	--auto-line: rgba( 148, 163, 184, 0.22 );
	margin-block-start: 0 !important;
	color: var( --auto-ink );
	background: #fff;
	font-family: var( --campussphere-font-sans, "Inter", ui-sans-serif, system-ui, sans-serif );
}

.campussphere-auto + .campussphere-cta-banner {
	margin-block-start: 0 !important;
}

.campussphere-auto *,
.campussphere-auto *::before,
.campussphere-auto *::after {
	box-sizing: border-box;
}

.campussphere-auto a:focus-visible {
	outline: 3px solid var( --auto-cyan );
	outline-offset: 4px;
}

.campussphere-auto__hero .campussphere-reveal {
	opacity: 0;
	transform: translateY( 18px );
	animation: campussphere-auto-rise 0.75s ease forwards;
	animation-delay: var( --delay, 0ms );
	transition: none;
}

@keyframes campussphere-auto-rise {
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes campussphere-auto-pulse {
	0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba( 6, 182, 212, 0.45 ); }
	50% { opacity: 0.85; box-shadow: 0 0 0 8px rgba( 6, 182, 212, 0 ); }
}

@keyframes campussphere-auto-flow {
	0% { background-position: 0% 50%; }
	100% { background-position: 200% 50%; }
}

@keyframes campussphere-auto-glow {
	0%, 100% { opacity: 0.55; transform: translateY( 0 ); }
	50% { opacity: 0.9; transform: translateY( -10px ); }
}

@keyframes campussphere-auto-float {
	0%, 100% { transform: translateY( 0 ); }
	50% { transform: translateY( -8px ); }
}

.campussphere-auto__hero {
	position: relative;
	overflow: hidden;
	padding: clamp( 2.5rem, 4vw, 3.75rem ) clamp( 1.25rem, 4vw, 3rem ) clamp( 2.5rem, 4vw, 3.5rem );
	background:
		radial-gradient( circle at 82% 12%, rgba( 6, 182, 212, 0.22 ), transparent 28% ),
		radial-gradient( circle at 8% 88%, rgba( 8, 145, 178, 0.14 ), transparent 26% ),
		linear-gradient( 155deg, #041018 0%, #0a1a28 52%, #07141f 100% );
	color: #fff;
}

.campussphere-auto__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient( rgba( 255, 255, 255, 0.03 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.03 ) 1px, transparent 1px );
	background-size: 44px 44px;
	mask-image: radial-gradient( circle at 70% 40%, #000 20%, transparent 72% );
	pointer-events: none;
}

.campussphere-auto__hero-glow {
	position: absolute;
	inset: auto -8% -18% 45%;
	height: 55%;
	background: radial-gradient( circle, rgba( 6, 182, 212, 0.22 ), transparent 62% );
	filter: blur( 36px );
	pointer-events: none;
	animation: campussphere-auto-glow 7s ease-in-out infinite;
}

.campussphere-auto__hero-inner,
.campussphere-auto__outcomes-inner,
.campussphere-auto__system,
.campussphere-auto__toolkit,
.campussphere-auto__impact,
.campussphere-auto__process {
	width: min( 1180px, 100% );
	margin-inline: auto;
	position: relative;
	z-index: 1;
}

.campussphere-auto__hero-inner {
	display: grid;
	grid-template-columns: minmax( 0, 0.95fr ) minmax( 0, 1.05fr );
	gap: clamp( 2rem, 5vw, 4.5rem );
	align-items: center;
}

.campussphere-auto__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1.1rem;
	color: #67e8f9;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.campussphere-auto__eyebrow > span {
	width: 1.75rem;
	height: 2px;
	background: linear-gradient( 90deg, var( --auto-cyan ), #a5f3fc );
}

.campussphere-auto__hero h1,
.campussphere-auto__section-head h2 {
	margin: 0;
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -0.035em;
}

.campussphere-auto__hero h1 {
	max-width: 640px;
	color: #fff;
	font-size: clamp( 2rem, 3.8vw, 3.25rem );
	line-height: 1.08;
}

.campussphere-auto__hero h1 em {
	display: block;
	color: var( --auto-mint );
	font-style: normal;
}

.wp-block-post-content .campussphere-auto__lede {
	max-width: 560px;
	margin: 1.25rem 0 0;
	color: #9eb6c9 !important;
	font-size: clamp( 1rem, 1.3vw, 1.075rem );
	line-height: 1.65;
}

.campussphere-auto__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.campussphere-auto__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 52px;
	padding: 0.9rem 1.35rem;
	border: 1px solid transparent;
	border-radius: 0.75rem;
	font-size: 0.94rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.campussphere-auto__button:hover {
	transform: translateY( -2px );
}

.campussphere-auto__button--primary {
	background: linear-gradient( 135deg, #06b6d4, #0891b2 );
	color: #041018;
	box-shadow: 0 12px 28px rgba( 6, 182, 212, 0.28 );
}

.campussphere-auto__button--secondary {
	border-color: rgba( 255, 255, 255, 0.18 );
	background: rgba( 255, 255, 255, 0.05 );
	color: #fff;
}

.campussphere-auto__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.1rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
	color: #8eabc0;
	font-size: 0.86rem;
}

.campussphere-auto__proof li {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.campussphere-auto__proof li::before {
	content: "";
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 999px;
	background: var( --auto-cyan );
	box-shadow: 0 0 0 4px rgba( 6, 182, 212, 0.15 );
}

.campussphere-auto__console {
	position: relative;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 1.35rem;
	background:
		linear-gradient( 160deg, rgba( 15, 35, 48, 0.95 ), rgba( 8, 20, 30, 0.98 ) );
	box-shadow:
		0 28px 60px rgba( 0, 0, 0, 0.35 ),
		inset 0 1px 0 rgba( 255, 255, 255, 0.06 );
	overflow: hidden;
	animation: campussphere-auto-float 6.5s ease-in-out infinite;
}

.campussphere-auto__console-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.15rem;
	border-bottom: 1px solid rgba( 148, 163, 184, 0.14 );
	background: rgba( 255, 255, 255, 0.03 );
}

.campussphere-auto__console-top > div {
	display: flex;
	align-items: center;
	gap: 0.7rem;
}

.campussphere-auto__console-mark {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 0.65rem;
	background: linear-gradient( 135deg, #06b6d4, #0e7490 );
	color: #041018;
	font-size: 0.72rem;
	font-weight: 800;
}

.campussphere-auto__console-top strong {
	font-size: 0.92rem;
}

.campussphere-auto__live {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	background: rgba( 6, 182, 212, 0.12 );
	color: #a5f3fc;
	font-size: 0.72rem;
	font-weight: 700;
}

.campussphere-auto__live i {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 999px;
	background: #22d3ee;
	animation: campussphere-auto-pulse 1.8s ease-in-out infinite;
}

.campussphere-auto__console-body {
	display: grid;
	gap: 1rem;
	padding: 1.15rem;
}

.campussphere-auto__flow {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	gap: 0.45rem;
	align-items: center;
}

.campussphere-auto__node {
	display: grid;
	gap: 0.15rem;
	padding: 0.75rem 0.7rem;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 0.85rem;
	background: rgba( 255, 255, 255, 0.04 );
	text-align: center;
}

.campussphere-auto__node span {
	color: #67e8f9;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.campussphere-auto__node strong {
	font-size: 0.82rem;
}

.campussphere-auto__node small {
	color: #8eabc0;
	font-size: 0.68rem;
}

.campussphere-auto__node--ai {
	border-color: rgba( 6, 182, 212, 0.45 );
	background: rgba( 6, 182, 212, 0.12 );
}

.campussphere-auto__node-line {
	width: 1.1rem;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient( 90deg, rgba( 6, 182, 212, 0.15 ), #22d3ee, rgba( 6, 182, 212, 0.15 ) );
	background-size: 200% 100%;
	animation: campussphere-auto-flow 1.8s linear infinite;
}

.campussphere-auto__chat {
	padding: 0.9rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: rgba( 3, 12, 18, 0.55 );
}

.campussphere-auto__chat-head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.75rem;
	font-size: 0.78rem;
}

.campussphere-auto__chat-head span {
	color: #67e8f9;
}

.campussphere-auto__bubble {
	max-width: 92%;
	margin-bottom: 0.55rem;
	padding: 0.65rem 0.8rem;
	border-radius: 0.85rem;
	font-size: 0.8rem;
	line-height: 1.45;
}

.campussphere-auto__bubble--in {
	background: rgba( 255, 255, 255, 0.07 );
	color: #d7e6f0;
}

.campussphere-auto__bubble--out {
	margin-left: auto;
	background: linear-gradient( 135deg, rgba( 6, 182, 212, 0.28 ), rgba( 8, 145, 178, 0.22 ) );
	border: 1px solid rgba( 103, 232, 249, 0.25 );
	color: #e0faff;
}

.campussphere-auto__bubble--meta {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	max-width: none;
	margin: 0.35rem 0 0;
	padding: 0.45rem 0.65rem;
	border-radius: 0.65rem;
	background: rgba( 94, 234, 212, 0.08 );
	color: #99f6e4;
	font-size: 0.72rem;
	font-weight: 600;
}

.campussphere-auto__signals {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 0.65rem;
}

.campussphere-auto__signals > div {
	padding: 0.7rem 0.65rem;
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 0.8rem;
	background: rgba( 255, 255, 255, 0.03 );
}

.campussphere-auto__signals small {
	display: block;
	color: #8eabc0;
	font-size: 0.68rem;
}

.campussphere-auto__signals strong {
	font-size: 0.92rem;
}

.campussphere-auto__float {
	position: absolute;
	right: 1rem;
	bottom: -0.85rem;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.7rem 0.9rem;
	border: 1px solid rgba( 103, 232, 249, 0.3 );
	border-radius: 0.95rem;
	background: rgba( 7, 24, 34, 0.95 );
	box-shadow: 0 16px 32px rgba( 0, 0, 0, 0.28 );
	backdrop-filter: blur( 10px );
}

.campussphere-auto__float > span {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 0.6rem;
	background: rgba( 6, 182, 212, 0.18 );
	color: #67e8f9;
	font-size: 0.68rem;
	font-weight: 800;
}

.campussphere-auto__float strong {
	display: block;
	font-size: 0.82rem;
}

.campussphere-auto__float small {
	color: #8eabc0;
	font-size: 0.7rem;
}

.campussphere-auto__outcomes {
	padding: 0;
	background: #fff;
	border-bottom: 1px solid var( --auto-line );
}

.campussphere-auto__outcomes-inner {
	display: grid;
	grid-template-columns: minmax( 160px, 0.7fr ) repeat( 3, 1fr );
	gap: 1rem;
	align-items: center;
	padding: 1.35rem 0;
}

.campussphere-auto__outcomes-inner > p {
	margin: 0;
	color: #64748b;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.campussphere-auto__outcomes-inner > div {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	padding: 0.35rem 0.25rem;
}

.campussphere-auto__outcomes-inner span {
	color: var( --auto-teal );
	font-size: 0.75rem;
	font-weight: 800;
}

.campussphere-auto__outcomes-inner strong {
	font-size: 0.95rem;
	line-height: 1.35;
}

.campussphere-auto__system,
.campussphere-auto__toolkit,
.campussphere-auto__process {
	padding: clamp( 3.5rem, 6vw, 5.5rem ) max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
}

.campussphere-auto__section-head {
	display: grid;
	grid-template-columns: minmax( 0, 1.2fr ) minmax( 220px, 0.8fr );
	gap: clamp( 1.5rem, 4vw, 3.5rem );
	align-items: end;
}

.campussphere-auto__section-head--center {
	grid-template-columns: 1fr;
	justify-items: center;
	text-align: center;
}

.campussphere-auto__section-head h2 {
	max-width: 720px;
	font-size: clamp( 1.85rem, 3.5vw, 2.65rem );
	line-height: 1.15;
	color: var( --auto-ink );
}

.campussphere-auto__section-head > p {
	margin: 0;
	color: #64748b;
	font-size: 1rem;
	line-height: 1.7;
}

.campussphere-auto__section-head--center > p {
	max-width: 640px;
}

.campussphere-auto__journey {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 1rem;
	margin-top: clamp( 2.25rem, 4vw, 3.5rem );
}

.campussphere-auto__journey article {
	display: grid;
	gap: 1rem;
	min-height: 100%;
	padding: 1.35rem;
	border: 1px solid var( --auto-line );
	border-radius: 1.15rem;
	background: #fff;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.campussphere-auto__journey article:hover {
	transform: translateY( -4px );
	border-color: rgba( 8, 145, 178, 0.35 );
	box-shadow: 0 1.25rem 2.5rem rgba( 15, 23, 42, 0.07 );
}

.campussphere-auto__stage {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.campussphere-auto__stage span {
	display: grid;
	place-items: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 0.7rem;
	background: #ecfeff;
	color: var( --auto-teal );
	font-size: 0.75rem;
	font-weight: 800;
}

.campussphere-auto__stage i {
	color: #64748b;
	font-style: normal;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-auto__journey small {
	color: var( --auto-teal );
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-auto__journey h3 {
	margin: 0.35rem 0 0.55rem;
	font-size: 1.05rem;
	letter-spacing: -0.02em;
}

.wp-block-post-content .campussphere-auto__journey p {
	margin: 0 0 0.85rem;
	color: #64748b !important;
	font-size: 0.9rem;
	line-height: 1.6;
}

.campussphere-auto__journey ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-auto__journey li {
	position: relative;
	padding-left: 0.9rem;
	color: #475569;
	font-size: 0.82rem;
	line-height: 1.55;
}

.campussphere-auto__journey li + li {
	margin-top: 0.25rem;
}

.campussphere-auto__journey li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 999px;
	background: var( --auto-cyan );
}

.campussphere-auto__toolkit {
	width: 100%;
	max-width: none;
	background:
		radial-gradient( circle at 12% 0%, rgba( 6, 182, 212, 0.12 ), transparent 26% ),
		linear-gradient( 180deg, #f0fdfa 0%, #f8fafc 42%, #fff 100% );
}

.campussphere-auto__grid {
	display: grid;
	grid-template-columns: repeat( 6, 1fr );
	gap: 1rem;
	margin-top: clamp( 2.25rem, 4vw, 3.5rem );
}

.campussphere-auto__card {
	grid-column: span 2;
	min-height: 210px;
	padding: 1.4rem;
	border: 1px solid rgba( 8, 145, 178, 0.14 );
	border-radius: 1.15rem;
	background: rgba( 255, 255, 255, 0.9 );
	box-shadow: 0 10px 30px rgba( 15, 23, 42, 0.04 );
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.campussphere-auto__card:hover {
	transform: translateY( -4px );
	border-color: rgba( 8, 145, 178, 0.35 );
	box-shadow: 0 18px 36px rgba( 8, 145, 178, 0.1 );
}

.campussphere-auto__card--wide {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	grid-column: span 6;
	gap: 1.25rem;
	align-items: center;
	min-height: 250px;
	background:
		linear-gradient( 135deg, rgba( 255, 255, 255, 0.95 ), rgba( 236, 254, 255, 0.9 ) );
}

.campussphere-auto__card small {
	color: var( --auto-teal );
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-auto__card h3 {
	margin: 0.45rem 0 0.55rem;
	font-size: 1.1rem;
	letter-spacing: -0.02em;
}

.wp-block-post-content .campussphere-auto__card p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.92rem;
	line-height: 1.65;
}

.campussphere-auto__mini-chat {
	position: relative;
	min-height: 170px;
	padding: 1.1rem;
	border-radius: 1rem;
	border: 1px solid rgba( 8, 145, 178, 0.18 );
	background:
		radial-gradient( circle at 80% 20%, rgba( 6, 182, 212, 0.18 ), transparent 40% ),
		linear-gradient( 160deg, #0b1c28, #102433 );
	color: #fff;
	overflow: hidden;
}

.campussphere-auto__mini-dot {
	display: block;
	width: 0.55rem;
	height: 0.55rem;
	margin-bottom: 1rem;
	border-radius: 999px;
	background: #22d3ee;
	box-shadow: 0 0 0 6px rgba( 34, 211, 238, 0.15 );
	animation: campussphere-auto-pulse 2s ease-in-out infinite;
}

.campussphere-auto__mini-chat > div {
	display: grid;
	gap: 0.45rem;
	margin-bottom: 1rem;
}

.campussphere-auto__mini-chat i {
	display: block;
	height: 0.55rem;
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.14 );
}

.campussphere-auto__mini-chat i:nth-child( 1 ) { width: 78%; }
.campussphere-auto__mini-chat i:nth-child( 2 ) { width: 62%; }
.campussphere-auto__mini-chat i:nth-child( 3 ) { width: 48%; background: rgba( 6, 182, 212, 0.45 ); }

.campussphere-auto__mini-chat strong {
	font-size: 0.82rem;
	font-weight: 600;
	color: #a5f3fc;
}

.campussphere-auto__impact {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1.05fr );
	gap: clamp( 2rem, 5vw, 4rem );
	align-items: center;
	padding: clamp( 3.5rem, 6vw, 5.5rem ) max( 1.25rem, calc( ( 100% - 1180px ) / 2 ) );
	background:
		radial-gradient( circle at 8% 20%, rgba( 6, 182, 212, 0.16 ), transparent 28% ),
		linear-gradient( 155deg, #041018, #0b1c28 55%, #07141f );
	color: #fff;
	width: 100%;
	max-width: none;
}

.campussphere-auto__compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem;
	padding: 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 1.25rem;
	background: rgba( 255, 255, 255, 0.04 );
}

.campussphere-auto__compare-col {
	padding: 1.1rem;
	border-radius: 1rem;
	background: rgba( 255, 255, 255, 0.03 );
}

.campussphere-auto__compare-col--after {
	border: 1px solid rgba( 6, 182, 212, 0.35 );
	background: rgba( 6, 182, 212, 0.1 );
}

.campussphere-auto__compare-col small {
	display: inline-block;
	margin-bottom: 0.85rem;
	color: #8eabc0;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.campussphere-auto__compare-col--after small {
	color: #67e8f9;
}

.campussphere-auto__compare-col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-auto__compare-col li {
	position: relative;
	padding-left: 1rem;
	color: #b7c9d8;
	font-size: 0.88rem;
	line-height: 1.55;
}

.campussphere-auto__compare-col li + li {
	margin-top: 0.55rem;
}

.campussphere-auto__compare-col li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 999px;
	background: #64748b;
}

.campussphere-auto__compare-col--after li::before {
	background: #22d3ee;
}

.campussphere-auto__impact-copy .campussphere-auto__eyebrow {
	color: #67e8f9;
}

.campussphere-auto__impact-copy h2 {
	margin: 0 0 1rem;
	max-width: 560px;
	color: #fff;
	font-size: clamp( 1.85rem, 3.2vw, 2.45rem );
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.wp-block-post-content .campussphere-auto__impact-copy > p {
	margin: 0 0 1.35rem;
	max-width: 540px;
	color: #9eb6c9 !important;
	font-size: 1rem;
	line-height: 1.7;
}

.campussphere-auto__impact-copy ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.9rem;
}

.campussphere-auto__impact-copy li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.75rem;
	align-items: start;
}

.campussphere-auto__impact-copy li > span {
	display: grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 999px;
	background: rgba( 6, 182, 212, 0.18 );
	color: #67e8f9;
	font-size: 0.75rem;
	font-weight: 800;
}

.campussphere-auto__impact-copy strong {
	display: block;
	color: #fff;
	font-size: 0.95rem;
}

.campussphere-auto__impact-copy small {
	color: #8eabc0;
	font-size: 0.86rem;
	line-height: 1.55;
}

.campussphere-auto__steps {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 1rem;
	margin: clamp( 2.25rem, 4vw, 3.5rem ) 0 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.campussphere-auto__steps > li {
	display: grid;
	gap: 1rem;
	min-height: 210px;
	padding: 1.35rem;
	border: 1px solid var( --auto-line );
	border-radius: 1.15rem;
	background: #fff;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.campussphere-auto__steps > li:hover {
	transform: translateY( -4px );
	border-color: rgba( 8, 145, 178, 0.35 );
	box-shadow: 0 1.25rem 2.5rem rgba( 15, 23, 42, 0.07 );
}

.campussphere-auto__steps > li > span {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.75rem;
	background: #ecfeff;
	color: var( --auto-teal );
	font-size: 0.78rem;
	font-weight: 800;
}

.campussphere-auto__steps h3 {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
}

.wp-block-post-content .campussphere-auto__steps p {
	margin: 0;
	color: #64748b !important;
	font-size: 0.9rem;
	line-height: 1.6;
}

@media ( max-width: 1100px ) {
	.campussphere-auto__hero-inner,
	.campussphere-auto__impact {
		grid-template-columns: 1fr;
	}

	.campussphere-auto__journey,
	.campussphere-auto__steps {
		grid-template-columns: repeat( 2, 1fr );
	}

	.campussphere-auto__outcomes-inner {
		grid-template-columns: 1fr 1fr;
	}

	.campussphere-auto__outcomes-inner > p {
		grid-column: 1 / -1;
	}

	.campussphere-auto__float {
		position: static;
		margin-top: 0.5rem;
	}
}

@media ( max-width: 760px ) {
	.campussphere-auto__section-head {
		grid-template-columns: 1fr;
	}

	.campussphere-auto__journey,
	.campussphere-auto__steps,
	.campussphere-auto__grid,
	.campussphere-auto__outcomes-inner,
	.campussphere-auto__compare,
	.campussphere-auto__signals {
		grid-template-columns: 1fr;
	}

	.campussphere-auto__card,
	.campussphere-auto__card--wide {
		grid-column: span 1;
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.campussphere-auto__flow {
		grid-template-columns: 1fr;
		gap: 0.55rem;
	}

	.campussphere-auto__node-line {
		width: 2px;
		height: 0.9rem;
		margin-inline: auto;
		background: linear-gradient( 180deg, rgba( 6, 182, 212, 0.15 ), #22d3ee, rgba( 6, 182, 212, 0.15 ) );
		background-size: 100% 200%;
	}

	.campussphere-auto__console {
		animation: none;
	}
}

@media ( max-width: 540px ) {
	.campussphere-auto__actions,
	.campussphere-auto__button {
		width: 100%;
	}

	.campussphere-auto__proof {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.campussphere-auto__hero .campussphere-reveal,
	.campussphere-auto .campussphere-reveal {
		opacity: 1;
		transform: none;
		animation: none !important;
		transition: none;
	}

	.campussphere-auto__console,
	.campussphere-auto__hero-glow,
	.campussphere-auto__live i,
	.campussphere-auto__node-line,
	.campussphere-auto__mini-dot,
	.campussphere-auto__button,
	.campussphere-auto__journey article,
	.campussphere-auto__card,
	.campussphere-auto__steps > li {
		animation: none !important;
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   About page enterprise redesign
   -------------------------------------------------------------------------- */

.campussphere-aboutx {
	background:
		radial-gradient( circle at 0% 0%, rgba( 37, 99, 235, 0.08 ), transparent 34% ),
		radial-gradient( circle at 100% 100%, rgba( 124, 58, 237, 0.08 ), transparent 30% ),
		#f8fafc !important;
}

.campussphere-aboutx > .wp-block-group {
	max-width: min( 1180px, 100% );
}

.campussphere-aboutx__hero {
	display: grid;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 0, 0.85fr );
	gap: clamp( 1.25rem, 3vw, 2rem );
	align-items: stretch;
	padding: clamp( 1.5rem, 3vw, 2rem );
	border: 1px solid rgba( 148, 163, 184, 0.2 );
	border-radius: 1.2rem;
	background: rgba( 255, 255, 255, 0.92 );
	box-shadow: 0 20px 48px rgba( 15, 23, 42, 0.08 );
}

.campussphere-aboutx__hero-copy h1 {
	margin: 0 0 0.9rem;
	color: #0f172a;
	font-size: clamp( 1.8rem, 3.2vw, 2.6rem );
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.campussphere-aboutx__hero-copy p {
	margin: 0;
	color: #475569;
	font-size: 1rem;
	line-height: 1.75;
}

.campussphere-aboutx__eyebrow {
	margin: 0 0 0.65rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.campussphere-aboutx__hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1.25rem;
}

.campussphere-aboutx__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0.74rem 1.1rem;
	border-radius: 0.7rem;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.campussphere-aboutx__btn--primary {
	background: #4f46e5;
	color: #fff;
}

.campussphere-aboutx__btn--ghost {
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #334155;
}

.campussphere-aboutx__hero-panel {
	padding: 1.15rem;
	border: 1px solid rgba( 99, 102, 241, 0.2 );
	border-radius: 1rem;
	background: linear-gradient( 160deg, rgba( 79, 70, 229, 0.07 ), rgba( 14, 165, 233, 0.05 ) );
}

.campussphere-aboutx__panel-title {
	margin: 0 0 0.8rem;
	color: #1e293b;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-aboutx__hero-panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.8rem;
}

.campussphere-aboutx__hero-panel li strong {
	display: block;
	color: #0f172a;
	font-size: 0.92rem;
}

.campussphere-aboutx__hero-panel li span {
	display: block;
	margin-top: 0.22rem;
	color: #64748b;
	font-size: 0.84rem;
	line-height: 1.45;
}

.campussphere-aboutx__stats {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 0.8rem;
	margin-top: 1rem;
}

.campussphere-aboutx__stats article {
	padding: 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 0.9rem;
	background: #fff;
}

.campussphere-aboutx__stats strong {
	display: block;
	color: #0f172a;
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.campussphere-aboutx__stats span {
	display: block;
	margin-top: 0.25rem;
	color: #64748b;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.campussphere-aboutx__split {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr );
	gap: 1rem;
	margin-top: 1rem;
}

.campussphere-aboutx__split > div,
.campussphere-aboutx__steps {
	padding: 1.2rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: #fff;
}

.campussphere-aboutx__split h2,
.campussphere-aboutx__principles h2 {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 1.4rem, 2.3vw, 1.9rem );
	font-weight: 800;
	letter-spacing: -0.025em;
}

.campussphere-aboutx__split > div p {
	margin: 0.8rem 0 0;
	color: #64748b;
	font-size: 0.95rem;
	line-height: 1.75;
}

.campussphere-aboutx__steps {
	margin: 0;
	padding-left: 1.2rem;
	list-style: none;
	display: grid;
	gap: 0.9rem;
}

.campussphere-aboutx__steps li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.7rem;
}

.campussphere-aboutx__steps li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 0.6rem;
	background: #eef2ff;
	color: #4338ca;
	font-size: 0.72rem;
	font-weight: 800;
}

.campussphere-aboutx__steps h3 {
	margin: 0;
	color: #0f172a;
	font-size: 0.98rem;
	font-weight: 700;
}

.campussphere-aboutx__steps p {
	margin: 0.35rem 0 0;
	color: #64748b;
	font-size: 0.86rem;
	line-height: 1.55;
}

.campussphere-aboutx__principles {
	margin-top: 1rem;
	padding: 1.3rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: #fff;
}

.campussphere-aboutx__principles-grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0.8rem;
	margin-top: 0.95rem;
}

.campussphere-aboutx__principles-grid article {
	padding: 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 0.85rem;
	background: #f8fafc;
}

.campussphere-aboutx__principles-grid h3 {
	margin: 0;
	color: #0f172a;
	font-size: 0.95rem;
	font-weight: 700;
}

.campussphere-aboutx__principles-grid p {
	margin: 0.45rem 0 0;
	color: #64748b;
	font-size: 0.84rem;
	line-height: 1.55;
}

@media ( max-width: 960px ) {
	.campussphere-aboutx__hero,
	.campussphere-aboutx__split {
		grid-template-columns: 1fr;
	}

	.campussphere-aboutx__stats {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 620px ) {
	.campussphere-aboutx__hero-cta,
	.campussphere-aboutx__btn {
		width: 100%;
	}

	.campussphere-aboutx__stats,
	.campussphere-aboutx__principles-grid {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------------------
   Product page enterprise redesign
   -------------------------------------------------------------------------- */

.campussphere-productx {
	background:
		radial-gradient( circle at 0% 0%, rgba( 37, 99, 235, 0.07 ), transparent 32% ),
		radial-gradient( circle at 100% 18%, rgba( 124, 58, 237, 0.06 ), transparent 28% ),
		#f8fafc;
}

.campussphere-productx__inner {
	width: min( 1180px, calc( 100% - 3rem ) );
	margin: 0 auto;
}

.campussphere-productx__eyebrow {
	margin: 0 0 0.75rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.campussphere-productx__hero {
	position: relative;
	padding: clamp( 1.75rem, 3.5vw, 2.75rem ) 0 clamp( 1.25rem, 2.5vw, 2rem );
	overflow: hidden;
}

.campussphere-productx__hero-ambient {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.campussphere-productx__orb {
	position: absolute;
	border-radius: 999px;
	filter: blur( 60px );
	opacity: 0.55;
}

.campussphere-productx__orb--a {
	top: -8%;
	left: -6%;
	width: min( 420px, 48vw );
	height: min( 420px, 48vw );
	background: rgba( 99, 102, 241, 0.22 );
}

.campussphere-productx__orb--b {
	right: -8%;
	bottom: 0;
	width: min( 360px, 42vw );
	height: min( 360px, 42vw );
	background: rgba( 56, 189, 248, 0.18 );
}

.campussphere-productx__hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax( 0, 1.1fr ) minmax( 280px, 0.85fr );
	gap: clamp( 1.25rem, 2.5vw, 2rem );
	align-items: center;
}

.campussphere-productx__hero-copy h1 {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 1.75rem, 3.4vw, 2.65rem );
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.campussphere-productx__lead {
	margin: 0.75rem 0 0;
	max-width: 580px;
	color: #475569;
	font-size: 0.98rem;
	line-height: 1.65;
}

.campussphere-productx__hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.1rem;
}

.campussphere-productx__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.35rem;
	border-radius: 999px;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.campussphere-productx__btn--primary {
	background: #4f46e5;
	color: #fff;
	box-shadow: 0 14px 30px rgba( 79, 70, 229, 0.28 );
}

.campussphere-productx__btn--primary:hover {
	transform: translateY( -1px );
	box-shadow: 0 18px 36px rgba( 79, 70, 229, 0.34 );
}

.campussphere-productx__btn--ghost {
	border: 1px solid rgba( 79, 70, 229, 0.22 );
	background: rgba( 255, 255, 255, 0.92 );
	color: #4338ca;
}

.campussphere-productx__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.campussphere-productx__trust li {
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	background: rgba( 255, 255, 255, 0.88 );
	color: #475569;
	font-size: 0.78rem;
	font-weight: 600;
}

.campussphere-productx__hero-visual {
	position: relative;
	max-width: 420px;
	justify-self: end;
	width: 100%;
}

.campussphere-productx__dashboard {
	position: relative;
	padding: 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1.1rem;
	background: linear-gradient( 165deg, rgba( 255, 255, 255, 0.98 ) 0%, rgba( 248, 250, 252, 0.96 ) 100% );
	box-shadow: 0 18px 44px rgba( 15, 23, 42, 0.1 );
}

.campussphere-productx__dashboard-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.campussphere-productx__dashboard-brand {
	color: #0f172a;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.campussphere-productx__dashboard-live {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: rgba( 16, 185, 129, 0.12 );
	color: #047857;
	font-size: 0.7rem;
	font-weight: 700;
}

.campussphere-productx__dashboard-live i {
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 999px;
	background: #10b981;
	box-shadow: 0 0 0 3px rgba( 16, 185, 129, 0.18 );
}

.campussphere-productx__dashboard-metrics {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0.5rem;
	margin-bottom: 0.65rem;
}

.campussphere-productx__dashboard-metrics article {
	padding: 0.6rem 0.7rem;
	border-radius: 0.7rem;
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	background: #fff;
}

.campussphere-productx__dashboard-metrics small {
	display: block;
	color: #64748b;
	font-size: 0.68rem;
	font-weight: 600;
}

.campussphere-productx__dashboard-metrics strong {
	display: block;
	margin-top: 0.1rem;
	color: #0f172a;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.campussphere-productx__dashboard-feed {
	display: grid;
	gap: 0.4rem;
	margin: 0;
	padding: 0.55rem;
	list-style: none;
	border-radius: 0.75rem;
	background: linear-gradient( 180deg, #eef2ff 0%, #f8fafc 100% );
}

.campussphere-productx__dashboard-feed li {
	display: grid;
	gap: 0.05rem;
	padding: 0.4rem 0.5rem;
	border-radius: 0.5rem;
	background: rgba( 255, 255, 255, 0.88 );
}

.campussphere-productx__dashboard-feed strong {
	color: #0f172a;
	font-size: 0.78rem;
}

.campussphere-productx__dashboard-feed span {
	color: #64748b;
	font-size: 0.68rem;
}

.campussphere-productx__dashboard-laptop {
	display: none;
}

.campussphere-productx__stats {
	padding: 0 0 clamp( 1.75rem, 3.5vw, 2.5rem );
}

.campussphere-productx__stats-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 0.85rem;
}

.campussphere-productx__stats-grid article {
	padding: 1.15rem 1.25rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: rgba( 255, 255, 255, 0.94 );
	box-shadow: 0 12px 28px rgba( 15, 23, 42, 0.05 );
}

.campussphere-productx__stats-grid strong {
	display: block;
	color: #0f172a;
	font-size: clamp( 1.35rem, 2vw, 1.75rem );
	font-weight: 800;
	letter-spacing: -0.02em;
}

.campussphere-productx__stats-grid span {
	display: block;
	margin-top: 0.35rem;
	color: #64748b;
	font-size: 0.88rem;
	line-height: 1.45;
}

.campussphere-productx__section-head {
	max-width: 760px;
	margin-bottom: clamp( 1.75rem, 3vw, 2.5rem );
}

.campussphere-productx__section-head h2 {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 1.75rem, 3.2vw, 2.45rem );
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.campussphere-productx__section-head h2 span {
	color: #4338ca;
}

.campussphere-productx__section-head p {
	margin: 0.85rem 0 0;
	color: #64748b;
	font-size: 1.02rem;
	line-height: 1.7;
}

.campussphere-productx__pillars {
	padding: clamp( 2.5rem, 5vw, 4rem ) 0;
	background: #fff;
}

.campussphere-productx__pillar-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-productx__pillar {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	min-height: 100%;
	padding: 1.45rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1.15rem;
	background: #fff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.campussphere-productx__pillar:hover {
	transform: translateY( -3px );
	border-color: rgba( 79, 70, 229, 0.22 );
	box-shadow: 0 22px 48px rgba( 15, 23, 42, 0.08 );
}

.campussphere-productx__pillar--ai {
	background: linear-gradient( 180deg, #f5f3ff 0%, #ffffff 100% );
}

.campussphere-productx__pillar-index {
	color: #c7d2fe;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1;
}

.campussphere-productx__pillar-tag {
	margin: 0;
	color: #4338ca;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-productx__pillar h3 {
	margin: 0;
	color: #0f172a;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
}

.campussphere-productx__pillar p {
	flex: 1;
	margin: 0;
	color: #64748b;
	font-size: 0.94rem;
	line-height: 1.65;
}

.campussphere-productx__pillar-outcome {
	color: #4338ca;
	font-size: 0.88rem;
	font-weight: 700;
}

.campussphere-productx__workflow {
	padding: clamp( 2.5rem, 5vw, 4.5rem ) 0;
	background: linear-gradient( 180deg, #f8fafc 0%, #ffffff 100% );
}

.campussphere-productx__pipeline-shell {
	margin-bottom: clamp( 1.75rem, 3vw, 2.5rem );
	padding: 1.35rem;
	border: 1px solid rgba( 148, 163, 184, 0.14 );
	border-radius: 1.15rem;
	background: rgba( 255, 255, 255, 0.92 );
	box-shadow: 0 18px 40px rgba( 15, 23, 42, 0.06 );
}

.campussphere-productx__module-bento {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-productx__module-card {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	min-height: 100%;
	padding: 1.25rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: #fff;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.campussphere-productx__module-card:hover {
	transform: translateY( -2px );
	border-color: rgba( 79, 70, 229, 0.24 );
	box-shadow: 0 16px 36px rgba( 15, 23, 42, 0.07 );
}

.campussphere-productx__module-card > p {
	margin: 0;
	color: #4338ca;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-productx__module-card h3 {
	margin: 0;
	color: #0f172a;
	font-size: 1.05rem;
	font-weight: 700;
}

.campussphere-productx__module-card > span {
	flex: 1;
	color: #64748b;
	font-size: 0.9rem;
	line-height: 1.55;
}

.campussphere-productx__module-card a {
	color: #4338ca;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.campussphere-productx__module-card a:hover {
	text-decoration: underline;
}

.campussphere-productx__personas {
	background: #fff;
}

.campussphere-productx__enterprise {
	padding: clamp( 2.5rem, 5vw, 4rem ) 0;
	background: linear-gradient( 180deg, #0f172a 0%, #1e293b 100% );
}

.campussphere-productx__enterprise .campussphere-productx__eyebrow {
	color: #93c5fd;
}

.campussphere-productx__enterprise .campussphere-productx__section-head h2,
.campussphere-productx__enterprise .campussphere-productx__section-head p {
	color: #e2e8f0;
}

.campussphere-productx__enterprise .campussphere-productx__section-head p {
	color: #94a3b8;
}

.campussphere-productx__enterprise-grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-productx__enterprise-grid article {
	padding: 1.35rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: rgba( 255, 255, 255, 0.04 );
}

.campussphere-productx__enterprise-grid h3 {
	margin: 0 0 0.55rem;
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
}

.campussphere-productx__enterprise-grid p {
	margin: 0;
	color: #94a3b8;
	font-size: 0.92rem;
	line-height: 1.65;
}

.campussphere-productx__rollout {
	padding: clamp( 2.5rem, 5vw, 4rem ) 0;
	background: #fff;
}

.campussphere-productx__compare {
	padding: clamp( 2.5rem, 5vw, 4rem ) 0;
	background: #f8fafc;
}

.campussphere-productx__compare-table {
	display: grid;
	gap: 0;
	margin-top: 1.75rem;
	border: 1px solid rgba( 148, 163, 184, 0.22 );
	border-radius: 1rem;
	overflow: hidden;
	background: #fff;
}

.campussphere-productx__compare-row {
	display: grid;
	grid-template-columns: minmax( 0, 1.1fr ) minmax( 0, 1fr ) minmax( 0, 1fr );
	gap: 0;
}

.campussphere-productx__compare-row > div {
	padding: 0.95rem 1.1rem;
	border-top: 1px solid rgba( 148, 163, 184, 0.16 );
	font-size: 0.95rem;
	line-height: 1.55;
	color: #334155;
}

.campussphere-productx__compare-row--head > div {
	border-top: 0;
	background: #0f172a;
	color: #f8fafc;
	font-weight: 600;
	font-size: 0.88rem;
	letter-spacing: 0.02em;
}

.campussphere-productx__compare-row > div:not(:first-child) {
	border-left: 1px solid rgba( 148, 163, 184, 0.16 );
}

.campussphere-productx__compare-row--head > div:not(:first-child) {
	border-left-color: rgba( 248, 250, 252, 0.12 );
}

.campussphere-productx__compare-more {
	margin: 1.25rem 0 0;
	font-size: 0.98rem;
}

.campussphere-productx__compare-more a {
	color: #4338ca;
	font-weight: 600;
	text-decoration: none;
}

.campussphere-productx__compare-more a:hover {
	text-decoration: underline;
}

.campussphere-city-page__local {
	padding: clamp( 2rem, 4vw, 3.25rem ) 0;
	background: #fff;
}

.campussphere-city-page__local-list {
	display: grid;
	gap: 0.65rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.campussphere-city-page__local-list li {
	position: relative;
	padding: 0.85rem 1rem 0.85rem 2.4rem;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 0.85rem;
	background: #f8fafc;
	color: #334155;
	line-height: 1.55;
}

.campussphere-city-page__local-list li::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 1.15rem;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: #4f46e5;
}

.campussphere-compare-page {
	padding: clamp( 2.25rem, 4.5vw, 3.5rem ) 0;
}

.campussphere-compare-page__inner {
	width: min( 1100px, calc( 100% - 2rem ) );
	margin: 0 auto;
}

.campussphere-compare-page__head h2 {
	margin: 0 0 0.75rem;
	font-size: clamp( 1.45rem, 2.4vw, 1.9rem );
	color: #0f172a;
}

.campussphere-compare-page__head p {
	margin: 0;
	max-width: 62ch;
	color: #64748b;
	line-height: 1.7;
}

.campussphere-compare-page__grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 1rem;
	margin-top: 1.5rem;
}

.campussphere-compare-page__grid article {
	padding: 1.15rem 1.2rem;
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	border-radius: 1rem;
	background: #fff;
}

.campussphere-compare-page__grid h3 {
	margin: 0 0 0.45rem;
	font-size: 1.05rem;
	color: #0f172a;
}

.campussphere-compare-page__grid p {
	margin: 0;
	color: #64748b;
	line-height: 1.65;
}

.campussphere-compare-page--table {
	background: #f8fafc;
}

.campussphere-compare-page__checklist {
	margin: 1.25rem 0 1.5rem;
	padding-left: 1.2rem;
	color: #334155;
	line-height: 1.7;
}

@media ( max-width: 768px ) {
	.campussphere-productx__compare-row,
	.campussphere-compare-page__grid {
		grid-template-columns: 1fr;
	}

	.campussphere-productx__compare-row > div:not(:first-child) {
		border-left: 0;
	}
}

.campussphere-productx__rollout-grid {
	display: grid;
	grid-template-columns: minmax( 0, 0.95fr ) minmax( 0, 1.05fr );
	gap: clamp( 1.5rem, 3vw, 2.5rem );
	align-items: start;
}

.campussphere-productx__rollout-copy p {
	margin: 0.85rem 0 1.35rem;
	color: #64748b;
	font-size: 1rem;
	line-height: 1.7;
}

.campussphere-productx__steps {
	display: grid;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-productx__steps li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	align-items: start;
	padding: 1.15rem 1.25rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: #f8fafc;
}

.campussphere-productx__steps li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 999px;
	background: #eef2ff;
	color: #4338ca;
	font-size: 0.82rem;
	font-weight: 800;
}

.campussphere-productx__steps h3 {
	margin: 0 0 0.35rem;
	color: #0f172a;
	font-size: 1rem;
	font-weight: 700;
}

.campussphere-productx__steps p {
	margin: 0;
	color: #64748b;
	font-size: 0.9rem;
	line-height: 1.6;
}

.campussphere-productx__modules-anchor {
	scroll-margin-top: 6rem;
}

.campussphere-productx__sphero {
	background: #f8fafc;
}

.campussphere-productx .campussphere-modules {
	margin-top: 0;
}

/* Product page: explore platform showcase sits cleanly in flow */
.wp-block-post-content > .campussphere-module-showcase.alignfull,
body:not(.home) .campussphere-module-showcase {
	width: min( 1180px, calc( 100% - 2rem ) );
	margin-top: clamp( 1.5rem, 3vw, 2.5rem );
	margin-bottom: clamp( 1.5rem, 3vw, 2.5rem );
	border-radius: 1.35rem;
}

body:not(.home) .campussphere-module-showcase__heading {
	font-size: clamp( 1.75rem, 3.2vw, 2.5rem );
}

body:not(.home) .campussphere-module-showcase__header {
	gap: clamp( 1.25rem, 3vw, 2.5rem );
	margin-bottom: 1.75rem;
}

body:not(.home) .campussphere-module-showcase__inner {
	grid-template-columns: 260px minmax( 0, 1fr );
	gap: 1.15rem;
}

body:not(.home) .campussphere-module-tab {
	min-height: 3.5rem;
	padding: 0.5rem 0.65rem;
	gap: 0.65rem;
}

body:not(.home) .campussphere-module-panel__title {
	font-size: clamp( 1.45rem, 2.4vw, 2rem );
}

body:not(.home) .campussphere-module-features {
	gap: 0.55rem;
	margin-top: 1.15rem;
}

body:not(.home) .campussphere-module-panel__screenshot,
body:not(.home) .campussphere-module-preview {
	min-height: 240px;
}

@media ( max-width: 1024px ) {
	.campussphere-productx__hero-grid,
	.campussphere-productx__rollout-grid {
		grid-template-columns: 1fr;
	}

	.campussphere-productx__hero-visual {
		max-width: 100%;
		justify-self: stretch;
	}

	.campussphere-productx__pillar-grid,
	.campussphere-productx__module-bento {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.campussphere-productx__stats-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 720px ) {
	.campussphere-productx__hero-visual {
		display: none;
	}

	.campussphere-productx__pillar-grid,
	.campussphere-productx__module-bento,
	.campussphere-productx__enterprise-grid,
	.campussphere-productx__stats-grid {
		grid-template-columns: 1fr;
	}

	.campussphere-productx__hero-cta,
	.campussphere-productx__btn {
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Homepage SEO content + Yoast FAQ
   -------------------------------------------------------------------------- */

.campussphere-home-seo {
	background: linear-gradient( 180deg, #ffffff 0%, #f8fafc 100% );
	border-block: 1px solid rgba( 148, 163, 184, 0.12 );
}

.campussphere-home-seo__header,
.campussphere-home-faq__header {
	max-width: 760px;
	margin-bottom: clamp( 2rem, 4vw, 3rem );
}

.campussphere-home-seo__overline,
.campussphere-home-faq__overline {
	margin: 0 0 0.75rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.wp-block-post-content .campussphere-home-seo__lead,
.wp-block-post-content .campussphere-home-faq__lead {
	margin: 1rem 0 0;
	color: #64748b !important;
	font-size: 1.05rem;
	line-height: 1.7;
}

.campussphere-home-seo__grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-home-seo__card {
	padding: 1.35rem 1.4rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: rgba( 255, 255, 255, 0.92 );
	box-shadow: 0 12px 32px rgba( 15, 23, 42, 0.05 );
}

.campussphere-home-seo__card h3 {
	margin: 0;
	color: #0f172a;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
}

.campussphere-home-seo__card p {
	margin: 0.65rem 0 0;
	color: #64748b;
	font-size: 0.94rem;
	line-height: 1.65;
}

.campussphere-home-seo__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.75rem;
}

.campussphere-home-seo__link {
	display: inline-flex;
	align-items: center;
	padding: 0.72rem 1.1rem;
	border: 1px solid rgba( 79, 70, 229, 0.18 );
	border-radius: 999px;
	background: #ffffff;
	color: #4338ca;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.campussphere-home-seo__link:hover {
	transform: translateY( -2px );
	border-color: rgba( 79, 70, 229, 0.32 );
	box-shadow: 0 12px 28px rgba( 79, 70, 229, 0.12 );
}

/* Homepage pan-India local coverage */
.campussphere-home-local {
	padding: clamp( 3.5rem, 6vw, 5rem ) 0;
	background: #0f172a;
	color: #e2e8f0;
}

.campussphere-home-local__inner {
	width: min( 1180px, calc( 100% - 3rem ) );
	margin: 0 auto;
}

.campussphere-home-local__overline {
	margin: 0 0 0.75rem;
	color: #818cf8;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.campussphere-home-local__title {
	margin: 0;
	color: #f8fafc;
	font-size: clamp( 1.85rem, 3.5vw, 2.45rem );
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.campussphere-home-local__lead {
	margin: 1rem 0 0;
	max-width: 820px;
	color: #94a3b8;
	font-size: 1.05rem;
	line-height: 1.7;
}

.campussphere-home-local__lead strong {
	color: #e2e8f0;
	font-weight: 600;
}

.campussphere-home-local__layout {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1.05fr );
	gap: 1.25rem;
	margin-top: clamp( 2rem, 4vw, 3rem );
}

.campussphere-home-local__panel,
.campussphere-home-local__map {
	padding: 1.5rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: rgba( 15, 23, 42, 0.72 );
	box-shadow: 0 18px 48px rgba( 2, 6, 23, 0.28 );
}

.campussphere-home-local__panel h3,
.campussphere-home-local__map-label {
	margin: 0 0 1rem;
	color: #f8fafc;
	font-size: 1.15rem;
	font-weight: 700;
}

.campussphere-home-local__benefits {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.85rem;
}

.campussphere-home-local__benefits li {
	color: #cbd5e1;
	font-size: 0.96rem;
	line-height: 1.6;
}

.campussphere-home-local__benefits strong {
	color: #f8fafc;
}

.campussphere-home-local__note {
	margin: 1.25rem 0 0;
	color: #94a3b8;
	font-size: 0.92rem;
	line-height: 1.65;
}

.campussphere-home-local__note a {
	color: #93c5fd;
}

.campussphere-home-local__cities {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0.65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-home-local__city {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid rgba( 148, 163, 184, 0.12 );
	border-radius: 0.75rem;
	background: rgba( 30, 41, 59, 0.72 );
}

.campussphere-home-local__city--highlight {
	border-color: rgba( 129, 140, 248, 0.45 );
	background: rgba( 49, 46, 129, 0.35 );
}

.campussphere-home-local__city strong {
	color: #f8fafc;
	font-size: 0.92rem;
	font-weight: 700;
}

.campussphere-home-local__city span {
	color: #94a3b8;
	font-size: 0.78rem;
}

.campussphere-home-local__footnote {
	margin: 1rem 0 0;
	color: #94a3b8;
	font-size: 0.9rem;
	line-height: 1.6;
}

.campussphere-home-local__footnote a {
	color: #93c5fd;
}

@media ( max-width: 960px ) {
	.campussphere-home-local__layout {
		grid-template-columns: 1fr;
	}

	.campussphere-home-local__cities {
		grid-template-columns: 1fr;
	}
}

.campussphere-home-local__city a {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	color: inherit;
	text-decoration: none;
}

.campussphere-home-local__city a:hover strong {
	color: #c7d2fe;
}

/* City landing pages */
.campussphere-city-page__hero,
.campussphere-city-hub__hero {
	padding: clamp( 3rem, 6vw, 5rem ) 0;
	background: linear-gradient( 180deg, #eef2ff 0%, #ffffff 100% );
}

.campussphere-city-page__inner,
.campussphere-city-hub__inner {
	width: min( 1180px, calc( 100% - 3rem ) );
	margin: 0 auto;
}

.campussphere-city-page__hero-grid {
	display: grid;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 280px, 0.85fr );
	gap: clamp( 1.5rem, 3vw, 2.5rem );
	align-items: start;
}

.campussphere-city-page__hero-panel {
	padding: clamp( 1.25rem, 2.5vw, 1.75rem );
	border-radius: 1.25rem;
	border: 1px solid rgba( 79, 70, 229, 0.14 );
	background: linear-gradient( 165deg, #ffffff 0%, #f8faff 100% );
	box-shadow: 0 24px 60px rgba( 15, 23, 42, 0.08 );
}

.campussphere-city-page__hero-panel-label {
	margin: 0 0 1rem;
	color: #4338ca;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.campussphere-city-page__hero-panel-list {
	display: grid;
	gap: 0.85rem;
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.campussphere-city-page__hero-panel-list li {
	display: grid;
	gap: 0.15rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid rgba( 148, 163, 184, 0.16 );
}

.campussphere-city-page__hero-panel-list li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.campussphere-city-page__hero-panel-list strong {
	color: #0f172a;
	font-size: 0.98rem;
}

.campussphere-city-page__hero-panel-list span {
	color: #64748b;
	font-size: 0.88rem;
}

.campussphere-city-page__btn--block {
	display: flex;
	justify-content: center;
	width: 100%;
}

.campussphere-city-page__hero-panel-link {
	display: inline-flex;
	margin-top: 0.85rem;
	color: #4338ca;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
}

.campussphere-city-page__hero-panel-link:hover,
.campussphere-city-page__text-link:hover,
.campussphere-city-page__hero-note a:hover {
	text-decoration: underline;
}

.campussphere-city-page__hero-note {
	margin: 1rem 0 0;
	color: #64748b;
	font-size: 0.92rem;
}

.campussphere-city-page__hero-note a {
	color: #4338ca;
	font-weight: 600;
	text-decoration: none;
}

.campussphere-city-page__section-head {
	max-width: 760px;
	margin-bottom: 1.75rem;
}

.campussphere-city-page__section-head h2 {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 1.65rem, 3vw, 2.2rem );
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.campussphere-city-page__section-lead {
	margin: 0.85rem 0 0;
	color: #64748b;
	font-size: 1.02rem;
	line-height: 1.7;
}

.campussphere-city-page__services {
	padding: clamp( 2.5rem, 5vw, 4rem ) 0;
	background: #fff;
}

.campussphere-city-page__services-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-city-page__service-card {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-height: 100%;
	padding: 1.35rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: #fff;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.campussphere-city-page__service-card:hover {
	transform: translateY( -2px );
	border-color: rgba( 79, 70, 229, 0.22 );
	box-shadow: 0 18px 40px rgba( 15, 23, 42, 0.08 );
}

.campussphere-city-page__service-card--featured {
	border-color: rgba( 79, 70, 229, 0.28 );
	background: linear-gradient( 180deg, #f5f3ff 0%, #ffffff 100% );
}

.campussphere-city-page__service-tag {
	display: inline-flex;
	align-self: flex-start;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	background: rgba( 79, 70, 229, 0.1 );
	color: #4338ca;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.campussphere-city-page__service-card h3 {
	margin: 0;
	color: #0f172a;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.35;
}

.campussphere-city-page__service-card p {
	flex: 1;
	margin: 0;
	color: #64748b;
	font-size: 0.92rem;
	line-height: 1.65;
}

.campussphere-city-page__service-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: auto;
	color: #4338ca;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
}

.campussphere-city-page__service-link:hover {
	text-decoration: underline;
}

.campussphere-city-page__closing {
	padding: clamp( 2.5rem, 5vw, 3.5rem ) 0;
	background: linear-gradient( 135deg, #312e81 0%, #4338ca 55%, #6366f1 100% );
}

.campussphere-city-page__closing-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.campussphere-city-page__closing-copy h2 {
	margin: 0.35rem 0 0;
	color: #fff;
	font-size: clamp( 1.5rem, 3vw, 2rem );
	font-weight: 800;
	line-height: 1.15;
}

.campussphere-city-page__closing-copy p {
	margin: 0.75rem 0 0;
	max-width: 560px;
	color: rgba( 255, 255, 255, 0.86 );
	font-size: 1rem;
	line-height: 1.65;
}

.campussphere-city-page__closing .campussphere-city-page__eyebrow {
	color: #c7d2fe;
}

.campussphere-city-page__closing-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.campussphere-city-page__closing .campussphere-city-page__btn--primary {
	background: #fff;
	color: #312e81;
}

.campussphere-city-page__closing .campussphere-city-page__btn--ghost {
	border-color: rgba( 255, 255, 255, 0.35 );
	background: transparent;
	color: #fff;
}

.campussphere-city-page__text-link {
	color: rgba( 255, 255, 255, 0.92 );
	font-size: 0.92rem;
	font-weight: 600;
	text-decoration: none;
}

.campussphere-city-page__eyebrow,
.campussphere-city-hub__eyebrow {
	margin: 0 0 0.75rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.campussphere-city-page__hero h1,
.campussphere-city-hub__hero h1 {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 2rem, 4vw, 3rem );
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.campussphere-city-page__lead,
.campussphere-city-hub__lead {
	margin: 1rem 0 0;
	max-width: 820px;
	color: #64748b;
	font-size: 1.06rem;
	line-height: 1.75;
}

.campussphere-city-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.5rem;
}

.campussphere-city-page__btn {
	display: inline-flex;
	align-items: center;
	padding: 0.85rem 1.25rem;
	border-radius: 999px;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
}

.campussphere-city-page__btn--primary {
	background: #4f46e5;
	color: #fff;
}

.campussphere-city-page__btn--ghost {
	border: 1px solid rgba( 79, 70, 229, 0.22 );
	color: #4338ca;
	background: #fff;
}

.campussphere-city-page__trust {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 1.35rem 0 0;
	padding: 0;
	list-style: none;
}

.campussphere-city-page__trust li {
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.88 );
	border: 1px solid rgba( 148, 163, 184, 0.18 );
	color: #475569;
	font-size: 0.82rem;
	font-weight: 600;
}

.campussphere-service-seo--city {
	margin-top: 0;
}

.campussphere-city-page__nearby {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

.campussphere-city-page__nearby a {
	display: inline-flex;
	padding: 0.65rem 1rem;
	border-radius: 999px;
	border: 1px solid rgba( 79, 70, 229, 0.18 );
	background: #fff;
	color: #4338ca;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
}

.campussphere-city-hub__grid-wrap {
	padding: 0 0 clamp( 3rem, 6vw, 5rem );
}

.campussphere-city-hub__group {
	margin-top: 2rem;
}

.campussphere-city-hub__group h2 {
	margin: 0 0 1rem;
	color: #0f172a;
	font-size: 1.25rem;
}

.campussphere-city-hub__group ul {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.campussphere-city-hub__group a {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 1rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 0.85rem;
	background: #fff;
	color: inherit;
	text-decoration: none;
}

.campussphere-city-hub__group strong {
	color: #0f172a;
}

.campussphere-city-hub__group span {
	color: #64748b;
	font-size: 0.85rem;
}

.campussphere-city-hub__cta {
	display: inline-flex;
	margin-top: 1.25rem;
	padding: 0.85rem 1.25rem;
	border-radius: 999px;
	background: #4f46e5;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

@media ( max-width: 960px ) {
	.campussphere-city-page__hero-grid {
		grid-template-columns: 1fr;
	}

	.campussphere-city-page__services-grid {
		grid-template-columns: 1fr;
	}

	.campussphere-city-hub__group ul {
		grid-template-columns: 1fr;
	}
}

@media ( max-width: 1100px ) and ( min-width: 961px ) {
	.campussphere-city-page__services-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

.campussphere-home-faq {
	padding-bottom: 1.5rem;
	background: #f8fafc;
}

.wp-block-post-content > .campussphere-yoast-faq,
.wp-block-post-content > .wp-block-yoast-faq-block {
	width: min( 1180px, calc( 100% - 2.5rem ) );
	margin: 0 auto clamp( 4.5rem, 7vw, 6.5rem );
	padding: 0 clamp( 1.25rem, 4vw, 3rem ) clamp( 2rem, 4vw, 3rem );
	background: #f8fafc;
}

.campussphere-yoast-faq .schema-faq-section,
.wp-block-yoast-faq-block .schema-faq-section {
	margin: 0 0 0.85rem;
	padding: 0;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 0.95rem;
	background: #ffffff;
	list-style: none;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.campussphere-yoast-faq .schema-faq-section.is-open,
.wp-block-yoast-faq-block .schema-faq-section.is-open {
	border-color: rgba( 37, 99, 235, 0.28 );
	box-shadow:
		0 1rem 2rem rgba( 37, 99, 235, 0.08 ),
		inset 3px 0 0 #2563eb;
	background:
		radial-gradient( circle at 100% 0%, rgba( 219, 234, 254, 0.55 ), transparent 35% ),
		#fff;
}

.campussphere-yoast-faq__trigger {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	align-items: center;
	gap: 0.9rem;
	width: 100%;
	padding: 1.1rem 1.25rem;
	border: 0;
	background: transparent;
	color: #0f172a;
	text-align: left;
	cursor: pointer;
}

.campussphere-yoast-faq__trigger:focus-visible {
	outline: 3px solid rgba( 37, 99, 235, 0.3 );
	outline-offset: -3px;
}

.campussphere-yoast-faq__trigger-text {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
	color: #0f172a;
}

.campussphere-yoast-faq__trigger-icon {
	position: relative;
	width: 1.85rem;
	height: 1.85rem;
	border: 1px solid #dbeafe;
	border-radius: 999px;
	background: #eff6ff;
	transition: transform 0.25s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.campussphere-yoast-faq__trigger-icon::before,
.campussphere-yoast-faq__trigger-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.7rem;
	height: 2px;
	background: #2563eb;
	border-radius: 999px;
	transform: translate( -50%, -50% );
	transition: opacity 0.2s ease;
}

.campussphere-yoast-faq__trigger-icon::after {
	transform: translate( -50%, -50% ) rotate( 90deg );
}

.campussphere-yoast-faq .schema-faq-section.is-open .campussphere-yoast-faq__trigger-icon,
.wp-block-yoast-faq-block .schema-faq-section.is-open .campussphere-yoast-faq__trigger-icon {
	border-color: #2563eb;
	background: #2563eb;
	transform: rotate( 180deg );
}

.campussphere-yoast-faq .schema-faq-section.is-open .campussphere-yoast-faq__trigger-icon::before,
.campussphere-yoast-faq .schema-faq-section.is-open .campussphere-yoast-faq__trigger-icon::after,
.wp-block-yoast-faq-block .schema-faq-section.is-open .campussphere-yoast-faq__trigger-icon::before,
.wp-block-yoast-faq-block .schema-faq-section.is-open .campussphere-yoast-faq__trigger-icon::after {
	background: #fff;
}

.campussphere-yoast-faq .schema-faq-section.is-open .campussphere-yoast-faq__trigger-icon::after,
.wp-block-yoast-faq-block .schema-faq-section.is-open .campussphere-yoast-faq__trigger-icon::after {
	opacity: 0;
}

.campussphere-yoast-faq .schema-faq-question,
.wp-block-yoast-faq-block .schema-faq-question {
	display: block;
	margin-bottom: 0.55rem;
	color: #0f172a;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
}

.campussphere-yoast-faq .schema-faq-answer,
.wp-block-yoast-faq-block .schema-faq-answer {
	margin: 0;
	padding: 0 1.25rem 1.2rem;
	color: #64748b;
	font-size: 0.94rem;
	line-height: 1.65;
}

@media ( max-width: 960px ) {
	.campussphere-home-seo__grid {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------------------
   Shared service-page SEO + Yoast FAQ blocks
   -------------------------------------------------------------------------- */

.campussphere-service-seo {
	padding: clamp( 4rem, 7vw, 6rem ) clamp( 1.25rem, 4vw, 3rem );
	background: linear-gradient( 180deg, #ffffff 0%, #f8fafc 100% );
	border-block: 1px solid rgba( 148, 163, 184, 0.12 );
	font-family: var( --campussphere-font-sans, "Inter", ui-sans-serif, system-ui, sans-serif );
}

.campussphere-service-seo__inner {
	width: min( 1180px, 100% );
	margin-inline: auto;
}

.campussphere-service-seo--about,
.campussphere-service-seo--growth,
.campussphere-service-seo--brand,
.campussphere-service-seo--auto {
	padding-inline: 0;
	border: 0;
	background: transparent;
}

.campussphere-service-seo__header {
	max-width: 760px;
	margin-bottom: clamp( 2rem, 4vw, 3rem );
}

.campussphere-service-seo__eyebrow,
.campussphere-service-faq-wrap__eyebrow {
	margin: 0 0 0.75rem;
	color: #2563eb;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.campussphere-service-seo__header h2,
.campussphere-service-faq-wrap__title {
	margin: 0;
	color: #0f172a;
	font-size: clamp( 1.85rem, 3.5vw, 2.35rem );
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.campussphere-service-seo__lead,
.campussphere-service-faq-wrap__lead {
	margin: 1rem 0 0;
	color: #64748b;
	font-size: 1.02rem;
	line-height: 1.7;
}

.campussphere-service-seo__grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 1rem;
}

.campussphere-service-seo__grid article {
	padding: 1.35rem 1.4rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 1rem;
	background: #ffffff;
	box-shadow: 0 12px 32px rgba( 15, 23, 42, 0.05 );
}

.campussphere-service-seo__grid h3 {
	margin: 0;
	color: #0f172a;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
}

.campussphere-service-seo__grid p {
	margin: 0.65rem 0 0;
	color: #64748b;
	font-size: 0.94rem;
	line-height: 1.65;
}

.campussphere-service-seo__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 1.5rem;
}

.campussphere-service-seo__links a {
	display: inline-flex;
	align-items: center;
	padding: 0.72rem 1.1rem;
	border: 1px solid rgba( 79, 70, 229, 0.18 );
	border-radius: 999px;
	background: #ffffff;
	color: #4338ca;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.campussphere-service-seo__links a:hover {
	transform: translateY( -2px );
	border-color: rgba( 79, 70, 229, 0.32 );
	box-shadow: 0 12px 28px rgba( 79, 70, 229, 0.12 );
}

.campussphere-service-faq-wrap {
	padding: clamp( 4rem, 7vw, 5rem ) clamp( 1.25rem, 4vw, 3rem ) 1.5rem;
	background: #f8fafc;
	font-family: var( --campussphere-font-sans, "Inter", ui-sans-serif, system-ui, sans-serif );
}

.campussphere-service-faq-wrap__head {
	width: min( 1180px, 100% );
	margin-inline: auto;
	max-width: 760px;
}

.wp-block-post-content > .campussphere-service-faq-wrap + .wp-block-yoast-faq-block,
.wp-block-post-content > .campussphere-service-faq-wrap + .campussphere-yoast-faq {
	width: min( 1180px, calc( 100% - 2.5rem ) );
	margin: 0 auto clamp( 3rem, 6vw, 4.5rem );
	padding: 0 clamp( 1.25rem, 4vw, 3rem ) clamp( 2rem, 4vw, 3rem );
	background: #f8fafc;
}

.campussphere-productx__faq-wrap {
	padding-top: clamp( 3rem, 5vw, 4rem );
	padding-bottom: 0.75rem;
}

.campussphere-productx__faq-wrap + .wp-block-yoast-faq-block,
.campussphere-productx__faq-wrap + .campussphere-yoast-faq,
.campussphere-productx .wp-block-yoast-faq-block,
.campussphere-productx .campussphere-yoast-faq {
	width: min( 1180px, calc( 100% - 2.5rem ) );
	margin: 0 auto clamp( 3rem, 6vw, 4.5rem );
	padding: 0 clamp( 1.25rem, 4vw, 3rem ) clamp( 2rem, 4vw, 3rem );
	background: #f8fafc;
}

.campussphere-productx__faq-wrap + .wp-block-yoast-faq-block .schema-faq-section,
.campussphere-productx__faq-wrap + .campussphere-yoast-faq .schema-faq-section {
	margin: 0 0 0.85rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid rgba( 148, 163, 184, 0.16 );
	border-radius: 0.95rem;
	background: #ffffff;
}

@media ( max-width: 960px ) {
	.campussphere-service-seo__grid {
		grid-template-columns: 1fr;
	}
}
