/* Homepage-only adjustments for the shared SAT/ACT product-card design. */
.hero-exam-result {
	display: inline-flex;
	align-items: baseline;
	gap: .16em;
	vertical-align: baseline;
	white-space: nowrap;
}

.hero-exam-rotator {
	width: 1.16em;
	display: inline-grid;
	position: relative;
	overflow: hidden;
	overflow: clip;
	overflow-clip-margin: .12em;
	color: #00ca64;
	line-height: 1;
	vertical-align: baseline;
}

.hero-score-word { display: inline-block; }

.hero-exam-rotator > span {
	grid-area: 1 / 1;
	display: block;
	animation: hero-exam-swap 6s cubic-bezier(.65, 0, .35, 1) infinite;
}

.hero-exam-rotator > span:last-child { animation-delay: -3s; }

@keyframes hero-exam-swap {
	0%, 42% { opacity: 1; transform: translateY(0); }
	50%, 92% { opacity: 0; transform: translateY(-88%); }
	93% { opacity: 0; transform: translateY(88%); }
	100% { opacity: 1; transform: translateY(0); }
}

.panel-complete-card {
	color: #fff;
	background: #171717;
}

.panel-complete-card .panel-card-heading h2 { color: #fff; }
.panel-complete-card .panel-card-heading h3 { color: #00ca64; }
.panel-complete-card .panel-card-heading p { color: rgba(255,255,255,.78); }
.panel-complete-card .panel-step-label { color: #a5fee8; }

.panel-intro-caption { text-decoration: none; }
.panel-intro-caption:hover { border-color: #027f48; }

.panel-next-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	margin-top: auto;
	padding-top: 18px;
	color: rgba(255,255,255,.82);
	border-top: 1px solid rgba(255,255,255,.2);
	font-family: "adapt-variable", "Adapt Compact", Arial, sans-serif;
	font-size: 13px;
	font-variation-settings: "wdth" 65, "wght" 800;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.panel-next-link span { color: #a5fee8; font-size: 18px; transition: transform .2s ease; }
.panel-next-link:hover { color: #fff; }
.panel-next-link:hover span { transform: translateY(3px); }
.panel-complete-card .panel-next-link { color: #a5fee8; border-top-color: rgba(255,255,255,.14); }

.complete-app-stage {
	position: relative;
	padding: 0 18px 24px 0;
}

.complete-app-window {
	overflow: hidden;
	border: 2px solid rgba(255,255,255,.86);
	border-radius: 20px;
	background: #fff;
	box-shadow: 14px 14px 0 #00ca64;
}

.complete-app-window-bar {
	height: 40px;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 0 15px;
	color: #2b2b2b;
	border-bottom: 1px solid #d9e1dd;
	background: #fff;
}

.complete-app-window-bar > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #bdc9c3;
}

.complete-app-window-bar small {
	margin-left: auto;
	font-size: 12px;
	font-weight: 800;
}

.complete-app-window > img {
	width: 100%;
	height: auto;
	display: block;
}

.complete-app-note {
	position: absolute;
	right: 0;
	bottom: 0;
	max-width: calc(100% - 44px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	padding: 13px 16px;
	color: #2b2b2b;
	border: 2px solid #2b2b2b;
	border-radius: 15px;
	background: #a5fee8;
	box-shadow: 7px 7px 0 rgba(0,202,100,.42);
}

.complete-app-note span,
.complete-app-note strong { display: block; }
.complete-app-note span { font-size: 12px; font-weight: 900; text-transform: uppercase; }
.complete-app-note strong { font-size: 13px; line-height: 1.2; }

.offer-section.home-support {
	--support-accent: #00ca64;
	--support-badge-bg: #027f48;
	--support-badge-text: #fff;
	margin-bottom: 0;
	padding: 112px 0;
	background: rgba(187,255,202,.24);
}

.offer-section.home-support[data-selected-test="ACT"] {
	--support-accent: #a5fee8;
	--support-badge-bg: #00d2b2;
	--support-badge-text: #2b2b2b;
}

.offer-section .blended-product-grid { align-items: stretch; }
.offer-section .blended-product-grid .home-support-card h3 { min-height: 98px; }
.offer-section .blended-product-grid .home-support-price { margin-top: 5px; }
.offer-section .blended-product-grid .home-support-summary { min-height: 66px; }

.offer-section .product-guarantee {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	margin: 0 0 22px;
	padding: 14px;
	color: #075d38;
	border: 1px solid rgba(2,127,72,.2);
	border-radius: 14px;
	background: #e3f8ed;
	text-decoration: none;
}

.offer-section .product-guarantee > i {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	font-size: 20px;
}

.offer-section .product-guarantee span,
.offer-section .product-guarantee small,
.offer-section .product-guarantee strong,
.offer-section .product-guarantee em { display: block; }

.offer-section .product-guarantee .product-guarantee-line {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 5px 12px;
	margin-top: 4px;
}

.offer-section .product-guarantee small {
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .04em;
	line-height: 1.2;
	text-transform: uppercase;
}

.offer-section .product-guarantee strong { margin: 0; color: inherit; font-size: 16px; line-height: 1.15; }
.offer-section .product-guarantee em { margin: 0; color: #52635a; font-size: 12px; font-style: normal; line-height: 1.35; }
.offer-section .product-guarantee.is-path { color: #67551f; border-color: rgba(103,85,31,.2); background: #fff5d8; }
.offer-section .product-guarantee:hover { border-color: currentColor; }
.offer-section .home-support-card.featured .product-guarantee { color: #fff; border-color: rgba(165,254,232,.25); background: rgba(165,254,232,.14); }
.offer-section .home-support-card.featured .product-guarantee > i { color: #2b2b2b; background: #a5fee8; }
.offer-section .home-support-card.featured .product-guarantee em { color: #a5fee8; }
.offer-section .sat-package-note { margin-top: 30px; color: #5a635d; font-size: 13px; font-weight: 750; text-align: center; }

/* The three stages read as one coordinated system, not three offers. */
.system-section .sequence-grid {
	position: relative;
	gap: 0;
	overflow: hidden;
	border: 2px solid #2b2b2b;
	border-top: 0;
	border-radius: 0 0 30px 30px;
	background: #fff;
	box-shadow: 11px 11px 0 rgba(43,43,43,.09);
}

.system-section .sequence-grid::before { display: none; }

.system-section .sequence-card {
	min-height: 650px;
	padding: 34px 30px 32px;
	border: 0;
	border-right: 1px solid rgba(43,43,43,.14);
	border-radius: 0;
	box-shadow: none;
}

.system-section .sequence-card:last-child { border-right: 0; }
.system-section .sequence-card.course-card { background: #f8fff9; }
.system-section .sequence-card.software-card { background: #effff4; }
.system-section .sequence-card.tutoring-card { background: #effdfa; }
.system-section .sequence-art { height: 250px; margin: 0 0 29px; }
.system-section .sequence-card ul { margin-top: auto; padding-top: 25px; }
.system-section .sequence-number { right: auto; left: 22px; }
.system-connection-band {
	position: relative;
	z-index: 3;
	margin: 0;
	padding: 17px 30px 18px;
	color: #fff;
	border: 2px solid #2b2b2b;
	border-bottom: 0;
	border-radius: 30px 30px 0 0;
	background: #027f48;
	box-shadow: none;
	text-align: center;
}

.system-connection-band h3 {
	margin: 0;
	color: #fff;
	font-size: clamp(19px, 2vw, 25px);
	line-height: 1.05;
	text-transform: uppercase;
}

.why-section .why-grid {
	grid-template-columns: minmax(290px, .64fr) minmax(0, 1.36fr);
	gap: clamp(34px, 5vw, 72px);
}

.why-section .why-copy h2 { font-size: clamp(42px, 4.5vw, 61px); }

.priority-loop {
	width: min(100%, 650px);
	position: relative;
	aspect-ratio: 1;
	margin-inline: auto;
	container-type: inline-size;
}

.priority-loop-arrows {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	overflow: visible;
}

.priority-orbit-track {
	fill: none;
	stroke: rgba(165,254,232,.42);
	stroke-width: 14;
}

.priority-orbit-arrow {
	fill: none;
	stroke: #00ca64;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-dasharray: 3 8;
}

.priority-arrowhead { fill: #027f48; }

.priority-loop-center {
	width: 54%;
	height: 66%;
	position: absolute;
	left: 50%;
	top: 52%;
	z-index: 2;
	display: block;
	transform: translate(-50%, -50%);
	text-align: center;
}

.priority-loop-center > img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center top;
	filter: drop-shadow(0 12px 13px rgba(2,127,72,.18));
}

.priority-student-label {
	width: 62%;
	position: absolute;
	left: 50%;
	bottom: 11%;
	display: block;
	padding: clamp(7px, 2.2cqw, 11px) clamp(8px, 2.5cqw, 13px);
	transform: translateX(-50%);
	color: #fff;
	border: 2px solid #a5fee8;
	border-radius: clamp(10px, 2.8cqw, 15px);
	background: #027f48;
	box-shadow: 5px 5px 0 rgba(0,202,100,.22);
}

.priority-student-label strong,
.priority-student-label small { display: block; }
.priority-student-label strong { font-size: clamp(12px, 2.5cqw, 14px); line-height: 1.05; text-transform: uppercase; }
.priority-student-label small { margin-top: 4px; color: #a5fee8; font-size: 12px; font-weight: 700; line-height: 1.15; }

.priority-loop-node {
	width: 32%;
	position: absolute;
	z-index: 3;
	display: block;
	padding: clamp(12px, 2.5cqw, 14px) clamp(11px, 2.7cqw, 15px);
	color: #2b2b2b;
	border: 2px solid rgba(2,127,72,.2);
	border-radius: clamp(14px, 3.2cqw, 18px);
	background: #fff;
	box-shadow: 5px 5px 0 rgba(2,127,72,.1);
}

.priority-loop-node > span {
	width: clamp(28px, 6cqw, 34px);
	height: clamp(28px, 6cqw, 34px);
	position: absolute;
	left: clamp(-18px, -3.2cqw, -14px);
	top: clamp(-18px, -3.2cqw, -14px);
	display: grid;
	place-items: center;
	color: #fff;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #027f48;
	box-shadow: 2px 2px 0 rgba(2,127,72,.12);
	font-family: "adapt-variable", "Adapt Compact", Arial, sans-serif;
	font-size: 12px;
	font-variation-settings: "wdth" 55, "wght" 800;
	font-weight: 800;
}

.priority-loop-node strong,
.priority-loop-node small { display: block; }
.priority-loop-node strong { font-size: clamp(12px, 2.5cqw, 14px); line-height: 1.08; }
.priority-loop-node small {
	margin-top: clamp(5px, 1.2cqw, 7px);
	color: #526158;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.22;
}
.priority-loop-node-one { width: 35%; left: 50%; top: 6%; transform: translateX(-50%); }
.priority-loop-node-two { right: 0; top: 50%; transform: translateY(-50%); }
.priority-loop-node-three { width: 40%; left: 50%; bottom: 3%; transform: translateX(-50%); }
.priority-loop-node-four { left: 0; top: 50%; transform: translateY(-50%); }

@container (max-width: 420px) {
	.priority-student-label { width: 66%; border-width: 1px; }
	.priority-student-label small {
		width: 1px;
		height: 1px;
		position: absolute;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	.priority-loop-node-one { width: 43%; top: 3%; }
	.priority-loop-node-two,
	.priority-loop-node-four { width: 36%; }
	.priority-loop-node-three { width: 47%; bottom: 0; }
}

/* Keep each visual attached to the product statement above it. */
.panel-story-card:not(.panel-intro-card) { justify-content: flex-start; }
.panel-card-heading + .course-stage,
.panel-card-heading + .today-plan,
.panel-card-heading + .tutoring-stage { margin-top: clamp(18px, 3vh, 34px); }

@media (max-width: 1100px) {
	.offer-section .blended-product-grid .home-support-card h3,
	.offer-section .blended-product-grid .home-support-summary { min-height: 0; }
	.offer-section .blended-product-grid .home-support-card.featured { transform: none; }
}

@media (max-width: 980px) {
	.system-section .sequence-grid { gap: 22px; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
	.system-section .sequence-grid::before { display: none; }
	.system-section .sequence-card { min-height: 0; border: 2px solid #2b2b2b; border-radius: 24px; box-shadow: 8px 8px 0 rgba(43,43,43,.08); }
	.system-section .sequence-card:last-child { border-right: 2px solid #2b2b2b; }
	.system-section .sequence-card ul { margin-top: 24px; padding-top: 0; }
	.system-connection-band { margin-bottom: 28px; border-bottom: 2px solid #2b2b2b; border-radius: 26px; box-shadow: 8px 8px 0 rgba(43,43,43,.09); }
	.why-section .why-grid { grid-template-columns: minmax(270px, .82fr) minmax(0, 1.18fr); gap: 30px; }
	.priority-loop { width: min(100%, 610px); }
}

@media (max-width: 820px) {
	.why-section .why-grid { grid-template-columns: 1fr; gap: 34px; }
	.why-section .why-copy { max-width: 680px; }
	.priority-loop { width: min(100%, 620px); }
}

@media (max-width: 700px) {
	.hero-exam-result { width: max-content; display: flex; }
	.hero-exam-rotator { width: 1.16em; }
	.complete-app-stage { padding: 0 9px 18px 0; }
	.complete-app-window { border-radius: 15px; box-shadow: 9px 9px 0 #00ca64; }
	.complete-app-window-bar { height: 34px; padding-inline: 11px; }
	.complete-app-note { max-width: calc(100% - 18px); position: relative; right: auto; bottom: auto; margin: -9px 0 0 18px; }
	.offer-section.home-support { padding: 80px 0; }
	.offer-section .blended-product-grid { grid-template-columns: 1fr; }
	.system-connection-band { padding: 16px 21px 17px; border-radius: 23px; }
}

@media (prefers-reduced-motion: reduce) {
	.hero-exam-rotator > span { animation: none; }
	.hero-exam-rotator > span:last-child { display: none; }
}
