/**
 * Mold-Sensitive Remediation — Specialty service (Sprint 19)
 * Consulting-forward visual identity. msr- prefix only.
 */

.msr-page {
	--msr-measure: 38rem;
	--msr-measure-wide: 48rem;
	--msr-section-y: clamp(5rem, 10vw, 7.5rem);
	--msr-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--msr-body: 1.0625rem;
	--msr-body-lh: 1.72;

	background: var(--ivory);
	color: var(--color-text-on-light);
	font-size: var(--msr-body);
	line-height: var(--msr-body-lh);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

.msr-page *,
.msr-page *::before,
.msr-page *::after {
	box-sizing: border-box;
}

/* —— Header —— */

.msr-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: var(--border-width) solid var(--divider-bronze-muted);
	background: rgba(243, 239, 231, 0.92);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.msr-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	min-height: 4rem;
	padding-block: 0.75rem;
}

.msr-header__consult {
	display: inline-flex;
	align-items: center;
	padding: 0.5625rem 1.125rem;
	font-family: var(--font-display);
	font-size: var(--font-size-4xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--black);
	background: var(--color-bronze);
	border-radius: 999px;
	transition: background var(--transition), transform var(--transition);
}

.msr-header__consult:hover {
	background: var(--color-bronze-dark);
	transform: translateY(-1px);
}

.msr-header .brand__name {
	color: var(--black);
}

.msr-header .brand__tag {
	color: var(--color-text-on-light-muted);
}

/* —— Hero (editorial) —— */

.msr-hero {
	position: relative;
	padding-block: clamp(4rem, 10vw, 6.5rem) var(--msr-section-y);
	background:
		linear-gradient(rgba(185, 155, 104, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(185, 155, 104, 0.04) 1px, transparent 1px),
		var(--limestone);
	background-size: 48px 48px, 48px 48px, 100% 100%;
	border-bottom: var(--border-width) solid var(--divider-bronze-muted);
}

.msr-hero__inner {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2rem, 6vw, 4rem);
	align-items: center;
	width: min(100% - var(--msr-gutter) * 2, var(--container-max));
	margin-inline: auto;
	padding-inline: var(--msr-gutter);
}

.msr-hero__breadcrumb {
	margin: 0 0 var(--space-4);
	font-size: var(--font-size-5xs);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
	color: var(--color-text-on-light-icon);
}

.msr-hero__breadcrumb a {
	color: var(--color-text-on-light-muted);
	text-decoration: none;
	transition: color var(--transition);
}

.msr-hero__breadcrumb a:hover {
	color: var(--color-bronze-dark);
}

.msr-hero__breadcrumb span[aria-hidden="true"] {
	margin-inline: var(--space-2);
	opacity: 0.45;
}

.msr-hero__eyebrow {
	margin-bottom: var(--space-3);
	color: var(--color-bronze-dark);
}

.msr-hero__title {
	margin: 0 0 var(--space-4);
	max-width: 22ch;
	font-family: var(--font-display);
	font-size: clamp(2rem, 4.2vw, 3.125rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.06;
	letter-spacing: var(--letter-spacing-trust);
	text-transform: uppercase;
	color: var(--black);
}

.msr-hero__lede {
	margin: 0 0 var(--space-5);
	max-width: var(--msr-measure);
	font-size: clamp(1.0625rem, 1.6vw, 1.1875rem);
	line-height: 1.65;
	color: var(--color-text-on-light);
}

.msr-hero__note {
	margin: 0 0 var(--space-5);
	padding-left: var(--space-3);
	max-width: var(--msr-measure);
	font-size: var(--font-size-sm);
	line-height: 1.6;
	color: var(--color-text-on-light-muted);
	border-left: 2px solid var(--color-bronze);
}

.msr-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

.msr-hero__visual {
	position: relative;
}

.msr-hero__frame {
	overflow: hidden;
	border: var(--border-width) solid var(--divider-bronze-muted);
	border-radius: var(--radius-sm);
	background: rgba(243, 239, 231, 0.85);
	box-shadow: 0 24px 48px rgba(9, 9, 9, 0.08);
}

.msr-hero__frame-label {
	display: block;
	padding: 0.625rem 1rem;
	font-family: var(--font-mono, ui-monospace, monospace);
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-bronze-dark);
	border-bottom: var(--border-width) solid var(--divider-bronze-muted);
	background: rgba(255, 255, 255, 0.35);
}

.msr-hero__doc {
	padding: 1.25rem;
}

