/*
 * Homepage sections — CALEN Official theme.
 * Hero / Problem / Difference (Phase 3A). Enqueued only on the front page.
 * Depends on tokens.css, base.css, layout.css, components.css.
 */

/* ==========================================================
   Hero — full rebuild, frozen 78 (Header/Hero pass)
   Every metric below is copied directly from the frozen source's own
   Hero block, not approximated: 2-column flex row (gap 56/88, row cap
   1152px), left column max-width 600px, right column two 232×505 screen
   boxes at 26px gap. See section-hero.php's own header comment for the
   full source citation and screenshot-provenance disclosure.
   ========================================================== */

.hero {
	width: 100%;
	max-width: var(--container-hero); /* 1280px frozen page shell */
	margin-inline: auto;
	padding-block: 5rem 6.5rem; /* 80px / 104px */
	padding-inline: 4rem; /* 64px */
}

.hero__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 3.5rem 5.5rem; /* 56px / 88px */
	max-width: 72rem; /* 1152px, matches the frozen row's own cap */
}

.hero__left {
	flex: 1 1 28.75rem; /* 460px */
	min-width: 0;
	max-width: 37.5rem; /* 600px */
}

.hero__brand {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.hero__brand-name {
	font-family: var(--font-family-sans);
	font-size: 1.375rem;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.14em;
	color: var(--color-text);
}

.hero__eyebrow {
	margin: 1.25rem 0 0;
	font-family: var(--font-family-mono);
	font-size: 0.75rem;
	line-height: normal;
	letter-spacing: 0.16em;
	color: var(--calen-oxide-text);
}

.hero__identity {
	margin: 1.125rem 0 0;
	font-size: 1.125rem;
	line-height: 1.85;
	color: var(--color-text);
}

.hero__headline {
	margin: 1.625rem 0 0;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: normal;
}

.frozen-break--mobile {
	display: none;
}

.frozen-copy--mobile,
.pc-version__mobile-copy {
	display: none;
}

.hero__lead {
	margin: 1.875rem 0 0;
	max-width: 32.5rem; /* 520px */
	font-size: 1.03125rem; /* 16.5px */
	line-height: 1.95;
	color: var(--color-text-secondary);
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.125rem 1.75rem; /* 18px / 28px */
	margin-top: 2.5rem;
}

.hero__cta-primary {
	display: inline-block;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: normal;
	color: var(--calen-mineral);
	background-color: var(--color-text);
	padding: 1.1875rem 2.375rem; /* 19px / 38px */
	white-space: nowrap;
	text-decoration: none;
}

.hero__cta-primary:hover {
	background-color: var(--gray-800);
	color: var(--calen-mineral);
}

.hero__cta-secondary {
	font-size: 0.9375rem;
	line-height: normal;
	color: var(--color-text-secondary);
	text-decoration: none;
}

.hero__cta-secondary:hover {
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.hero__note {
	margin: 1rem 0 0;
	font-size: 0.875rem;
	line-height: normal;
	color: var(--color-text-muted);
}

.hero__right {
	flex: 0 1 30.625rem; /* 490px */
	min-width: 0;
}

.hero__screens {
	display: flex;
	align-items: flex-start;
	gap: 1.625rem; /* 26px */
}

.hero__screen {
	flex: 0 0 14.5rem; /* 232px */
	height: 31.5625rem; /* 505px */
	display: flex;
	align-items: flex-start;
	justify-content: center;
	background-color: #ffffff;
	border: 1px solid var(--color-border);
	overflow: hidden;
}

.hero__screen img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top center;
}

.hero__screens-caption {
	margin: 1rem 0 0;
	font-family: var(--font-family-mono);
	font-size: 0.71875rem; /* 11.5px */
	line-height: normal;
	letter-spacing: 0.14em;
	color: var(--color-text-muted);
}

@media (max-width: 767px) {
	.hero {
		padding: 2.5rem 1.125rem 3.5rem; /* 40px 18px 56px */
	}

	.hero__row {
		flex-direction: column;
		gap: 0;
		max-width: none;
	}

	.hero__left {
		display: contents;
	}

	.hero__brand {
		gap: 0.875rem; /* 14px */
	}

	.hero__brand img {
		width: 2.75rem;
		height: 2.75rem;
		flex: 0 0 2.75rem;
	}

	.hero__brand-name {
		font-size: 1.1875rem; /* 19px */
	}

	.hero__eyebrow {
		font-size: 0.71875rem; /* 11.5px */
	}

	.hero__identity {
		font-size: 1.0625rem; /* 17px */
	}

	.hero__headline {
		margin-top: 1.75rem; /* 28px */
		font-size: 1.9375rem; /* 31px */
		line-height: 1.6;
	}

	.frozen-break--desktop {
		display: none;
	}

	.frozen-break--mobile {
		display: inline;
	}

	.frozen-copy--desktop,
	.pc-version__desktop-copy {
		display: none;
	}

	.frozen-copy--mobile,
	.pc-version__mobile-copy {
		display: inline;
	}

	.hero__lead {
		margin-top: 2rem; /* 32px */
		max-width: none;
		font-size: 1rem;
	}

	.hero__right {
		order: 1;
		width: 100%;
		flex: none;
	}

	.hero__screens {
		flex-direction: column;
		gap: 0;
	}

	.hero__screen {
		width: calc(100% + 2.25rem);
		margin: 2.75rem -1.125rem 0; /* 44px -18px 0 */
		flex: none;
		height: auto;
		border-width: 1px 0;
	}

	.hero__screen img {
		width: 100%;
		max-width: 16.4375rem; /* 263px */
		height: auto;
		margin-inline: auto;
		object-fit: contain;
	}

	/* Natural dimensions of the authoritative Frozen mobile assets. The
	   verified provisional screenshots are contained inside these slots. */
	.hero__screen:first-child img {
		aspect-ratio: 263 / 573;
	}

	.hero__screen:nth-child(2) img {
		aspect-ratio: 351 / 735;
	}

	.hero__screens-caption {
		margin-top: 0.875rem; /* 14px */
	}

	.hero__actions,
	.hero__note {
		order: 2;
	}

	.hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
		width: 100%;
		margin-top: 3rem; /* 48px */
	}

	.hero__cta-primary {
		width: 100%;
		padding: 1.125rem; /* 18px */
		text-align: center;
	}

	.hero__cta-secondary {
		width: 100%;
		text-align: center;
	}

	.hero__note {
		width: 100%;
		text-align: center;
	}
}

/* ==========================================================
   Problem
   ========================================================== */

.problem__statement .text-label {
	margin: 0 0 var(--space-3);
}

.problem__statement h2 {
	margin: 0 0 var(--space-4);
}

.problem__statement p.text-body-lg {
	margin: 0;
}

.problem__formula {
	margin-top: var(--space-8);
}

.formula {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--space-2) var(--space-3);
	margin: 0;
	padding: var(--space-6);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	font-family: var(--font-family-mono);
	font-size: var(--font-size-body);
}

.formula__op {
	color: var(--color-text-secondary);
}

.formula__term--result {
	font-weight: 600;
	color: var(--color-text);
}

/* ==========================================================
   Difference
   ========================================================== */

.difference__intro .text-label {
	margin: 0 0 var(--space-3);
}

.difference__intro h2 {
	margin: 0 0 var(--space-4);
}

.difference__intro p.text-body-lg {
	margin: 0;
}

.difference__flow {
	margin-top: var(--space-9);
}

.difference__connector {
	margin-top: var(--space-5);
}

.difference__connector p {
	margin: 0;
}

.decision-flow {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.decision-flow__step {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	padding-block: var(--space-4);
	border-top: 1px solid var(--color-border);
}

.decision-flow__step:first-child {
	padding-top: 0;
	border-top: none;
}

.decision-flow__label {
	font-size: var(--font-size-h3);
	font-weight: 600;
	color: var(--color-text);
}

.decision-flow__meta {
	color: var(--color-text-secondary);
}

.difference__questions {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	margin-top: var(--space-7);
}

.difference__question {
	display: flex;
	align-items: baseline;
	gap: var(--space-4);
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.difference__question:first-child {
	padding-top: 0;
	border-top: none;
}

.difference__question p {
	margin: 0;
}

.difference__question-index {
	flex-shrink: 0;
	min-width: 2ch;
}

@media (min-width: 768px) {
	.decision-flow {
		flex-direction: row;
	}

	.decision-flow__step {
		flex: 1;
		padding-block: 0;
		padding-inline-start: var(--space-5);
		border-top: none;
		border-left: 1px solid var(--color-border);
	}

	.decision-flow__step:first-child {
		padding-inline-start: 0;
		border-left: none;
	}
}

/* ==========================================================
   Product Proof
   ========================================================== */

.product-proof__intro .text-label {
	margin: 0 0 var(--space-3);
}

.product-proof__intro h2 {
	margin: 0 0 var(--space-4);
}

.product-proof__intro p.text-body-lg {
	margin: 0;
}

.product-proof__flow {
	margin-top: var(--space-8);
}

.product-proof__flow-list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.product-proof__flow-step {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding-block: var(--space-4);
	border-top: 1px solid var(--color-border);
}

.product-proof__flow-step:first-child {
	padding-top: 0;
	border-top: none;
}

.product-proof__flow-items {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

.product-proof__flow-items strong {
	color: var(--color-text);
	font-weight: 600;
}

/* Frozen source: 60px fixed, IBM Plex Sans (.n / --font-family-numeric) —
   not the Hero-tuned --font-size-display clamp (re-tuned to 48px for
   Hero specifically in the prior gate, too small for this figure). */
.product-proof__flow-answer {
	margin: 0;
	font-family: var(--font-family-numeric);
	font-size: clamp(2.5rem, 2rem + 2vw, 3.75rem);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1;
	color: var(--color-text);
}

.product-proof__flow-note {
	margin-top: var(--space-5);
	max-width: 31rem;
}

@media (min-width: 768px) {
	.product-proof__flow-list {
		flex-direction: row;
		align-items: flex-start;
	}

	.product-proof__flow-step {
		flex: 1;
		padding-block: 0;
		padding-inline-start: var(--space-5);
		border-top: none;
		border-left: 1px solid var(--color-border);
	}

	.product-proof__flow-step:first-child {
		padding-inline-start: 0;
		border-left: none;
	}

	.product-proof__flow-step--answer {
		flex: 1.3;
	}
}

.product-proof__story {
	margin-top: var(--space-8);
}

.product-proof__story p {
	margin: 0;
}

.product-proof__pair {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--space-6);
	margin-top: var(--space-8);
}

.product-proof__item {
	margin: 0;
	min-width: 0;
}

.product-proof__item--input {
	flex: 1 1 42%;
}

.product-proof__item--result {
	flex: 1 1 55%;
}

.product-proof__item .product-proof-frame {
	max-width: none;
}

.product-proof__caption {
	margin-top: var(--space-2);
	color: var(--color-text-secondary);
}

.product-proof__cue {
	font-weight: 600;
}

.product-proof__cue--positive {
	color: var(--color-positive);
}

.product-proof__mobile-result {
	display: none;
}

.product-proof__scope {
	margin-top: var(--space-6);
}

.product-proof__scope p {
	margin: 0;
}

@media (max-width: 767px) {
	.product-proof__item--desktop-only {
		display: none;
	}

	.product-proof__mobile-result {
		display: flex;
		flex-direction: column;
		gap: var(--space-5);
		margin-top: var(--space-8);
	}
}

/* ==========================================================
   Reverse calculation / limits
   ========================================================== */

/* Film Camera walkthrough (frozen 78 structural correction) — the
   concrete example that opens this section. Sizes/weights below are
   deliberately bespoke rather than reused text-h1/display tokens: this
   is the single largest figure on the homepage (frozen: 104px), used
   once, as a narrative emphasis device — not a repeat of the smaller
   ¥27,368 restated further down in the general "ceiling moves"
   explanation (kept intentionally small there, 38px, a callback, not a
   second hero number). */

.reverse-limits__example {
	padding-top: var(--space-8);
	border-top: 1px solid var(--color-border);
}

.reverse-limits__example-inputs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5) var(--space-7);
	margin: 0 0 var(--space-8);
	padding: 0;
	list-style: none;
	align-items: baseline;
}

