:root {
	--mrc-os-color-ink: #10231f;
	--mrc-os-color-muted: #52645f;
	--mrc-os-color-surface: #ffffff;
	--mrc-os-color-soft: #f5f8f6;
	--mrc-os-color-line: #dbe7e2;
	--mrc-os-color-primary: #006b57;
	--mrc-os-color-primary-dark: #064b3f;
	--mrc-os-color-accent: #d9efe8;
	--mrc-os-shadow-card: 0 18px 48px rgba(16, 35, 31, 0.1);
	--mrc-os-radius-lg: 28px;
	--mrc-os-radius-md: 18px;
	--mrc-os-radius-sm: 12px;
	--mrc-os-space-2: 0.75rem;
	--mrc-os-space-3: 1rem;
	--mrc-os-space-4: 1.5rem;
	--mrc-os-space-5: 2rem;
	--mrc-os-space-6: 3rem;
	--mrc-os-max-width: 1180px;
}

.mrc-os-homepage {
	color: var(--mrc-os-color-ink);
	font-family: inherit;
	margin: 0 auto;
	max-width: var(--mrc-os-max-width);
	padding: clamp(0.75rem, 1.4vw, 1.2rem) 1rem clamp(1.5rem, 3vw, 3rem);
}

.mrc-os-homepage * {
	box-sizing: border-box;
}

.post-561 .entry-header {
	display: none;
}

.post-561 .inside-article {
	padding-top: 0;
}

.post-561 .entry-content > .mrc-lang-switch {
	background: var(--mrc-os-color-surface);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: 999px;
	box-shadow: 0 10px 26px rgba(16, 35, 31, 0.06);
	margin: clamp(1rem, 2vw, 1.5rem) auto 0;
	max-width: var(--mrc-os-max-width);
	padding: 0.55rem 0.75rem;
	width: calc(100% - 2rem);
}

.mrc-os-home-language {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	justify-content: flex-end;
	margin: 0 0 0.7rem;
}

.mrc-os-home-language span,
.mrc-os-home-language a {
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1;
}

.mrc-os-home-language span {
	color: var(--mrc-os-color-muted);
}

.mrc-os-home-language a {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: 999px;
	color: var(--mrc-os-color-primary-dark);
	padding: 0.5rem 0.75rem;
	text-decoration: none;
}

.mrc-os-hero {
	align-items: center;
	background:
		radial-gradient(circle at top right, rgba(0, 107, 87, 0.14), transparent 34rem),
		linear-gradient(135deg, #ffffff 0%, #f4faf7 100%);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-lg);
	box-shadow: var(--mrc-os-shadow-card);
	display: grid;
	gap: clamp(1rem, 2vw, 1.7rem);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
	margin-bottom: var(--mrc-os-space-3);
	padding: clamp(1.15rem, 2vw, 1.75rem);
}

.mrc-os-eyebrow,
.mrc-os-label {
	color: var(--mrc-os-color-primary-dark);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 var(--mrc-os-space-2);
	text-transform: uppercase;
}

.mrc-os-hero h1 {
	color: var(--mrc-os-color-ink);
	font-size: clamp(2.35rem, 3.8vw, 3.55rem);
	letter-spacing: -0.048em;
	line-height: 1;
	margin: 0 0 0.75rem;
	max-width: 600px;
}

.mrc-os-hero__lead {
	color: var(--mrc-os-color-ink);
	font-size: clamp(1rem, 1.3vw, 1.12rem);
	font-weight: 750;
	line-height: 1.32;
	margin: 0 0 0.75rem;
	max-width: 620px;
}

.mrc-os-hero__support,
.mrc-os-section p,
.mrc-os-card span,
.mrc-os-trust-line {
	color: var(--mrc-os-color-muted);
	font-size: 0.98rem;
	line-height: 1.56;
}

.mrc-os-hero__support {
	font-size: 0.94rem;
	line-height: 1.42;
	margin: 0 0 0.95rem;
	max-width: 610px;
}

.mrc-os-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 0 0 0.75rem;
}

.mrc-os-manual-link {
	font-size: 0.95rem;
	margin: 0 0 0.55rem;
}

.mrc-os-manual-link a {
	color: var(--mrc-os-color-primary-dark);
	font-weight: 800;
}

.mrc-os-manual-link a:focus-visible {
	outline: 3px solid rgba(0, 107, 87, 0.38);
	outline-offset: 3px;
}

.mrc-os-button {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	line-height: 1.2;
	min-height: 46px;
	padding: 0.78rem 1.15rem;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.mrc-os-button:focus-visible,
.mrc-os-card--link:focus-visible,
.mrc-os-link-row a:focus-visible {
	outline: 3px solid rgba(0, 107, 87, 0.38);
	outline-offset: 3px;
}

.mrc-os-button:hover {
	transform: translateY(-1px);
}

.mrc-os-button--primary {
	background: var(--mrc-os-color-primary);
	color: #ffffff;
}

.mrc-os-button--primary:hover,
.mrc-os-button--primary:focus {
	background: var(--mrc-os-color-primary-dark);
	color: #ffffff;
}

.mrc-os-button--secondary {
	background: #ffffff !important;
	border: 1px solid var(--mrc-os-color-line) !important;
	color: var(--mrc-os-color-primary-dark) !important;
}

.mrc-os-button--secondary:hover,
.mrc-os-button--secondary:focus {
	background: #f7fbf9 !important;
	border-color: var(--mrc-os-color-primary) !important;
	color: var(--mrc-os-color-primary-dark) !important;
}

.mrc-os-button--quiet {
	background: transparent !important;
	color: var(--mrc-os-color-primary-dark) !important;
}

.mrc-os-trust-line {
	font-size: 0.95rem;
	margin: 0;
}

.mrc-os-preview-card {
	align-self: start;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-lg);
	box-shadow: 0 16px 38px rgba(16, 35, 31, 0.08);
	padding: clamp(0.95rem, 1.55vw, 1.25rem);
}

.mrc-os-companion-preview {
	background:
		radial-gradient(circle at top right, rgba(0, 107, 87, 0.13), transparent 18rem),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 249, 0.96));
	border-color: rgba(0, 107, 87, 0.16);
	box-shadow: 0 28px 80px rgba(16, 35, 31, 0.13);
}

.mrc-os-preview-card__header {
	display: flex;
	gap: 0.85rem;
	justify-content: space-between;
	margin-bottom: 0.85rem;
}

.mrc-os-preview-card__header span {
	color: var(--mrc-os-color-muted);
}

.mrc-os-preview-card__header strong {
	color: var(--mrc-os-color-primary-dark);
	font-size: 0.88rem;
	line-height: 1.25;
}

.mrc-os-mini-journey {
	display: grid;
	gap: 0.42rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 0.8rem;
}

.mrc-os-mini-journey span {
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-sm);
	color: var(--mrc-os-color-ink);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.48rem 0.35rem;
	text-align: center;
}

.mrc-os-preview-card__next {
	background: var(--mrc-os-color-accent);
	border-radius: var(--mrc-os-radius-md);
	margin-bottom: 0;
	padding: 0.95rem;
}

.mrc-os-companion-note {
	background: rgba(255, 255, 255, 0.74);
	border: 1px solid rgba(219, 231, 226, 0.9);
	border-radius: var(--mrc-os-radius-md);
	margin-bottom: 0.8rem;
	padding: 0.95rem;
}

.mrc-os-companion-step {
	color: var(--mrc-os-color-primary-dark);
	font-weight: 850;
	margin-bottom: 0.45rem;
}

.mrc-os-companion-note p,
.mrc-os-preview-card__next p {
	font-size: 0.9rem;
	line-height: 1.4;
}

.mrc-os-preview-card__next p:last-child,
.mrc-os-companion-note p:last-child,
.mrc-os-deliverables p:last-child {
	margin-bottom: 0;
}

.mrc-os-deliverables ul {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mrc-os-deliverables li {
	border-bottom: 1px solid var(--mrc-os-color-line);
	font-weight: 700;
	padding: 0 0 0.5rem;
}

.mrc-os-hero .mrc-os-deliverables {
	display: none;
}

.mrc-os-section,
.mrc-os-final-cta {
	background: var(--mrc-os-color-surface);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-lg);
	margin-bottom: var(--mrc-os-space-5);
	padding: clamp(1.25rem, 3vw, 2.25rem);
}