.msr-hero__doc-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.625rem 0;
	border-bottom: var(--border-width) solid rgba(185, 155, 104, 0.12);
	font-size: 0.8125rem;
	color: var(--color-text-on-light-muted);
}

.msr-hero__doc-row:last-child {
	border-bottom: none;
}

.msr-hero__doc-row strong {
	font-weight: 600;
	color: var(--black);
}

.msr-hero__doc-status {
	font-family: var(--font-mono, ui-monospace, monospace);
	font-size: 0.5625rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-bronze-dark);
}

.msr-hero__bronze {
	display: block;
	margin: 0 0 var(--space-4);
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 2.8vw, 1.875rem);
	font-weight: var(--font-weight-semibold);
	line-height: 1.2;
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
	color: var(--color-bronze);
	opacity: 0;
	animation: msr-bronze-reveal 1.15s cubic-bezier(0.22, 0.61, 0.36, 1) 0.35s forwards;
}

@keyframes msr-bronze-reveal {
	from {
		opacity: 0;
		transform: translateY(0.5rem);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* —— Editorial sections (Sprint 19.5) —— */

.msr-editorial {
	max-width: var(--msr-measure-wide);
}

.msr-editorial--centered {
	max-width: 42rem;
}

.msr-editorial .grady-heading {
	margin-bottom: var(--space-4);
}

.msr-editorial .grady-body + .grady-body {
	margin-top: var(--space-4);
}

.msr-editorial__terms {
	margin: clamp(2rem, 5vw, 3rem) 0;
	padding: 0;
	list-style: none;
}

.msr-editorial__terms li {
	padding: 0.875rem 0;
	font-family: var(--font-display);
	font-size: clamp(0.8125rem, 1.4vw, 0.9375rem);
	font-weight: var(--font-weight-medium);
	line-height: 1.4;
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
	border-bottom: var(--border-width) solid var(--divider-bronze-muted);
}

.msr-editorial__terms li:last-child {
	border-bottom: none;
}

.msr-editorial__close {
	margin-top: clamp(2rem, 5vw, 3rem);
	max-width: var(--msr-measure-wide);
}

/* —— Our Approach (vertical cards) —— */

.msr-approach {
	display: flex;
	flex-direction: column;
	max-width: 42rem;
}

.msr-approach__card {
	padding: var(--space-5);
	border: var(--border-width) solid var(--divider-bronze-muted);
	background: rgba(9, 9, 9, 0.02);
}

.msr-approach__card__title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
}

.msr-approach__card p {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: var(--msr-body-lh);
	color: var(--color-text-on-light-muted);
}

.msr-approach__arrow {
	display: flex;
	justify-content: center;
	padding: var(--space-2) 0;
	font-size: 1.125rem;
	line-height: 1;
	color: var(--color-bronze);
}

.msr-approach__arrow--dark {
	color: var(--color-bronze);
}

/* —— Investigative resources (vertical cards) —— */

.msr-resources {
	display: flex;
	flex-direction: column;
	max-width: 42rem;
}

.msr-resources__card {
	padding: var(--space-5);
	border: var(--border-width) solid var(--divider-bronze-process);
	background: rgba(255, 255, 255, 0.02);
}

.msr-resources__card__title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--ivory);
}

.msr-resources__card p {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: var(--msr-body-lh);
	color: var(--color-text-on-dark-subtle);
}

.msr-hero__placeholder {
	min-height: 12rem;
}

/* —— Sections —— */

.msr-section {
	padding-block: var(--msr-section-y);
}

.msr-section--ivory {
	background: var(--ivory);
}

.msr-section--limestone {
	background: var(--limestone);
}

.msr-section--charcoal {
	background: var(--charcoal);
	color: var(--color-text-on-dark-body);
}

.msr-section--graphite {
	background: var(--graphite);
	color: var(--color-text-on-dark-body);
}

.msr-wrap {
	width: min(100% - var(--msr-gutter) * 2, var(--container-max));
	margin-inline: auto;
	padding-inline: var(--msr-gutter);
}