.reverse-limits__example-inputs li {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

.reverse-limits__example-input-value {
	font-family: var(--font-family-numeric);
	font-size: var(--font-size-body-lg);
	font-weight: 500;
}

.reverse-limits__example-heading {
	max-width: 22ch;
	margin: 0 0 var(--space-8);
	padding-top: var(--space-7);
	border-top: 1px solid var(--color-text);
	font-family: var(--font-family-serif);
	font-size: var(--font-size-h2);
	font-weight: 500;
	line-height: 1.7;
	color: var(--color-text);
}

.reverse-limits__example-figures {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--space-5) var(--space-7);
}

.reverse-limits__ceiling-showcase p.text-body-sm {
	font-weight: 500;
	margin: 0;
}

.reverse-limits__ceiling-showcase p.text-caption {
	margin: var(--space-1) 0 0;
}

.reverse-limits__ceiling-big {
	margin: var(--space-2) 0 0;
	font-family: var(--font-family-numeric);
	font-size: clamp(3rem, 2rem + 6vw, 6.5rem);
	font-weight: 600;
	line-height: 0.94;
	letter-spacing: -0.045em;
	color: var(--color-text);
}

.reverse-limits__headroom-showcase {
	padding-bottom: var(--space-2);
}

.reverse-limits__headroom-showcase p.text-body-sm {
	font-weight: 500;
	margin: 0;
}

.reverse-limits__headroom-value {
	margin: var(--space-2) 0 0;
	font-family: var(--font-family-numeric);
	font-size: clamp(1.5rem, 1.2rem + 1.5vw, 1.875rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	color: var(--color-positive);
}

.reverse-limits__headroom-showcase p.text-caption {
	margin: var(--space-3) 0 0;
	max-width: 14rem;
}

.reverse-limits__intro {
	margin-top: var(--space-9);
}

.reverse-limits__intro .text-label {
	margin: 0 0 var(--space-3);
}

.reverse-limits__intro h2 {
	margin: 0 0 var(--space-4);
}

.reverse-limits__intro p.text-body-lg {
	margin: 0;
}

.reverse-limits__factors {
	display: flex;
	flex-direction: column;
	gap: var(--space-6);
	margin-top: var(--space-8);
}

.reverse-limits__factor-list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.reverse-limits__factor {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	padding-block: var(--space-3);
	border-top: 1px solid var(--color-border);
}

.reverse-limits__factor:first-child {
	padding-top: 0;
	border-top: none;
}

.reverse-limits__ceiling {
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.reverse-limits__ceiling p {
	margin: 0;
}

.reverse-limits__ceiling p.reverse-limits__ceiling-value {
	margin-block: var(--space-2);
	font-size: var(--font-size-display);
	font-weight: 600;
	line-height: var(--line-height-tight);
	color: var(--color-text);
}

.reverse-limits__note {
	margin-top: var(--space-6);
}

.reverse-limits__note p {
	margin: 0;
}

.reverse-limits__range {
	margin-top: var(--space-8);
}

.reverse-limits__range-axis {
	display: grid;
	grid-template-columns: 22.2fr 52.6fr 25.2fr;
	align-items: start;
}

.reverse-limits__range-line {
	grid-column: 1 / -1;
	grid-row: 1;
	margin-top: 0.4375rem;
	border-top: 1px solid #c9c9c2;
}

.reverse-limits__range-marker {
	grid-row: 1;
	display: grid;
	grid-template-rows: 0.9375rem auto auto;
	justify-items: center;
	gap: 0.125rem;
	width: max-content;
}

.reverse-limits__range-marker::before {
	content: "";
	width: 1px;
	height: 0.9375rem;
	background-color: var(--color-text);
}

.reverse-limits__range-marker--current {
	grid-column: 1;
	justify-self: end;
	transform: translateX(50%);
}

.reverse-limits__range-marker--ceiling {
	grid-column: 2;
	justify-self: end;
	transform: translateX(50%);
}

.reverse-limits__questions {
	display: flex;
	flex-direction: column;
	margin-top: var(--space-9);
}

/* border-top color matches frozen exactly (#14161A / --color-text on
   every row, not a hairline, including the first — this is a repeating
   row list, not a "first item has no divider" pattern like the ones
   elsewhere on this page). */
.reverse-limits__question {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	padding-block: var(--space-6);
	border-top: 1px solid var(--color-text);
}

.reverse-limits__question-text h3 {
	margin: var(--space-1) 0 0;
}

.reverse-limits__question-figure p {
	margin: 0;
}

.reverse-limits__figure {
	font-family: var(--font-family-numeric);
	font-size: var(--font-size-h1);
	font-weight: 600;
	line-height: var(--line-height-tight);
	color: var(--color-text);
}

.reverse-limits__ceiling-value,
.reverse-limits__range-marker .text-label {
	font-family: var(--font-family-numeric);
}

.reverse-limits__figure-sub {
	font-size: var(--font-size-body-sm);
	font-weight: 400;
	color: var(--color-text-secondary);
}

.reverse-limits__question-meta {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

@media (min-width: 768px) {
	.reverse-limits__factors {
		flex-direction: row;
		align-items: flex-start;
		gap: var(--space-8);
	}

	.reverse-limits__factor-list {
		flex: 1.6;
		flex-direction: row;
	}

	.reverse-limits__factor {
		flex: 1;
		padding-block: 0;
		padding-inline-start: var(--space-5);
		border-top: none;
		border-left: 1px solid var(--color-border);
	}

	.reverse-limits__factor:first-child {
		padding-inline-start: 0;
		border-left: none;
	}

	.reverse-limits__ceiling {
		flex: 1;
		padding-top: 0;
		padding-inline-start: var(--space-6);
		border-top: none;
		border-left: 1px solid var(--color-border);
	}

	.reverse-limits__question {
		flex-direction: row;
		align-items: center;
		gap: var(--space-6);
		min-height: 11rem;
	}

	/* Ratios match the frozen source's own
	   grid-template-columns:1.25fr .85fr 1.3fr exactly. */
	.reverse-limits__question-text {
		flex: 1.25;
	}

	.reverse-limits__question-figure {
		flex: 0.85;
	}

	.reverse-limits__question-meta {
		flex: 1.3;
	}
}

/* ==========================================================
   Mobile use
   ========================================================== */

.mobile-use__layout {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
}

.mobile-use__text .text-label {
	margin: 0 0 var(--space-3);
}

.mobile-use__text h2 {
	margin: 0 0 var(--space-4);
}

.mobile-use__text p.text-body-lg {
	margin: 0 0 var(--space-3);
}

.mobile-use__text p.text-body-lg:last-of-type {
	margin-bottom: var(--space-5);
}

.mobile-use__checks {
	margin: 0 0 var(--space-3);
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border);
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	font-size: var(--font-size-body-lg);
	font-weight: 600;
	color: var(--color-text);
}

.mobile-use__proof {
	display: flex;
	justify-content: center;
}

.mobile-use__frame {
	width: 100%;
	max-width: 320px;
	aspect-ratio: 4 / 7;
}

.mobile-use__frame img {
	object-position: top center;
}

@media (min-width: 1024px) {
	.mobile-use__layout {
		flex-direction: row;
		align-items: center;
		gap: var(--space-9);
	}

	.mobile-use__text {
		flex: 1 1 50%;
	}

	.mobile-use__proof {
		flex: 1 1 50%;
	}
}

/* ==========================================================
   PC version
   ========================================================== */

.pc-version__eyebrow {
	color: var(--calen-oxide-text);
	margin: 0 0 var(--space-3);
}

/* Frozen source styles this line at 22px/weight 500 with no serif
   font-family override — a small sans-serif emphasis line, not a full
   section heading. See this file's own PHP header for the full note. */
.pc-version__heading {
	margin: 0 0 var(--space-4);
	font-family: var(--font-family-sans);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: var(--line-height-heading);
	color: var(--color-text);
}

.pc-version__intro p.text-body-sm {
	margin: 0;
	max-width: 35rem;
}

.pc-version__proof {
	margin-top: var(--space-8);
}

.pc-version__figure {
	margin: 0;
}

.pc-version__note {
	margin-top: var(--space-6);
}

.pc-version__note p {
	margin: 0;
}

/* ==========================================================
   Trust principles
   ========================================================== */

.trust-principles {
	border-top: 1px solid var(--color-border);
}

.trust-principles__intro h2 {
	margin: 0;
	max-width: 24ch;
}

.trust-principles__pairs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-6) var(--space-8);
	margin-top: var(--space-7);
}

.trust-principles__pair {
	flex: 1 1 240px;
	min-width: 0;
}

.trust-principles__pair-label {
	margin: 0;
	font-family: var(--font-family-numeric);
	font-size: var(--font-size-body-lg);
	font-weight: 400;
	color: var(--color-text);
}

.trust-principles__neq {
	color: var(--calen-oxide-text);
}

.trust-principles__pair p.text-body-sm {
	margin-top: var(--space-2);
}

