/*
* Page: academic-improvement
* Load this file ONLY on this specific page
*/

/*--------------------------------------------------------------
  ## Tokens / Base
--------------------------------------------------------------*/

body {
	--background-color: #54D0FF;
}

.btn, .nav-btn > a {
    display: inline-block;
    border: 2px solid #429BD7;
    border-radius: 50px;
    padding: 0 30px;
    color: white !important;
    background: #429BD7 !important;
    transition: all 0.3s;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 14px;
    font-weight: bold;
    line-height: 44px;
    transition: background .3s, border-color .3s;
}

.btn:hover {
    background: #3678AF !important;
    border-color: #3678AF;
}

/*--------------------------------------------------------------
  ## Quote Block (Gray Section)
--------------------------------------------------------------*/

.section-bg-gray .s-quote-inner.iva-trigger.iva-bottom-top {
	background: #0A2739 !important;
	border-radius: 20px;
	margin-top: 0;
}

.section-bg-gray .s-quote-content {
	color: #ffffff !important;
	text-align: left;
	font-size: 26px;
	font-weight: 500;
	margin: 0;
}

.section-bg-gray.s-quote {
	background-color: #eaf4fb !important;
}

.section-bg-gray .s-quote-content::before,
.section-bg-gray .s-quote-inner::after,
.section-bg-gray .s-quote-inner::before {
	display: none !important;
	content: none !important;
}

/*--------------------------------------------------------------
  ## Page Background Layering
--------------------------------------------------------------*/

body #page-inner {
	position: relative;
	z-index: 0;
}

/*
body #page-inner::before {
	content:"";
	position:absolute;
	top:170px;
	left:0;
	width:100%;
	height:4000px;
	background:url("/wp-content/uploads/2025/12/bg-solutions.png") no-repeat top center;
	background-size:cover;
	pointer-events:none;
	z-index: 0;
}
*/

body #page-inner > * {
	position: relative;
	z-index: 2;
}

/* Foundations list */
.foundation_sec:before {
	content: "";
	height: 100%;
	width: 100%;
	background-image: url("../images/left-round-vector.svg");
	position: absolute;
	left: 0;
	background-repeat: no-repeat;
	background-size: 150px;
	background-position: left center;
}

.foundation_sec ul {
	padding: 0;
}

.foundation_sec li {
	padding: 30px 0;
	margin: 0;
	list-style-type: none;
	border-bottom: 1px solid #429BD7;
	border-top: 0;
}

.foundation_sec li:last-child {
	border: none;
}

.foundation_sec h4 {
	margin: 0 0 10px;
	max-width: 600px;
}

.foundation_sec p {
	font-size: 21px;
	line-height: 1.4;
	max-width: 600px;
}

.foundation_sec .wrapper .info-columns-inner {
	border-bottom: 1px solid #429BD7;
}

.foundation_sec li p a {
	color:#666;
	text-decoration:underline;
}

/*--------------------------------------------------------------
  ## Banner / Superpower
--------------------------------------------------------------*/

.banner_content h4 {
	color: var(--background-color);
	margin-bottom: 5px;
}

.banner_sec.fef-superpower {
	background-image: url("/wp-content/uploads/2026/03/new-blue-blob.svg");
	background-size: cover;
	background-position: bottom;
	padding-bottom: 250px;
}

.fef-superpower .info-columns-item:nth-child(1) {
	justify-content: center;
}

.banner_sec img {
	max-width: 500px;
	width: 100%;
}

.banner_sec .info-columns-item-image {
	text-align: right;
}

.banner_content p {
	width: 100%;
}

.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-content {
	font-size: 25px;
	line-height: 1.3;
}

/*--------------------------------------------------------------
  ## FEF Quote / Ready
--------------------------------------------------------------*/

.s-quote-inner {
	padding: 0;
}

.fef-ready.fef-quote {
	min-height: 280px;
	align-items: end;
}