.msr-section__header {
	max-width: var(--msr-measure-wide);
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.msr-section--charcoal .msr-section__header .grady-heading--light,
.msr-section--graphite .msr-section__header .grady-heading--light {
	color: var(--ivory);
}

.msr-section--charcoal .grady-body--light,
.msr-section--graphite .grady-body--light {
	color: var(--color-text-on-dark-muted);
}

/* —— Scope distinction —— */

.msr-scope {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

.msr-scope__col__title {
	margin: 0 0 var(--space-3);
	font-family: var(--font-display);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--ivory);
}

.msr-scope__col p {
	margin: 0 0 var(--space-3);
	font-size: var(--font-size-sm);
	line-height: var(--msr-body-lh);
	color: var(--color-text-on-dark-muted);
}

.msr-scope__col p:last-child {
	margin-bottom: 0;
}

.msr-scope__col--standard {
	padding: var(--space-5);
	border: var(--border-width) solid var(--divider-ivory-faint);
	background: rgba(255, 255, 255, 0.03);
}

.msr-scope__col--enhanced {
	padding: var(--space-5);
	border: var(--border-width) solid var(--divider-bronze-soft);
	background: rgba(185, 155, 104, 0.08);
}

.msr-scope__col--enhanced__title {
	color: var(--color-bronze);
}

/* —— Pillars —— */

.msr-pillars {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--space-4);
}

.msr-pillar {
	padding: var(--space-4) var(--space-3);
	border-top: 2px solid var(--color-bronze);
	background: rgba(9, 9, 9, 0.02);
}

.msr-pillar__num {
	display: block;
	margin-bottom: var(--space-2);
	font-family: var(--font-display);
	font-size: var(--font-size-3xs);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--letter-spacing-wide);
	color: var(--color-bronze-dark);
}

.msr-pillar__title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--font-size-3xs);
	font-weight: var(--font-weight-semibold);
	line-height: 1.35;
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
}

.msr-pillar p {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: 1.55;
	color: var(--color-text-on-light-muted);
}

/* —— Engineering controls (signature) —— */

.msr-engineering {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.msr-engineering__copy .grady-body--light + .grady-body--light {
	margin-top: var(--space-4);
}

.msr-diagram {
	padding: var(--space-5);
	border: var(--border-width) solid var(--divider-bronze-process);
	background:
		linear-gradient(rgba(185, 155, 104, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(185, 155, 104, 0.06) 1px, transparent 1px),
		rgba(0, 0, 0, 0.25);
	background-size: 20px 20px, 20px 20px, 100% 100%;
	border-radius: var(--radius-sm);
}

.msr-diagram__label {
	display: block;
	margin-bottom: var(--space-4);
	font-family: var(--font-mono, ui-monospace, monospace);
	font-size: 0.625rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-bronze);
}

.msr-diagram__zones {
	display: grid;
	grid-template-columns: 1fr 0.35fr 1fr;
	gap: var(--space-3);
	min-height: 10rem;
}

.msr-diagram__zone {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--space-3);
	border: 1px dashed rgba(185, 155, 104, 0.35);
	border-radius: var(--radius-sm);
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-text-on-dark-subtle);
}

.msr-diagram__zone--clean {
	background: rgba(243, 239, 231, 0.04);
}

.msr-diagram__zone--buffer {
	background: rgba(185, 155, 104, 0.12);
	border-style: solid;
	color: var(--color-bronze);
}

.msr-diagram__zone--work {
	background: rgba(185, 80, 60, 0.08);
	border-color: rgba(185, 80, 60, 0.3);
}

.msr-diagram__legend {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-4);
	padding-top: var(--space-3);
	border-top: var(--border-width) solid var(--divider-bronze-process);
}

.msr-diagram__legend span {
	font-size: 0.625rem;
	color: var(--color-text-on-dark-faint);
}

.msr-engineering__cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-3);
	margin-top: var(--space-5);
}

.msr-engineering__card {
	padding: var(--space-3);
	border: var(--border-width) solid var(--divider-bronze-process);
	background: rgba(255, 255, 255, 0.02);
}

.msr-engineering__card__title {
	margin: 0 0 0.375rem;
	font-family: var(--font-display);
	font-size: 0.6875rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--ivory);
}

.msr-engineering__card p {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--color-text-on-dark-subtle);
}

/* —— Planning process (document steps) —— */

.msr-planning {
	max-width: 40rem;
}

.msr-planning__steps {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: msr-plan;
}

.msr-planning__step {
	position: relative;
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: var(--space-4);
	padding-bottom: var(--space-5);
	counter-increment: msr-plan;
}

.msr-planning__step:last-child {
	padding-bottom: 0;
}

.msr-planning__step::before {
	content: counter(msr-plan, decimal-leading-zero);
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
	color: var(--color-bronze-dark);
	opacity: 0.65;
}