.trust-principles__saved {
	max-width: 44rem;
	margin-top: var(--space-8);
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.trust-principles__saved-label {
	margin: 0;
	font-size: var(--font-size-body-lg);
	font-weight: 600;
	color: var(--color-text);
}

.trust-principles__saved p.text-body-sm {
	margin-top: var(--space-2);
}

.trust-principles__boundary {
	max-width: 44rem;
	margin-top: var(--space-9);
	padding-top: var(--space-6);
	border-top: 1px solid var(--color-text);
}

.trust-principles__boundary-label {
	margin: 0;
	font-family: var(--font-family-serif);
	font-size: var(--font-size-h2);
	font-weight: 500;
	line-height: var(--line-height-heading);
	color: var(--color-text);
}

.trust-principles__boundary p.text-body-sm {
	margin-top: var(--space-3);
}

.trust-principles__disclaimer {
	max-width: 40rem;
	margin-top: var(--space-8);
}

.trust-principles__disclaimer p {
	margin: 0;
}

/* ==========================================================
   Supported marketplaces
   ========================================================== */

.marketplaces {
	border-top: 1px solid var(--color-text);
}

.marketplaces__eyebrow {
	color: var(--calen-oxide-text);
	margin: 0 0 var(--space-3);
}

.marketplaces__intro h2 {
	margin: 0 0 var(--space-4);
}

.marketplaces__intro p.text-body-lg {
	margin: 0;
}

.marketplaces__table-wrap {
	margin-top: var(--space-8);
}

.marketplaces__table {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.marketplaces__row {
	padding-block: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.marketplaces__row:first-child {
	border-top-color: var(--color-text);
}

.marketplaces__row:last-child {
	border-bottom: 1px solid var(--color-border);
}

.marketplaces__row p {
	margin: var(--space-2) 0 0;
}

.marketplaces__name {
	display: block;
	font-size: var(--font-size-h3);
	font-weight: 500;
	color: var(--color-text);
}

.marketplaces__name--nowrap {
	white-space: nowrap;
}

.marketplaces__note {
	margin-top: var(--space-6);
}

.marketplaces__note p {
	margin: 0;
}

@media (min-width: 768px) {
	.marketplaces__row {
		display: grid;
		grid-template-columns: 1.1fr 1.6fr;
		gap: 0 var(--space-6);
		align-items: baseline;
	}

	.marketplaces__row p {
		margin: 0;
	}
}

/* ==========================================================
   Comparison
   ========================================================== */

.comparison__layout {
	display: flex;
	flex-direction: column;
	gap: var(--space-7);
}

.comparison__text h2 {
	margin: 0 0 var(--space-4);
}

.comparison__text p.text-body-lg {
	margin: 0;
}

.comparison__metrics-block {
	margin-top: var(--space-7);
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-text);
}

.comparison__metrics-block .text-label {
	margin: 0 0 var(--space-4);
}

.comparison__metrics {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3) var(--space-5);
	margin: 0 0 var(--space-5);
	padding: 0;
	list-style: none;
	font-size: var(--font-size-h3);
	font-weight: 500;
	color: var(--color-text);
}

.comparison__metrics-block p.text-body-sm {
	margin: 0;
}

.comparison__proof {
	max-width: 22rem;
	margin: 0;
}

.comparison__proof figcaption {
	margin-top: var(--space-3);
}

.comparison__statement {
	margin-top: var(--space-9);
}

.comparison__statement p {
	margin: 0;
	font-family: var(--font-family-serif);
	font-weight: 500;
	line-height: var(--line-height-heading);
}

@media (min-width: 1024px) {
	.comparison__layout {
		flex-direction: row;
		align-items: center;
		gap: var(--space-9);
	}

	.comparison__text {
		flex: 1.6;
	}

	.comparison__proof {
		flex: 1;
	}
}

/* ==========================================================
   Templates & History (recall)
   ========================================================== */

.recall__intro h2 {
	margin: 0 0 var(--space-4);
}

.recall__intro p.text-body-lg {
	margin: 0;
}

.recall__template-columns {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-7) var(--space-8);
	margin-top: var(--space-8);
}

.recall__template-col {
	flex: 1 1 300px;
	min-width: 0;
	max-width: 26rem;
}

.recall__template-col .text-label {
	margin: 0 0 var(--space-2);
}

.recall__template-col p.text-body {
	margin: 0;
}

.recall__field-list {
	margin: var(--space-3) 0 0;
	padding-top: var(--space-3);
	border-top: 1px solid var(--color-border);
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	color: var(--color-text-secondary);
	font-size: var(--font-size-body-sm);
}

.recall__field-list--strong {
	border-top-color: var(--color-text);
}

.recall__note {
	margin-top: var(--space-6);
}

.recall__note p {
	margin: 0;
}

.recall__history {
	margin-top: var(--space-9);
	padding-top: var(--space-6);
	border-top: 1px solid var(--color-text);
}

.recall__history-statement {
	margin: var(--space-5) 0 0;
	max-width: 32ch;
	font-family: var(--font-family-serif);
	font-weight: 500;
}

.recall__history p.text-body {
	margin-top: var(--space-5);
	max-width: 44rem;
}

.recall__history p.text-body-lg {
	margin-top: var(--space-6);
}

/* ==========================================================
   Data handling (unknown ≠ 0)
   ========================================================== */

.data-handling {
	border-top: 1px solid var(--color-text);
}

.data-handling__intro h2 {
	margin: 0 0 var(--space-5);
}

.data-handling__intro p.text-body-lg {
	margin: 0 0 var(--space-3);
}

.data-handling__intro p.text-body {
	margin: 0;
}

.data-handling__table-wrap {
	margin-top: var(--space-8);
}

.data-handling__table {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.data-handling__row {
	padding-block: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.data-handling__row:first-child {
	border-top-color: var(--color-text);
}

.data-handling__row:last-child {
	border-bottom: 1px solid var(--color-border);
}

.data-handling__row p {
	margin: var(--space-2) 0 0;
}

.data-handling__name {
	display: block;
	font-size: var(--font-size-body-lg);
	font-weight: 600;
	color: var(--color-text);
}

.data-handling__disclaimer {
	margin-top: var(--space-6);
}

.data-handling__disclaimer p {
	margin: 0;
}

@media (min-width: 768px) {
	.data-handling__row {
		display: grid;
		grid-template-columns: 0.85fr 1.5fr;
		gap: 0 var(--space-6);
		align-items: baseline;
	}

	.data-handling__row p {
		margin: 0;
	}
}

/* ==========================================================
   Scope (does / does not)
   ========================================================== */

.scope__intro h2 {
	margin: 0;
	max-width: 22ch;
}

.scope__columns {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-7) var(--space-9);
	margin-top: var(--space-8);
}

.scope__column {
	flex: 1 1 300px;
	min-width: 0;
	max-width: 26rem;
}

.scope__label {
	margin: 0 0 var(--space-3);
}

.scope__label--does {
	color: var(--calen-oxide-text);
}

.scope__list {
	margin: 0;
	padding: var(--space-4) 0 0;
	border-top: 1px solid var(--color-border);
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	font-size: var(--font-size-body-sm);
	line-height: var(--line-height-body);
	color: var(--color-text-secondary);
}

.scope__list--does {
	border-top-color: var(--color-text);
}

.scope__note {
	margin-top: var(--space-8);
}

.scope__note p {
	margin: 0;
}

/* ==========================================================
   Install / access
   ========================================================== */

.install__intro h2 {
	margin: 0 0 var(--space-4);
}

.install__intro p.text-body-lg {
	margin: 0;
}

.install__columns {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-8) var(--space-7);
	margin-top: var(--space-8);
}

.install__column {
	flex: 1 1 300px;
	min-width: 0;
	max-width: 26rem;
}

.install__eyebrow {
	color: var(--calen-oxide-text);
	margin: 0 0 var(--space-3);
}

.install__heading {
	margin: 0 0 var(--space-4);
	padding-top: var(--space-3);
	border-top: 1px solid var(--color-border);
	font-size: var(--font-size-body-lg);
	font-weight: 500;
}

.install__heading--strong {
	border-top-color: var(--color-text);
}

.install__steps {
	margin: 0 0 var(--space-4);
	padding-left: 1.2em;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	font-size: var(--font-size-body-sm);
	line-height: var(--line-height-body);
}

.install__qr {
	display: block;
	margin-top: var(--space-6);
	image-rendering: pixelated;
}

.install__qr-url {
	margin-top: var(--space-2);
	letter-spacing: var(--letter-spacing-wide);
}

.install__platforms {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5) var(--space-8);
	margin-top: var(--space-8);
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.install__platform {
	flex: 1 1 260px;
	min-width: 0;
	max-width: 26rem;
}

.install__platform-name {
	margin: 0 0 var(--space-1);
	font-size: var(--font-size-label);
	font-weight: 500;
	color: var(--color-text);
}

.install__platform p.text-body-sm {
	margin: 0;
}

/* ==========================================================
   Pricing
   ========================================================== */

.pricing__intro h2 {
	margin: 0 0 var(--space-4);
}

.pricing__intro p.text-body-lg {
	margin: 0;
}

.pricing__plans {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-7) var(--space-9);
	margin-top: var(--space-8);
}

.pricing__plan {
	flex: 1 1 300px;
	min-width: 0;
	max-width: 28rem;
}

.pricing__eyebrow--pro {
	color: var(--calen-oxide-text);
}

.pricing__plan-body {
	margin-top: var(--space-3);
	padding-top: var(--space-4);
	border-top: 1px solid var(--color-text);
}

.pricing__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 var(--space-2);
	margin: 0;
	font-family: var(--font-family-numeric);
	font-size: var(--font-size-h1);
	font-weight: 600;
	letter-spacing: var(--letter-spacing-tight);
	color: var(--color-text);
}

.pricing__price-suffix {
	font-size: var(--font-size-body-sm);
	font-weight: 400;
	color: var(--color-text-secondary);
	letter-spacing: var(--letter-spacing-normal);
}

.pricing__price-annual {
	margin: var(--space-2) 0 0;
	font-family: var(--font-family-numeric);
	font-size: var(--font-size-body-sm);
	color: var(--color-text-secondary);
}

.pricing__plan-body p.text-body-sm {
	margin-top: var(--space-4);
}

.pricing__features {
	margin: var(--space-4) 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	font-size: var(--font-size-body-sm);
	line-height: var(--line-height-body);
	color: var(--color-text-secondary);
}

.pricing__terms {
	margin-top: var(--space-8);
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.pricing__terms p {
	margin: 0;
	max-width: 48rem;
}

.pricing__terms-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-5);
	margin-top: var(--space-5);
	font-size: var(--font-size-label);
}

/* ==========================================================
   FAQ
   ========================================================== */

.faq-section__intro h2 {
	margin: 0;
}

.faq-section__list-wrap {
	margin-top: var(--space-6);
}

.faq-section__list {
	margin: 0;
	max-width: 48rem;
}

.faq-section__row {
	padding-block: var(--space-5);
	border-top: 1px solid var(--color-border);
}

.faq-section__row:first-child {
	border-top-color: var(--color-text);
}

.faq-section__row:last-child {
	border-bottom: 1px solid var(--color-border);
}

.faq-section__row dt {
	font-size: var(--font-size-body-lg);
	font-weight: 600;
	color: var(--color-text);
}

.faq-section__row dd {
	margin: var(--space-2) 0 0;
	margin-inline-start: 0;
}

/* ==========================================================
   Ecosystem
   ========================================================== */

.ecosystem__intro h2 {
	margin: 0 0 var(--space-3);
}

.ecosystem__intro p.text-body {
	margin: 0;
}

.ecosystem__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5) var(--space-7);
	margin-top: var(--space-7);
}

.ecosystem__link {
	flex: 0 1 300px;
	min-width: 0;
	padding-top: var(--space-4);
	border-top: 1px solid var(--color-border);
}

.ecosystem__link--strong {
	border-top-color: var(--color-text);
}

.ecosystem__link-name {
	margin: 0 0 var(--space-2);
	font-size: var(--font-size-body-lg);
	font-weight: 500;
}

.ecosystem__link-name a {
	color: var(--color-text);
}

.ecosystem__link p.text-body-sm {
	margin: 0;
}