.mrc-os-section h2,
.mrc-os-final-cta h2 {
	color: var(--mrc-os-color-ink);
	font-size: clamp(1.55rem, 3vw, 2.35rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
	margin: 0 0 var(--mrc-os-space-3);
}

.mrc-os-section__header {
	max-width: 820px;
}

.mrc-os-section--quick-estimate {
	align-items: stretch;
	background:
		radial-gradient(circle at top right, rgba(0, 107, 87, 0.12), transparent 28rem),
		linear-gradient(135deg, #ffffff 0%, #f3faf7 100%);
	display: grid;
	gap: var(--mrc-os-space-4);
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
	margin-top: calc(-1 * var(--mrc-os-space-2));
}

.mrc-os-quick-estimate__content {
	display: grid;
	align-content: center;
}

.mrc-os-product-funnel {
	display: grid;
	gap: 0.7rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.mrc-os-product-funnel li {
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(219, 231, 226, 0.95);
	border-radius: 18px;
	display: grid;
	gap: 0.35rem;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 0.9rem;
}

.mrc-os-product-funnel span {
	align-items: center;
	background: var(--mrc-os-color-primary);
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 900;
	height: 1.75rem;
	justify-content: center;
	width: 1.75rem;
}

.mrc-os-product-funnel strong {
	color: var(--mrc-os-color-ink);
	font-size: 1rem;
	line-height: 1.18;
}

.mrc-os-product-funnel em {
	color: var(--mrc-os-color-muted);
	font-size: 0.88rem;
	font-style: normal;
	grid-column: 2;
	line-height: 1.34;
}

.mrc-os-section--calculator-example {
	background:
		radial-gradient(circle at bottom left, rgba(0, 107, 87, 0.1), transparent 26rem),
		linear-gradient(135deg, #ffffff 0%, #f7fbf9 100%);
}

.mrc-os-example-grid {
	display: grid;
	gap: var(--mrc-os-space-3);
	grid-template-columns: minmax(0, 1.1fr) repeat(2, minmax(0, 1fr));
	margin: var(--mrc-os-space-4) 0 var(--mrc-os-space-3);
}

.mrc-os-example-grid article {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(219, 231, 226, 0.95);
	border-radius: var(--mrc-os-radius-md);
	padding: var(--mrc-os-space-4);
}

.mrc-os-example-grid ul {
	display: grid;
	gap: 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mrc-os-example-grid li,
.mrc-os-example-grid p {
	color: var(--mrc-os-color-muted);
	font-size: 0.96rem;
	line-height: 1.5;
	margin: 0;
	overflow-wrap: anywhere;
}

.mrc-os-example-grid li {
	border-bottom: 1px solid rgba(219, 231, 226, 0.8);
	padding-bottom: 0.55rem;
}

.mrc-os-example-grid li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.mrc-os-journey-strip {
	display: grid;
	gap: var(--mrc-os-space-2);
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: var(--mrc-os-space-4) 0 0;
	padding: 0;
}

.mrc-os-journey-strip span {
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	display: block;
	font-weight: 800;
	padding: 0.75rem;
	text-align: center;
}

.mrc-os-section--why {
	background: var(--mrc-os-color-primary-dark);
	color: #ffffff;
}

.mrc-os-section--why h2,
.mrc-os-section--why p {
	color: #ffffff;
}

.mrc-os-capability-grid,
.mrc-os-guide-grid {
	display: grid;
	gap: var(--mrc-os-space-3);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mrc-os-card {
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	padding: var(--mrc-os-space-4);
}

.mrc-os-card p,
.mrc-os-card strong {
	color: var(--mrc-os-color-ink);
	display: block;
	font-weight: 800;
	margin: 0;
}

.mrc-os-card--link {
	text-decoration: none;
}

.mrc-os-card--link:hover {
	border-color: var(--mrc-os-color-primary);
}

.mrc-os-card--link span {
	display: block;
	margin-top: var(--mrc-os-space-2);
}

.mrc-os-section--calculator,
.mrc-os-section--trust {
	align-items: center;
	display: grid;
	gap: var(--mrc-os-space-4);
	grid-template-columns: minmax(0, 1fr) auto;
}

.mrc-os-link-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mrc-os-space-3);
	justify-content: flex-end;
}

.mrc-os-link-row a {
	color: var(--mrc-os-color-primary-dark);
	font-weight: 800;
}

.mrc-os-faq-list {
	display: grid;
	gap: var(--mrc-os-space-3);
}

.mrc-os-faq-list details {
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	padding: var(--mrc-os-space-4);
}

.mrc-os-faq-list summary {
	color: var(--mrc-os-color-ink);
	cursor: pointer;
	font-weight: 800;
}

.mrc-os-faq-list p {
	margin: var(--mrc-os-space-3) 0 0;
}

.mrc-os-final-cta {
	background:
		radial-gradient(circle at bottom left, rgba(0, 107, 87, 0.16), transparent 28rem),
		var(--mrc-os-color-soft);
	text-align: center;
}

.mrc-os-final-cta p {
	margin-left: auto;
	margin-right: auto;
	max-width: 720px;
}

.mrc-os-journey-shell {
	color: var(--mrc-os-color-ink);
	font-family: inherit;
	margin: 0 auto;
	max-width: var(--mrc-os-max-width);
	padding: clamp(1rem, 2vw, 1.75rem) 1rem clamp(1.5rem, 3vw, 3rem);
}

.mrc-os-journey-shell * {
	box-sizing: border-box;
	overflow-anchor: none;
}

.mrc-os-journey-shell {
	overflow-anchor: none;
}

.mrc-os-journey-shell [hidden],
.mrc-os-workspace-shell [hidden] {
	display: none !important;
}

.mrc-os-workspace-entry,
.mrc-os-decision-confidence {
	background: var(--mrc-os-color-surface);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-lg);
	box-shadow: 0 12px 34px rgba(16, 35, 31, 0.07);
	margin-bottom: var(--mrc-os-space-4);
	padding: clamp(1.4rem, 3vw, 2.6rem);
}

.mrc-os-journey-workspace {
	margin-bottom: var(--mrc-os-space-4);
}

.mrc-os-workspace-entry h1 {
	font-size: clamp(2.15rem, 4.2vw, 3.8rem);
	letter-spacing: -0.05em;
	line-height: 1.03;
	margin: 0 0 var(--mrc-os-space-3);
	max-width: 720px;
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

.mrc-os-descriptor,
.mrc-os-journey-lead,
.mrc-os-muted {
	color: var(--mrc-os-color-muted);
	line-height: 1.65;
}

.mrc-os-entry-context {
	background: var(--mrc-os-color-accent);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	color: var(--mrc-os-color-primary-dark);
	font-weight: 800;
	margin: var(--mrc-os-space-4) 0 0;
	padding: var(--mrc-os-space-3) var(--mrc-os-space-4);
}

.mrc-os-journey-lead {
	font-size: clamp(1rem, 1.6vw, 1.16rem);
	line-height: 1.55;
	max-width: 760px;
}

.mrc-os-entry-panel {
	align-items: center;
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	display: grid;
	gap: var(--mrc-os-space-4);
	grid-template-columns: minmax(0, 1fr);
	margin-top: var(--mrc-os-space-3);
	padding: var(--mrc-os-space-3);
}

.mrc-os-entry-panel > div {
	min-width: 0;
}

.mrc-os-entry-panel .mrc-os-actions {
	margin-bottom: 0;
}

.mrc-os-entry-panel[hidden] {
	display: none;
}

.mrc-os-entry-panel h2 {
	font-size: clamp(1.3rem, 2vw, 1.65rem);
	letter-spacing: -0.025em;
	line-height: 1.16;
	margin: 0 0 var(--mrc-os-space-3);
	max-width: 680px;
	overflow-wrap: normal;
}

.mrc-os-stepper {
	margin-bottom: var(--mrc-os-space-5);
}

.mrc-os-stepper ol {
	display: grid;
	gap: var(--mrc-os-space-2);
	grid-template-columns: repeat(8, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.mrc-os-journey-shell.is-first-visit .mrc-os-stepper ol,
.mrc-os-journey-shell.has-progressive-journey .mrc-os-stepper ol {
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.mrc-os-stepper__button {
	background: #ffffff;
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	color: var(--mrc-os-color-ink);
	cursor: pointer;
	display: grid;
	gap: 0.35rem;
	min-height: 92px;
	padding: 0.8rem 0.65rem;
	text-align: left;
	width: 100%;
}

.mrc-os-stepper__button:focus-visible {
	outline: 3px solid rgba(0, 107, 87, 0.38);
	outline-offset: 3px;
}

.mrc-os-stepper__button.is-current {
	background: var(--mrc-os-color-accent);
	border-color: var(--mrc-os-color-primary);
}

.mrc-os-stepper__button.is-complete {
	background: #edf8f3;
}

.mrc-os-stepper__button.is-skipped {
	background: #fff8e8;
}

.mrc-os-stepper__number {
	align-items: center;
	background: var(--mrc-os-color-primary-dark);
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 800;
	height: 1.6rem;
	justify-content: center;
	width: 1.6rem;
}

.mrc-os-stepper__label {
	font-weight: 800;
}

.mrc-os-stepper__status {
	color: var(--mrc-os-color-muted);
	font-size: 0.78rem;
}

.mrc-os-mobile-step-summary {
	background: var(--mrc-os-color-primary-dark);
	border-radius: var(--mrc-os-radius-md);
	color: #ffffff;
	display: none;
	margin-bottom: var(--mrc-os-space-4);
	padding: var(--mrc-os-space-4);
}

.mrc-os-mobile-step-summary p {
	margin: 0;
}

.mrc-os-mobile-step-summary p + p {
	margin-top: var(--mrc-os-space-2);
}

.mrc-os-journey-workspace {
	display: grid;
	gap: var(--mrc-os-space-5);
	grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
}

.mrc-os-step-panel {
	background: var(--mrc-os-color-surface);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-lg);
	box-shadow: 0 18px 46px rgba(16, 35, 31, 0.08);
	padding: clamp(1.4rem, 3vw, 2.6rem);
}

.mrc-os-step-panel h2,
.mrc-os-outcome-timeline h2,
.mrc-os-decision-confidence h2 {
	font-size: clamp(1.8rem, 4vw, 3rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
	margin: 0 0 var(--mrc-os-space-3);
}

.mrc-os-step-question {
	color: var(--mrc-os-color-primary-dark);
	font-size: 1.15rem;
	font-weight: 800;
}

.mrc-os-placeholder-panel,
.mrc-os-outcome-timeline__inner > div {
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	margin-bottom: var(--mrc-os-space-3);
	padding: var(--mrc-os-space-4);
}

.mrc-os-step-panel > [data-mrc-os-step-purpose] {
	color: var(--mrc-os-color-muted);
	font-size: 1rem;
	line-height: 1.45;
	margin-top: 0;
}

.mrc-os-outcome-navigator {
	margin: var(--mrc-os-space-3) 0;
}

.mrc-os-outcome-navigator ol {
	display: grid;
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mrc-os-outcome-navigator button {
	align-items: center;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: 14px;
	color: var(--mrc-os-color-ink);
	cursor: pointer;
	display: grid;
	gap: 0.35rem 0.7rem;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 0.85rem 0.95rem;
	text-align: left;
	transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	width: 100%;
}

.mrc-os-outcome-navigator button > * {
	min-width: 0;
}

.mrc-os-outcome-timeline,
.mrc-os-outcome-timeline *,
.mrc-os-outcome-timeline *::before,
.mrc-os-outcome-timeline *::after {
	box-sizing: border-box;
}

.mrc-os-outcome-timeline__inner,
.mrc-os-outcome-timeline__inner > *,
.mrc-os-companion-assistant,
.mrc-os-companion-assistant > *,
.mrc-os-companion-metrics {
	justify-self: stretch;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.mrc-os-companion-assistant {
	display: grid;
	gap: 0.7rem;
}

.mrc-os-companion-estimate-link {
	align-items: center;
	background:
		radial-gradient(circle at top right, rgba(0, 107, 87, 0.1), transparent 8rem),
		rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(0, 107, 87, 0.18);
	border-radius: 16px;
	color: var(--mrc-os-color-primary-dark);
	display: grid;
	gap: 0.25rem;
	margin: 0 0 var(--mrc-os-space-3);
	padding: 0.82rem 0.9rem;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.mrc-os-companion-estimate-link:hover,
.mrc-os-companion-estimate-link:focus {
	border-color: rgba(0, 107, 87, 0.36);
	box-shadow: 0 12px 26px rgba(16, 35, 31, 0.08);
	color: var(--mrc-os-color-primary-dark);
	transform: translateY(-1px);
}

.mrc-os-companion-estimate-link span {
	color: var(--mrc-os-color-primary-dark);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.mrc-os-companion-estimate-link strong {
	font-size: 0.98rem;
	line-height: 1.18;
}

.mrc-os-outcome-timeline__inner > .mrc-os-companion-assistant {
	background: transparent;
	border: 0;
	box-shadow: none;
	margin-bottom: var(--mrc-os-space-3);
	padding: 0;
}

.mrc-os-companion-focus-card,
.mrc-os-companion-next,
.mrc-os-companion-readiness,
.mrc-os-companion-save,
.mrc-os-companion-metrics > div {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(219, 231, 226, 0.9);
	border-radius: 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
	padding: 0.85rem;
}

.mrc-os-companion-focus-card {
	background:
		radial-gradient(circle at top right, rgba(0, 107, 87, 0.12), transparent 12rem),
		linear-gradient(135deg, rgba(237, 248, 243, 0.94), rgba(255, 255, 255, 0.9));
	border-color: rgba(0, 107, 87, 0.18);
}

.mrc-os-companion-focus-card strong,
.mrc-os-companion-readiness strong,
.mrc-os-companion-metrics strong {
	color: var(--mrc-os-color-primary-dark);
	display: block;
	font-size: 1rem;
	letter-spacing: -0.015em;
	line-height: 1.18;
}

.mrc-os-companion-focus-card p:last-child,
.mrc-os-companion-next p:last-child,
.mrc-os-companion-readiness p:last-child,
.mrc-os-companion-save p {
	color: var(--mrc-os-color-muted);
	line-height: 1.35;
	margin: 0.35rem 0 0;
}

.mrc-os-companion-metrics {
	display: grid;
	gap: 0.6rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mrc-os-companion-next {
	border-color: rgba(0, 107, 87, 0.14);
}

.mrc-os-companion-readiness {
	background:
		radial-gradient(circle at top right, rgba(0, 107, 87, 0.14), transparent 12rem),
		linear-gradient(135deg, rgba(237, 248, 243, 0.98), rgba(255, 255, 255, 0.94));
	border-color: rgba(0, 107, 87, 0.2);
	box-shadow: 0 12px 30px rgba(16, 35, 31, 0.06);
}

.mrc-os-companion-save {
	align-items: center;
	display: grid;
	gap: 0.55rem;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 0.7rem 0.85rem;
}

.mrc-os-companion-save span {
	align-items: center;
	background: var(--mrc-os-color-primary);
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 900;
	height: 1.35rem;
	justify-content: center;
	width: 1.35rem;
}

.mrc-os-review-map-label {
	margin-bottom: -0.35rem;
}

.mrc-os-journey-workspace .mrc-os-timeline-detail {
	display: none;
}

.mrc-os-companion-position {
	align-items: center;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(219, 231, 226, 0.88);
	border-radius: 16px;
	display: flex;
	gap: var(--mrc-os-space-3);
	justify-content: space-between;
	margin: 0 0 var(--mrc-os-space-3);
	padding: 0.75rem;
}

.mrc-os-companion-position .mrc-os-label {
	margin: 0;
	white-space: normal;
}

.mrc-os-segmented-control {
	background: rgba(235, 245, 240, 0.8);
	border: 1px solid rgba(219, 231, 226, 0.95);
	border-radius: 999px;
	display: inline-flex;
	gap: 0.25rem;
	padding: 0.2rem;
}

.mrc-os-segmented-control button {
	background: transparent;
	border: 0;
	border-radius: 999px;
	color: var(--mrc-os-color-muted);
	cursor: pointer;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 900;
	padding: 0.42rem 0.7rem;
	transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.mrc-os-segmented-control button:hover,
.mrc-os-segmented-control button:focus-visible,
.mrc-os-segmented-control button.is-active {
	background: #ffffff;
	box-shadow: 0 6px 16px rgba(16, 35, 31, 0.08);
	color: var(--mrc-os-color-primary-dark);
}

.mrc-os-outcome-navigator button:hover,
.mrc-os-outcome-navigator button:focus-visible {
	background: #ffffff;
	border-color: rgba(0, 107, 87, 0.3);
	box-shadow: 0 10px 24px rgba(16, 35, 31, 0.08);
	transform: translateY(-1px);
}

.mrc-os-outcome-navigator span {
	align-items: center;
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 900;
	height: 1.8rem;
	justify-content: center;
	width: 1.8rem;
}

.mrc-os-outcome-navigator strong {
	font-size: 0.95rem;
	letter-spacing: -0.015em;
	line-height: 1.15;
}

.mrc-os-outcome-navigator em {
	color: var(--mrc-os-color-muted);
	font-size: 0.76rem;
	font-style: normal;
	font-weight: 800;
	grid-column: 2;
	text-transform: uppercase;
}

.mrc-os-outcome-navigator button.is-current {
	background: linear-gradient(135deg, rgba(217, 239, 232, 0.95), #ffffff);
	border-color: rgba(0, 107, 87, 0.38);
	box-shadow: 0 14px 30px rgba(0, 107, 87, 0.1);
}

.mrc-os-outcome-navigator button.is-current span,
.mrc-os-outcome-navigator button.is-complete span {
	background: var(--mrc-os-color-primary);
	border-color: var(--mrc-os-color-primary);
	color: #ffffff;
}

.mrc-os-outcome-navigator button.is-complete {
	border-color: rgba(0, 107, 87, 0.24);
}

.mrc-os-outcome-navigator button.is-needs-review,
.mrc-os-outcome-navigator button.is-skipped {
	background: #fffaf0;
	border-color: rgba(176, 120, 23, 0.24);
}

.mrc-os-action-confirmation {
	background: #edf8f3;
	border: 1px solid rgba(0, 107, 87, 0.22);
	border-radius: var(--mrc-os-radius-md);
	box-shadow: 0 12px 28px rgba(16, 35, 31, 0.08);
	color: var(--mrc-os-color-primary-dark);
	font-weight: 800;
	left: 50%;
	margin: 0;
	max-width: min(640px, calc(100vw - 2rem));
	padding: var(--mrc-os-space-3) var(--mrc-os-space-4);
	position: fixed;
	bottom: 1.25rem;
	transform: translateX(-50%);
	width: max-content;
	z-index: 9999;
	animation: mrc-os-confirmation-in 180ms ease-out;
}

.mrc-os-action-confirmation[hidden] {
	display: none;
}

@keyframes mrc-os-confirmation-in {
	from {
		opacity: 0;
		transform: translate(-50%, 0.5rem);
	}
	to {
		opacity: 1;
		transform: translate(-50%, 0);
	}
}

.mrc-os-mortgage-profile,
.mrc-os-renewal-offer,
.mrc-os-decision-preparation,
.mrc-os-question-builder,
.mrc-os-payment-analysis,
.mrc-os-action-plan {
	display: grid;
	gap: var(--mrc-os-space-4);
}

.mrc-os-mortgage-profile[hidden],
.mrc-os-renewal-offer[hidden],
.mrc-os-decision-preparation[hidden],
.mrc-os-question-builder[hidden],
.mrc-os-payment-analysis[hidden],
.mrc-os-action-plan[hidden] {
	display: none;
}

.mrc-os-module-header {
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	padding: var(--mrc-os-space-4);
}

.mrc-os-module-header h3 {
	font-size: clamp(1.35rem, 3vw, 2rem);
	letter-spacing: -0.03em;
	line-height: 1.12;
	margin: 0 0 var(--mrc-os-space-3);
}

.mrc-os-mortgage-profile-grid,
.mrc-os-renewal-offer-grid,
.mrc-os-payment-analysis-grid {
	display: grid;
	gap: var(--mrc-os-space-3);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mrc-os-payment-actions {
	align-items: center;
	align-self: start;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: var(--mrc-os-space-4) 0 var(--mrc-os-space-3);
}

.mrc-os-journey-shell.is-payment-first-unestimated .mrc-os-step-panel > .mrc-os-status-row,
.mrc-os-journey-shell.is-payment-first-unestimated .mrc-os-step-panel > .mrc-os-actions,
.mrc-os-journey-shell.is-payment-first-unestimated .mrc-os-review-map-label,
.mrc-os-journey-shell.is-payment-first-unestimated .mrc-os-outcome-navigator,
.mrc-os-journey-shell.is-payment-first-unestimated .mrc-os-timeline-detail,
.mrc-os-journey-shell.is-payment-first-unestimated .mrc-os-outcome-timeline__final {
	display: none !important;
}

.mrc-os-journey-shell.is-payment-first-unestimated .mrc-os-payment-analysis {
	scroll-margin-top: 1.5rem;
}

.mrc-os-payment-workbench,
.mrc-os-payment-input-stack,
.mrc-os-payment-insight-stack {
	display: grid;
	gap: var(--mrc-os-space-3);
	min-width: 0;
}

.mrc-os-payment-workbench > *,
.mrc-os-payment-input-stack > *,
.mrc-os-payment-insight-stack > * {
	min-width: 0;
}

.mrc-os-payment-analysis-grid {
	grid-template-columns: minmax(0, 1fr);
}

.mrc-os-payment-analysis-grid .mrc-os-field-group {
	grid-template-columns: minmax(0, 1fr);
}

.mrc-os-payment-analysis-grid .mrc-os-field-group label,
.mrc-os-payment-analysis-grid .mrc-os-field-group input,
.mrc-os-payment-analysis-grid .mrc-os-field-group select,
.mrc-os-payment-analysis-grid .mrc-os-field-help {
	grid-column: auto;
	grid-row: auto;
	min-width: 0;
}

.mrc-os-payment-analysis-grid .mrc-os-field-group label {
	overflow-wrap: normal;
	word-break: normal;
}

.mrc-os-payment-decision-strip {
	background:
		radial-gradient(circle at top right, rgba(0, 107, 87, 0.16), transparent 18rem),
		linear-gradient(135deg, rgba(237, 248, 243, 0.98), rgba(255, 255, 255, 0.95));
	border: 1px solid rgba(0, 107, 87, 0.2);
	border-radius: var(--mrc-os-radius-md);
	box-shadow: 0 16px 38px rgba(16, 35, 31, 0.07);
	padding: var(--mrc-os-space-4);
}

.mrc-os-payment-decision-strip strong {
	color: var(--mrc-os-color-primary-dark);
	display: block;
	font-size: clamp(1.2rem, 2vw, 1.65rem);
	letter-spacing: -0.03em;
	line-height: 1.12;
}

.mrc-os-payment-decision-strip p:last-child {
	color: var(--mrc-os-color-muted);
	line-height: 1.45;
	margin: var(--mrc-os-space-2) 0 0;
}

.mrc-os-payment-result {
	background:
		radial-gradient(circle at top right, rgba(0, 107, 87, 0.18), transparent 18rem),
		linear-gradient(135deg, #e8f7f1 0%, #ffffff 100%);
	border: 1px solid rgba(0, 107, 87, 0.2);
	border-radius: var(--mrc-os-radius-md);
	box-shadow: 0 14px 34px rgba(16, 35, 31, 0.08);
	margin: 0 0 var(--mrc-os-space-3);
	padding: var(--mrc-os-space-4);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.mrc-os-payment-result h4 {
	color: var(--mrc-os-color-primary-dark);
	font-size: clamp(1.45rem, 3vw, 2.2rem);
	letter-spacing: -0.035em;
	line-height: 1.12;
	margin: 0 0 var(--mrc-os-space-2);
}

.mrc-os-renewal-shock-impact {
	display: grid;
	gap: 0.7rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: var(--mrc-os-space-3) 0;
}

.mrc-os-renewal-shock-impact > div {
	background: rgba(255, 255, 255, 0.74);
	border: 1px solid rgba(0, 107, 87, 0.16);
	border-radius: 1rem;
	min-width: 0;
	padding: 0.85rem 0.95rem;
}

.mrc-os-renewal-shock-impact span {
	color: var(--mrc-os-color-muted);
	display: block;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.mrc-os-renewal-shock-impact strong {
	color: var(--mrc-os-color-primary-dark);
	display: block;
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	letter-spacing: -0.03em;
	line-height: 1.15;
	margin-top: 0.35rem;
	overflow-wrap: normal;
	word-break: normal;
}

.mrc-os-renewal-shock-level {
	align-items: center;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(0, 107, 87, 0.16);
	border-radius: 999px;
	color: var(--mrc-os-color-primary-dark);
	display: inline-flex;
	font-size: 0.94rem;
	font-weight: 800;
	line-height: 1.25;
	margin: 0;
	max-width: 100%;
	padding: 0.6rem 0.85rem;
}

.mrc-os-renewal-shock-level[data-mrc-os-shock-tone="positive"],
.mrc-os-renewal-shock-level[data-mrc-os-shock-tone="manageable"] {
	background: rgba(232, 247, 241, 0.95);
	border-color: rgba(0, 107, 87, 0.22);
}

.mrc-os-renewal-shock-level[data-mrc-os-shock-tone="noticeable"] {
	background: rgba(255, 247, 222, 0.95);
	border-color: rgba(174, 111, 0, 0.22);
	color: #6f4b00;
}

.mrc-os-renewal-shock-level[data-mrc-os-shock-tone="elevated"] {
	background: rgba(255, 239, 231, 0.95);
	border-color: rgba(160, 70, 32, 0.22);
	color: #7f3218;
}

.mrc-os-action-plan-status {
	background: var(--mrc-os-color-accent);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	padding: var(--mrc-os-space-4);
}

.mrc-os-action-plan-status h4 {
	color: var(--mrc-os-color-primary-dark);
	font-size: clamp(1.35rem, 3vw, 2rem);
	letter-spacing: -0.03em;
	line-height: 1.15;
	margin: 0 0 var(--mrc-os-space-2);
}

.mrc-os-action-plan-grid {
	display: grid;
	gap: var(--mrc-os-space-3);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mrc-os-action-plan-card {
	background: #ffffff;
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	display: grid;
	gap: var(--mrc-os-space-2);
	padding: var(--mrc-os-space-4);
}

.mrc-os-action-plan-card ul,
[data-mrc-os-workspace-action-plan-summary] {
	display: grid;
	gap: var(--mrc-os-space-2);
	margin: 0;
	padding-left: 1.25rem;
}

.mrc-os-action-plan-card li,
[data-mrc-os-workspace-action-plan-summary] li {
	color: var(--mrc-os-color-muted);
	line-height: 1.55;
}

.mrc-os-decision-prep-grid {
	display: grid;
	gap: var(--mrc-os-space-3);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mrc-os-decision-prep-card {
	background: #ffffff;
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	display: grid;
	gap: var(--mrc-os-space-2);
	padding: var(--mrc-os-space-4);
}

.mrc-os-decision-prep-card h3,
.mrc-os-decision-prep-card h4 {
	color: var(--mrc-os-color-ink);
	font-size: clamp(1.1rem, 2.2vw, 1.45rem);
	letter-spacing: -0.02em;
	line-height: 1.18;
	margin: 0;
}

.mrc-os-decision-prep-card ul {
	display: grid;
	gap: var(--mrc-os-space-2);
	margin: 0;
	padding-left: 1.2rem;
}

.mrc-os-decision-prep-card li {
	color: var(--mrc-os-color-muted);
	line-height: 1.55;
}

.mrc-os-field-group {
	background: #ffffff;
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	display: grid;
	gap: 0.65rem;
	padding: var(--mrc-os-space-4);
}

.mrc-os-field-group label {
	color: var(--mrc-os-color-ink);
	font-weight: 800;
}

.mrc-os-field-group input,
.mrc-os-field-group select,
.mrc-os-field-group textarea {
	background: #ffffff;
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-sm);
	color: var(--mrc-os-color-ink);
	font: inherit;
	min-height: 48px;
	padding: 0.75rem 0.85rem;
	width: 100%;
}

.mrc-os-field-group input:focus-visible,
.mrc-os-field-group select:focus-visible,
.mrc-os-field-group textarea:focus-visible {
	border-color: var(--mrc-os-color-primary);
	outline: 3px solid rgba(0, 107, 87, 0.22);
	outline-offset: 2px;
}

.mrc-os-field-group textarea {
	resize: vertical;
}

.mrc-os-field-help,
.mrc-os-field-status-label {
	color: var(--mrc-os-color-muted);
	font-size: 0.92rem;
	line-height: 1.5;
	margin: 0;
}

.mrc-os-field-status-label {
	font-weight: 800;
}

.mrc-os-mortgage-profile-summary,
.mrc-os-renewal-offer-summary {
	background: var(--mrc-os-color-accent);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	padding: var(--mrc-os-space-4);
}

.mrc-os-mortgage-profile-summary ul,
.mrc-os-renewal-offer-summary ul,
[data-mrc-os-workspace-mortgage-summary],
[data-mrc-os-workspace-renewal-offer-summary] {
	margin: var(--mrc-os-space-2) 0 0;
	padding-left: 1.25rem;
}

.mrc-os-mortgage-profile-summary li,
.mrc-os-renewal-offer-summary li,
[data-mrc-os-workspace-mortgage-summary] li,
[data-mrc-os-workspace-renewal-offer-summary] li {
	margin-bottom: 0.45rem;
}

.mrc-os-status-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--mrc-os-space-3);
	margin: var(--mrc-os-space-4) 0;
}

.mrc-os-status-pill {
	background: var(--mrc-os-color-accent);
	border-radius: 999px;
	color: var(--mrc-os-color-primary-dark);
	font-weight: 800;
	padding: 0.45rem 0.8rem;
}

.mrc-os-button--quiet {
	background: transparent;
	border: 1px solid transparent;
	color: var(--mrc-os-color-primary-dark);
}

.mrc-os-button--danger {
	background: #fff4f0;
	border: 1px solid #f2c9bd;
	color: #8f2f19;
}

.mrc-os-outcome-timeline ul,
.mrc-os-decision-confidence ul {
	margin: 0;
	padding-left: 1.25rem;
}

.mrc-os-outcome-timeline li,
.mrc-os-decision-confidence li {
	margin-bottom: 0.45rem;
}

.mrc-os-inline-nav {
	background: transparent;
	border: 0;
	border-radius: 10px;
	color: var(--mrc-os-color-primary-dark);
	cursor: pointer;
	font: inherit;
	font-weight: 750;
	padding: 0.12rem 0.2rem;
	text-align: left;
	text-decoration: underline;
	text-decoration-color: rgba(0, 107, 87, 0.25);
	text-underline-offset: 0.18em;
}

.mrc-os-inline-nav:hover,
.mrc-os-inline-nav:focus-visible {
	background: rgba(217, 239, 232, 0.55);
	color: var(--mrc-os-color-primary-dark);
	outline: 2px solid rgba(0, 107, 87, 0.25);
	outline-offset: 2px;
	text-decoration-color: var(--mrc-os-color-primary);
}

.mrc-os-live-region {
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.mrc-os-workspace-shell {
	color: var(--mrc-os-color-ink);
	font-family: inherit;
	margin: 0 auto;
	max-width: var(--mrc-os-max-width);
	padding: clamp(1.5rem, 3vw, 3rem) 1rem;
}

.mrc-os-workspace-shell * {
	box-sizing: border-box;
}

.mrc-os-workspace-start {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(235, 248, 243, 0.96), rgba(255, 255, 255, 0.98));
	border: 1px solid rgba(42, 122, 91, 0.24);
	border-radius: var(--mrc-os-radius-lg);
	box-shadow: 0 16px 42px rgba(16, 35, 31, 0.08);
	display: grid;
	gap: var(--mrc-os-space-4);
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: var(--mrc-os-space-4);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.mrc-os-workspace-start h2 {
	font-size: clamp(1.85rem, 4vw, 3rem);
	letter-spacing: -0.045em;
	line-height: 1.05;
	margin: 0 0 var(--mrc-os-space-3);
	max-width: 760px;
}

.mrc-os-workspace-start p:last-child {
	margin-bottom: 0;
	max-width: 760px;
}

.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-header,
.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-grid,
.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-continuity[aria-labelledby="mrc-os-changes-title"],
.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-timeline,
.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-save-state {
	display: none;
}

.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-sections {
	box-shadow: 0 10px 28px rgba(16, 35, 31, 0.05);
}

.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-section-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--mrc-os-space-4);
}

.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-section-card:not(.is-current) {
	background: #fff;
	border-style: dashed;
}

.mrc-os-workspace-header,
.mrc-os-workspace-card,
.mrc-os-workspace-continuity,
.mrc-os-workspace-sections,
.mrc-os-workspace-timeline,
.mrc-os-workspace-save-state {
	background: var(--mrc-os-color-surface);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-lg);
	box-shadow: 0 12px 34px rgba(16, 35, 31, 0.07);
	margin-bottom: var(--mrc-os-space-5);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.mrc-os-workspace-header h1 {
	font-size: clamp(2.2rem, 5vw, 4.6rem);
	letter-spacing: -0.055em;
	line-height: 1;
	margin: 0 0 var(--mrc-os-space-3);
	max-width: 780px;
}

.mrc-os-workspace-grid {
	display: grid;
	gap: var(--mrc-os-space-4);
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.9fr) minmax(240px, 0.7fr);
	margin-bottom: var(--mrc-os-space-5);
}

.mrc-os-workspace-grid .mrc-os-workspace-card {
	margin-bottom: 0;
}

.mrc-os-workspace-memory,
.mrc-os-workspace-health {
	position: relative;
}

.mrc-os-workspace-card h2,
.mrc-os-workspace-continuity h2,
.mrc-os-workspace-sections h2,
.mrc-os-workspace-save-state h2 {
	font-size: clamp(1.5rem, 3vw, 2.35rem);
	letter-spacing: -0.035em;
	line-height: 1.12;
	margin: 0 0 var(--mrc-os-space-3);
}

.mrc-os-workspace-facts {
	display: grid;
	gap: var(--mrc-os-space-3);
	margin: var(--mrc-os-space-4) 0;
}

.mrc-os-workspace-facts div {
	border-bottom: 1px solid var(--mrc-os-color-line);
	padding-bottom: var(--mrc-os-space-2);
}

.mrc-os-workspace-facts dt {
	color: var(--mrc-os-color-muted);
	font-size: 0.85rem;
	font-weight: 800;
	text-transform: uppercase;
}

.mrc-os-workspace-facts dd {
	color: var(--mrc-os-color-ink);
	font-weight: 800;
	margin: 0.25rem 0 0;
}

.mrc-os-change-summary {
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	padding: var(--mrc-os-space-4);
}

.mrc-os-workspace-section-grid {
	display: grid;
	gap: var(--mrc-os-space-3);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--mrc-os-space-5);
}

.mrc-os-workspace-section-card {
	background: var(--mrc-os-color-soft);
	border: 1px solid var(--mrc-os-color-line);
	border-radius: var(--mrc-os-radius-md);
	display: flex;
	flex-direction: column;
	gap: var(--mrc-os-space-3);
	padding: var(--mrc-os-space-4);
}

.mrc-os-workspace-section-card.is-current {
	background: var(--mrc-os-color-accent);
	border-color: var(--mrc-os-color-primary);
}

.mrc-os-workspace-section-card.is-complete {
	background: #edf8f3;
}

.mrc-os-workspace-section-card.is-skipped {
	background: #fff8e8;
}

.mrc-os-workspace-section-card h3 {
	font-size: 1.35rem;
	letter-spacing: -0.025em;
	line-height: 1.15;
	margin: 0;
}

.mrc-os-workspace-section-card p {
	margin: 0;
}

.mrc-os-workspace-section-card__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: var(--mrc-os-space-2);
}

.mrc-os-workspace-save-state {
	align-items: center;
	display: grid;
	gap: var(--mrc-os-space-4);
	grid-template-columns: minmax(0, 1fr) auto;
}

@media (min-width: 1024px) {
	.mrc-os-journey-shell,
	.mrc-os-workspace-shell {
		max-width: 1500px;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.mrc-os-journey-shell {
		background:
			radial-gradient(circle at top right, rgba(0, 107, 87, 0.08), transparent 32rem),
			linear-gradient(180deg, rgba(247, 251, 249, 0.84), rgba(255, 255, 255, 0.98));
		border: 1px solid rgba(219, 231, 226, 0.72);
		border-radius: 32px;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
	}

	.mrc-os-workspace-entry {
		margin-bottom: var(--mrc-os-space-3);
		padding: clamp(1.25rem, 2vw, 2rem);
	}

	.mrc-os-workspace-entry h1 {
		font-size: clamp(2.2rem, 3.6vw, 3.6rem);
		max-width: 860px;
	}

	.mrc-os-journey-lead,
	.mrc-os-entry-context {
		max-width: 840px;
	}

	.mrc-os-entry-panel {
		padding: var(--mrc-os-space-4);
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-workspace-entry {
		align-items: center;
		display: grid;
		gap: 0.75rem var(--mrc-os-space-4);
		grid-template-columns: minmax(0, 1fr) auto;
		margin-bottom: var(--mrc-os-space-3);
		padding: 1rem 1.15rem;
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-workspace-entry .mrc-os-eyebrow,
	.mrc-os-journey-shell.has-progressive-journey .mrc-os-workspace-entry .mrc-os-descriptor,
	.mrc-os-journey-shell.has-progressive-journey .mrc-os-journey-lead,
	.mrc-os-journey-shell.has-progressive-journey .mrc-os-entry-context {
		display: none;
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-workspace-entry h1 {
		font-size: clamp(1.35rem, 1.6vw, 1.8rem);
		letter-spacing: -0.035em;
		margin: 0;
		max-width: none;
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-entry-panel {
		background: transparent;
		border: 0;
		box-shadow: none;
		display: flex;
		gap: var(--mrc-os-space-3);
		grid-column: 2;
		margin: 0;
		padding: 0;
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-entry-panel > div:first-child,
	.mrc-os-journey-shell.has-progressive-journey .mrc-os-entry-panel > .mrc-os-trust-line {
		display: none;
	}

	.mrc-os-stepper {
		display: none;
	}

	.mrc-os-stepper ol,
	.mrc-os-journey-shell.is-first-visit .mrc-os-stepper ol,
	.mrc-os-journey-shell.has-progressive-journey .mrc-os-stepper ol {
		gap: 0.45rem;
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.mrc-os-stepper__button {
		align-items: center;
		display: flex;
		gap: 0.45rem;
		min-height: 46px;
		padding: 0.45rem 0.55rem;
	}

	.mrc-os-stepper__number {
		height: 1.35rem;
		width: 1.35rem;
	}

	.mrc-os-stepper__label {
		font-size: 0.8rem;
		line-height: 1.15;
	}

	.mrc-os-stepper__status {
		display: none;
	}

	.mrc-os-journey-workspace {
		align-items: start;
		gap: var(--mrc-os-space-3);
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-journey-workspace.mrc-os-companion-left {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-step-panel,
	.mrc-os-outcome-timeline {
		min-width: 0;
	}

	.mrc-os-journey-workspace.mrc-os-companion-left > .mrc-os-step-panel {
		grid-column: 1;
	}

	.mrc-os-journey-workspace.mrc-os-companion-left > .mrc-os-outcome-timeline {
		grid-column: 1;
		grid-row: auto;
	}

	.mrc-os-journey-workspace.mrc-os-companion-right > .mrc-os-step-panel {
		grid-column: 1;
	}

	.mrc-os-journey-workspace.mrc-os-companion-right > .mrc-os-outcome-timeline {
		grid-column: 1;
		grid-row: auto;
	}

	.mrc-os-step-panel,
	.mrc-os-decision-confidence,
	.mrc-os-workspace-header,
	.mrc-os-workspace-card,
	.mrc-os-workspace-continuity,
	.mrc-os-workspace-sections,
	.mrc-os-workspace-timeline,
	.mrc-os-workspace-save-state {
		padding: var(--mrc-os-space-4);
	}

	.mrc-os-outcome-timeline {
		padding: clamp(1.2rem, 1.55vw, 1.65rem);
	}

	.mrc-os-step-panel h2,
	.mrc-os-decision-confidence h2,
	.mrc-os-workspace-card h2,
	.mrc-os-workspace-continuity h2,
	.mrc-os-workspace-sections h2,
	.mrc-os-workspace-save-state h2 {
		font-size: clamp(1.45rem, 2vw, 2.15rem);
	}

	.mrc-os-outcome-timeline h2 {
		font-size: clamp(1.45rem, 1.55vw, 1.95rem);
		letter-spacing: -0.035em;
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.mrc-os-step-panel {
		min-height: min(760px, calc(100vh - 9rem));
	}

	.mrc-os-step-panel > .mrc-os-actions:last-child,
	.mrc-os-step-panel > .mrc-os-actions:nth-last-child(1) {
		background: rgba(255, 255, 255, 0.88);
		border: 1px solid rgba(219, 231, 226, 0.9);
		border-radius: 24px;
		box-shadow: 0 16px 34px rgba(16, 35, 31, 0.08);
		margin-bottom: 0;
		padding: 0.45rem;
	}

	.mrc-os-step-panel > .mrc-os-actions:last-child .mrc-os-button {
		min-height: 44px;
	}

	.mrc-os-status-row {
		background: rgba(237, 248, 243, 0.74);
		border: 1px solid rgba(219, 231, 226, 0.9);
		border-radius: 999px;
		margin: var(--mrc-os-space-3) 0;
		padding: 0.35rem 0.75rem;
	}

	.mrc-os-outcome-timeline {
		background:
			radial-gradient(circle at top right, rgba(0, 107, 87, 0.12), transparent 16rem),
			linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 249, 0.98));
		border: 1px solid rgba(0, 107, 87, 0.18);
		box-shadow: 0 26px 70px rgba(16, 35, 31, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.8);
		overflow: visible;
		position: static;
		width: 100%;
	}

	.mrc-os-outcome-timeline__inner {
		display: grid;
		gap: 0.9rem;
		min-width: 0;
	}

	.mrc-os-outcome-timeline__lead {
		color: var(--mrc-os-color-muted);
		line-height: 1.45;
		margin: -0.2rem 0 var(--mrc-os-space-2);
		overflow-wrap: anywhere;
	}

	.mrc-os-companion-position {
		align-items: stretch;
		display: grid;
		gap: 0.65rem;
		grid-template-columns: minmax(0, 1fr);
		padding: 0.95rem;
	}

	.mrc-os-segmented-control {
		display: flex;
		width: 100%;
	}

	.mrc-os-segmented-control button {
		flex: 1 1 0;
		min-width: 0;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
		text-align: center;
	}

	.mrc-os-outcome-timeline__inner > div {
		background: rgba(255, 255, 255, 0.78);
		border: 1px solid rgba(219, 231, 226, 0.86);
		border-radius: 16px;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
		margin-bottom: 0;
		padding: 1rem;
	}

	.mrc-os-outcome-timeline__final {
		background: linear-gradient(135deg, rgba(217, 239, 232, 0.88), rgba(255, 255, 255, 0.9)) !important;
		border-color: rgba(0, 107, 87, 0.18) !important;
	}

	.mrc-os-mortgage-profile,
	.mrc-os-renewal-offer,
	.mrc-os-decision-preparation,
	.mrc-os-question-builder,
	.mrc-os-payment-analysis,
	.mrc-os-action-plan {
		gap: var(--mrc-os-space-3);
	}

	.mrc-os-payment-analysis {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
	}

	.mrc-os-payment-analysis > .mrc-os-module-header,
	.mrc-os-payment-analysis > .mrc-os-trust-line {
		grid-column: 1 / -1;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-decision-strip {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-analysis-grid {
		grid-column: 1;
		grid-row: 3;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-actions {
		grid-column: 1;
		grid-row: 4;
	}

	.mrc-os-module-header {
		align-items: end;
		display: grid;
		gap: 0.35rem var(--mrc-os-space-4);
		grid-template-columns: minmax(0, 1fr) minmax(220px, 0.45fr);
		padding: var(--mrc-os-space-3);
	}

	.mrc-os-module-header h3 {
		font-size: clamp(1.45rem, 2vw, 2.15rem);
		margin-bottom: 0;
	}

	.mrc-os-module-header p:not(.mrc-os-label) {
		color: var(--mrc-os-color-muted);
		font-size: 0.95rem;
		line-height: 1.4;
		margin: 0;
	}

	.mrc-os-module-header .mrc-os-label {
		grid-column: 1 / -1;
	}

	.mrc-os-payment-analysis-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-group {
		align-items: stretch;
		gap: 0.35rem var(--mrc-os-space-3);
		grid-template-columns: minmax(0, 1fr);
		padding: 0.85rem;
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-group label {
		grid-column: auto;
		grid-row: auto;
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-group input,
	.mrc-os-payment-analysis-grid .mrc-os-field-group select {
		grid-column: auto;
		grid-row: auto;
		min-width: 0;
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-help {
		grid-column: auto;
		grid-row: auto;
		margin: 0;
	}

	.mrc-os-payment-analysis .mrc-os-payment-result,
	.mrc-os-payment-analysis > .mrc-os-decision-prep-card {
		align-self: start;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-result,
	.mrc-os-payment-analysis > .mrc-os-decision-prep-card {
		margin-bottom: 0;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-result {
		grid-column: 2;
		grid-row: 3;
	}

	.mrc-os-payment-analysis > .mrc-os-decision-prep-card {
		grid-row: 5;
	}

	.mrc-os-mortgage-profile-grid,
	.mrc-os-renewal-offer-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mrc-os-field-group {
		gap: 0.55rem;
		padding: var(--mrc-os-space-3);
	}

	.mrc-os-field-group input,
	.mrc-os-field-group select,
	.mrc-os-field-group textarea {
		min-height: 44px;
	}

	.mrc-os-field-help,
	.mrc-os-field-status-label {
		font-size: 0.86rem;
		line-height: 1.4;
	}

	.mrc-os-payment-actions {
		background: #ffffff;
		border: 1px solid var(--mrc-os-color-line);
		border-radius: var(--mrc-os-radius-md);
		box-shadow: 0 10px 24px rgba(16, 35, 31, 0.05);
		margin: 0;
		padding: var(--mrc-os-space-3);
	}

	.mrc-os-payment-result {
		margin: 0;
		padding: var(--mrc-os-space-4);
	}

.mrc-os-payment-result h4 {
	font-size: clamp(1.55rem, 1.65vw, 2rem);
	hyphens: none;
	line-height: 1.08;
	overflow-wrap: normal;
	word-break: normal;
}

	.mrc-os-decision-prep-grid,
	.mrc-os-action-plan-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mrc-os-decision-confidence {
		display: grid;
		gap: var(--mrc-os-space-3);
		grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
		margin-top: var(--mrc-os-space-4);
	}

	.mrc-os-decision-confidence h2 {
		grid-column: 1;
		margin-bottom: var(--mrc-os-space-2);
	}

	.mrc-os-decision-confidence p {
		grid-column: 1;
	}

	.mrc-os-decision-confidence ul {
		grid-column: 2;
		margin-top: 0.25rem;
	}

	.mrc-os-workspace-header {
		margin-bottom: var(--mrc-os-space-3);
	}

	.mrc-os-workspace-shell {
		background:
			radial-gradient(circle at top left, rgba(0, 107, 87, 0.07), transparent 30rem),
			linear-gradient(180deg, rgba(247, 251, 249, 0.86), rgba(255, 255, 255, 0.98));
		border: 1px solid rgba(219, 231, 226, 0.72);
		border-radius: 32px;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
	}

	.mrc-os-workspace-header {
		align-items: center;
		display: grid;
		gap: var(--mrc-os-space-4);
		grid-template-columns: minmax(0, 1fr) auto;
		padding: var(--mrc-os-space-4);
	}

	.mrc-os-workspace-header h1 {
		font-size: clamp(1.8rem, 2.6vw, 3rem);
		margin-bottom: var(--mrc-os-space-2);
	}

	.mrc-os-workspace-grid {
		gap: var(--mrc-os-space-3);
		grid-template-columns: minmax(340px, 1fr) minmax(280px, 0.82fr) minmax(240px, 0.68fr);
		margin-bottom: var(--mrc-os-space-3);
	}

	.mrc-os-workspace-header,
	.mrc-os-workspace-card,
	.mrc-os-workspace-continuity,
	.mrc-os-workspace-sections,
	.mrc-os-workspace-timeline,
	.mrc-os-workspace-save-state {
		margin-bottom: var(--mrc-os-space-3);
	}

	.mrc-os-workspace-section-grid {
		gap: var(--mrc-os-space-3);
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-top: var(--mrc-os-space-3);
	}

	.mrc-os-workspace-section-card {
		padding: var(--mrc-os-space-3);
	}

	.mrc-os-workspace-sections,
	.mrc-os-workspace-timeline {
		padding: var(--mrc-os-space-4);
	}

	.mrc-os-workspace-timeline {
		background:
			radial-gradient(circle at top right, rgba(0, 107, 87, 0.1), transparent 16rem),
			linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 249, 0.98));
	}
}

@media (min-width: 1600px) {
	.mrc-os-journey-workspace {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
	}

	.mrc-os-journey-workspace.mrc-os-companion-left {
		grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
	}

	.mrc-os-journey-workspace.mrc-os-companion-left > .mrc-os-step-panel {
		grid-column: 2;
	}

	.mrc-os-journey-workspace.mrc-os-companion-left > .mrc-os-outcome-timeline {
		grid-column: 1;
		grid-row: 1;
	}

	.mrc-os-journey-workspace.mrc-os-companion-right > .mrc-os-step-panel {
		grid-column: 1;
	}

	.mrc-os-journey-workspace.mrc-os-companion-right > .mrc-os-outcome-timeline {
		grid-column: 2;
		grid-row: 1;
	}

	.mrc-os-outcome-timeline {
		position: sticky;
		top: 7.5rem;
	}

	.mrc-os-outcome-navigator ol {
		gap: 0.55rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mrc-os-outcome-navigator button {
		gap: 0.28rem 0.5rem;
		min-height: 4.15rem;
		padding: 0.62rem;
	}

	.mrc-os-outcome-navigator span {
		font-size: 0.7rem;
		height: 1.55rem;
		width: 1.55rem;
	}

	.mrc-os-outcome-navigator strong {
		font-size: 0.84rem;
		line-height: 1.12;
	}

	.mrc-os-outcome-navigator em {
		font-size: 0.66rem;
		line-height: 1.1;
	}
}

@media (min-width: 1024px) and (max-width: 1599px) {
	.mrc-os-journey-shell.has-progressive-journey .mrc-os-workspace-entry {
		align-items: stretch;
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-workspace-entry h1 {
		max-width: none;
		min-width: 0;
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-entry-panel {
		grid-column: 1;
		justify-content: flex-start;
	}

	.mrc-os-payment-analysis {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-payment-analysis > .mrc-os-module-header,
	.mrc-os-payment-analysis > .mrc-os-payment-decision-strip,
	.mrc-os-payment-analysis > .mrc-os-payment-analysis-grid,
	.mrc-os-payment-analysis > .mrc-os-payment-actions,
	.mrc-os-payment-analysis > .mrc-os-payment-result,
	.mrc-os-payment-analysis > .mrc-os-decision-prep-card,
	.mrc-os-payment-analysis > .mrc-os-trust-line {
		grid-column: 1;
		grid-row: auto;
	}

	.mrc-os-payment-analysis-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-group {
		display: grid;
		gap: 0.55rem;
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-group label,
	.mrc-os-payment-analysis-grid .mrc-os-field-group input,
	.mrc-os-payment-analysis-grid .mrc-os-field-group select,
	.mrc-os-payment-analysis-grid .mrc-os-field-help {
		grid-column: auto;
		grid-row: auto;
	}
}

@media (min-width: 1024px) and (max-width: 1279px) {
	.mrc-os-section--quick-estimate {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-product-funnel {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.mrc-os-product-funnel li {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-product-funnel em {
		grid-column: auto;
	}

	.mrc-os-journey-workspace {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-journey-workspace.mrc-os-companion-left {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-payment-analysis {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-payment-analysis > .mrc-os-module-header,
	.mrc-os-payment-analysis > .mrc-os-trust-line,
	.mrc-os-payment-analysis > .mrc-os-payment-analysis-grid,
	.mrc-os-payment-analysis > .mrc-os-payment-actions,
	.mrc-os-payment-analysis > .mrc-os-payment-result,
	.mrc-os-payment-analysis > .mrc-os-decision-prep-card {
		grid-column: 1;
		grid-row: auto;
	}

	.mrc-os-payment-analysis-grid,
	.mrc-os-mortgage-profile-grid,
	.mrc-os-renewal-offer-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-step-panel > .mrc-os-actions:last-child,
	.mrc-os-step-panel > .mrc-os-actions:nth-last-child(1) {
		border-radius: 24px;
		flex-wrap: wrap;
	}
}

@media (max-width: 900px) {
	.mrc-os-section--quick-estimate,
	.mrc-os-section--calculator,
	.mrc-os-section--trust,
	.mrc-os-entry-panel,
	.mrc-os-example-grid,
	.mrc-os-journey-workspace,
	.mrc-os-workspace-grid,
	.mrc-os-workspace-start,
	.mrc-os-workspace-save-state {
		grid-template-columns: 1fr;
	}

	.mrc-os-preview-card {
		padding: var(--mrc-os-space-3);
	}

	.mrc-os-capability-grid,
	.mrc-os-guide-grid,
	.mrc-os-product-funnel {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mrc-os-link-row {
		justify-content: flex-start;
	}

	.mrc-os-workspace-section-grid {
		grid-template-columns: 1fr;
	}

	.mrc-os-workspace-shell.is-first-visit .mrc-os-workspace-section-grid {
		grid-template-columns: 1fr;
	}

	.mrc-os-mortgage-profile-grid,
	.mrc-os-renewal-offer-grid,
	.mrc-os-payment-analysis-grid,
	.mrc-os-action-plan-grid,
	.mrc-os-decision-prep-grid {
		grid-template-columns: 1fr;
	}

	.mrc-os-stepper ol {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.mrc-os-hero {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.mrc-os-homepage,
	.mrc-os-workspace-shell {
		padding: var(--mrc-os-space-2);
	}

	.mrc-os-journey-shell {
		padding-left: var(--mrc-os-space-2);
		padding-right: var(--mrc-os-space-2);
	}

	.mrc-os-step-panel,
	.mrc-os-outcome-timeline,
	.mrc-os-decision-confidence,
	.mrc-os-workspace-header,
	.mrc-os-workspace-card,
	.mrc-os-workspace-continuity,
	.mrc-os-workspace-sections,
	.mrc-os-workspace-timeline,
	.mrc-os-workspace-save-state {
		padding: var(--mrc-os-space-3);
	}

	.mrc-os-companion-position {
		align-items: flex-start;
		flex-direction: column;
	}

	.mrc-os-segmented-control {
		width: 100%;
	}

	.mrc-os-segmented-control button {
		flex: 1;
		text-align: center;
	}

	.post-561 .entry-content > .mrc-lang-switch {
		border-radius: var(--mrc-os-radius-md);
		margin-top: var(--mrc-os-space-3);
		padding: var(--mrc-os-space-3);
	}

	.mrc-os-hero {
		border-radius: 22px;
		gap: var(--mrc-os-space-3);
		padding: var(--mrc-os-space-4);
	}

	.mrc-os-hero h1 {
		font-size: clamp(1.9rem, 9vw, 2.45rem);
		letter-spacing: -0.045em;
		margin-bottom: var(--mrc-os-space-2);
	}

	.mrc-os-hero__lead,
	.mrc-os-hero__support {
		line-height: 1.45;
	}

	.mrc-os-hero__support {
		display: none;
	}

	.mrc-os-hero .mrc-os-actions {
		gap: 0.5rem;
		margin-bottom: 0.65rem;
	}

	.mrc-os-hero .mrc-os-manual-link {
		font-size: 0.9rem;
		margin-bottom: 0.5rem;
	}

	.mrc-os-hero .mrc-os-trust-line {
		font-size: 0.86rem;
		line-height: 1.35;
	}

	.mrc-os-preview-card {
		display: none;
	}

	.mrc-os-actions,
	.mrc-os-button {
		width: 100%;
	}

	.mrc-os-button {
		min-height: 52px;
	}

	.mrc-os-mini-journey,
	.mrc-os-journey-strip,
	.mrc-os-capability-grid,
	.mrc-os-guide-grid,
	.mrc-os-product-funnel,
	.mrc-os-stepper ol {
		grid-template-columns: 1fr;
	}

	.mrc-os-product-funnel li {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.mrc-os-product-funnel em {
		grid-column: 2;
	}

	.mrc-os-preview-card__header {
		display: block;
	}

	.mrc-os-journey-shell {
		padding: var(--mrc-os-space-2);
	}

	.mrc-os-workspace-entry {
		border-radius: 22px;
		padding: var(--mrc-os-space-4);
	}

	.mrc-os-workspace-entry h1 {
		font-size: clamp(1.9rem, 9vw, 2.45rem);
		letter-spacing: -0.045em;
	}

	.mrc-os-workspace-entry .mrc-os-descriptor {
		display: none;
	}

	.mrc-os-entry-context {
		margin-top: var(--mrc-os-space-3);
		padding: var(--mrc-os-space-3);
	}

	.mrc-os-stepper {
		display: none;
	}

	.mrc-os-mobile-step-summary {
		display: block;
	}

	.mrc-os-entry-panel {
		align-items: stretch;
	}

	.mrc-os-workspace-header,
	.mrc-os-workspace-card,
	.mrc-os-workspace-continuity,
	.mrc-os-workspace-sections,
	.mrc-os-workspace-timeline,
	.mrc-os-workspace-save-state {
		border-radius: 22px;
		padding: var(--mrc-os-space-4);
	}

	.mrc-os-workspace-section-card__top {
		align-items: flex-start;
		flex-direction: column;
	}

	.mrc-os-renewal-shock-impact {
		grid-template-columns: minmax(0, 1fr);
	}
}

.mrc-os-payment-analysis-grid {
	grid-template-columns: minmax(0, 1fr) !important;
}

.mrc-os-payment-analysis-grid .mrc-os-field-group {
	align-items: stretch !important;
	grid-template-columns: minmax(0, 1fr) !important;
}

.mrc-os-payment-analysis-grid .mrc-os-field-group label,
.mrc-os-payment-analysis-grid .mrc-os-field-group input,
.mrc-os-payment-analysis-grid .mrc-os-field-group select,
.mrc-os-payment-analysis-grid .mrc-os-field-help {
	grid-column: auto !important;
	grid-row: auto !important;
	min-width: 0;
}

.mrc-os-payment-analysis-grid .mrc-os-field-group label {
	overflow-wrap: normal !important;
	word-break: normal !important;
}

.mrc-os-payment-analysis {
	grid-template-columns: minmax(0, 1fr) !important;
}

.mrc-os-payment-analysis > .mrc-os-module-header,
.mrc-os-payment-analysis > .mrc-os-payment-decision-strip,
.mrc-os-payment-analysis > .mrc-os-payment-workbench,
.mrc-os-payment-analysis > .mrc-os-payment-analysis-grid,
.mrc-os-payment-analysis > .mrc-os-payment-actions,
.mrc-os-payment-analysis > .mrc-os-payment-result,
.mrc-os-payment-analysis > .mrc-os-decision-prep-card,
.mrc-os-payment-analysis > .mrc-os-trust-line {
	grid-column: 1 !important;
	grid-row: auto !important;
}

@media (min-width: 1180px) {
	.mrc-os-payment-workbench {
		align-items: start !important;
		grid-template-columns: minmax(360px, 1fr) minmax(240px, 0.62fr) !important;
	}

	.mrc-os-payment-input-stack,
	.mrc-os-payment-insight-stack {
		align-content: start !important;
		align-items: stretch !important;
	}
}

@media (min-width: 1700px) {
	.mrc-os-payment-analysis {
		align-items: start !important;
		display: grid !important;
		gap: var(--mrc-os-space-3) var(--mrc-os-space-4) !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.mrc-os-payment-analysis > * {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.mrc-os-payment-analysis > .mrc-os-module-header,
	.mrc-os-payment-analysis > .mrc-os-payment-decision-strip,
	.mrc-os-payment-analysis > .mrc-os-payment-workbench,
	.mrc-os-payment-analysis > .mrc-os-trust-line {
		grid-column: 1 / -1 !important;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-analysis-grid {
		grid-column: 1 !important;
		grid-row: 3 !important;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-actions {
		grid-column: 1 !important;
		grid-row: 4 !important;
		align-self: start !important;
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0.65rem !important;
		min-height: 0 !important;
		margin-top: 0 !important;
		padding: 0.75rem !important;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-actions .mrc-os-button {
		flex: 0 1 auto;
		min-height: 2.65rem;
	}

	.mrc-os-payment-analysis > .mrc-os-payment-result {
		grid-column: 2 !important;
		grid-row: 3 !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
		position: sticky;
		top: calc(var(--mrc-os-space-4) + 72px);
	}

	.mrc-os-payment-result h4,
	.mrc-os-payment-result p {
		max-width: 100% !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	.mrc-os-payment-analysis > .mrc-os-decision-prep-card {
		grid-column: 2 !important;
	}

	.mrc-os-payment-workbench {
		align-items: start !important;
		grid-template-columns: minmax(380px, 1fr) minmax(260px, 0.62fr) !important;
	}

	.mrc-os-payment-input-stack,
	.mrc-os-payment-insight-stack {
		align-content: start !important;
		align-items: stretch !important;
	}

	.mrc-os-payment-insight-stack > .mrc-os-payment-result {
		position: sticky;
		top: calc(var(--mrc-os-space-4) + 72px);
	}

	.mrc-os-payment-analysis-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-group {
		min-width: 0;
		padding: var(--mrc-os-space-3) !important;
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-group label {
		font-size: 1rem;
		line-height: 1.25;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	.mrc-os-payment-analysis-grid .mrc-os-field-help {
		font-size: 0.9rem;
		line-height: 1.42;
	}
}

/*
 * APP-005 decision-workspace guard:
 * Keep the Companion visible beside the work on desktop, but make it a narrow
 * application rail with reserved grid space. It must guide, never cover.
 */
body:has(.mrc-os-journey-shell) .site-content,
body:has(.mrc-os-journey-shell) .content-area,
body:has(.mrc-os-journey-shell) .site-main,
body:has(.mrc-os-journey-shell) article,
body:has(.mrc-os-journey-shell) .inside-article,
body:has(.mrc-os-journey-shell) .entry-content,
body:has(.mrc-os-journey-shell) .elementor,
body:has(.mrc-os-journey-shell) .elementor-section,
body:has(.mrc-os-journey-shell) .elementor-container,
body:has(.mrc-os-journey-shell) .elementor-column,
body:has(.mrc-os-journey-shell) .elementor-widget-wrap,
body:has(.mrc-os-journey-shell) .elementor-widget,
body:has(.mrc-os-journey-shell) .elementor-shortcode {
	max-width: none !important;
}

body:has(.mrc-os-journey-shell) .inside-article {
	padding-left: clamp(0.75rem, 1.6vw, 1.75rem) !important;
	padding-right: clamp(0.75rem, 1.6vw, 1.75rem) !important;
}

html:has(.mrc-os-journey-shell),
body:has(.mrc-os-journey-shell) {
	overflow-x: clip !important;
}

body:has(.mrc-os-journey-shell) .elementor-section:has(.mrc-os-journey-shell) {
	left: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	max-width: 100vw !important;
	position: relative !important;
	width: 100vw !important;
}

body:has(.mrc-os-journey-shell) .elementor-section-boxed > .elementor-container,
body:has(.mrc-os-journey-shell) .elementor-container {
	margin-left: auto !important;
	margin-right: auto !important;
	width: min(1680px, calc(100vw - 2rem)) !important;
}

.mrc-os-journey-shell {
	max-width: min(1680px, calc(100vw - 2rem)) !important;
}

.mrc-os-journey-workspace,
.mrc-os-journey-workspace.mrc-os-companion-left,
.mrc-os-journey-workspace.mrc-os-companion-right {
	align-items: start !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
}

.mrc-os-journey-workspace > .mrc-os-step-panel,
.mrc-os-journey-workspace > .mrc-os-outcome-timeline,
.mrc-os-journey-workspace.mrc-os-companion-left > .mrc-os-step-panel,
.mrc-os-journey-workspace.mrc-os-companion-left > .mrc-os-outcome-timeline,
.mrc-os-journey-workspace.mrc-os-companion-right > .mrc-os-step-panel,
.mrc-os-journey-workspace.mrc-os-companion-right > .mrc-os-outcome-timeline {
	grid-column: 1 !important;
	grid-row: auto !important;
	min-width: 0 !important;
}

.mrc-os-journey-workspace > .mrc-os-outcome-timeline {
	max-width: none !important;
	position: relative !important;
	top: auto !important;
	width: 100% !important;
	z-index: 1;
}

@media (min-width: 1180px) {
	.mrc-os-journey-workspace {
		gap: clamp(1rem, 1.2vw, 1.5rem) !important;
		grid-template-columns: minmax(0, 1fr) clamp(292px, 17vw, 320px) !important;
	}

	.mrc-os-journey-workspace.mrc-os-companion-right {
		gap: clamp(1rem, 1.2vw, 1.5rem) !important;
		grid-template-columns: minmax(0, 1fr) clamp(292px, 17vw, 320px) !important;
	}

	.mrc-os-journey-workspace.mrc-os-companion-left {
		gap: clamp(1rem, 1.2vw, 1.5rem) !important;
		grid-template-columns: clamp(292px, 17vw, 320px) minmax(0, 1fr) !important;
	}

	.mrc-os-journey-workspace.mrc-os-companion-left > .mrc-os-step-panel {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	.mrc-os-journey-workspace.mrc-os-companion-left > .mrc-os-outcome-timeline {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.mrc-os-journey-workspace.mrc-os-companion-right > .mrc-os-step-panel,
	.mrc-os-journey-workspace > .mrc-os-step-panel {
		grid-column: 1 !important;
		grid-row: 1 !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
	}

	.mrc-os-journey-workspace.mrc-os-companion-right > .mrc-os-outcome-timeline,
	.mrc-os-journey-workspace > .mrc-os-outcome-timeline {
		grid-column: 2 !important;
		grid-row: 1 !important;
		position: sticky !important;
		top: 6.75rem !important;
	}

	.mrc-os-outcome-timeline {
		border-radius: 22px !important;
		box-shadow: 0 18px 46px rgba(16, 35, 31, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
		padding: 0.68rem !important;
	}

	.mrc-os-payment-workbench {
		grid-template-columns: minmax(430px, 1fr) minmax(300px, 0.58fr) !important;
	}

	.mrc-os-companion-focus-card,
	.mrc-os-companion-next,
	.mrc-os-companion-readiness,
	.mrc-os-companion-save,
	.mrc-os-companion-metrics > div {
		padding: 0.62rem !important;
	}

	.mrc-os-companion-focus-card strong,
	.mrc-os-companion-readiness strong,
	.mrc-os-companion-metrics strong {
		font-size: 0.94rem !important;
		line-height: 1.2 !important;
	}

	.mrc-os-companion-focus-card p,
	.mrc-os-companion-next p,
	.mrc-os-companion-readiness p,
	.mrc-os-companion-save p {
		font-size: 0.88rem !important;
		line-height: 1.32 !important;
	}

	.mrc-os-outcome-timeline__inner,
	.mrc-os-outcome-timeline__inner > *,
	.mrc-os-companion-assistant,
	.mrc-os-companion-assistant > *,
	.mrc-os-companion-metrics,
	.mrc-os-companion-metrics > div,
	.mrc-os-outcome-navigator,
	.mrc-os-outcome-navigator ol,
	.mrc-os-outcome-navigator li,
	.mrc-os-outcome-navigator button {
		box-sizing: border-box !important;
		justify-self: stretch !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.mrc-os-outcome-timeline h2 {
		font-size: clamp(1.05rem, 1.2vw, 1.28rem) !important;
		line-height: 1.08 !important;
		margin-bottom: 0.35rem !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	.mrc-os-outcome-timeline__lead {
		display: none !important;
	}

	.mrc-os-outcome-timeline__inner {
		display: grid !important;
		gap: 0.45rem !important;
	}

	.mrc-os-companion-assistant {
		display: contents !important;
	}

	.mrc-os-outcome-timeline__inner > .mrc-os-companion-assistant {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		margin-bottom: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	.mrc-os-companion-focus-card,
	.mrc-os-companion-next,
	.mrc-os-companion-readiness,
	.mrc-os-companion-save,
	.mrc-os-companion-metrics > div,
	.mrc-os-outcome-timeline__inner > div {
		border-radius: 14px !important;
		padding: 0.58rem !important;
		width: 100% !important;
	}

	.mrc-os-outcome-timeline__inner > .mrc-os-label:first-child {
		order: 1;
	}

	.mrc-os-outcome-timeline h2 {
		order: 2;
	}

	.mrc-os-companion-estimate-link {
		margin-bottom: 0 !important;
		order: 3;
		padding: 0.55rem 0.65rem !important;
	}

	.mrc-os-companion-estimate-link span {
		font-size: 0.62rem !important;
		line-height: 1.05 !important;
	}

	.mrc-os-companion-estimate-link strong {
		font-size: 0.82rem !important;
		line-height: 1.12 !important;
	}

	.mrc-os-companion-focus-card {
		order: 4;
	}

	.mrc-os-companion-metrics {
		order: 5;
	}

	.mrc-os-review-map-label {
		margin: 0.1rem 0 -0.15rem !important;
		order: 6;
	}

	.mrc-os-outcome-navigator {
		order: 7;
	}

	.mrc-os-companion-next {
		order: 8;
	}

	.mrc-os-companion-readiness {
		order: 9;
	}

	.mrc-os-companion-save {
		order: 10;
	}

	.mrc-os-companion-position {
		display: none !important;
	}

	.mrc-os-companion-metrics {
		gap: 0.45rem !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.mrc-os-companion-focus-card p,
	.mrc-os-companion-next p,
	.mrc-os-companion-readiness p,
	.mrc-os-companion-save p {
		font-size: 0.82rem !important;
		line-height: 1.28 !important;
	}

	.mrc-os-outcome-navigator {
		margin: 0 !important;
	}

	.mrc-os-outcome-navigator ol {
		gap: 0.45rem !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.mrc-os-outcome-navigator button {
		border-radius: 12px !important;
		gap: 0.2rem 0.45rem !important;
		min-height: 2.85rem !important;
		padding: 0.42rem !important;
	}

	.mrc-os-outcome-navigator span {
		font-size: 0.68rem !important;
		height: 1.35rem !important;
		width: 1.35rem !important;
	}

	.mrc-os-outcome-navigator strong {
		font-size: 0.7rem !important;
		line-height: 1.05 !important;
	}

	.mrc-os-outcome-navigator em {
		font-size: 0.54rem !important;
		line-height: 1.05 !important;
	}
}

/*
 * Multilingual layout guard:
 * French labels are naturally longer than English. Keep the approved desktop
 * application layout, but never allow translated text to collide, clip, or
 * break into unreadable vertical fragments.
 */
.mrc-os-button,
.mrc-os-entry-panel h2,
.mrc-os-companion-focus-card,
.mrc-os-companion-next,
.mrc-os-companion-readiness,
.mrc-os-companion-save,
.mrc-os-companion-metrics > div,
.mrc-os-outcome-navigator button {
	min-width: 0;
	overflow-wrap: normal;
	word-break: normal;
}

.mrc-os-entry-panel .mrc-os-actions {
	align-items: center;
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: flex-end;
	min-width: 0;
}

.mrc-os-entry-panel .mrc-os-button {
	flex: 0 1 auto;
	max-width: 100%;
	text-align: center;
	white-space: normal;
}

.mrc-os-companion-metrics .mrc-os-label,
.mrc-os-companion-next .mrc-os-label,
.mrc-os-companion-readiness .mrc-os-label,
.mrc-os-companion-save .mrc-os-label {
	font-size: clamp(0.64rem, 0.62vw, 0.76rem);
	letter-spacing: 0.075em;
	line-height: 1.16;
	overflow-wrap: normal;
	word-break: normal;
}

.mrc-os-companion-metrics strong,
.mrc-os-companion-focus-card strong,
.mrc-os-companion-readiness strong,
.mrc-os-outcome-navigator strong,
.mrc-os-outcome-navigator em {
	overflow-wrap: normal;
	word-break: normal;
}

@media (min-width: 1024px) and (max-width: 1379px) {
	.mrc-os-journey-shell.has-progressive-journey .mrc-os-workspace-entry {
		align-items: stretch;
		grid-template-columns: minmax(0, 1fr);
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-entry-panel {
		grid-column: 1;
		justify-content: flex-start;
		width: 100%;
	}

	.mrc-os-journey-shell.has-progressive-journey .mrc-os-entry-panel .mrc-os-actions {
		justify-content: flex-start;
	}
}

@media (min-width: 1180px) and (max-width: 1439px) {
	.mrc-os-companion-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.mrc-os-companion-metrics > div {
		padding: 0.5rem 0.56rem !important;
	}
}

@media (min-width: 1440px) {
	.mrc-os-companion-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1440px) {
	.mrc-os-payment-analysis-grid {
		grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
	}
}

/*
 * Beta typography integrity guard:
 * Workspace headers must never compress important product titles into broken
 * word fragments. Full-width title flow is safer than a decorative split hero.
 */
.mrc-os-workspace-header {
	align-items: start !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
}

.mrc-os-workspace-header .mrc-os-eyebrow,
.mrc-os-workspace-header .mrc-os-descriptor,
.mrc-os-workspace-header h1,
.mrc-os-workspace-header .mrc-os-journey-lead {
	grid-column: 1 !important;
	max-width: min(100%, 980px) !important;
	min-width: 0 !important;
}

.mrc-os-workspace-header h1 {
	font-size: clamp(2.15rem, 3.2vw, 3.55rem) !important;
	hyphens: none !important;
	line-height: 1.03 !important;
	overflow-wrap: normal !important;
	text-wrap: balance;
	word-break: normal !important;
}