.fef-ready__left {
	max-width: 640px;
	padding: 30px 30px 30px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

.fef-ready.fef-quote h2 {
	margin: 0 0 10px;
}

.fef-ready.fef-quote p {
	line-height: 1.4;
	color: #B4B7B9;
	font-size: 22px;
}

/*--------------------------------------------------------------
  ## Commitment
--------------------------------------------------------------*/

.fef-commitment.ai {
	background-color: #B3D7EF;
}

.fef-commitment.ai .info-box-title {
	color: #00599B;
}

.fef-commitment.ai .info-box-content {
	color: #595555;
	line-height: 1.4;
}

.fef-commitment.ai .info-box-content p a {
	color: #595555;
	line-height: 1.4;
	text-decoration:underline;
}

/*--------------------------------------------------------------
  ## Layout / Typography Tweaks
--------------------------------------------------------------*/

#main > .wrapper {
	padding: 0;
}

.fef-what .info-columns-items .info-columns-item-content p {
	font-size: 20px;
	line-height: 26px;
	font-weight: 500;
	color: #6b6b6b;
}

.fef-apart .info-box-primary h2 {
	font-size: 35px;
	margin: 0;
}

.fef-what .section-header-content p {
	font-size: 24px;
	line-height: 1.3;
}

.fef-what.ea :is(h1,h2).section-header-title{
	margin:70px 0 10px 0;
}


/*--------------------------------------------------------------
  ## Video Section
--------------------------------------------------------------*/

.video_section p {
	color: #0A2739;
	line-height: 1.5;
	font-size: 21px;
}

.video_section .section-header {
	margin-bottom:40px;
} 

.video_section h2 {
    display: inline-block;
    color: #ffffff;
    text-transform: uppercase;
    padding: 10px 15px 8px;
    border-radius: 8px;
    font-size: 21px !important;
    letter-spacing: 1px;
    margin-bottom: 0;
    background-color: var(--background-color);
    line-height: normal;
}

.proven_result_sec h2 {
    display: inline-block;
    color: #ffffff;
    text-transform: uppercase;
    padding: 10px 15px 8px;
    border-radius: 8px;
    font-size: 21px !important;
    letter-spacing: 1px;
    margin-bottom: 0;
    background-color: var(--background-color);
    line-height: normal;
}

.proven_result_sec p {
    line-height: 1.5;
	font-size: 21px;
}

.proven_result_sec li {
    line-height: 1.5;
	font-size: 21px;
}

.fef-what.ea p {
	line-height: 1.5;
	font-size: 21px;
}

.fef-what.ea li {
	line-height: 1.5;
	font-size: 21px;
}

.academics-at-home p {
	line-height: 1.5;
	font-size: 21px;
}

.academics-at-home li {
	line-height: 1.5;
	font-size: 21px;
}

.partners_sec .info-box-inner {
	padding-top: 90px;
	border: none;
	padding-bottom: 0px;
}

.fef-what {
	background-image: none;
}

/*--------------------------------------------------------------
  ## AI Communicate
--------------------------------------------------------------*/

/* Section heading pill */
.ai-communicate.foundation_sec.mobile-stack1 h2{
	background-color: #54D0FF;
	display: inline-block;
	font-size: 22px !important;
	text-transform: uppercase;
	color: #FFFFFF;
	padding: 8px 15px;
	border-radius: 8px;
	letter-spacing: 2px;
}

/* AI Communicate */
.ai-communicate .section-header.text-align-left .section-header-content p {
	color: #FFFFFF;
	font-size: 32px;
	line-height: 40px;
	font-weight: 600;
}

.section.ai-communicate {
	background-color: #FFFFFF;
}

.section.ai-communicate .section-header :is(h1,h2).section-header-title.bg-heading-wrap.fs-s br {
	display: none;
}

.section.ai-communicate .info-columns-items {
	position: relative;
}