/* ==========================================================
   Final CTA
   ========================================================== */

.final-cta {
	border-top: 1px solid var(--color-text);
}

.final-cta__brand {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	margin: 0 0 var(--space-6);
}

.final-cta__brand img {
	display: block;
	border-radius: var(--radius-md);
}

.final-cta__wordmark {
	font-size: var(--font-size-body-lg);
	font-weight: 600;
	letter-spacing: var(--letter-spacing-wide);
}

.final-cta__content h2 {
	margin: 0 0 var(--space-5);
}

.final-cta__content p.text-body-lg {
	margin: 0 0 var(--space-7);
}

.final-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-bottom: var(--space-4);
}

.final-cta__content > p.text-caption {
	margin: 0;
}

.final-cta__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3) var(--space-6);
	margin-top: var(--space-8);
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border);
	font-size: var(--font-size-label);
}

.final-cta__links a {
	color: var(--color-text-secondary);
}

@media (max-width: 479px) {
	.final-cta__actions .btn {
		width: 100%;
	}
}

/* ==========================================================
   Frozen 78 — authoritative post-Hero reconstruction
   Desktop reference: 1280px shell / 64px inset / 1152px content.
   Mobile reference: 390px shell / 18px inset.
   ========================================================== */

.site-main > section:not(.hero),
.home .site-footer {
	width: 100%;
	max-width: var(--container-hero);
	margin-inline: auto;
}

.site-main > section:not(.hero) > [class*="container-"] {
	margin-inline: 0;
	padding-inline: 0;
}

.site-main > section:not(.hero) h2 {
	font-family: var(--font-family-serif);
	font-weight: 500;
	letter-spacing: normal;
}

.site-main > section:not(.hero) .text-label {
	font-family: var(--font-family-mono);
	font-weight: 400;
	line-height: normal;
}

/* Capability / single verified example. */
.product-proof {
	padding: 5.5rem 4rem; /* 88px 64px */
	border-top: 1px solid var(--color-border);
}

.product-proof__intro {
	max-width: 51.25rem;
}

.product-proof__intro h2 {
	max-width: 51.25rem;
	margin: 0;
	font-size: 2.625rem;
	line-height: 1.55;
}

.product-proof__intro p.text-body-lg {
	max-width: 41.25rem;
	margin-top: 1.875rem;
	font-size: 1.03125rem;
	line-height: 1.95;
}

.product-proof__flow {
	max-width: 72rem;
	margin-top: 3.5rem;
}

.product-proof__flow-list {
	flex-direction: row;
	align-items: flex-start;
	gap: 2.5rem 3.5rem;
}

.product-proof__flow-step {
	padding: 0;
	border: 0;
}

.product-proof__flow-step:nth-child(1) {
	flex: 0 1 15.625rem;
}

.product-proof__flow-step:nth-child(2) {
	flex: 0 1 18.125rem;
}

.product-proof__flow-step--answer {
	flex: 1 1 26.25rem;
	max-width: 31.25rem;
}

.product-proof__flow-step > .text-label {
	font-size: 0.78125rem;
	letter-spacing: 0.16em;
	color: var(--calen-oxide-text);
}

.product-proof__flow-items {
	margin-top: 0.875rem;
	padding-top: 0.875rem;
	border-top: 1px solid #c9c9c2;
	font-size: 0.90625rem;
	line-height: 2.15;
}

.product-proof__flow-step--answer > .product-proof__flow-items {
	margin-top: 1.875rem;
	padding-top: 0;
	border-top: 0;
	font-family: var(--font-family-sans);
	font-size: 0.90625rem;
	line-height: normal;
}

.product-proof__flow-step--answer > .product-proof__flow-items li {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0 1.25rem;
	align-items: baseline;
	padding: 0.8125rem 0;
	border-top: 1px solid var(--color-surface);
}

.product-proof__flow-step--answer > .product-proof__flow-items strong {
	font-family: var(--font-family-numeric);
	font-weight: 400;
}

.product-proof__flow-step--answer > .product-proof__flow-items li:first-child strong {
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--color-positive);
}

.product-proof__answer-label {
	margin-top: 1.375rem;
	padding-top: 1.375rem;
	border-top: 1px solid var(--color-text);
	font-size: 0.96875rem;
	color: var(--color-text-secondary);
}

.product-proof__flow-step--answer > .product-proof__flow-answer {
	margin-top: 0.375rem;
}

.product-proof__flow-answer {
	font-size: 3.75rem;
	line-height: 1;
}

.product-proof__flow-note {
	margin-top: 1.625rem;
	font-size: 0.90625rem;
	line-height: 1.95;
}

.product-proof__example-intro {
	max-width: none;
	margin: 5.5rem -4rem -5.5rem;
	padding: 5.5rem 4rem 5rem;
	border-top: 1px solid var(--color-border);
}

.product-proof__example-intro > h2 {
	max-width: 48.75rem;
	margin: 0;
	font-size: 2.25rem;
	line-height: 1.6;
}

.product-proof__example-intro > p {
	max-width: 38.75rem;
	margin: 1.625rem 0 0;
	font-size: 0.96875rem;
	line-height: 1.95;
	color: var(--color-text-secondary);
}

.product-proof__example-cards {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2.75rem 5.5rem;
	max-width: 65rem;
	margin-top: 3.25rem;
}

.product-proof__example-card {
	flex: 1 1 23.75rem;
	max-width: 27.5rem;
	margin-top: 0;
}

.product-proof__example-card > .text-label {
	margin: 0;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
}

.product-proof__example-name {
	margin: 0.375rem 0 0;
	font-size: 1.4375rem;
	font-weight: 500;
}

.product-proof__example-en {
	margin: 0.1875rem 0 0;
	font-family: var(--font-family-mono);
	font-size: 0.625rem;
	letter-spacing: 0.2em;
	color: var(--color-text-muted);
}

.product-proof__example-facts {
	margin: 1.375rem 0 0;
}

.product-proof__example-facts > div {
	margin-top: 1.25rem;
	padding-top: 0.875rem;
	border-top: 1px solid var(--color-surface);
}

.product-proof__example-facts > div:first-child {
	margin-top: 0;
	border-top-color: var(--color-text);
}

.product-proof__example-facts dt {
	font-family: var(--font-family-mono);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	color: var(--color-text-muted);
}

.product-proof__example-facts dd {
	margin: 0.375rem 0 0;
	font-size: 0.875rem;
	line-height: 1.85;
}

.product-proof__example-facts dd > span {
	display: block;
}

.product-proof__example-card--example-two .product-proof__example-facts > div:first-child dd {
	font-size: 0.8125rem;
	line-height: 1.95;
	color: var(--color-text-secondary);
}

.product-proof__example-card--example-two .product-proof__example-facts > div:nth-child(2) dd {
	font-weight: 500;
}

.product-proof__example-card--example-two .product-proof__example-facts > div:nth-child(3) dd {
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 2.05;
	color: var(--color-text-secondary);
}

.product-proof__fact-accent {
	color: var(--calen-oxide-text);
}

/* Film Camera walkthrough, moving ceiling, and three boundaries. */
.reverse-limits {
	padding: 6rem 4rem;
	border-top: 1px solid var(--color-border);
}

.reverse-limits__example,
.reverse-limits__factors,
.reverse-limits__questions {
	max-width: 65rem;
}

.reverse-limits__example {
	padding-top: 0;
	border-top: 0;
}

.reverse-limits__example-meta {
	margin-bottom: 1.875rem;
}

.reverse-limits__example-meta > .text-label,
.reverse-limits__example-context .text-label {
	font-size: 0.75rem;
	letter-spacing: 0.14em;
}

.reverse-limits__example-name {
	margin-top: 0.375rem;
	font-size: 1rem;
	font-weight: 500;
}

.reverse-limits__example-en {
	margin-top: 0.1875rem;
	font-family: var(--font-family-mono);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	color: var(--color-text-muted);
}

.reverse-limits__example-context {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem 3rem;
	margin-top: 1.125rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--color-surface);
}

.reverse-limits__example-context p {
	margin-top: 0.3125rem;
	font-size: 0.78125rem;
	line-height: 1.95;
	color: var(--color-text-secondary);
}

.reverse-limits__example-inputs {
	gap: 1.25rem 3.5rem;
	margin-bottom: 2.75rem;
}

.reverse-limits__example-inputs li {
	gap: 0.25rem;
}

.reverse-limits__example-input-value {
	font-size: 1.1875rem;
}

.reverse-limits__example-heading {
	max-width: 37.5rem;
	margin-bottom: 2.75rem;
	padding-top: 2.125rem;
	font-size: 1.625rem;
	line-height: 1.7;
}

.reverse-limits__example-figures {
	gap: 1.25rem 3.5rem;
}

.reverse-limits__ceiling-big {
	font-size: 6.5rem;
	line-height: 0.94;
}

.reverse-limits__headroom-showcase {
	flex: 0 1 13.125rem;
	padding-bottom: 1rem;
}

.reverse-limits__headroom-value {
	font-size: 1.875rem;
}

.reverse-limits__range {
	max-width: 53.75rem;
	margin-top: 3.5rem;
}

.reverse-limits__range > p {
	margin-top: 0.75rem;
}

.reverse-limits__intro {
	max-width: none;
	margin: 6rem -4rem 0;
	padding: 4.5rem 4rem 0;
	border-top: 1px solid var(--color-text);
}

.reverse-limits__intro .text-label {
	display: none;
}

.reverse-limits__intro h2 {
	max-width: 41.25rem;
	margin: 0;
	font-size: 1.75rem;
	line-height: 1.66;
}

.reverse-limits__intro p.text-body-lg {
	max-width: 32.5rem;
	margin-top: 1.5rem;
	font-size: 0.8125rem;
	line-height: 2.05;
}

.reverse-limits__factors {
	margin-top: 2.75rem;
	gap: 1.75rem 3rem;
	align-items: flex-end;
}

.reverse-limits__factor-copy {
	flex: 1 1 32.5rem;
}

.reverse-limits__factor-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2.5rem;
}

.reverse-limits__factor-list .reverse-limits__factor {
	flex: 1 1 7.5rem;
}

@media (min-width: 768px) {
	.reverse-limits__factor-list .reverse-limits__factor {
		gap: 0;
		padding: 0.75rem 0;
		border-top: 1px solid var(--color-text);
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
	}

	.reverse-limits__factor-list .reverse-limits__factor .text-label {
		margin: 0;
	}

	.reverse-limits__factor-list .reverse-limits__factor .text-caption {
		margin: 0.3125rem 0 0;
	}
}

.reverse-limits__ceiling {
	flex: 0 1 20rem;
	padding: 0 0 0 2.5rem;
	border: 0;
	border-left: 1px solid var(--color-text);
}

.reverse-limits__ceiling p.reverse-limits__ceiling-value {
	font-size: 2.375rem;
}

.reverse-limits__factor-note {
	max-width: 28.75rem;
	margin-top: 1.375rem;
	font-size: 0.8125rem;
	line-height: 2.05;
}

.reverse-limits__note {
	max-width: 32.5rem;
	margin-top: 2rem;
}

.reverse-limits__note p {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.85;
	color: var(--color-text);
}

