.sat-product {
	--ink: #2b2b2b;
	--green: #00ca64;
	--deep-green: #007e42;
	--mint: #c5fbd1;
	--aqua: #9ff4df;
	--paper: #f7f8f6;
	color: var(--ink);
	background: #fff;
	overflow: hidden;
}

.sat-product *,
.sat-product *::before,
.sat-product *::after { box-sizing: border-box; }

.sat-product-shell { width: min(1440px, calc(100% - 96px)); margin: 0 auto; }
.sat-product-narrow { width: min(980px, calc(100% - 96px)); margin: 0 auto; }
.sat-product-eyebrow {
	display: inline-block;
	font-family: "adapt-variable", Impact, sans-serif;
	font-size: 16px;
	line-height: 1;
	letter-spacing: .035em;
	text-transform: uppercase;
	color: var(--deep-green);
}

.sat-product h1,
.sat-product h2,
.sat-product h3 {
	font-family: "adapt-variable", Impact, sans-serif;
	font-weight: 800;
	letter-spacing: -.025em;
}

.sat-product-hero {
	min-height: 900px;
	padding: 130px 0 110px;
	background:
		radial-gradient(circle at 15% 22%, rgba(0,202,100,.12), transparent 35%),
		linear-gradient(135deg, #f8fff9 0%, #c5fbd1 100%);
}

.sat-product-hero-grid,
.sat-feature-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	align-items: center;
	gap: clamp(60px, 7vw, 130px);
}

.sat-product-hero h1 {
	max-width: 750px;
	font-size: clamp(82px, 8vw, 148px);
	line-height: .82;
	margin: 28px 0 38px;
	text-transform: uppercase;
}

.sat-product-hero h1 em { color: var(--deep-green); font-style: normal; }
.sat-product-hero-copy > p {
	max-width: 650px;
	font-size: clamp(21px, 1.65vw, 28px);
	line-height: 1.45;
	margin: 0 0 38px;
}