.msr-planning__step::after {
	content: "";
	position: absolute;
	top: 2rem;
	left: 1.25rem;
	bottom: 0;
	width: 1px;
	background: var(--divider-bronze-muted);
}

.msr-planning__step:last-child::after {
	display: none;
}

.msr-planning__step__title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
}

.msr-planning__step p {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: var(--msr-body-lh);
	color: var(--color-text-on-light-muted);
}

.msr-planning-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

.msr-planning-aside {
	padding: var(--space-5);
	border: var(--border-width) solid var(--divider-bronze-muted);
	background: rgba(255, 255, 255, 0.5);
}

.msr-planning-aside__title {
	margin: 0 0 var(--space-3);
	font-family: var(--font-display);
	font-size: var(--font-size-3xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
}

.msr-planning-aside ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msr-planning-aside li {
	padding-block: 0.375rem;
	font-size: var(--font-size-sm);
	line-height: 1.5;
	color: var(--color-text-on-light-muted);
	border-bottom: var(--border-width) solid rgba(185, 155, 104, 0.1);
}

.msr-planning-aside li:last-child {
	border-bottom: none;
}

/* —— Documentation —— */

.msr-docs-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
}

.msr-doc-card {
	padding: var(--space-5);
	border: var(--border-width) solid var(--divider-bronze-muted);
	background: rgba(9, 9, 9, 0.02);
}

.msr-doc-card__title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--font-size-3xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
}

.msr-doc-card p {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: 1.6;
	color: var(--color-text-on-light-muted);
}

/* —— IEP coordination —— */

.msr-iep {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-4);
}

.msr-iep__party {
	padding: var(--space-5);
	text-align: center;
	border: var(--border-width) solid var(--divider-bronze-process);
	background: rgba(255, 255, 255, 0.02);
}

.msr-iep__party__title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--ivory);
}

.msr-iep__party p {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: 1.6;
	color: var(--color-text-on-dark-subtle);
}

.msr-iep__flow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	margin-top: var(--space-5);
	font-family: var(--font-mono, ui-monospace, monospace);
	font-size: 0.625rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-bronze);
}

/* —— Mold detection K9s (editorial) —— */

.msr-k9__layout {
	display: grid;
	grid-template-columns: 42fr 58fr;
	gap: clamp(var(--spacing-8), 6vw, var(--spacing-12));
	align-items: start;
}

.msr-k9__editorial .grady-eyebrow {
	color: var(--color-bronze-dark);
}

.msr-k9__editorial .grady-heading {
	margin-bottom: var(--space-4);
}

.msr-k9__editorial .grady-body + .grady-body {
	margin-top: var(--space-4);
}

.msr-k9__panel {
	margin-top: var(--space-6);
	padding: var(--space-5);
	border: var(--border-width) solid var(--divider-bronze-muted);
	background: rgba(243, 239, 231, 0.65);
}

.msr-k9__panel-title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-display);
	font-size: var(--font-size-3xs);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-ui-xs);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
}

.msr-k9__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
}

.msr-k9__card {
	padding: var(--space-3) var(--space-4);
	border: var(--border-width) solid var(--divider-bronze-muted);
	background: rgba(255, 255, 255, 0.45);
}

.msr-k9__card__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 0.6875rem;
	font-weight: var(--font-weight-semibold);
	line-height: 1.4;
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
}

.msr-k9__note {
	margin: var(--space-4) 0 0;
	padding-left: var(--space-3);
	font-size: var(--font-size-sm);
	line-height: 1.65;
	color: var(--color-bronze-dark);
	border-left: 2px solid var(--color-bronze);
}

.msr-k9__visual {
	margin: 0;
	position: sticky;
	top: calc(4rem + var(--space-4));
}

.msr-k9__photo {
	min-height: clamp(22rem, 52vh, 36rem);
	border: var(--border-width) solid var(--divider-bronze-muted);
}

/* —— Cleaning protocols —— */

.msr-cleaning-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-4);
}

.msr-cleaning-item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--space-4);
	padding: var(--space-4);
	border-bottom: var(--border-width) solid var(--divider-bronze-muted);
}

.msr-cleaning-item:last-child {
	border-bottom: none;
}

.msr-cleaning-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	color: var(--color-bronze-dark);
	border: var(--border-width) solid var(--divider-bronze-muted);
	border-radius: 50%;
}

.msr-cleaning-item__icon svg {
	width: 1.125rem;
	height: 1.125rem;
}