.reverse-limits__example-two {
	max-width: none;
	margin: 5rem -4rem 0;
	padding: 7rem 4rem 5.5rem;
	border-top: 1px solid var(--color-border);
}

.reverse-limits__example-two-meta {
	max-width: 65rem;
	margin-bottom: 0;
}

.reverse-limits__example-two-meta .reverse-limits__example-context .text-label {
	color: var(--color-text-muted);
}

.reverse-limits__example-accent {
	color: var(--calen-oxide-text);
}

.reverse-limits__example-two h2 {
	max-width: 42.5rem;
	margin-top: 2.75rem;
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 1.66;
}

.reverse-limits__example-two-lead {
	max-width: 35rem;
	margin-top: 1.25rem;
	font-size: 0.8125rem;
	line-height: 2.05;
}

.reverse-limits__example-two-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 29.75rem));
	justify-content: space-between;
	gap: 0 3rem;
	max-width: 72rem;
	margin-top: 3.5rem;
}

.reverse-limits__example-two-column h3,
.reverse-limits__example-two-result h3 {
	margin: 0;
	font-family: var(--font-family-sans);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.reverse-limits__example-two-caption {
	margin-top: 1rem;
	padding-top: 0.875rem;
	font-size: 0.8125rem;
	line-height: 1.95;
}

.reverse-limits__evidence-heading {
	margin-top: 2.5rem;
	font-size: 0.78125rem;
}

.reverse-limits__evidence-rows {
	margin: 2.5rem 0 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-family-sans);
	font-size: 0.78125rem;
	color: var(--color-text-muted);
}

.reverse-limits__evidence-heading + .reverse-limits__evidence-rows,
.reverse-limits__evidence-rows--secondary {
	margin-top: 0.5rem;
}

.reverse-limits__evidence-rows li {
	min-height: 2.625rem;
	padding: 0.6875rem 0;
	border-top: 1px solid var(--color-surface);
}

.reverse-limits__evidence-rows li:first-child {
	border-top-color: #c9c9c2;
}

.reverse-limits__example-two-footnote {
	max-width: 26.25rem;
	margin-top: 1.375rem;
	font-size: 0.75rem;
	line-height: 2.05;
}

.reverse-limits__example-two-result {
	max-width: 29.75rem;
	margin-top: 3.5rem;
}

.reverse-limits__example-two-result .reverse-limits__evidence-rows {
	margin-top: 1.5rem;
}

.reverse-limits__questions {
	margin: 0 -4rem -6rem;
	padding: 5rem 4rem;
	border-top: 1px solid var(--color-border);
}

.reverse-limits__questions-intro {
	max-width: 65rem;
}

.reverse-limits__questions-context {
	margin-bottom: 1.375rem;
}

.reverse-limits__questions-context .text-label {
	font-size: 0.65625rem;
	letter-spacing: 0.18em;
	color: var(--calen-oxide-text);
}

.reverse-limits__questions-context > p:last-child {
	margin-top: 0.3125rem;
	font-size: 0.78125rem;
	color: var(--color-text-secondary);
}

.reverse-limits__questions-intro h2 {
	font-size: 1.75rem;
	line-height: 1.66;
}

.reverse-limits__questions-lead {
	max-width: 35rem;
	margin-top: 1.5rem;
	font-size: 0.8125rem;
	line-height: 2.05;
	color: var(--color-text-secondary);
}

.reverse-limits__question {
	display: grid;
	grid-template-columns: 1.25fr 0.85fr 1.3fr;
	gap: 0 2rem;
	min-height: 11rem;
	margin-top: 4.5rem;
	padding: 2.5rem 0;
	border-top: 1px solid var(--color-text);
}

.reverse-limits__questions-intro + .reverse-limits__question {
	margin-top: 4.5rem;
}

.reverse-limits__question-text h3 {
	font-family: var(--font-family-serif);
	font-size: 1.1875rem;
	font-weight: 500;
	line-height: 1.6;
}

.reverse-limits__question-text h3 + .text-label {
	display: block;
	margin-top: 0.5rem;
}

.reverse-limits__figure {
	font-size: 2.375rem;
}

.reverse-limits__figure--positive {
	color: var(--color-positive);
}

.reverse-limits__figure-sub {
	display: block;
	margin-top: 0.375rem;
	font-size: 0.8125rem;
}

.reverse-limits__meta-label {
	font-family: var(--font-family-sans);
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

.reverse-limits__meta-value {
	font-family: var(--font-family-numeric);
	color: var(--color-text-secondary);
}

/* M4 Product Proof and embedded PC continuation. */
.mobile-use {
	padding: 7rem 4rem 0;
	border-top: 1px solid var(--color-text);
}

.mobile-use__layout {
	max-width: 72rem;
	flex-direction: row;
	align-items: flex-start;
	gap: 3.5rem 5rem;
}

.mobile-use__text {
	flex: 1 1 26.25rem;
	max-width: 30rem;
}

.mobile-use__text .text-label {
	margin: 0;
	font-size: 0.78125rem;
	letter-spacing: 0.16em;
	color: var(--calen-oxide-text);
}

.mobile-use__text h2 {
	margin-top: 1.375rem;
	font-size: 2.5rem;
	line-height: 1.55;
}

.mobile-use__text p.text-body-lg {
	margin-top: 1.75rem;
	font-size: 1.03125rem;
	line-height: 1.95;
}

.mobile-use__text p.text-body-lg:last-of-type {
	margin-top: 1.375rem;
	font-size: 0.9375rem;
}

.mobile-use__checks {
	gap: 0;
	margin: 2.75rem 0 0;
	padding-top: 1.625rem;
	border-top: 1px solid var(--color-text);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.5;
}

.mobile-use__checks li + li {
	margin-top: 1rem;
}

.mobile-use__checks + .text-caption {
	display: block;
	margin-top: 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.95;
}

.mobile-use__proof {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1.25rem;
	flex: 1 1 35rem;
	max-width: 38.75rem;
}

.mobile-use__frame {
	width: 100%;
	height: 35.8125rem;
	max-width: none;
	aspect-ratio: auto;
	border-radius: 0;
}

.mobile-use__frame img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top;
	border-radius: 0;
}

.mobile-use__caption {
	grid-column: 1 / -1;
	margin: 0.75rem 0 0;
	font-family: var(--font-family-mono);
	font-size: 0.71875rem;
	letter-spacing: 0.14em;
	color: var(--color-text-muted);
}

.mobile-use__closing-note {
	display: none;
}

.pc-version {
	padding: 5.5rem 4rem 6.5rem;
}

.pc-version__intro,
.pc-version__proof,
.pc-version__note {
	max-width: 72rem;
}

.pc-version__intro {
	padding-top: 2.125rem;
	border-top: 1px solid var(--color-border);
}

.pc-version__eyebrow {
	font-size: 0.78125rem;
	letter-spacing: 0.16em;
}

.pc-version .pc-version__heading {
	margin-top: 1.125rem;
	font-family: var(--font-family-sans) !important;
	font-size: 1.375rem;
}

.pc-version__intro p.text-body-sm {
	max-width: 35rem;
	margin-top: 1rem;
	font-size: 0.9375rem;
	line-height: 1.95;
}

.pc-version__transaction-note {
	max-width: 35rem;
	margin-top: 0.625rem;
	font-size: 0.8125rem;
	line-height: 1.95;
}

.pc-version__proof {
	margin-top: 3rem;
}

.pc-version__figure .product-proof-frame {
	border-radius: 0;
}

.pc-version__note {
	margin-top: 4.5rem;
}

/* Trust transition. */
.trust-principles {
	padding: 5.75rem 4rem 6.25rem;
	border-top: 1px solid var(--color-border);
}

.trust-principles > [class*="container-"] {
	max-width: 51.25rem;
}

.trust-principles__intro h2 {
	max-width: 33.75rem;
	font-size: 1.75rem;
	line-height: 1.6;
}

.trust-principles__pairs {
	max-width: 43.75rem;
	margin-top: 3rem;
	gap: 1.875rem 3rem;
}

.trust-principles__pair {
	flex: 1 1 15rem;
	padding: 0;
	border: 0;
}

.trust-principles__pair-label {
	font-size: 1.1875rem;
}

.trust-principles__saved {
	margin-top: 3.5rem;
	padding-top: 1.625rem;
}

.trust-principles__saved-label {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.7;
}

.trust-principles__boundary {
	margin-top: 4rem;
	padding-top: 1.875rem;
}

.trust-principles__boundary-label {
	font-size: 1.625rem;
	line-height: 1.66;
}

.trust-principles__disclaimer {
	margin-top: 3.5rem;
}

/* Marketplaces through final CTA. */
.marketplaces {
	padding: 7rem 4rem 6.5rem;
}

.marketplaces__intro {
	max-width: 60rem;
}

.marketplaces__eyebrow {
	margin: 0;
	font-size: 0.78125rem;
	letter-spacing: 0.16em;
}

.marketplaces__intro h2 {
	max-width: 51.25rem;
	margin-top: 1.375rem;
	font-size: 2.5rem;
	line-height: 1.55;
}

.marketplaces__intro p.text-body-lg {
	max-width: 60rem;
	margin-top: 1.75rem;
	font-size: 1.03125rem;
	line-height: 1.95;
}

.marketplaces__table-wrap {
	max-width: 65rem;
	margin-top: 3.5rem;
}

.marketplaces__row {
	grid-template-columns: 1.1fr 1.6fr;
	gap: 0 3rem;
	padding: 1.375rem 0;
}

@media (min-width: 768px) {
	.marketplaces__row {
		min-height: 6.875rem;
		align-items: center;
	}
}

.marketplaces__name {
	font-size: 1.3125rem;
}

.marketplaces__row p {
	font-size: 0.9375rem;
	line-height: 1.95;
}

.marketplaces__note {
	max-width: 41.25rem;
	margin-top: 1.5rem;
}

.comparison {
	padding: 7rem 4rem 6.5rem;
	border-top: 1px solid var(--color-border);
}

.comparison__layout {
	max-width: 72rem;
	flex-direction: row;
	align-items: flex-start;
	gap: 3.5rem 5.5rem;
}

.comparison__text {
	flex: 1 1 28.75rem;
	max-width: 36.25rem;
}

.comparison__text h2 {
	font-size: 2.5rem;
	line-height: 1.55;
}

.comparison__text p.text-body-lg {
	margin-top: 1.75rem;
	font-size: 1.03125rem;
	line-height: 1.95;
}

.comparison__metrics-block {
	margin-top: 2.75rem;
	padding-top: 1.5rem;
}

.comparison__metrics {
	gap: 1.125rem 2.75rem;
	margin-top: 1.375rem;
	font-size: 1.3125rem;
}

.comparison__proof {
	flex: 0 1 21.9375rem;
	max-width: 21.9375rem;
}

.comparison__proof .product-proof-frame {
	height: 45.9375rem; /* 735px Frozen result frame */
	aspect-ratio: 351 / 735;
	border-radius: 0;
	overflow: hidden;
}

.comparison__proof .product-proof-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.comparison__statement {
	max-width: 51.25rem;
	margin-top: 5.5rem;
	padding-left: 1.5rem;
	border-left: 2px solid var(--calen-oxide-text);
}