.section.ai-communicate .info-columns-items .info-columns-item:first-child {
	width: 100% !important;
}

.section.ai-communicate .info-columns-items .info-columns-item:last-child {
	position: absolute;
	right: 0;
	bottom: 0;
	text-align: right;
	margin: 0;
}

.section.ai-communicate .info-columns-items .info-columns-item:last-child img {
	max-width: 280px;
	vertical-align: bottom;
}

.section.ai-communicate .info-columns-item-image {
	margin: 0;
}

/*
 * The last two entries lift into the empty right half of the first two rows.
 *
 * NOTHING ELSE ABOUT THE SECTION CHANGES. Every entry keeps its full width, so
 * the rules still run all the way across, the copy stays in the left half, and
 * the hand stays where it is. The right half of each row has always been empty
 * space that the copy was capped out of; this puts the two entries that were
 * stranded at the bottom into the top of it.
 *
 * The list becomes a two track grid. Entries one to five span BOTH tracks, so
 * their bottom borders are exactly the borders they draw today. The last two
 * are placed on top of the right track of rows one and two.
 *
 * The rows are enumerated rather than left to auto-placement because grid
 * items overlap only when every one of them is placed explicitly: an
 * auto-placed full-width entry would refuse row one while the right track of
 * it is occupied, and slide down the list instead. Ten rows covers the seven
 * entries here with room to spare.
 *
 * Desktop only. Below 801px the list is left completely alone and stacks in
 * its original order, which is also why .mobile-stack1 needs no handling here.
 */