.sat-product-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.sat-product-primary,
.sat-product-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 62px;
	padding: 16px 28px;
	border: 3px solid var(--ink);
	border-radius: 999px;
	font-family: "adapt-variable", Impact, sans-serif;
	font-size: 17px;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform .2s ease, background .2s ease, color .2s ease;
}
.sat-product-primary,
.sat-product-primary:visited,
.sat-product-primary:hover,
.sat-product-primary:focus { color: #fff; background: var(--ink); }
.sat-product-secondary { color: var(--ink); background: transparent; }
.sat-product-primary:hover,
.sat-product-secondary:hover { transform: translateY(-3px); }
.sat-product-secondary:hover { background: #fff; }

.sat-product-hero-facts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 56px 0 0;
	padding: 34px 0 0;
	border-top: 1px solid rgba(43,43,43,.22);
	list-style: none;
}
.sat-product-hero-facts strong,
.sat-product-hero-facts span { display: block; }
.sat-product-hero-facts strong { font-size: 21px; }
.sat-product-hero-facts span { margin-top: 4px; font-size: 13px; line-height: 1.35; }

.sat-product-hero-visual { position: relative; }
.sat-product-device {
	position: relative;
	width: 120%;
	padding: 20px 20px 40px;
	border-radius: 32px 32px 22px 22px;
	background: #2b2b2b;
	box-shadow: 0 40px 80px rgba(43,43,43,.2);
	transform: perspective(1400px) rotateY(-5deg);
}
.sat-product-device::after {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	bottom: -20px;
	height: 24px;
	border-radius: 0 0 60px 60px;
	background: linear-gradient(#bbb, #e6e6e6);
}
.sat-product-device-camera {
	width: 8px;
	height: 8px;
	margin: -11px auto 9px;
	border-radius: 50%;
	background: #777;
}
.sat-product-device img { display: block; width: 100%; border-radius: 6px; }
.sat-product-floating-note {
	position: absolute;
	left: -55px;
	bottom: -65px;
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 340px;
	padding: 20px 24px;
	border: 3px solid var(--ink);
	border-radius: 20px;
	background: #fff;
	box-shadow: 10px 10px 0 var(--green);
}
.sat-product-floating-note i { font-size: 26px; color: var(--green); }
.sat-product-floating-note strong,
.sat-product-floating-note span { display: block; }
.sat-product-floating-note span { margin-top: 4px; font-size: 13px; }

.sat-product-promise { padding: 110px 0; background: var(--ink); color: #fff; }
.sat-product-promise > div > span { display: block; margin-bottom: 34px; font-weight: 700; text-transform: uppercase; text-align: center; }
.sat-product-promise-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sat-product-promise-steps div {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 30px;
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 22px;
}
.sat-product-promise-steps b { color: var(--green); font-size: 16px; }
.sat-product-promise-steps strong { color: #fff; font-size: 22px; }

.sat-feature { padding: clamp(140px, 14vw, 240px) 0; }
.sat-feature-light { background: var(--paper); }
.sat-feature-white { background: #fff; }
.sat-feature-mint { background: var(--mint); }
.sat-feature-dark { background: var(--ink); color: #fff; }
.sat-feature-score { background: #effff4; }
.sat-feature-checkpoints { background: linear-gradient(145deg, #f7fff9 0%, var(--mint) 100%); }
.sat-feature-reverse .sat-feature-copy { order: 2; }
.sat-feature-reverse .sat-feature-visual { order: 1; }
.sat-feature-copy h2 {
	max-width: 760px;
	margin: 24px 0 30px;
	font-size: clamp(58px, 5vw, 92px);
	line-height: .95;
	text-transform: uppercase;
}
.sat-feature-copy > p { max-width: 650px; font-size: clamp(20px, 1.5vw, 26px); line-height: 1.55; }
.sat-feature-copy ul { margin: 36px 0 0; padding: 0; list-style: none; }
.sat-feature-copy li {
	position: relative;
	margin: 15px 0;
	padding-left: 28px;
	font-size: 17px;
	line-height: 1.45;
}
.sat-feature-copy li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 900; }
.sat-feature-dark .sat-product-eyebrow { color: var(--green); }
.sat-feature-note { padding-top: 20px; border-top: 1px solid rgba(43,43,43,.2); font-size: 15px !important; }

.sat-feature-visual { min-width: 0; }
.sat-feature-visual > img {
	display: block;
	width: 115%;
	max-width: none;
	border-radius: 30px;
	box-shadow: 0 30px 70px rgba(43,43,43,.18);
}
.sat-feature-dashboard { height: 700px; overflow: hidden; border-radius: 34px; box-shadow: 0 30px 70px rgba(43,43,43,.15); }
.sat-feature-dashboard img { width: 145%; max-width: none; border-radius: 0; }
.sat-feature-strategy img,
.sat-feature-mastery img { border: 12px solid #2b2b2b; }

.sat-result-strip { padding: 120px 0; background: var(--green); text-align: center; }
.sat-result-strip-dark { background: var(--ink); color: #fff; }
.sat-result-number {
	font-family: "adapt-variable", Impact, sans-serif;
	font-size: clamp(90px, 11vw, 180px);
	font-weight: 800;
	line-height: .8;
}
.sat-result-strip blockquote { margin: 42px auto 18px; font-size: clamp(27px, 3vw, 45px); line-height: 1.2; font-weight: 700; }
.sat-result-strip cite { font-style: normal; font-size: 15px; }
.testimonial-cite-row { align-items: center; display: inline-flex; gap: 12px; justify-content: center; }
.testimonial-cite-row img { border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px rgba(43,43,43,.22); height: 48px; object-fit: cover; width: 48px; }
.testimonial-cite-row > div { align-items: flex-start; display: flex; flex-direction: column; gap: 4px; text-align: left; }
.testimonial-cite-row small { font-size: 9px; font-weight: 800; letter-spacing: .05em; opacity: .65; text-transform: uppercase; }
.sat-result-strip-dark .testimonial-cite-row img { box-shadow: 0 0 0 2px #00ca64; }

.sat-priority-formula { display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; margin-top: 42px; }
.sat-priority-formula div { padding: 24px; border: 2px solid var(--ink); border-radius: 18px; background: rgba(255,255,255,.45); }
.sat-priority-formula span,
.sat-priority-formula strong { display: block; }
.sat-priority-formula span { margin-bottom: 8px; color: var(--deep-green); font-weight: 800; text-transform: uppercase; font-size: 13px; }
.sat-priority-board,
.sat-question-demo,
.sat-score-monitor {
	overflow: hidden;
	border: 3px solid var(--ink);
	border-radius: 28px;
	background: #fff;
	box-shadow: 16px 16px 0 var(--ink);
	color: var(--ink);
}
.sat-app-mini-header { display: flex; justify-content: space-between; align-items: center; padding: 22px 26px; background: var(--ink); color: #fff; font-weight: 800; font-size: 12px; letter-spacing: .06em; }
.sat-app-mini-logo { font-family: "adapt-variable", Impact, sans-serif; font-size: 29px; }
.sat-app-mini-logo small { margin-left: 2px; font-size: 8px; writing-mode: vertical-rl; }
.sat-priority-row { display: grid; grid-template-columns: 44px 1fr auto; gap: 16px; align-items: center; padding: 28px; border-bottom: 1px solid #ddd; }
.sat-priority-row:last-child { border-bottom: 0; }
.sat-priority-row b { font-family: "adapt-variable", Impact, sans-serif; color: var(--deep-green); }
.sat-priority-row strong,
.sat-priority-row span { display: block; }
.sat-priority-row span { margin-top: 5px; font-size: 13px; color: #666; }
.sat-priority-row em { padding: 8px 12px; border-radius: 999px; background: var(--mint); color: var(--deep-green); font-size: 12px; font-style: normal; font-weight: 800; }
.sat-priority-row.muted { opacity: .5; }

.sat-question-top { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 26px 30px; background: var(--green); }
.sat-question-top span,
.sat-question-top em { font-size: 12px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.sat-question-top strong { font-size: 27px; }
.sat-question-body { padding: 30px; }
.sat-question-body > p { margin: 0 0 24px; font-size: 20px; font-weight: 700; }
.sat-question-body button {
	appearance: none;
	position: relative;
	top: auto;
	left: auto;
	z-index: auto;
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 15px;
	align-items: center;
	width: 100%;
	height: auto;
	min-height: 72px;
	margin: 12px 0;
	padding: 18px;
	border: 2px solid #bbb;
	border-radius: 14px;
	background: #fff;
	color: var(--ink);
	font: inherit;
	line-height: 1.35;
	text-align: left;
}
.sat-question-body button b {
	position: static;
	display: grid;
	float: none;
	place-items: center;
	width: 32px;
	height: 32px;
	margin: 0;
	border: 2px solid var(--ink);
	border-radius: 50%;
	color: var(--ink);
	line-height: 1;
}
.sat-question-body button span {
	position: static;
	display: block;
	float: none;
	min-width: 0;
	margin: 0;
	color: var(--ink);
}
.sat-question-submit { margin-top: 25px; padding: 17px; border-radius: 999px; background: var(--green); font-weight: 800; text-align: center; }

.sat-checkpoint-demo {
	overflow: hidden;
	border: 3px solid var(--ink);
	border-radius: 28px;
	background: #fff;
	box-shadow: 18px 18px 0 var(--green);
	color: var(--ink);
}
.sat-checkpoint-body { padding: clamp(30px, 4vw, 62px); }
.sat-checkpoint-icon {
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	margin-bottom: 28px;
	border-radius: 20px;
	background: var(--green);
	font-size: 29px;
}
.sat-checkpoint-body > span {
	display: block;
	color: var(--deep-green);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.sat-checkpoint-body h3 {
	margin: 16px 0 20px;
	font-size: clamp(38px, 4vw, 62px);
	line-height: .95;
	text-transform: uppercase;
}
.sat-checkpoint-body > p { margin: 0; font-size: 18px; line-height: 1.5; }
.sat-checkpoint-reasons { display: grid; gap: 12px; margin: 30px 0; }
.sat-checkpoint-reasons > div {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 2px 14px;
	align-items: center;
	padding: 17px;
	border: 1px solid rgba(43,43,43,.16);
	border-radius: 15px;
	background: var(--paper);
}
.sat-checkpoint-reasons i {
	grid-row: 1 / span 2;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var(--mint);
	color: var(--deep-green);
}
.sat-checkpoint-reasons strong,
.sat-checkpoint-reasons span { display: block; }
.sat-checkpoint-reasons span { font-size: 13px; line-height: 1.35; color: #626762; }
.sat-checkpoint-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 58px;
	padding: 16px 22px;
	border-radius: 999px;
	background: var(--ink);
	color: #fff;
	font-weight: 900;
}

.sat-score-monitor { padding: clamp(35px, 5vw, 75px); box-shadow: 18px 18px 0 var(--green); }
.sat-score-monitor-label { font-weight: 800; text-transform: uppercase; }
.sat-score-monitor-value { margin: 22px 0; font-family: "adapt-variable", Impact, sans-serif; font-size: clamp(100px, 11vw, 180px); line-height: .8; }
.sat-score-scale { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 34px 0; }
.sat-score-scale span { height: 14px; border-radius: 999px; background: #ef6969; }
.sat-score-scale span:nth-child(2) { background: #f5bf46; }
.sat-score-scale span:nth-child(3),
.sat-score-scale span:nth-child(4) { background: var(--green); }
.sat-score-scale .current { position: relative; }
.sat-score-scale .current::after { content: ""; position: absolute; top: 50%; right: 8%; width: 24px; height: 24px; border: 5px solid #fff; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 2px var(--ink); transform: translateY(-50%); }
.sat-score-change { padding: 22px; border-radius: 16px; background: var(--mint); font-size: 18px; }
.sat-score-change i { margin-right: 12px; }
.sat-score-goal { display: grid; grid-template-columns: 1fr auto; gap: 5px 20px; align-items: end; margin-top: 30px; padding-top: 30px; border-top: 1px solid #ddd; }
.sat-score-goal strong { grid-row: span 2; font-size: 45px; }
.sat-score-goal em { font-size: 13px; font-style: normal; color: #666; }

.sat-proof-grid-section { padding: 170px 0; background: #fff; }
.sat-section-heading { margin-bottom: 65px; }
.sat-section-heading h2 { margin: 22px 0; font-size: clamp(65px, 7vw, 112px); line-height: .88; text-transform: uppercase; }
.sat-section-heading > p { max-width: 740px; margin: 0 auto; font-size: 21px; line-height: 1.5; }
.sat-section-heading-center { text-align: center; }
.sat-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sat-proof-grid article { display: flex; flex-direction: column; min-height: 390px; padding: 38px; border: 3px solid var(--ink); border-radius: 24px; }
.sat-proof-grid article:nth-child(2) { background: var(--mint); }
.sat-proof-grid article:nth-child(3) { background: var(--aqua); }
.sat-proof-grid article > div { color: var(--deep-green); letter-spacing: 4px; }
.sat-proof-grid article > img { width: 72px; height: 72px; margin-top: 22px; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--deep-green); object-fit: cover; }
.sat-proof-grid article > small { margin-top: 8px; color: #646a65; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.sat-proof-grid article p { flex: 1; margin: 28px 0 38px; font-size: 26px; line-height: 1.3; font-weight: 700; }
.sat-proof-grid article span { font-size: 14px; }

.sat-package-section { margin-bottom: 0; padding: 160px 0; background: var(--paper); }
.sat-package-section .home-support-grid { width: 100%; }
.sat-package-section .home-support-card h3 { min-height: 84px; }
.sat-package-note { margin-top: 42px; font-size: 18px; text-align: center; }
.sat-package-note a { color: var(--deep-green); font-weight: 800; }

.sat-timeline { padding: 150px 0; background: var(--mint); text-align: center; }
.sat-timeline h2 { margin: 24px 0 35px; font-size: clamp(60px, 7vw, 105px); line-height: .9; text-transform: uppercase; }
.sat-timeline p { font-size: 24px; line-height: 1.55; }
.sat-timeline strong { display: inline-block; font-size: 26px; }
.sat-final-cta { padding: 170px 0; background: var(--green); text-align: center; }
.sat-final-cta > div > span { font-weight: 800; text-transform: uppercase; }
.sat-final-cta h2 { margin: 25px 0 45px; font-size: clamp(65px, 8vw, 125px); line-height: .88; text-transform: uppercase; }
.sat-final-cta a { display: inline-flex; padding: 20px 32px; border-radius: 999px; background: var(--ink); color: #fff; font-family: "adapt-variable", Impact, sans-serif; font-size: 18px; text-decoration: none; text-transform: uppercase; }

@media (max-width: 1100px) {
	.sat-product-shell { width: min(100% - 48px, 900px); }
	.sat-product-narrow { width: min(100% - 48px, 800px); }
	.sat-product-hero { min-height: 0; }
	.sat-product-hero-grid,
	.sat-feature-grid { grid-template-columns: 1fr; }
	.sat-product-hero-visual { width: 86%; margin: 45px auto 0; }
	.sat-product-device { width: 100%; transform: none; }
	.sat-feature-reverse .sat-feature-copy,
	.sat-feature-reverse .sat-feature-visual { order: initial; }
	.sat-feature-visual { width: min(100%, 900px); margin: 20px auto 0; }
	.sat-feature-visual > img { width: 100%; }
	.sat-feature-dashboard { height: auto; }
	.sat-feature-dashboard img { width: 100%; }
	.sat-proof-grid { grid-template-columns: 1fr; }
	.sat-proof-grid article { min-height: 300px; }
}

@media (max-width: 700px) {
	.sat-product-shell,
	.sat-product-narrow { width: calc(100% - 32px); }
	.sat-product-hero { padding: 90px 0 85px; }
	.sat-product-hero h1 { font-size: clamp(62px, 20vw, 90px); }
	.sat-product-hero-copy > p { font-size: 19px; }
	.sat-product-actions { display: grid; }
	.sat-product-primary,
	.sat-product-secondary { width: 100%; }
	.sat-product-hero-facts { grid-template-columns: 1fr; gap: 16px; }
	.sat-product-hero-facts li { display: grid; grid-template-columns: 120px 1fr; align-items: center; }
	.sat-product-hero-facts span { margin-top: 0; }
	.sat-product-hero-visual { width: 100%; margin-top: 50px; }
	.sat-product-device { padding: 10px 10px 24px; border-radius: 18px; }
	.sat-product-floating-note { position: relative; left: auto; bottom: auto; margin: 42px 5px 0; }
	.sat-product-promise { padding: 75px 0; }
	.sat-product-promise-steps { grid-template-columns: 1fr; }
	.sat-feature { padding: 105px 0; }
	.sat-feature-copy h2,
	.sat-section-heading h2,
	.sat-timeline h2 { font-size: clamp(48px, 15vw, 70px); }
	.sat-feature-copy > p,
	.sat-timeline p { font-size: 18px; }
	.sat-feature-visual > img { border-radius: 18px; }
	.sat-priority-formula { grid-template-columns: 1fr; }
	.sat-priority-formula > i { transform: rotate(90deg); }
	.sat-priority-row { grid-template-columns: 32px 1fr; padding: 20px 16px; }
	.sat-priority-row em { grid-column: 2; justify-self: start; }
	.sat-question-body { padding: 20px 16px; }
	.sat-question-body button { grid-template-columns: 34px 1fr; padding: 14px 10px; font-size: 13px; }
	.sat-checkpoint-body { padding: 28px 20px; }
	.sat-checkpoint-body h3 { font-size: 38px; }
	.sat-checkpoint-reasons > div { grid-template-columns: 38px minmax(0, 1fr); padding: 14px 12px; }
	.sat-result-strip { padding: 90px 0; }
	.sat-proof-grid-section,
	.sat-package-section,
	.sat-final-cta { padding: 110px 0; }
	.sat-proof-grid article { min-height: 280px; padding: 28px; }
	.sat-proof-grid article p { margin: 35px 0; font-size: 22px; }
	.sat-score-monitor { padding: 32px 22px; }
	.sat-final-cta h2 { font-size: clamp(52px, 16vw, 76px); }
}

@media (prefers-reduced-motion: reduce) {
	.sat-product * { scroll-behavior: auto !important; transition: none !important; }
}