.comparison__statement p {
	font-size: 2.125rem;
	line-height: 1.6;
}

.recall,
.scope,
.install,
.pricing,
.faq-section {
	padding: 6.5rem 4rem 6rem;
	border-top: 1px solid var(--color-border);
}

.recall__intro,
.data-handling__intro,
.scope__intro,
.install__intro,
.pricing__intro {
	max-width: 47.5rem;
}

.recall__intro h2,
.data-handling__intro h2,
.install__intro h2,
.pricing__intro h2 {
	font-size: 2.5rem;
	line-height: 1.55;
}

.recall__intro p.text-body-lg,
.install__intro p.text-body-lg,
.pricing__intro p.text-body-lg {
	max-width: 41.25rem;
	margin-top: 1.75rem;
	font-size: 1.03125rem;
	line-height: 1.95;
}

.recall__template-columns,
.scope__columns,
.install__columns,
.pricing__plans {
	max-width: 65rem;
	margin-top: 3.25rem;
}

.recall__template-columns {
	gap: 2.5rem 7.5rem;
}

.recall__template-col {
	max-width: 25rem;
}

.recall__history {
	max-width: 65rem;
	margin-top: 5rem;
	padding-top: 2.375rem;
}

.recall__proof {
	display: inline-block;
	max-width: 65rem;
	margin: 3rem 0 0;
	padding-top: 1.625rem;
	border-top: 1px solid #c9c9c2;
}

.recall__proof-row {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
}

.recall__proof-frame {
	background: #fff;
	border: 1px solid var(--color-border);
	overflow: hidden;
}

.recall__proof-frame--result {
	width: 24.375rem;
	height: 25.375rem;
}

.recall__proof-frame--input {
	width: 16.4375rem;
	height: 35.8125rem;
}

.recall__proof-frame img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top;
}

.recall__proof-frame--result img {
	object-fit: cover;
}

.recall__proof figcaption {
	margin-top: 0.75rem;
	font-family: var(--font-family-mono);
	font-size: 0.71875rem;
	letter-spacing: 0.14em;
	color: var(--color-text-muted);
}

.recall__history-statement {
	margin-top: 1.625rem;
	font-size: 2rem;
	line-height: 1.62;
}

.data-handling {
	padding: 7rem 4rem 6.5rem;
}

.data-handling__intro p.text-body-lg {
	margin-top: 1.875rem;
	font-size: 1.1875rem;
	line-height: 1.85;
}

.data-handling__intro p.text-body {
	margin-top: 1.25rem;
	font-size: 1rem;
	line-height: 1.95;
}

.data-handling__table-wrap {
	max-width: 65rem;
	margin-top: 3.5rem;
}

.data-handling__row {
	grid-template-columns: 0.85fr 1.5fr;
	gap: 0 3rem;
	padding: 1.375rem 0;
}

.data-handling__name {
	font-size: 1.0625rem;
	font-weight: 500;
}

.data-handling__row p {
	font-size: 0.9375rem;
	line-height: 1.95;
}

.data-handling__disclaimer {
	max-width: 43.75rem;
	margin-top: 1.625rem;
}

.scope__intro h2 {
	max-width: 43.75rem;
	font-size: 2.25rem;
	line-height: 1.6;
}

.scope__columns {
	gap: 3rem 6rem;
}

.scope__column {
	max-width: 27.5rem;
}

.scope__list {
	padding-top: 1rem;
	font-size: 0.9375rem;
	line-height: 2.2;
}

.scope__note {
	max-width: 40rem;
	margin-top: 2.75rem;
}

.install__columns {
	gap: 3rem 4.5rem;
}

.install__column {
	max-width: 26.25rem;
}

.install__column:nth-child(2) {
	flex-basis: 34rem;
	max-width: 34rem;
}

.install__heading {
	margin-top: 0.875rem;
	padding-top: 1rem;
	font-size: 1.1875rem;
}

.install__steps {
	font-size: 0.9375rem;
	line-height: 2.1;
}

.install__qr {
	width: 10rem;
	height: 10rem;
}

.install__platforms {
	max-width: 65rem;
	margin-top: 3.5rem;
	padding-top: 1.5rem;
}

.pricing__plans {
	gap: 2.75rem 5.5rem;
}

.pricing__intro {
	max-width: 54rem;
}

.pricing__intro p.text-body-lg {
	max-width: 54rem;
}

.pricing__price {
	font-size: 2rem;
}

.pricing__terms {
	max-width: 65rem;
	margin-top: 3.5rem;
	padding-top: 1.375rem;
}

.pricing__terms-copy {
	max-width: 58rem;
}

.pricing__terms-copy p + p {
	margin-top: 1rem;
}

.pricing__terms-copy p {
	max-width: 58rem;
}

.faq-section__intro,
.faq-section__list-wrap {
	max-width: 51.25rem;
}

.faq-section__intro h2 {
	font-size: 2rem;
	line-height: 1.6;
}

.faq-section__list-wrap {
	margin-top: 2.75rem;
}

.faq-section__row {
	padding: 1.625rem 0;
}

.faq-section__row dt {
	font-size: 1.0625rem;
	font-weight: 500;
}

.faq-section__row dd {
	margin-top: 0.75rem;
	font-size: 0.9375rem;
	line-height: 1.95;
}

.ecosystem {
	padding: 4.5rem 4rem 4rem;
	border-top: 1px solid var(--color-border);
}

.ecosystem__intro {
	max-width: 40rem;
}

.ecosystem__intro h2 {
	font-size: 1.375rem;
	line-height: 1.7;
}

.ecosystem__intro p.text-body {
	max-width: 37.5rem;
	margin-top: 1.5rem;
	font-size: 0.96875rem;
	line-height: 1.95;
}

.ecosystem__links {
	max-width: 65rem;
	margin-top: 2.75rem;
	gap: 1.75rem 4.5rem;
}

.final-cta {
	padding: 7.5rem 4rem 8rem;
}

.final-cta__content {
	max-width: 72rem;
}

.final-cta__brand {
	gap: 1rem;
	margin: 0;
}

.final-cta__brand img {
	border-radius: 0;
}

.final-cta__wordmark {
	font-size: 1.25rem;
	letter-spacing: 0.14em;
}

.final-cta__content h2 {
	max-width: 51.25rem;
	margin-top: 2.25rem;
	font-size: 2.875rem;
	line-height: 1.5;
}

.final-cta__content p.text-body-lg {
	max-width: 37.5rem;
	margin-top: 1.875rem;
	font-size: 1.03125rem;
	line-height: 1.95;
}

.final-cta__actions {
	gap: 1.125rem 1.75rem;
	margin: 2.75rem 0 0;
}

.final-cta__actions .btn-primary {
	padding: 1.1875rem 2.375rem;
	border-radius: 0;
}

.final-cta__actions .btn-secondary {
	min-height: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--color-text-secondary);
}

.final-cta__content > p.text-caption {
	margin-top: 1rem;
}

.final-cta__links {
	gap: 0.875rem 2rem;
	margin-top: 4rem;
	padding-top: 1.5rem;
	font-size: 0.84375rem;
}

/* Homepage footer. */
.home .site-footer {
	padding: 6rem 4rem 3.5rem;
}

.home .site-footer__inner {
	max-width: 72rem;
	padding: 0;
}

.home .site-footer__columns {
	gap: 3rem 5.5rem;
}

.home .site-footer__brand {
	flex-basis: 20rem;
	max-width: 26.25rem;
}

.home .site-footer__wordmark {
	font-size: 1.25rem;
	letter-spacing: 0.12em;
}

.home .site-footer__brand p.text-body-sm {
	margin-top: 1rem;
	font-size: 0.875rem;
	line-height: 1.95;
}

.home .site-footer__col {
	flex-basis: 11.25rem;
}

.home .site-footer__col > .text-label {
	font-size: 0.71875rem;
	letter-spacing: 0.14em;
}

.home .site-footer__links {
	margin-top: 0.875rem;
	padding-top: 0.75rem;
	gap: 0;
	font-size: 0.875rem;
	line-height: 2.2;
}

.home .site-footer__bottom {
	margin-top: 4rem;
	padding-top: 1.375rem;
}

.home .site-footer__copyright {
	margin-top: 1.25rem;
	font-size: 0.6875rem;
}