@media screen and (min-width: 801px) {

	/*
	 * The hand is absolutely positioned against the bottom of this box. Taking
	 * two entries out of the end of the list makes the box shorter, which
	 * drags the hand up into row two: at 1440 it landed 72px over the copy.
	 *
	 * This reserves enough height for the hand to sit clear of the first two
	 * rows. It only binds on wide viewports. Measured on the real page, the
	 * box is already 1202px at 1024 and 1379px at 801, because the copy wraps
	 * more and the rows are taller, so nothing below about 1300px moves.
	 */
	.section.ai-communicate .info-columns-items {
		min-height: 1180px;
	}

	/*
	 * Two tracks of equal width, split on the centre line (owner, 2026-09-22).
	 *
	 * No column-gap, so the track boundary falls at exactly 50% and the divider
	 * drawn on the right column's leading edge is centred. The 30px of air on
	 * each side of it comes from the two columns instead: the right column
	 * pads its text 30px in from the line, and the left column's copy is capped
	 * 30px short of it. Symmetric, and both columns measure the same.
	 *
	 * This supersedes the original calc(50% + 30px) 1fr split, which bought the
	 * gutter out of the right column and left the left one visibly wider.
	 */
	.section.ai-communicate .info-columns-item-content > ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.section.ai-communicate .info-columns-item-content > ul > li {
		grid-column: 1 / -1;
	}

	/*
	 * The full-width entries keep spanning both tracks, because their bottom
	 * border is what draws the rule all the way across the section. Only their
	 * copy is held to the left track, so it measures the same as the copy in
	 * the right one.
	 *
	 * The subtraction: half the row, less the 30px the right column spends on
	 * the padding inside its divider. That is the right column's own text
	 * width, written from the left column's side, and it also puts the same
	 * 30px of air on this side of the centre line. It replaces the section's
	 * flat 600px cap, which no longer relates to where the tracks fall.
	 */
	.section.ai-communicate .info-columns-item-content > ul > li h4,
	.section.ai-communicate .info-columns-item-content > ul > li p {
		max-width: calc(50% - 30px);
	}

	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(1) { grid-row: 1; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(2) { grid-row: 2; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(3) { grid-row: 3; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(4) { grid-row: 4; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(5) { grid-row: 5; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(6) { grid-row: 6; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(7) { grid-row: 7; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(8) { grid-row: 8; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(9) { grid-row: 9; }
	.section.ai-communicate .info-columns-item-content > ul > li:nth-child(10) { grid-row: 10; }

	/*
	 * These come after the enumeration on purpose. Same specificity, so the
	 * later rule is the one that wins for the last two entries.
	 */
	/*
	 * The divider is this column's own left border, so it normally lands on the
	 * track boundary at 50%. The owner wants it 5px left of that (2026-09-22).
	 *
	 * The negative margin moves the box, and therefore the line, 5px left; the
	 * padding gains the same 5px back, so the text does not move and the two
	 * columns stay exactly equal. Shifting the track boundary instead would
	 * have made the right column 10px wider than the left.
	 */
	.section.ai-communicate .info-columns-item-content > ul > li:nth-last-child(-n+2) {
		grid-column: 2;
		border-bottom: 0;
		border-left: 1px solid #E0E0E0;
		margin-left: -5px;
		padding-left: 35px;
	}

	.section.ai-communicate .info-columns-item-content > ul > li:nth-last-child(2) {
		grid-row: 1;
	}

	.section.ai-communicate .info-columns-item-content > ul > li:nth-last-child(1) {
		grid-row: 2;
	}

	/*
	 * The 600px cap exists to keep copy out of the hand's way. Inside the
	 * right track the track is the constraint, so the cap only makes the
	 * measure needlessly short.
	 */
	.section.ai-communicate .info-columns-item-content > ul > li:nth-last-child(-n+2) h4,
	.section.ai-communicate .info-columns-item-content > ul > li:nth-last-child(-n+2) p {
		max-width: 100%;
	}
}

body div#page-inner::before {
	content: none !important;
}


/*--------------------------------------------------------------
  ## Proven Results Section
--------------------------------------------------------------*/

.proven_result_sec {
	background-color: #eaf4fb;
}

.proven_result_sec .info-box-content.fs-m p {
	color: #0A2739;
}

.proven_result_sec .btn {
	background-color: #00599B;
	border-color: #00599B;
}


/* AI proven 

.proven_result_sec .info-box-content {
	width:900px!important;
}*/

.ai-proven {
	max-width:800px;
	margin:10px auto 80px 0;
}

.ai-proven__title {
	font-size: 30px;
	font-weight: 800;
	margin-bottom:70px;
	text-align: left;
}

.ai-proven__card {
	background: #fff;
	border-radius: 14px;
	padding: 1px;
	border: solid 2px #429bd7;
}

.ai-proven__top {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: 10px;
}

.ai-proven__top-metric {
	background: #429bd7;
	color: #fff;
	border-radius: 14px;
	padding: 0 0 0 30px;
	display: flex;
	align-items: center;
	gap: 5px;
	width: 100%;
	height: 110px;
}

.ai-proven__top-number {
	font-size: 72px;
	font-weight: 800;
	line-height: 1;
}

.ai-proven__top-text {
	font-size: 26px;
	font-weight: 600;
	max-width: 280px;
	text-align: left;
	line-height: 1.4;
}

.ai-proven__spotlight {
	background: #0a1e33;
	border-radius: 10px;
	padding: 18px 22px;
	color: #ffffff;
	text-align: center;
	width: 400px;
	height: 230px;
	margin: -120px 1px 0 1px;
}

.ai-proven__spotlight-label {
	font-size: 20px;
	letter-spacing: 5px;
	color: #f2c94c;
	margin-bottom: 8px;
}

.ai-proven__spotlight-label::after {
	content: "";
	display: block;
	width: 130px;
	height: 80px;
	margin: 12px auto 0;
	background: url("/wp-content/uploads/2025/12/ai-proven-tpslogo-e1766802672380.png") no-repeat center;
	background-size: cover;
}

.ai-proven__spotlight-org {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	display: inline-block;
	transform: scale(1, 1.4);
	letter-spacing: 1.2px;
	margin-top: 5px;
}

.ai-proven__stats {
	display: flex;
	align-items: stretch;
	gap: 24px;
}

.ai-proven__stat {
	flex: 1;
}

.ai-proven__stat-number {
	font-size: 52px;
	font-weight: 800;
	color: #429bd7;
	margin: -1px 0 0 20px;
	text-align: left;
}

.ai-proven__stat-text {
	font-size: 19px;
	line-height: 1.5;
	color: #429bd7;
	text-align: left;
	margin: -10px 0 20px 20px;
	font-weight: 800;
	width: 170px;
}

.ai-proven__divider {
	width: 1px;
	background: #429bd7;
	margin-bottom:10px;
}

.ai-proven__footnote {
	margin-top: 16px;
	font-size: 18px;
	color: #7ea1b8;
	font-style: italic;
}

.info-box-content .ai-proven__footnote {
	margin-bottom: 40px;
}

/* AI glance */
table.ai-glance {
	position: relative;
	width: 100%;
	max-width: 780px;
	margin: 0 auto 40px;
	border-collapse: separate !important;
	border-spacing: 0;
	background: #ffffff;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	z-index: 1;
	overflow: hidden;
}

.ai-glance :is(h1,h2).info-box-title {
	font-size: 34px;
	margin-bottom: 40px;
}

.ai-glance tr {
	display: grid !important;
	grid-template-columns: 56px 1fr;
	align-items: stretch;
}

.ai-glance tr:nth-child(odd) {
	background: #f6fafe;
}

.ai-glance tr:nth-child(even) {
	background: #ffffff;
}

.ai-glance td {
	display: block;
	margin: 0;
	padding: 20px 24px;
	color: #0a2739;
	text-align: left;
	border: 1px solid #B3D7EF;
}

.ai-glance td.ai-glance__icon {
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ai-glance td.ai-glance__icon::before {
	content: "✓";
	display: inline-flex;
	width: 24px;
	height: 24px;
	align-items: center;
	justify-content: center;
	background: #54D0FF;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	border-radius: 9999px;
}

.ai-glance td.ai-glance__cell {
	font-size: 21px;
	font-weight: 600;
	line-height: 1;
}

.ai-glance .ai-glance__sub {
	margin-top: -8px;
	font-size: 16px;
	font-style: italic;
	font-weight: 400;
	color: #6b7c8f;
}

.ai-glance a.fef-qb2.btn {
	background: #00599b;
	border: 2px solid #00599b;
	color: #fff;
	white-space: nowrap;
	width: 270px;
	margin-right: 10px;
	font-size: 13px;
	height: 48px;
	line-height: 43px;
}

.ai-glance a.fef-qb1.btn {
	background: #fff;
	border: 2px solid #00599b;
	color: #00599b;
	width: 250px;
	white-space: nowrap;
	font-size: 13px;
	height: 48px;
	line-height: 43px;
}

/* AI resources */
.ai-resources .section-header.section-header-w-border {
	border: none;
}

.ai-resources .posts-grid-item-excerpt {
	margin-top: 15px;
}

.ai-resources .posts-carousel-items {
	padding-bottom: 30px;
	border-bottom: solid 1px #2382c1;
	border-bottom: none;
}

/* AI glance section background */
.section.info-box.info-box-layout-image-text.ai-glance::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("/wp-content/uploads/2025/12/ai-glance-bg-scaled-1.webp") no-repeat center top;
	background-size: cover;
	pointer-events: none;
	z-index: 0;
}


.ai-communicate .ai-communicate__item {
	font-size: 19px;
}

.section.ai-communicate .info-box-content.fs-s {
	padding-top: 20px;
}

.ai-communicate__section {
	padding: 15px 0;
}

table.ai-communicate__table {
	border-bottom: 1px solid #93c9f1;
}

td.ai-communicate__left {
	padding-bottom: 10px;
}

/*--------------------------------------------------------------
  ## “What” Section Variants
--------------------------------------------------------------*/

.fef-what.ea .info-columns-inner {
	border: none;
}

/*--------------------------------------------------------------
  ## Four Steps Section
--------------------------------------------------------------*/

.section.four-steps {
	background: linear-gradient(
		180deg,
		#328ED2 0%,
		#0F71BA 27%,
		#06406B 57%,
		#001E35 100%
	);
}

.section.four-steps .info-columns-content-after p {
	color: #ffffff;
	text-align: left;
	font-size: 24px;
	font-style: italic;
}

/*--------------------------------------------------------------
  ## Tables / Rows
--------------------------------------------------------------*/

.ai-glance tr:nth-child(odd) {
	background: #F3F5F9;
}

/*--------------------------------------------------------------
  ## Desktop (>=1024px)
--------------------------------------------------------------*/



/*--------------------------------------------------------------
  ## Mobile Ordering (<=800px)
--------------------------------------------------------------*/

@media (max-width: 800px) {

	.mobile-stack1 .info-columns-item:nth-child(1) {
		order: 1;
	}

	.mobile-stack2 .info-columns-item:nth-child(2) {
		order: 1;
	}
}

/*--------------------------------------------------------------
  ## Tablet (768px - 1023px)
--------------------------------------------------------------*/

@media screen and (min-width: 768px) and (max-width: 1023px) {

	body .wrapper {
		max-width: 90%;
	}
}

/*--------------------------------------------------------------
  ## <=1023px
--------------------------------------------------------------*/

@media screen and (max-width: 1023px) {

	.video_section p {
		color: #0A2739;
		line-height: 1.5;
		font-size: 22px;
	}

	.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-content {
		font-size: 19px;
	}

	.banner_sec.fef-superpower {
		padding-bottom: 130px;
	}
}

/*--------------------------------------------------------------
  ## <=767px
--------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	.banner_sec .info-columns-item-image {
		text-align: left;
	}

	.banner_sec .info-columns-item-image img {
		max-width: 100%;
	}

	.section.fef-superpower {
		padding-bottom: 180px;
	}

	.fef-apart .info-box-primary h2 {
		font-size: 24px;
	}

	.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-content {
		font-size: 20px;
	}

	.fef-ready.fef-quote p {
		font-size: 18px;
	}

	.ai-communicate .section-header.text-align-left .section-header-content p {
		font-size: 16px;
		line-height: 24px;
	}

	:is(h1,h2).section-header-title.bg-heading-wrap {
		font-size: 16px !important;
	}

	.section.ai-communicate .section-header :is(h1,h2).section-header-title.bg-heading-wrap.fs-s {
		position: static;
	}

	.section.ai-communicate .info-columns-items {
		margin-top: 0;
	}

	.section.ai-communicate .info-columns-items .info-columns-item:first-child .info-columns-item-content > h4 {
		padding-top: 20px !important;
		margin-bottom: 10px;
		font-size: 20px;
	}

	.section.info-box.section a.fef-qb1.btn {
		margin-left: 0;
	}

	.ai-communicate .section-header::after {
		top: 10px;
		right: 10px;
		width: 40px;
		height: 70px;
	}

	.section.ai-communicate .info-columns-items .info-columns-item:last-child {
		width: 100%;
		position: static;
		margin: 0 !important;
	}

	/*
	 * Stack the hand above a full-width list. `.info-columns-2-cols
	 * .info-columns-item { flex: 1 }` sets a flex-basis of 0, which beats the
	 * width: 100% on both columns, so without this they share one row and the
	 * hand is squeezed to about 120px beside the copy. .mobile-stack1 already
	 * orders the hand first.
	 */
	.section.ai-communicate .info-columns-items .info-columns-item {
		flex: 0 0 100%;
	}

	.section.ai-communicate .info-columns-items .info-columns-item:last-child {
		margin-bottom: 20px !important;
	}
	.ai-communicate .info-columns-item-image img{
		height:300px;
	}

	.foundation_sec::before{
		display:none;
	}

	.foundation_sec li:first-child {
		padding-top: 0;
	}

	.fef-apart .info-box-primary h2 {
		font-size: 24px;
	}

	.foundation_sec ul h4,
	.foundation_sec ul p {
		max-width: 100%;
	}

	.foundation_sec li {
		padding: 20px 0;
	}

	.foundation_sec p {
		font-size: 19px;
	}

	.foundation_sec h4 {
		margin: 0 0 2px;
		font-size: 21px;
	}

	.fef-apart.ai-multi .info-box-primary::after {
		width: 80px;
		height: 80px;
	}

	.fef-what .section-header {
		margin-bottom: 10px;
	}

	.fef-what .section-header-content p {
		font-size: 19px;
	}

	.fef-what .section-header-content.fs-l {
		margin-top: 0;
	}

	.fef-proven-results .info-box-content p {
		font-size: 19px;
	}

	.video_section p {
		line-height: 1.4;
		font-size: 19px;
	}
	
	.ai-glance :is(h1,h2).info-box-title {
	font-size: 24px;
	}
	td.ai-glance__cell{
		font-size: 18px!important;
	}
	.ai-glance .fef-qb2.btn{
		margin:10px;
	}
	.ai-glance .fef-qb1.btn, .ai-glance .fef-qb2.btn{
		width:250px!important;
	}
	.ai-communicate .section-header {
		margin: 0;
	}

}



/*--------------------------------------------------------------
  ## <=480px
--------------------------------------------------------------*/

@media screen and (max-width: 480px) {

	.fef-superpower .info-columns-item:nth-child(1) .info-columns-item-content {
		font-size: 18px;
	}

	.ai-communicate a.fef-qb2.btn {
		margin: 8px auto;
		display: block;
		max-width: fit-content;
		min-width: 250px;
	}

	.ai-communicate a.fef-qb1.btn {
		margin: 0 auto;
		display: block;
		max-width: fit-content;
	}

	.section.fef-superpower {
		padding-bottom: 140px;
	}
}
















@media (max-width:1023px) {
	.ai-proven {
		max-width:100%;
		padding:0 18px;
		box-sizing:border-box;
	}
	.ai-proven__top {
		flex-direction:column;
		gap:14px;
	}
	.ai-proven__top-metric {
		width:100%;
		height:auto;
		padding:16px 18px;
		box-sizing:border-box;
	}
	.ai-proven__top-number {
		font-size:44px;
	}
	.ai-proven__top-text {
		font-size:18px;
		max-width:none;
	}
	.ai-proven__spotlight {
		width:100%;
		height:auto;
		margin:0;
		padding:16px 18px;
		box-sizing:border-box;
	}
	.ai-proven__stats {
		flex-wrap:wrap;
		gap: 0;
	}
	.ai-proven__stat {
		/* 		flex:1 1 240px; */
		flex:1 1 auto;
		padding: 0 10px;
	}
	.ai-proven__stat-number {
		font-size:40px;
		margin-left:0;
		text-align: center;
	}
	.ai-proven__stat-text {
		font-size:16px;
		margin-left:0;
		width:auto;
		text-align: center;
	}
	.search-form .search-field {
		width: auto;
	}
}

@media (max-width:600px) {
	.ai-proven__title {
		font-size:24px;
	}
	.ai-proven__top-number {
		font-size:38px;
	}
	.ai-proven__top-text {
		font-size:16px;
	}
}

/* Academic Improvement slider (Smart Slider ID 5): same look as the home
   page step slider. Scoped to this slider only.
   Each slide's layers, in order: 1 image, 2 heading, 3 paragraph. */

.step-slider[data-ssid="5"] .n2-ss-slide,
.step-slider[data-ssid="5"] .n2-ss-layers-container {
	border-radius: 16px;
}

.step-slider[data-ssid="5"] .n2-ss-slide {
	overflow: hidden;
	opacity: 0.85;
}

.step-slider[data-ssid="5"] .n2-ss-slide-background {
	border: none !important;
	border-radius: 16px;
	box-shadow: inset 0 0 0 2px #7B6DFF;
	background-clip: padding-box;
	box-sizing: border-box;
}

.step-slider[data-ssid="5"] .n2-ss-slider .n2-ss-slider-1 .step-one {
	border: 2px solid #7FD1F8;
	border-radius: 16px;
	overflow: hidden;
	box-sizing: border-box;
}

/* Slides 2 and 3 use the home slider's step two and step three colours,
   matching their purple and yellow headings. */
.step-slider[data-ssid="5"] .n2-ss-slide[data-slide-public-id="2"] .step-one {
	border-color: #885DFD;
}

.step-slider[data-ssid="5"] .n2-ss-slide[data-slide-public-id="3"] .step-one {
	border-color: #E6BD22;
}

/* Same 890px width as the home slider, centred. */
.step-slider[data-ssid="5"] {
	max-width: 890px;
	margin-left: auto;
	margin-right: auto;
}

/* 10px gap between slides while they change: 5px on each side of every
   slide. The card itself keeps its border and rounded corners. */
.step-slider[data-ssid="5"] .n2-ss-slide {
	padding-left: 5px;
	padding-right: 5px;
	box-sizing: border-box;
}

.step-slider[data-ssid="5"] .n2-ss-slide-background {
	clip-path: inset(0 5px round 16px);
}

/* At 37px the first slide's heading touched the phone image. */
.step-slider[data-ssid="5"] .n2-ss-section-main-content > .n2-ss-layer:nth-child(2) p {
	font-size: 34px !important;
}

/* Tablet: Smart Slider positions the heading and paragraph separately, so
   as the slide shrinks the paragraph grows into the heading. Put them in
   a real column beside the image instead. */
@media (min-width: 751px) and (max-width: 999px) {
	.step-slider[data-ssid="5"] .n2-ss-section-main-content {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-content: center;
		column-gap: 24px;
		padding: 24px 28px 48px !important;
		box-sizing: border-box;
	}

	.step-slider[data-ssid="5"] .n2-ss-section-main-content > .n2-ss-layer:nth-child(-n+3) {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
	}

	.step-slider[data-ssid="5"] .n2-ss-section-main-content > .n2-ss-layer:nth-child(1) {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: center;
	}

	.step-slider[data-ssid="5"] .n2-ss-section-main-content > .n2-ss-layer:nth-child(2) {
		grid-column: 1;
		grid-row: 1;
		align-self: end;
	}

	.step-slider[data-ssid="5"] .n2-ss-section-main-content > .n2-ss-layer:nth-child(3) {
		grid-column: 1;
		grid-row: 2;
		align-self: start;
	}

	.step-slider[data-ssid="5"] .n2-ss-section-main-content > .n2-ss-layer:nth-child(2) p {
		font-size: clamp(24px, 3.2vw, 32px) !important;
	}

	.step-slider[data-ssid="5"] .n2-ss-section-main-content > .n2-ss-layer:nth-child(1) img {
		width: 100% !important;
		height: auto !important;
	}
}

/* Phones: stack image, heading and paragraph, the same approach the home
   slider uses. */
@media (max-width: 750px) {
	.step-slider[data-ssid="5"] .n2-ss-slide .n2-ss-layer {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
	}

	.step-slider[data-ssid="5"] .n2-ss-item-content {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		text-align: left !important;
		padding-left: 20px;
		padding-right: 20px;
	}

	/* Room under the text for the slide dots */
	.step-slider[data-ssid="5"] .step-one > .n2-ss-section-main-content {
		padding-bottom: 44px !important;
	}
}