.msr-cleaning-item__title {
	margin: 0 0 0.375rem;
	font-family: var(--font-display);
	font-size: var(--font-size-3xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-process);
	text-transform: uppercase;
	color: var(--black);
}

.msr-cleaning-item p {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: 1.6;
	color: var(--color-text-on-light-muted);
}

/* —— When to request —— */

.msr-apply-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-3) var(--space-6);
	max-width: var(--msr-measure-wide);
}

.msr-apply-list li {
	font-size: var(--font-size-sm);
	line-height: 1.6;
	color: var(--color-text-on-dark-muted);
}

/* —— FAQ —— */

.msr-faq-section .grady-wrap {
	max-width: 48rem;
}

.msr-faq details {
	border-bottom: var(--border-width) solid var(--divider-bronze-muted);
}

.msr-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: 1.25rem 0;
	font-size: 1.0625rem;
	font-weight: var(--font-weight-medium);
	color: var(--black);
	cursor: pointer;
	list-style: none;
}

.msr-faq summary::-webkit-details-marker {
	display: none;
}

.msr-faq summary::after {
	content: "+";
	font-size: 1.25rem;
	font-weight: 300;
	color: var(--color-text-on-light-icon);
}

.msr-faq details[open] summary::after {
	content: "−";
	color: var(--color-bronze-dark);
}

.msr-faq details p {
	margin: 0;
	padding: 0 2rem 1.25rem 0;
	font-size: var(--font-size-sm);
	line-height: var(--msr-body-lh);
	color: var(--color-text-on-light-muted);
}

/* —— CTA —— */

.msr-cta {
	padding-block: var(--msr-section-y);
	background: var(--charcoal);
	border-top: var(--border-width) solid var(--divider-bronze-muted);
}

.msr-cta__inner {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: clamp(2rem, 5vw, 3rem);
	align-items: center;
	width: min(100% - var(--msr-gutter) * 2, var(--container-max));
	margin-inline: auto;
	padding-inline: var(--msr-gutter);
}

.msr-cta__copy .grady-heading--light {
	margin-bottom: var(--space-3);
	color: var(--ivory);
}

.msr-cta__copy .grady-body--light {
	margin: 0;
	max-width: 32rem;
	color: var(--color-text-on-dark-muted);
}

.msr-cta__disclaimer {
	margin: var(--space-4) 0 0;
	font-size: var(--font-size-sm);
	line-height: 1.55;
	color: var(--color-text-on-dark-faint);
	font-style: italic;
}

.msr-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-3);
}

.msr-cta__phone {
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--letter-spacing-phone);
	text-decoration: none;
	color: var(--color-bronze);
	transition: color var(--transition);
}

.msr-cta__phone:hover {
	color: var(--ivory);
}

.msr-cta__phone-label {
	display: block;
	margin-top: 0.25rem;
	font-size: var(--font-size-5xs);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
	color: var(--color-text-on-dark-faint);
}

.msr-related {
	margin-top: var(--space-4);
}

.msr-related .grady-link-arrow {
	font-size: var(--font-size-4xs);
	color: var(--color-bronze);
}

.msr-related .grady-link-arrow::after {
	content: "\2192";
}

/* —— Reveal —— */

[data-msr-reveal] {
	opacity: 0;
	transform: translateY(1rem);
	transition:
		opacity 0.65s cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
}

[data-msr-reveal].is-visible {
	opacity: 1;
	transform: none;
}

/* —— Responsive —— */

@media (max-width: 64rem) {
	.msr-hero__inner,
	.msr-scope,
	.msr-engineering,
	.msr-planning-layout,
	.msr-cta__inner,
	.msr-k9__layout {
		grid-template-columns: 1fr;
	}

	.msr-k9__visual {
		position: static;
		order: -1;
	}

	.msr-pillars {
		grid-template-columns: repeat(2, 1fr);
	}

	.msr-docs-grid,
	.msr-iep {
		grid-template-columns: 1fr;
	}

	.msr-diagram__zones {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.msr-engineering__cards {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 48rem) {
	.msr-header__consult {
		padding: 0.5rem 0.875rem;
		font-size: 0.625rem;
	}

	.msr-pillars,
	.msr-cleaning-grid,
	.msr-apply-list,
	.msr-k9__cards {
		grid-template-columns: 1fr;
	}

	.msr-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.msr-hero__actions .grady-btn {
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-msr-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.msr-hero__bronze {
		opacity: 1;
		animation: none;
	}

	.msr-header__consult:hover {
		transform: none;
	}
}