@media (max-width: 767px) {
	.site-main > section:not(.hero) {
		padding-inline: 1.125rem;
	}

	.site-main > section:not(.hero) h2 {
		letter-spacing: normal;
	}

	.product-proof {
		padding-block: 4rem 4.625rem;
	}

	.product-proof__intro {
		max-width: 22.125rem;
		margin-inline: auto !important;
		text-align: center;
	}

	.product-proof__intro h2 {
		font-size: 1.8125rem;
		line-height: 1.65;
	}

	.product-proof__intro p.text-body-lg {
		margin-top: 2.125rem;
		font-size: 1rem;
		text-align: left;
	}

	.product-proof__flow {
		margin-top: 3rem;
	}

	.product-proof__flow-list {
		flex-direction: column;
		gap: 0;
	}

	.product-proof__flow-step,
	.product-proof__flow-step:nth-child(n) {
		width: 100%;
		max-width: none;
		flex: none;
	}

	.product-proof__flow-answer {
		font-size: 3rem;
	}

	.product-proof__flow-step:nth-child(2) {
		margin-top: 2.8125rem;
	}

	.product-proof__flow-step--answer {
		margin-top: 3.25rem;
	}

	.product-proof__flow-step:not(.product-proof__flow-step--answer) .product-proof__flow-items {
		display: block;
		margin-top: 1.0625rem;
		font-size: 0.9375rem;
		line-height: 2.05;
	}

	.product-proof__flow-step:not(.product-proof__flow-step--answer) .product-proof__flow-items li {
		display: block;
	}

	.product-proof__answer-label {
		margin-top: 1.125rem;
		padding-top: 1.5rem;
		text-align: center;
	}

	.product-proof__flow-step--answer > .product-proof__flow-answer {
		margin-top: 0.75rem;
		text-align: center;
	}

	.product-proof__flow-step--answer > .product-proof__flow-answer + p {
		margin-top: 1.125rem;
		font-size: 0.90625rem;
		line-height: 1.95;
		text-align: center;
	}

	.product-proof__flow-step--answer > .product-proof__flow-items {
		margin-top: 1.75rem;
	}

	.product-proof__flow-step--answer > .product-proof__flow-items li {
		padding: 1.0625rem 0;
		border-top: 1px solid var(--color-surface);
	}

	.product-proof__flow-note {
		margin-top: 2rem;
	}

	.product-proof__example-intro {
		margin: 4.625rem -1.125rem -4.625rem;
		padding: 4.5rem 1.125rem 3.5rem;
	}

	.product-proof__example-intro > h2 {
		font-size: 1.375rem;
		line-height: 1.7;
		text-align: center;
	}

	.product-proof__example-intro > p {
		margin-top: 1.875rem;
		font-size: 0.96875rem;
	}

	.product-proof__example-card {
		width: 100%;
		max-width: none;
	}

	.product-proof__example-cards {
		display: block;
		margin-top: 2.75rem;
	}

	.product-proof__example-card + .product-proof__example-card {
		margin-top: 3.25rem;
	}

	.product-proof__example-name {
		margin-top: 0.3125rem;
		font-size: 1.3125rem;
	}

	.product-proof__example-en {
		font-size: 0.59375rem;
	}

	.product-proof__example-facts {
		margin-top: 1.625rem;
	}

	.product-proof__example-facts > div {
		margin-top: 1.5rem;
	}

	.reverse-limits {
		padding-block: 4.5rem 4rem;
	}

	.reverse-limits__example-meta {
		margin-bottom: 2.125rem;
		text-align: center;
	}

	.reverse-limits__example-name {
		margin-top: 0.3125rem;
		font-size: 0.9375rem;
	}

	.reverse-limits__example-en {
		font-size: 0.71875rem;
	}

	.reverse-limits__example-context {
		display: block;
		margin-top: 1rem;
	}

	.reverse-limits__example-context > div + div {
		margin-top: 0.875rem;
	}

	.reverse-limits__example-context p {
		font-size: 0.75rem;
	}

	.reverse-limits__example-inputs {
		justify-content: center;
		gap: 1rem 1.625rem;
		margin-bottom: 2.125rem;
		text-align: center;
	}

	.reverse-limits__example-inputs .text-caption {
		font-size: 0.71875rem;
	}

	.reverse-limits__example-input-value {
		font-size: 1.0625rem;
	}

	.reverse-limits__example-heading {
		max-width: 20rem;
		margin-inline: auto;
		margin-bottom: 1.875rem;
		padding-top: 1.625rem;
		font-size: 1.3125rem;
		line-height: 1.75;
		text-align: center;
	}

	.reverse-limits__example-figures {
		display: block;
		text-align: center;
	}

	.reverse-limits__ceiling-showcase .text-body-sm {
		font-size: 0.875rem;
	}

	.reverse-limits__ceiling-showcase .text-caption {
		font-size: 0.8125rem;
		line-height: 1.9;
	}

	.reverse-limits__ceiling-big {
		margin-top: 0.875rem;
		font-size: 3.5rem;
	}

	.reverse-limits__headroom-showcase {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 0.75rem;
		margin-top: 1.625rem;
		padding: 0.875rem 0 0;
		border-top: 1px solid #c9c9c2;
		text-align: left;
	}

	.reverse-limits__headroom-showcase .text-body-sm {
		font-size: 0.75rem;
		font-weight: 400;
		color: var(--color-text-muted);
	}

	.reverse-limits__headroom-value {
		margin: 0;
		font-size: 1.5rem;
	}

	.reverse-limits__headroom-showcase .text-caption {
		display: none;
	}

	.reverse-limits__range {
		margin-top: 1.625rem;
	}

	.reverse-limits__intro {
		margin: 4rem -1.125rem 0;
		padding: 3.25rem 1.125rem 0;
		text-align: center;
	}

	.reverse-limits__intro h2 {
		max-width: 20rem;
		margin-inline: auto;
		font-size: 1.3125rem;
		line-height: 1.75;
	}

	.reverse-limits__intro p.text-body-lg {
		display: none;
	}

	.reverse-limits__factors {
		display: block;
		margin-top: 1.25rem;
	}

	.reverse-limits__factor-copy {
		width: 100%;
	}

	.reverse-limits__factor-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 1.25rem;
		width: 100%;
	}

	.reverse-limits__factor {
		padding: 0.625rem 0;
		font-size: 0.78125rem;
	}

	.reverse-limits__factor .text-caption {
		display: none;
	}

	.reverse-limits__factor-note {
		margin-top: 1.125rem;
		font-size: 0.78125rem;
		line-height: 2;
	}

	.reverse-limits__ceiling {
		display: block;
		margin-top: 1.75rem;
		padding: 1.5rem 0 0;
		border: 0;
		border-top: 1px solid var(--color-text);
	}

	.reverse-limits__ceiling p.reverse-limits__ceiling-value {
		font-size: 2.125rem;
	}

	.reverse-limits__note {
		margin-top: 1.75rem;
	}

	.reverse-limits__note p {
		font-size: 0.84375rem;
		line-height: 1.75;
	}

	.reverse-limits__example-two {
		margin: 3.5rem -1.125rem 0;
		padding: 4.5rem 1.125rem 4rem;
	}

	.reverse-limits__example-two-meta {
		text-align: center;
	}

	.reverse-limits__example-two h2 {
		max-width: 22.125rem;
		margin: 2.125rem auto 0;
		font-size: 1.3125rem;
		line-height: 1.75;
		text-align: center;
	}

	.reverse-limits__example-two-lead {
		margin-top: 1.5rem;
		font-size: 0.78125rem;
		line-height: 2;
	}

	.reverse-limits__example-two-grid {
		display: block;
		margin-top: 2rem;
	}

	.reverse-limits__example-two-column + .reverse-limits__example-two-column {
		margin-top: 2.75rem;
	}

	.reverse-limits__example-two-caption {
		min-height: 0;
		margin-top: 1rem;
	}

	.reverse-limits__evidence-rows,
	.reverse-limits__example-two-result .reverse-limits__evidence-rows {
		margin-top: 1.25rem;
	}

	.reverse-limits__evidence-heading {
		margin-top: 1.75rem;
	}

	.reverse-limits__evidence-heading + .reverse-limits__evidence-rows,
	.reverse-limits__evidence-rows--secondary {
		margin-top: 0.5rem;
	}

	.reverse-limits__example-two-result {
		margin-top: 2.75rem;
	}

	.reverse-limits__questions {
		margin: 0 -1.125rem -4rem;
		padding: 3.25rem 1.125rem 2.75rem;
	}

	.reverse-limits__questions-context {
		margin-bottom: 1.25rem;
		text-align: center;
	}

	.reverse-limits__questions-context .text-label {
		font-size: 0.625rem;
	}

	.reverse-limits__questions-context > p:last-child {
		font-size: 0.75rem;
	}

	.reverse-limits__questions-intro h2 {
		max-width: 20rem;
		margin-inline: auto;
		font-size: 1.3125rem;
		line-height: 1.75;
		text-align: center;
	}

	.reverse-limits__questions-lead {
		display: block;
		margin-top: 1.5rem;
		font-size: 0.78125rem;
		line-height: 2;
	}

	.reverse-limits__question {
		display: flex;
		flex-direction: column;
		gap: 0.875rem;
		min-height: 0;
		margin-top: 3.5rem;
		padding: 0.875rem 0 0;
	}

	.reverse-limits__questions-intro + .reverse-limits__question {
		margin-top: 1.75rem;
	}

	.reverse-limits__question-text .text-label {
		display: block;
		margin-top: 0.5rem;
	}

	.reverse-limits__question-text h3 {
		margin: 0;
		font-size: 1.0625rem;
	}

	.reverse-limits__question-figure {
		margin-top: 0.5rem;
		text-align: center;
	}

	.reverse-limits__figure {
		font-size: 2.125rem;
	}

	.reverse-limits__question-meta {
		gap: 0;
		font-size: 0.8125rem;
		line-height: 1.9;
	}

	.mobile-use {
		padding-block: 4.5rem 4rem;
	}

	.mobile-use__layout {
		flex-direction: column;
		gap: 0;
	}

	.mobile-use__text {
		max-width: none;
	}

	.mobile-use__text .text-label {
		font-size: 0.71875rem;
		text-align: center;
	}

	.mobile-use__text h2 {
		max-width: 22.125rem;
		margin: 1.25rem auto 0;
		font-size: 1.875rem;
		line-height: 1.6;
		text-align: center;
	}

	.mobile-use__proof {
		display: block;
		width: calc(100% + 2.25rem);
		max-width: none;
		margin: 2.75rem -1.125rem 0;
	}

	.mobile-use__frame--input {
		display: none;
	}

	.mobile-use__frame--result {
		height: auto;
		border-width: 1px 0;
	}

	.mobile-use__frame--result img {
		width: 100%;
		max-width: 16.4375rem;
		height: auto;
		aspect-ratio: 263 / 573;
		margin-inline: auto;
		object-fit: contain;
	}

	.mobile-use__caption {
		margin: 0.875rem 1.125rem 0;
	}

	.mobile-use__closing-note {
		display: block;
		margin: 2.5rem 0 0;
		font-size: 1rem;
		line-height: 1.95;
	}

	.pc-version {
		display: block;
		padding: 3rem 1.125rem;
		border-top: 1px solid var(--color-border);
	}

	.pc-version__intro {
		padding-top: 0;
		border-top: 0;
	}

	.pc-version__eyebrow {
		font-size: 0.71875rem;
		color: var(--color-text-muted);
	}

	.pc-version .pc-version__heading {
		margin-top: 0.875rem;
		font-size: 1rem;
		line-height: 1.7;
	}

	.pc-version__desktop-lead {
		display: none;
	}

	.pc-version__transaction-note {
		margin-top: 0.625rem;
		font-size: 0.8125rem;
		line-height: 1.95;
	}

	.pc-version__proof {
		width: calc(100% + 2.25rem);
		margin: 2rem -1.125rem 0 !important;
	}

	.pc-version__proof .product-proof-frame {
		border-inline: 0;
	}

	.pc-version__proof .product-proof__caption {
		margin: 1rem 1.125rem 0;
		font-size: 0.71875rem;
	}

	.pc-version__note {
		display: none;
	}

	.trust-principles {
		padding-block: 3.75rem 4rem;
	}

	.marketplaces,
	.comparison,
	.data-handling {
		padding-block: 4.5rem 4rem;
	}

	.recall,
	.scope,
	.install,
	.pricing,
	.faq-section {
		padding-block: 4rem;
	}

	.ecosystem {
		padding-block: 3rem;
	}

	.trust-principles__intro h2 {
		max-width: 20rem;
		margin-inline: auto;
		font-size: 1.3125rem;
		line-height: 1.7;
		text-align: center;
	}

	.trust-principles__pairs {
		display: block;
		margin-top: 2.25rem;
	}

	.trust-principles__pair + .trust-principles__pair {
		margin-top: 1.25rem;
	}

	.trust-principles__pair-label {
		font-family: var(--font-family-numeric);
		font-size: 1.0625rem;
	}

	.trust-principles__pair .text-body-sm {
		margin-top: 0.5rem;
		font-size: 0.78125rem;
		line-height: 2;
	}

	.trust-principles__saved {
		margin-top: 1.375rem;
		padding-top: 0;
		border-top: 0;
	}

	.trust-principles__saved-label {
		font-size: 0.875rem;
		font-weight: 600;
		line-height: 1.7;
	}

	.trust-principles__saved .text-body-sm {
		margin-top: 0.5rem;
		font-size: 0.78125rem;
		line-height: 2;
	}

	.trust-principles__boundary {
		margin-top: 2.5rem;
		padding-top: 1.625rem;
		border-top-color: var(--color-border);
	}

	.trust-principles__boundary-label {
		max-width: 20rem;
		margin-inline: auto;
		font-size: 1.3125rem;
		line-height: 1.75;
		text-align: center;
	}

	.trust-principles__boundary .text-body-sm {
		margin-top: 0.625rem;
		font-size: 0.78125rem;
		line-height: 2;
	}

	.trust-principles__disclaimer {
		display: none;
	}

	.marketplaces__intro h2 {
		font-size: 1.375rem;
		line-height: 1.7;
	}

	.comparison__text h2 {
		font-size: 1.6875rem;
		line-height: 1.65;
	}

	.recall__intro h2,
	.install__intro h2,
	.pricing__intro h2 {
		font-size: 1.625rem;
		line-height: 1.7;
	}

	.data-handling__intro h2 {
		font-size: 1.625rem;
		line-height: 1.65;
	}

	.scope__intro h2 {
		font-size: 1.5625rem;
		line-height: 1.7;
	}

	.marketplaces__intro,
	.marketplaces__intro h2 {
		max-width: 22.125rem;
		margin-inline: auto;
		text-align: center;
	}

	.marketplaces__eyebrow {
		font-size: 0.71875rem;
		text-align: left;
	}

	.marketplaces__intro h2 {
		margin-top: 1.25rem;
	}

	.marketplaces__intro p.text-body-lg {
		margin-top: 1.875rem;
		font-size: 1rem;
		text-align: left;
	}

	.marketplaces__table-wrap {
		margin-top: 2.25rem;
	}

	.marketplaces__row {
		padding: 1.25rem 0;
	}

	.marketplaces__name {
		font-size: 1.125rem;
	}

	.marketplaces__row,
	.data-handling__row {
		display: block;
	}

	.marketplaces__row p,
	.data-handling__row p {
		margin-top: 0.5rem;
		font-size: 0.90625rem;
	}

	.marketplaces__note {
		margin-top: 1.25rem;
	}

	.marketplaces__note p {
		font-size: 0.875rem;
	}

	.comparison__layout {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.comparison__text {
		display: contents;
	}

	.comparison__text h2 {
		order: 1;
	}

	.comparison__text > .text-body-lg {
		order: 2;
		margin-top: 1.875rem;
		font-size: 1rem;
	}

	.comparison__proof {
		order: 3;
		width: 100%;
		max-width: 21.9375rem;
		margin-top: 2.5rem;
	}

	.comparison__proof .product-proof-frame {
		height: auto;
		aspect-ratio: 351 / 735;
	}

	.comparison__proof figcaption {
		margin-top: 0.875rem;
		font-size: 0.71875rem;
	}

	.comparison__metrics-block {
		order: 4;
		width: 100%;
		margin-top: 2.75rem;
		padding-top: 1.5rem;
	}

	.comparison__metrics-block > .text-label {
		font-size: 0.71875rem;
	}

	.comparison__metrics {
		display: block;
		margin-top: 1.25rem;
		font-size: 1.25rem;
		line-height: 1.9;
	}

	.comparison__metrics-block > .text-body-sm {
		margin-top: 1.625rem;
		font-size: 0.90625rem;
		line-height: 1.95;
	}

	.comparison__statement {
		order: 5;
		margin-top: 3.25rem;
		padding-left: 0.75rem;
	}

	.comparison__statement p {
		font-size: 1.3125rem;
		line-height: 1.75;
	}

	.recall__template-columns,
	.scope__columns,
	.install__columns,
	.pricing__plans {
		gap: 2rem;
	}

	.recall__template-col,
	.install__column:nth-child(2) {
		max-width: none;
	}

	.recall__intro p.text-body-lg,
	.install__intro p.text-body-lg,
	.pricing__intro p.text-body-lg {
		margin-top: 1.875rem;
		font-size: 1rem;
	}

	.recall__template-columns {
		margin-top: 2.25rem;
	}

	.recall__template-col .text-label,
	.recall__history > .text-label {
		font-size: 0.71875rem;
	}

	.recall__template-col > .text-body {
		margin-top: 0.5rem;
		font-size: 0.90625rem;
		line-height: 1.95;
	}

	.recall__field-list {
		margin-top: 0.75rem;
		padding-top: 0.75rem;
		font-size: 0.90625rem;
		line-height: 2.05;
	}

	.recall__note {
		margin-top: 2rem;
	}

	.recall__note p {
		font-size: 0.90625rem;
	}

	.recall__history {
		margin-top: 3.25rem;
		padding-top: 1.625rem;
	}

	.recall__history-statement {
		margin-top: 1.25rem;
		font-size: 1.5rem;
		line-height: 1.7;
	}

	.recall__history > .text-body {
		margin-top: 1.375rem;
		font-size: 0.90625rem;
		line-height: 1.95;
	}

	.recall__history > .text-body-lg {
		margin-top: 1.625rem;
		font-size: 1rem;
		line-height: 1.95;
	}

	.recall__proof {
		display: block;
		width: 100%;
		margin-top: 2.5rem;
		padding-top: 1.5rem;
	}

	.recall__proof-row {
		flex-direction: column;
		gap: 1.5rem;
	}

	.recall__proof-frame--result,
	.recall__proof-frame--input {
		width: 100%;
	}

	.recall__proof-frame--result {
		height: auto;
		aspect-ratio: 390 / 406;
	}

	.recall__proof-frame--input {
		height: 35.8125rem;
		aspect-ratio: auto;
	}

	.recall__proof-frame--result img {
		max-width: 22.125rem;
		margin-inline: auto;
	}

	.recall__proof-frame--input img {
		max-width: 16.4375rem;
		margin-inline: auto;
	}

	.data-handling__intro {
		text-align: center;
	}

	.data-handling__intro p {
		text-align: left;
	}

	.data-handling__intro p.text-body-lg {
		margin-top: 1.75rem;
		font-size: 1.09375rem;
		line-height: 1.85;
	}

	.data-handling__intro p.text-body {
		margin-top: 1.125rem;
		font-size: 0.9375rem;
	}

	.data-handling__table-wrap {
		margin-top: 2.25rem;
	}

	.data-handling__row {
		padding: 1.25rem 0;
	}

	.data-handling__name {
		font-size: 1rem;
	}

	.data-handling__disclaimer {
		margin-top: 1.375rem;
	}

	.data-handling__disclaimer p {
		font-size: 0.875rem;
	}

	.scope__columns {
		margin-top: 2.25rem;
	}

	.scope__list {
		margin-top: 0.875rem;
		padding-top: 0.875rem;
		font-size: 0.90625rem;
		line-height: 2.15;
	}

	.scope__note {
		margin-top: 2.25rem;
	}

	.scope__note p {
		font-size: 1rem;
		line-height: 1.95;
	}

	.install__columns {
		margin-top: 2.25rem;
		gap: 2.5rem;
	}

	.install__heading {
		margin-top: 0.75rem;
		padding-top: 0.875rem;
		font-size: 1.0625rem;
	}

	.install__steps {
		margin-top: 1rem;
		font-size: 0.90625rem;
		line-height: 2.1;
	}

	.install__column > .text-body-sm {
		font-size: 0.90625rem;
		line-height: 1.95;
	}

	.install__qr {
		width: 9.25rem;
		height: 9.25rem;
		margin-top: 1.375rem;
	}

	.install__platforms {
		margin-top: 2.75rem;
		padding-top: 1.25rem;
		gap: 1.25rem;
	}

	.install__platform-name,
	.install__platform p {
		font-size: 0.84375rem;
	}

	.pricing__plans {
		margin-top: 2.5rem;
		gap: 2.25rem;
	}

	.pricing__plan-body {
		margin-top: 0.75rem;
		padding-top: 1rem;
	}

	.pricing__price {
		font-size: 1.75rem;
	}

	.pricing__plan-body > .text-body-sm,
	.pricing__features {
		font-size: 0.9375rem;
		line-height: 2.05;
	}

	.pricing__terms {
		margin-top: 2.5rem;
		padding-top: 1.25rem;
	}

	.pricing__terms p {
		font-size: 0.90625rem;
		line-height: 2.05;
	}

	.pricing__terms-copy p + p {
		margin-top: 1.25rem;
	}

	.pricing__terms-links {
		margin-top: 1.25rem;
		font-size: 0.875rem;
	}

	.faq-section__intro h2 {
		font-size: 1.5rem;
	}

	.faq-section__list-wrap {
		margin-top: 2.25rem;
	}

	.faq-section__row {
		padding: 1.375rem 0;
	}

	.faq-section__row dt {
		font-size: 0.96875rem;
	}

	.faq-section__row dd {
		margin-top: 0.625rem;
		font-size: 0.90625rem;
	}

	.ecosystem__intro h2 {
		font-size: 1.1875rem;
	}

	.ecosystem__intro p.text-body {
		margin-top: 1.625rem;
		font-size: 0.96875rem;
	}

	.ecosystem__links {
		margin-top: 2rem;
		gap: 1.5rem;
	}

	.ecosystem__link {
		padding-top: 0.875rem;
	}

	.ecosystem__link-name {
		font-size: 1rem;
	}

	.ecosystem__link p.text-body-sm {
		font-size: 0.90625rem;
	}

	.final-cta {
		padding-block: 5rem 5.5rem;
	}

	.final-cta__brand {
		gap: 0.875rem;
	}

	.final-cta__brand img {
		width: 2.5rem;
		height: 2.5rem;
	}

	.final-cta__wordmark {
		font-size: 1.125rem;
	}

	.final-cta__content h2 {
		margin-top: 2rem;
		font-size: 1.8125rem;
		line-height: 1.6;
	}

	.final-cta__content p.text-body-lg {
		margin-top: 1.75rem;
		font-size: 1rem;
	}

	.final-cta__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
		margin-top: 2.5rem;
	}

	.final-cta__actions .btn {
		width: 100%;
	}

	.final-cta__content > p.text-caption {
		margin-top: 1rem;
		text-align: center;
	}

	.final-cta__links {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.875rem 1.25rem;
		margin-top: 3.5rem;
		padding-top: 1.375rem;
	}

	.home .site-footer {
		padding: 4rem 1.125rem 2.75rem;
	}

	.home .site-footer__columns {
		display: block;
	}

	.home .site-footer__brand,
	.home .site-footer__col {
		width: 100%;
		max-width: none;
		flex: none;
	}

	.home .site-footer__wordmark {
		font-size: 1.125rem;
	}

	.home .site-footer__brand p.text-body-sm {
		margin-top: 0.875rem;
		font-size: 0.875rem;
	}

	.home .site-footer__col {
		margin-top: 1.625rem;
	}

	.home .site-footer__brand + .site-footer__col {
		margin-top: 2.125rem;
	}

	.home .site-footer__links {
		margin-top: 0.75rem;
		padding-top: 0.75rem;
	}

	.home .site-footer__bottom {
		margin-top: 2.75rem;
		padding-top: 1.25rem;
	}

	.home .site-footer__bottom p.text-caption {
		font-size: 0.8125rem;
		line-height: 1.95;
	}

	.home .site-footer__copyright {
		margin-top: 1.125rem;
		font-size: 0.6875rem;
	}
}

@media (max-width: 374px) {
	.product-proof__flow-answer,
	.reverse-limits__ceiling-big {
		font-size: 2.75rem;
	}

	.marketplaces__name--nowrap {
		white-space: normal;
	}
}
