/*
 * The page kit's core (docs/02-DESIGN-SYSTEM.md §7.28 "Page kit", 09 §2–§4): everything a page other than home is
 * built from. Loaded only where a kit block, a kit band or a hero variant prints (inc/page-kit.php,
 * mainland_enqueue_pages_css()); the editor loads it for every page. Each page group's own blocks have their own file,
 * loaded on top of this one only where they print: pages-rentals.css, pages-finance.css, pages-company.css (and the
 * calculators' calc*.css). The local-only build notes (draft wording, "To build") are build-notes.css, printed inline
 * with the note itself, so production never downloads them.
 *
 *  1. Kit parts typed loose in the flow
 *  2. Kit bands: container rhythm, section heads, core buttons, the editor's band styles
 *  3. Page hero variants: buttons row, badge, split (photo, render, aside), stage (photo, stat chips)
 *  4. Icon, yard photo
 *  5. Feature rows
 *  6. Split media
 *  7. Steps (the How it works track)
 *  8. FAQ
 *  9. Data plate and spec table
 * 10. Callout, text band
 * 11. Link cards
 * 12. Related strip
 * 13. CTA band
 * 14. Partner plates
 * 15. Legal pages: contents, contact line
 * 16. (The style guide's own rules are in style-guide.css, loaded on that page only.)
 * 17. Reduced motion
 *
 * Tokens only (02 §1 rule 1): theme.json presets, --wp--custom--* and the --mn-* surface properties. Components read
 * the surface context, so each works on paper, mist, white and ink. Grids are minmax(0, …) (02 §8 rule 1).
 */

/* 1. Kit parts typed loose in the flow ---------------------------------------------------------------------------- */
/* The page flow itself (.mn-flow) is in theme.css §21, so a flow template works without this file. */

/* Kit parts typed loose in the flow, outside a band (a notice, a block set to no surface): centred, the gutter kept. */
.mn-flow > .mn-kit:not(.mn-band) { margin-inline: max(var(--mn-gutter), calc((100% - var(--mn-wide)) / 2)); }
.mn-flow > .mn-callout.mn-kit { margin-inline: max(var(--mn-gutter), calc((100% - 52rem) / 2)); }

/* 2. Kit bands ------------------------------------------------------------------------------------------------- */
/* A kit band's container stacks its parts with the head gap; every core block inside loses the flow layout's
   margins (the kit spaces with gaps). */

.mn-kit.mn-band > .mn-container { display: grid; gap: var(--wp--custom--head-gap); }
.mn-kit.mn-band > .mn-container > *,
.mn-kit :where(.mn-section-head, .mn-split, .mn-split__copy, .mn-split__media, .mn-features, .mn-feature, .mn-steps-band, .mn-steps__panel, .mn-steps, .mn-step, .mn-faq, .mn-faq__list, .mn-plate-split, .mn-plate-split__copy, .mn-plate, .mn-callout, .mn-callout__body, .mn-prose-band) > * { margin-block: 0; }
.mn-kit .mn-section-head { margin-block-end: 0; }
/* S014: a band that holds only its section head (a short statement such as "No physical damage cover?") sets it as
   a row from 960 px, the title on the left and the lede on the right, instead of a left column and empty space. */
@media (min-width: 960px) {
	.mn-kit > .mn-container > .mn-section-head:only-child:has(> .mn-section-head__lede) { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: var(--wp--preset--spacing--70); align-items: end; max-inline-size: none; }
	.mn-kit > .mn-container > .mn-section-head:only-child:has(> .mn-section-head__lede) > * { grid-column: 1; }
	.mn-kit > .mn-container > .mn-section-head:only-child:has(> .mn-section-head__lede) > .mn-section-head__lede { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
}
.mn-kit .mn-section-head__title { font-size: var(--wp--preset--font-size--xxx-large); }
.mn-band--tight.mn-kit > .mn-container { gap: var(--wp--preset--spacing--60); }

/* Core buttons inside the kit take the house buttons' shape: 48 px, the cyan primary (its glow only on dark
   surfaces, 02 §7.7) with an arrow, the outline style as the quiet secondary, the Ink style. */
.mn-kit .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); }
.mn-kit .wp-block-buttons > .wp-block-button { margin: 0; }
.mn-kit .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-block-size: var(--wp--custom--target--button);
	padding: 0.8125rem 1.375rem;
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--cyan);
	box-shadow: var(--mn-primary-shadow);
	color: var(--wp--preset--color--ink-1);
	font-size: var(--wp--custom--font-size--ui);
	font-weight: 600;
	line-height: 1.15;
	text-decoration: none;
	transition: transform var(--wp--custom--motion--micro) var(--wp--custom--motion--ease), box-shadow var(--wp--custom--motion--micro) var(--wp--custom--motion--ease), background-color var(--wp--custom--motion--micro) var(--wp--custom--motion--ease), border-color var(--wp--custom--motion--micro) var(--wp--custom--motion--ease);
}
.mn-kit .wp-block-button:not(.is-style-outline, .is-style-dark) .wp-block-button__link::after {
	content: "";
	inline-size: 1.125rem;
	block-size: 1.125rem;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--wp--custom--motion--micro) var(--wp--custom--motion--ease);
}
.mn-kit .wp-block-button__link:hover { background: var(--wp--preset--color--cyan-hover); box-shadow: var(--mn-primary-shadow-hover); color: var(--wp--preset--color--ink-1); }
.mn-kit .is-style-outline .wp-block-button__link { border-color: var(--mn-quiet-border); background: var(--mn-quiet-bg); box-shadow: none; color: var(--mn-quiet-fg); }
.mn-kit .is-style-outline .wp-block-button__link:hover { border-color: var(--mn-quiet-border-hover); background: var(--mn-quiet-bg-hover); color: var(--mn-quiet-fg); }
.mn-kit .is-style-dark .wp-block-button__link { background: var(--wp--preset--color--ink-1); box-shadow: var(--wp--preset--shadow--ink); color: var(--wp--preset--color--white); }
@media (hover: hover) and (pointer: fine) {
	.mn-kit .wp-block-button__link:hover { transform: translateY(-2px); }
	.mn-kit .wp-block-button__link:hover::after { transform: translateX(3px); }
}
@media (max-width: 599px) {
	.mn-kit .wp-block-buttons { display: grid; grid-template-columns: minmax(0, 1fr); }
	.mn-kit .wp-block-button__link { inline-size: 100%; }
}
.mn-kit :where(p, li) a:not(.wp-element-button, .mn-arrow-link, .mn-stretch) { color: var(--mn-link); }
.mn-kit :where(p, li) a:not(.wp-element-button, .mn-arrow-link, .mn-stretch):hover { color: var(--mn-link-hover); }

/* The editor scopes WordPress's button element styles more tightly than the front end does: the house buttons keep
   their own variant inside previews. */
.editor-styles-wrapper .mn-btn { border-color: var(--mn-btn-border); background: var(--mn-btn-bg); box-shadow: var(--mn-btn-shadow); color: var(--mn-btn-fg); }

/* In the editor's canvas the band-printing blocks (previews of PHP-only blocks) run full width, as on the page. */
.editor-styles-wrapper .is-root-container > [class*="wp-block-mainland-"]:not(.wp-block-mainland-icon, .wp-block-mainland-photo) {
	max-inline-size: none;
	margin-inline: calc(-1 * var(--wp--style--root--padding-left, 0px)) calc(-1 * var(--wp--style--root--padding-right, 0px));
}

/* The band styles in the editor (the front end renders them as .mn-band, inc/page-kit.php). */
.editor-styles-wrapper :is(.is-style-band-paper, .is-style-band-mist, .is-style-band-white, .is-style-band-ink, .is-style-band-navy) { padding-block: var(--wp--custom--section); }
.editor-styles-wrapper .is-style-band-paper { background: var(--wp--preset--color--paper); }
.editor-styles-wrapper .is-style-band-mist { background: var(--wp--preset--gradient--mist); }
.editor-styles-wrapper .is-style-band-white { background: var(--wp--preset--color--white); }
.editor-styles-wrapper .is-style-band-ink { background: var(--wp--preset--gradient--stage); }
.editor-styles-wrapper .is-style-band-navy { background: var(--wp--preset--gradient--navy-ink); }
.editor-styles-wrapper .is-style-band-ink .wp-block-heading,
.editor-styles-wrapper .is-style-band-navy .wp-block-heading { color: var(--wp--preset--color--white); }

/* 3. Page hero variants ---------------------------------------------------------------------------------------- */
/* The default hero lives in theme.css §21. Here: the buttons row and the badge (any variant), the split hero (a
   graded photo filling the right five columns to the edge, or a render on its studio plate, or an aside such as a
   form), and the stage hero (the deep stage, the photo faded in on the right, live stat chips on glass). */

.mn-page-hero__inner { position: relative; z-index: var(--mn-z-over); }
.mn-page-hero__actions { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); margin-block-start: 34px !important; }
.mn-page-hero__badge { margin-block-end: 24px !important; }
@media (max-width: 599px) {
	.mn-page-hero__actions { display: grid; grid-template-columns: minmax(0, 1fr); inline-size: 100%; }
}

/* Split and stage: the photo. Under the copy on phones and tablets (16:9, radius lg), beside it from 960 px. */
.mn-page-hero--has-media { display: flex; flex-direction: column; }
.mn-page-hero__media {
	position: relative;
	order: 2;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	margin: 0 var(--mn-gutter) var(--wp--preset--spacing--70);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--custom--grade--shade);
}
.mn-page-hero__media :is(.mn-photo--fill, .mn-photo--fill > picture) > img { transform: none; }
.mn-page-hero__media .mn-brackets { --mn-bk-inset: 18px; --mn-bk-size: 26px; z-index: var(--mn-z-raised); }
.mn-page-hero--has-media .mn-page-hero__inner { order: 1; }
.mn-page-hero--has-media .mn-page-hero__chips-wrap { order: 3; }
.mn-page-hero__shade { position: absolute; inset: 0; z-index: var(--mn-z-over); pointer-events: none; }

@media (min-width: 600px) and (max-width: 959px) {
	.mn-page-hero__media { margin-inline: auto; inline-size: calc(100% - 2 * var(--mn-gutter)); }
}

@media (min-width: 960px) {
	.mn-page-hero--split.mn-page-hero--photo,
	.mn-page-hero--stage.mn-page-hero--photo { display: block; }
	.mn-page-hero--split.mn-page-hero--photo .mn-page-hero__inner {
		justify-content: center;
		min-block-size: clamp(27rem, 33vw, 34rem);
		box-sizing: border-box;
	}
	.mn-page-hero--split.mn-page-hero--photo .mn-page-hero__copy { max-inline-size: 54%; }
	/* The photo fills the right five columns to the page edge; the stage itself fades in over its inner edge. */
	.mn-page-hero--split .mn-page-hero__media,
	.mn-page-hero--stage .mn-page-hero__media {
		position: absolute;
		inset-block: 0;
		inset-inline-end: 0;
		inset-inline-start: calc(var(--mn-edge) + (100% - 2 * var(--mn-edge)) * 0.6);
		margin: 0;
		aspect-ratio: auto;
		border-radius: 0;
	}
	.mn-page-hero--split .mn-page-hero__shade {
		background: var(--wp--preset--gradient--stage);
		-webkit-mask-image: linear-gradient(90deg, rgba(var(--wp--custom--ink-rgb), 1) 0%, rgba(var(--wp--custom--ink-rgb), 0.72) 12%, rgba(var(--wp--custom--ink-rgb), 0.18) 34%, transparent 52%), linear-gradient(180deg, transparent 70%, rgba(var(--wp--custom--ink-rgb), 0.5) 100%);
		mask-image: linear-gradient(90deg, rgba(var(--wp--custom--ink-rgb), 1) 0%, rgba(var(--wp--custom--ink-rgb), 0.72) 12%, rgba(var(--wp--custom--ink-rgb), 0.18) 34%, transparent 52%), linear-gradient(180deg, transparent 70%, rgba(var(--wp--custom--ink-rgb), 0.5) 100%);
	}
}
@media (max-width: 959px) {
	.mn-page-hero--split .mn-page-hero__shade { background: linear-gradient(180deg, transparent 62%, rgba(var(--wp--custom--ink-rgb), 0.35)); }
	.mn-page-hero--has-media .mn-page-hero__inner { padding-block-end: var(--wp--preset--spacing--70); }
}

/* Split with a render (a Max-Atlas model on its studio plate) or an aside (a form): two columns in the container. */
.mn-page-hero__plate {
	position: relative;
	margin: 36px 0 0;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--deep);
}
.mn-page-hero__plate .mn-sweep { aspect-ratio: 16 / 10; }
.mn-page-hero__plate .mn-brackets { --mn-bk-inset: 16px; --mn-bk-size: 24px; --mn-bk-color: var(--wp--preset--color--cyan-700); z-index: var(--mn-z-raised); }
.mn-page-hero__credit { position: absolute; inset-block-end: 16px; inset-inline-start: 16px; z-index: var(--mn-z-raised); }
.mn-page-hero__aside { margin-block-start: 36px; }
@media (min-width: 960px) {
	:is(.mn-page-hero--render, .mn-page-hero--aside) .mn-page-hero__inner {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		align-items: center;
		gap: var(--wp--preset--spacing--90);
	}
	:is(.mn-page-hero--render, .mn-page-hero--aside) .mn-page-hero__plate,
	.mn-page-hero__aside { margin: 0; }
	.mn-page-hero--aside .mn-page-hero__inner { align-items: start; }
}

/* Stage: the deep stage of the home hero, quieter: the grid from the left, a glow low on the left, the photo in its
   own colour fading in from the right under a two-way scrim, then the glass chips. */
.mn-page-hero--stage { background: var(--wp--preset--color--ink-0); }
.mn-page-hero--stage .mn-page-hero__glow { --mn-glow-strength: 0.24; inset-inline-start: -12%; inset-block-end: -40%; inline-size: 62%; block-size: 120%; }
.mn-page-hero--stage .mn-page-hero__inner { padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60); }
.mn-page-hero--stage .mn-page-hero__copy { max-inline-size: 44rem; }
.mn-page-hero--stage .mn-page-hero__lede { color: var(--mn-hero-lede); }
.mn-page-hero--stage .mn-page-hero__shade {
	background:
		linear-gradient(90deg, var(--wp--preset--color--ink-0) 0%, rgba(var(--wp--custom--ink-rgb), 0.78) 18%, rgba(var(--wp--custom--ink-rgb), 0.3) 46%, rgba(var(--wp--custom--ink-rgb), 0.08) 100%),
		linear-gradient(180deg, rgba(var(--wp--custom--ink-rgb), 0.55) 0%, transparent 26%, transparent 58%, var(--wp--preset--color--ink-0) 100%);
}
.mn-page-hero--stage .mn-photo { --mn-grade-gray: 0.06; --mn-grade-con: 1.04; --mn-grade-tint: 0.06; --mn-grade-grain: 0.02; }
@media (min-width: 960px) {
	.mn-page-hero--stage .mn-page-hero__media { inset-inline-start: 38%; }
	.mn-page-hero--stage.mn-page-hero--photo .mn-page-hero__inner { min-block-size: clamp(24rem, 30vw, 30rem); justify-content: center; }
}
@media (max-width: 959px) {
	.mn-page-hero--stage .mn-page-hero__shade { background: linear-gradient(180deg, transparent 55%, rgba(var(--wp--custom--ink-rgb), 0.6)); }
}

.mn-page-hero__chips-wrap { position: relative; z-index: var(--mn-z-over); padding-block-end: var(--wp--preset--spacing--70); }
.mn-page-hero__chips {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr));
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--mn-rule-2);
	border-radius: var(--wp--custom--radius--md);
	list-style: none;
}
.mn-page-hero__chip {
	display: flex;
	align-items: center;
	gap: 14px;
	min-inline-size: 0;
	padding: 18px 22px;
	border-block-start: 1px solid var(--mn-rule);
	margin-block-start: -1px;
	border-inline-start: 1px solid var(--mn-rule);
	margin-inline-start: -1px;
}
.mn-page-hero__chip-value {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	flex: none;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.625rem, 1.2rem + 1.1vw, 2.25rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.035em;
}
.mn-page-hero__chip-star { display: inline-flex; color: var(--wp--preset--color--cyan); }
.mn-page-hero__chip-star .mn-icon { inline-size: 0.5em; block-size: 0.5em; fill: currentColor; stroke: none; }
.mn-page-hero__chip-text { display: grid; gap: 2px; min-inline-size: 0; font-size: var(--wp--preset--font-size--small); line-height: 1.3; }
.mn-page-hero__chip-caption { color: var(--wp--preset--color--on-dark); font-weight: 600; }
.mn-page-hero__chip-note { color: var(--mn-text); }
.mn-page-hero__chip-note a { color: inherit; text-decoration-color: rgba(255, 255, 255, 0.3); }
.mn-page-hero__chip-note a:hover { color: var(--wp--preset--color--white); text-decoration-color: var(--wp--preset--color--cyan); }
@media (max-width: 599px) {
	.mn-page-hero__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-page-hero__chip { flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px; }
}

/* 4. Icon and yard photo --------------------------------------------------------------------------------------- */

.mn-kit-icon { display: inline-grid; flex: none; place-items: center; color: var(--mn-ring-fg); }
.mn-kit-icon .mn-icon { inline-size: 22px; block-size: 22px; }
.mn-kit-icon--ring {
	box-sizing: border-box;
	inline-size: 52px;
	block-size: 52px;
	border: 1px solid var(--mn-ring-border);
	border-radius: 50%;
	background: radial-gradient(circle at 50% 35%, rgba(var(--wp--custom--cyan-rgb), 0.14), rgba(var(--wp--custom--cyan-rgb), 0.02) 70%), var(--mn-surface-raised);
}
.mn-kit-icon--chip { inline-size: 48px; block-size: 48px; border-radius: var(--wp--custom--radius--sm); background: var(--mn-tick-bg); color: var(--mn-tick-fg); }
.mn-kit-icon--plain { color: var(--mn-link); }
.mn-kit-icon--plain .mn-icon { inline-size: 24px; block-size: 24px; }

.mn-kit-photo { position: relative; margin: 0; }
.mn-kit-photo .mn-photo { aspect-ratio: 4 / 3; border-radius: var(--wp--custom--radius--lg); box-shadow: var(--mn-shadow-card); }
.mn-kit-photo--3-2 .mn-photo { aspect-ratio: 3 / 2; }
.mn-kit-photo--16-9 .mn-photo { aspect-ratio: 16 / 9; }
.mn-kit-photo--16-10 :is(.mn-photo, .mn-sweep) { aspect-ratio: 16 / 10; }
.mn-kit-photo--5-6 .mn-photo { aspect-ratio: 5 / 6; }
.mn-kit-photo--4-5 .mn-photo { aspect-ratio: 4 / 5; }
.mn-kit-photo .mn-brackets { --mn-bk-inset: 16px; --mn-bk-size: 26px; }
/* Portrait shapes stay landscape on phones, so a photo never fills the whole screen. */
@media (max-width: 599px) {
	:is(.mn-kit-photo--5-6, .mn-kit-photo--4-5) .mn-photo { aspect-ratio: 4 / 3; }
}
.mn-kit-photo--framed { padding: 0 var(--mn-offset, 18px) var(--mn-offset, 18px) 0; }
.mn-kit-photo--framed .mn-photo { box-shadow: none; }
.mn-kit-photo--render .mn-sweep { aspect-ratio: 16 / 10; border-radius: var(--wp--custom--radius--lg); box-shadow: var(--mn-shadow-card); }
.mn-kit-photo--render .mn-brackets { --mn-bk-color: var(--wp--preset--color--cyan-700); z-index: var(--mn-z-raised); }
.mn-kit-photo__credit { position: absolute; inset-block-end: 14px; inset-inline-start: 14px; z-index: var(--mn-z-raised); }

/* 5. Feature rows ---------------------------------------------------------------------------------------------- */
/* Icon, title, one line; two to four across. Each sits under a hairline with a short cyan segment, the eyebrow's
   rule at feature size. Phones: compact rows, the ring beside the text. */

.mn-features { display: grid; gap: 0 clamp(24px, 3vw, 44px); grid-template-columns: minmax(0, 1fr); }
.mn-feature {
	position: relative;
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	grid-template-areas: "icon title" "icon text";
	align-content: start;
	column-gap: 18px;
	row-gap: 6px;
	padding-block: 24px;
	border-block-start: 1px solid var(--mn-rule);
}
.mn-feature::before { content: ""; position: absolute; inset-block-start: -1px; inset-inline-start: 0; inline-size: 36px; block-size: 2px; border-radius: 2px; background: var(--wp--preset--color--cyan); }
.mn-feature > .mn-kit-icon { grid-area: icon; }
.mn-feature > h3 { grid-area: title; align-self: end; color: var(--mn-text-strong); font-size: 1.25rem; line-height: var(--wp--custom--line-height--title); letter-spacing: var(--wp--custom--tracking--title); }
.mn-feature > p { grid-area: text; max-inline-size: 36ch; color: var(--mn-text); font-size: var(--wp--custom--font-size--ui); line-height: 1.55; }
@media (min-width: 600px) {
	.mn-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-feature { grid-template-columns: minmax(0, 1fr); grid-template-areas: "icon" "title" "text"; row-gap: 12px; padding-block: 30px 6px; }
	.mn-feature > .mn-kit-icon { margin-block-end: 6px; }
	.mn-feature > h3 { align-self: start; }
}
@media (min-width: 960px) {
	.mn-features:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mn-features:has(> :nth-child(5)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1224px) {
	.mn-features:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* 6. Split media ----------------------------------------------------------------------------------------------- */
/* The copy (head, text, ticks, buttons) beside a graded photo or a render; the photo first on phones. */

.mn-split { display: grid; gap: clamp(32px, 4.5vw, 80px); align-items: center; }
.mn-split__copy { display: grid; gap: 20px; align-content: center; min-inline-size: 0; }
.mn-split__copy > p:not([class]) { max-inline-size: var(--mn-measure); color: var(--mn-text); font-size: var(--wp--preset--font-size--medium); line-height: var(--wp--custom--line-height--body); }
.mn-split__copy > .wp-block-buttons { margin-block-start: 10px; }
.mn-split__copy > .wp-block-list { margin-block: 4px; }
.mn-split__media { min-inline-size: 0; }
@media (max-width: 959px) {
	.mn-split__media { order: -1; }
	.mn-split__media .mn-kit-photo { max-inline-size: 40rem; }
}
@media (min-width: 960px) {
	.mn-split { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
	.mn-split--media-left { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
	.mn-split--media-left .mn-split__media { order: -1; }
}
.mn-split.mn-split--no-media { grid-template-columns: minmax(0, 1fr); }
.mn-split--no-media .mn-split__media { display: none; }
.mn-split--no-media .mn-split__copy { max-inline-size: 47.5rem; }

/* 7. Steps (the How it works track, 02 §7.28) ------------------------------------------------------------------ */
/* Numbered rings on a lit cyan line in a raised panel, the last ring solid cyan (the destination). Four or fewer
   run across from 960 px; below that, and always with five or more, the track runs down with the text beside each
   ring, and from 960 px a long track stands beside its section head. At rest every connector is lit. */

.mn-steps-band { display: grid; gap: var(--wp--custom--head-gap); }
.mn-steps__panel {
	display: grid;
	gap: clamp(32px, 4vw, 48px);
	padding: clamp(24px, 3.4vw, 48px);
	border: 1px solid var(--mn-rule);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--mn-surface-raised);
	box-shadow: var(--mn-shadow-card);
}
.mn-steps__panel > .wp-block-buttons { padding-block-start: clamp(24px, 3vw, 32px); border-block-start: 1px solid var(--mn-rule); }
.mn-steps {
	--mn-ring: 56px;
	--mn-step-gap: 30px;
	--mn-air: 10px;
	display: grid;
	gap: var(--mn-step-gap);
}
.mn-step {
	position: relative;
	display: grid;
	grid-template-columns: var(--mn-ring) minmax(0, 1fr);
	grid-template-areas: "ring title" "ring text";
	align-content: start;
	column-gap: 20px;
	row-gap: 6px;
	min-inline-size: 0;
}
.mn-step > .mn-kit-icon {
	position: relative;
	z-index: var(--mn-z-over);
	grid-area: ring;
	align-self: start;
	inline-size: var(--mn-ring);
	block-size: var(--mn-ring);
	border: 1.5px solid var(--wp--preset--color--cyan);
	box-shadow: 0 0 0 5px rgba(var(--wp--custom--cyan-rgb), 0.08), 0 0 22px -6px rgba(var(--wp--custom--cyan-rgb), 0.6);
}
.mn-step > .mn-kit-icon .mn-icon { inline-size: 24px; block-size: 24px; }
.mn-step:last-child > .mn-kit-icon { background: var(--wp--preset--color--cyan); color: var(--wp--preset--color--ink-1); box-shadow: var(--wp--preset--shadow--glow); }
.mn-step__n {
	position: absolute;
	z-index: var(--mn-z-raised);
	inset-block-start: -4px;
	inset-inline-start: calc(var(--mn-ring) - 18px);
	box-sizing: border-box;
	display: grid;
	place-items: center;
	min-inline-size: 24px;
	block-size: 24px;
	padding: 0 6px;
	border: 1px solid rgba(var(--wp--custom--cyan-rgb), 0.5);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--ink-1);
	color: var(--wp--preset--color--cyan-300);
	font-size: var(--wp--custom--font-size--micro);
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.mn-step > h3 { grid-area: title; padding-block-start: 6px; color: var(--mn-text-strong); font-family: var(--wp--preset--font-family--display); font-size: 1.1875rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.015em; }
.mn-step > p { grid-area: text; max-inline-size: 46ch; color: var(--mn-text); font-size: var(--wp--custom--font-size--ui); line-height: var(--wp--custom--line-height--lede); }
/* The connector: down from just under this ring to just above the next. */
.mn-step:not(:last-child)::before {
	content: "";
	position: absolute;
	inset-inline-start: calc(var(--mn-ring) / 2 - 1px);
	inset-block: calc(var(--mn-ring) + var(--mn-air)) calc(var(--mn-air) - var(--mn-step-gap));
	inline-size: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--cyan);
	box-shadow: 0 0 10px rgba(var(--wp--custom--cyan-rgb), 0.45);
}
@media (min-width: 960px) {
	.mn-steps { --mn-ring: 64px; --mn-step-gap: clamp(24px, 2.6vw, 40px); }
	.mn-steps--short { grid-template-columns: repeat(var(--mn-steps-n, 4), minmax(0, 1fr)); }
	.mn-steps--short .mn-step { grid-template-columns: minmax(0, 1fr); grid-template-areas: "ring" "title" "text"; row-gap: 8px; }
	.mn-steps--short .mn-step > h3 { padding-block-start: 20px; }
	.mn-steps--short .mn-step > p { max-inline-size: 30ch; }
	.mn-steps--short .mn-step:not(:last-child)::before {
		inset-block: calc(var(--mn-ring) / 2 - 1px) auto;
		inset-inline: calc(var(--mn-ring) + var(--mn-air)) calc(var(--mn-air) - var(--mn-step-gap));
		inline-size: auto;
		block-size: 2px;
	}
	.mn-steps--long { --mn-step-gap: 34px; }
	/* A long track stands beside its head, which stays in view while the steps scroll. */
	.mn-steps-band:has(.mn-steps--long) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--wp--preset--spacing--90); }
	.mn-steps-band:has(.mn-steps--long) > .mn-section-head { position: sticky; inset-block-start: calc(var(--mn-sticky-top) + 32px); }
}

/* 8. FAQ (02 §7.20) -------------------------------------------------------------------------------------------- */
/* Native <details>: 64 px question rows on hairlines, a square with a plus that turns into × when open, the
   answer at the measure. From 960 px the head stands on the left, sticky. Opening animates the height where the
   browser can (10 §4.6); otherwise it opens at once. */

.mn-faq { display: grid; gap: var(--wp--custom--head-gap); interpolate-size: allow-keywords; }
.mn-faq__list { border-block-start: 1px solid var(--mn-rule); }
.mn-faq .wp-block-details { margin: 0; border-block-end: 1px solid var(--mn-rule); }
.mn-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--50);
	min-block-size: 64px;
	padding-block: 14px;
	color: var(--mn-text-strong);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	line-height: 1.35;
	list-style: none;
	cursor: pointer;
}
.mn-faq summary::-webkit-details-marker { display: none; }
.mn-faq summary::after {
	--mn-faq-mark: var(--mn-text-strong);
	content: "";
	flex: none;
	inline-size: 32px;
	block-size: 32px;
	border-radius: var(--wp--custom--radius--sm);
	background:
		linear-gradient(var(--mn-faq-mark), var(--mn-faq-mark)) center / 13px 1.6px no-repeat,
		linear-gradient(var(--mn-faq-mark), var(--mn-faq-mark)) center / 1.6px 13px no-repeat,
		var(--mn-faq-square, var(--wp--preset--color--paper-2));
	transition: transform var(--wp--custom--motion--micro) var(--wp--custom--motion--ease), background-color var(--wp--custom--motion--micro) var(--wp--custom--motion--ease);
}
.mn-band--mist .mn-faq summary::after,
.mn-band--white .mn-faq summary::after { --mn-faq-square: var(--wp--preset--color--white); box-shadow: inset 0 0 0 1px var(--mn-rule); }
.mn-band--white .mn-faq summary::after { --mn-faq-square: var(--wp--preset--color--paper); }
:is(.mn-band--ink, .mn-band--navy) .mn-faq summary::after { --mn-faq-square: rgba(255, 255, 255, 0.06); }
.mn-faq details[open] > summary::after { transform: rotate(45deg); }
.mn-faq summary:hover { color: var(--mn-link); }
.mn-faq summary:hover::after { --mn-faq-square: var(--wp--preset--color--ink-1); --mn-faq-mark: var(--wp--preset--color--white); }
.mn-faq .wp-block-details > :not(summary) { max-inline-size: var(--mn-measure); margin: 0; color: var(--mn-text); font-size: var(--wp--preset--font-size--medium); line-height: var(--wp--custom--line-height--body); }
.mn-faq .wp-block-details > :not(summary) + :not(summary) { margin-block-start: 12px; }
.mn-faq .wp-block-details > :last-child:not(summary) { padding-block-end: 22px; }
.mn-faq details::details-content {
	block-size: 0;
	overflow: clip;
	transition: block-size var(--wp--custom--motion--ui) var(--wp--custom--motion--ease), content-visibility var(--wp--custom--motion--ui) allow-discrete;
}
.mn-faq details[open]::details-content { block-size: auto; }
@media (min-width: 960px) {
	.mn-faq { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--wp--preset--spacing--90); }
	.mn-faq > .mn-section-head { position: sticky; inset-block-start: calc(var(--mn-sticky-top) + 32px); }
}

/* 9. Data plate and spec table (02 §7.12, §7.13) --------------------------------------------------------------- */

.mn-plate-split { display: grid; gap: var(--wp--custom--head-gap); }
.mn-plate-split__copy { display: grid; gap: 18px; align-content: start; }
.mn-plate-split__copy > p:not([class]) { max-inline-size: var(--mn-measure); color: var(--mn-text); }
.mn-plate {
	--mn-text: var(--wp--preset--color--text-2);
	--mn-text-strong: var(--wp--preset--color--text);
	--mn-text-muted: var(--wp--preset--color--text-3);
	--mn-rule: var(--wp--preset--color--line);
	display: grid;
	gap: 16px;
	padding: clamp(22px, 1rem + 1.6vw, 32px);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--card);
	color: var(--mn-text);
	color-scheme: light;
}
.mn-plate .is-style-eyebrow { color: var(--wp--preset--color--cyan-700); }
@media (min-width: 960px) {
	.mn-plate-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--wp--preset--spacing--90); }
}
.wp-block-table.is-style-plate { margin: 0; }
.wp-block-table.is-style-plate table { inline-size: 100%; border-collapse: collapse; border-block-start: 1px solid var(--mn-rule); table-layout: auto; }
.wp-block-table.is-style-plate :is(th, td) { padding: 13px 0; border: 0; border-block-end: 1px solid var(--mn-rule); vertical-align: baseline; }
.wp-block-table.is-style-plate th { inline-size: 42%; padding-inline-end: 20px; color: var(--mn-text-muted); font-size: var(--wp--preset--font-size--small); font-weight: 500; text-align: start; }
.wp-block-table.is-style-plate td { color: var(--mn-text-strong); font-size: var(--wp--preset--font-size--medium); font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.wp-block-table.is-style-plate figcaption,
.wp-block-table.is-style-spec figcaption { margin: 14px 0 0; color: var(--mn-text-muted); font-size: var(--wp--preset--font-size--small); text-align: start; }

/* The table scrolls inside its own region (.mn-spec-scroll, inc/page-kit.php), the caption stays put under it. */
.wp-block-table.is-style-spec { margin: 0; overflow-x: auto; border-radius: var(--wp--custom--radius--md); }
.wp-block-table.is-style-spec > .mn-spec-scroll { overflow-x: auto; border-radius: var(--wp--custom--radius--md); }
:is(.wp-block-table.is-style-spec, .mn-spec-scroll):focus-visible { outline-offset: 2px; }
.wp-block-table.is-style-spec table { min-inline-size: 36rem; border-collapse: collapse; border: 1px solid var(--mn-rule); }
.wp-block-table.is-style-spec thead { border: 0; }
.wp-block-table.is-style-spec thead th { padding: 12px; background: var(--wp--preset--color--paper-2); color: var(--wp--preset--color--text); font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: var(--wp--custom--tracking--label); text-align: start; text-transform: uppercase; }
.wp-block-table.is-style-spec :is(tbody th, td) { padding: 12px; border: 0; border-block-start: 1px solid var(--mn-rule); color: var(--mn-text-strong); font-variant-numeric: tabular-nums; text-align: start; }
.wp-block-table.is-style-spec tbody th { position: sticky; inset-inline-start: 0; background: var(--mn-surface-raised); font-weight: 600; }

/* 10. Callout and the text band (02 §7.25) --------------------------------------------------------------------- */

.mn-callout {
	--mn-callout-bar: var(--mn-link);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 16px;
	max-inline-size: 52rem;
	padding: 20px 24px;
	border: 1px solid var(--mn-rule);
	border-inline-start: 3px solid var(--mn-callout-bar);
	border-radius: var(--wp--custom--radius--md);
	background: var(--mn-surface-raised);
	box-shadow: var(--mn-shadow-card);
}
/* S014: a callout alone in its band runs the container's width (it sat at 52 rem with the rest of the row empty). */
.mn-kit > .mn-container > .mn-callout:only-child { max-inline-size: none; }
.mn-callout--warning { --mn-callout-bar: var(--wp--preset--color--warn); }
.mn-callout--success { --mn-callout-bar: var(--wp--preset--color--ok); }
:is(.mn-band--ink, .mn-band--navy) .mn-callout--warning { --mn-callout-bar: var(--wp--preset--color--led-amber); }
:is(.mn-band--ink, .mn-band--navy) .mn-callout--success { --mn-callout-bar: var(--wp--preset--color--led); }
.mn-callout > .mn-kit-icon { color: var(--mn-callout-bar); }
.mn-callout__body { display: grid; gap: 4px; }
.mn-callout__body p { color: var(--mn-text); font-size: var(--wp--custom--font-size--ui); line-height: 1.55; }
.mn-callout__body .mn-callout__title { color: var(--mn-text-strong); font-size: var(--wp--preset--font-size--medium); }

.mn-prose-band { display: grid; gap: 18px; max-inline-size: 47.5rem; }
.mn-prose-band > p:not([class]) { color: var(--mn-text); font-size: 1.0625rem; line-height: 1.65; }
.mn-prose-band > .wp-block-list:not(.is-style-checks) { padding-inline-start: 1.25rem; color: var(--mn-text); }
.mn-prose-band > .wp-block-buttons { margin-block-start: 8px; }
/* S014: from 960 px the head sits on the left and the text on the right, as the FAQ band sets them, so a short band
   ("No physical damage cover?", "Apply by email") no longer leaves the right half of the page empty. */
@media (min-width: 960px) {
	.mn-prose-band { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--wp--preset--spacing--70); row-gap: 14px; align-items: start; max-inline-size: none; }
	.mn-prose-band > * { grid-column: 2; max-inline-size: 42rem; }
	.mn-prose-band > .mn-section-head { grid-column: 1; grid-row: 1 / span 12; }
	.mn-prose-band > .wp-block-buttons { margin-block-start: 4px; }
	/* The text starts level with the H2, not with the eyebrow above it. */
	.mn-prose-band:has(> .mn-section-head > .is-style-eyebrow) > .mn-section-head + * { margin-block-start: calc(var(--wp--preset--font-size--x-small) * 1.4 + 18px); }
}

/* 11. Link cards ------------------------------------------------------------------------------------------------ */
/* A hub's pages as card hosts. Icon cards invert to ink on hover or focus, like the home's hub tiles; photo cards
   lift and zoom their graded photo. Columns follow the count: 2 → two, 3 → three, 4 → two then four, more → three. */

.mn-lcards { display: grid; gap: 20px; margin: 0; padding: 0; grid-template-columns: minmax(0, 1fr); list-style: none; }
.mn-lcard {
	--mn-tile-bg: var(--mn-surface-raised);
	--mn-tile-border: var(--mn-rule);
	--mn-tile-title: var(--mn-text-strong);
	--mn-tile-body: var(--mn-text);
	--mn-tile-chip-bg: var(--mn-tick-bg);
	--mn-tile-chip-fg: var(--mn-tick-fg);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "icon go" "body body";
	grid-template-rows: auto minmax(0, 1fr);
	gap: 28px 16px;
	min-inline-size: 0;
	padding: 26px;
	border: 1px solid var(--mn-tile-border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--mn-tile-bg);
	box-shadow: var(--mn-shadow-card);
	transition: background-color var(--wp--custom--motion--ui) var(--wp--custom--motion--ease), border-color var(--wp--custom--motion--ui) var(--wp--custom--motion--ease), box-shadow var(--wp--custom--motion--ui) var(--wp--custom--motion--ease), transform var(--wp--custom--motion--ui) var(--wp--custom--motion--ease);
}
.mn-lcard__icon {
	grid-area: icon;
	display: grid;
	place-items: center;
	inline-size: 48px;
	block-size: 48px;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--mn-tile-chip-bg);
	color: var(--mn-tile-chip-fg);
	transition: background-color var(--wp--custom--motion--ui) var(--wp--custom--motion--ease), color var(--wp--custom--motion--ui) var(--wp--custom--motion--ease);
}
.mn-lcard__body { grid-area: body; display: grid; gap: 8px; align-self: end; min-inline-size: 0; }
.mn-lcard__body > * { margin: 0; }
.mn-lcard__title { color: var(--mn-tile-title); font-size: var(--wp--preset--font-size--x-large); line-height: var(--wp--custom--line-height--title); letter-spacing: var(--wp--custom--tracking--title); transition: color var(--wp--custom--motion--ui) var(--wp--custom--motion--ease); }
.mn-lcard__title a { color: inherit; }
.mn-lcard__text { color: var(--mn-tile-body); font-size: var(--wp--custom--font-size--ui); line-height: 1.5; transition: color var(--wp--custom--motion--ui) var(--wp--custom--motion--ease); }
.mn-lcard__go { grid-area: go; align-self: start; }
.mn-lcard__draft { position: absolute; inset-block-start: 34px; inset-inline-end: 82px; z-index: var(--mn-z-raised); }
.mn-band:not(.mn-band--ink, .mn-band--navy) .mn-lcard--icon.mn-card-host:is(:hover, :focus-within) {
	--mn-tile-bg: var(--wp--preset--color--ink-1);
	--mn-tile-border: var(--wp--preset--color--ink-1);
	--mn-tile-title: var(--wp--preset--color--white);
	--mn-tile-body: var(--wp--preset--color--on-dark-2);
	--mn-tile-chip-bg: var(--wp--preset--color--cyan);
	--mn-tile-chip-fg: var(--wp--preset--color--ink-1);
	box-shadow: var(--wp--preset--shadow--lift);
}
.mn-band:not(.mn-band--ink, .mn-band--navy) .mn-lcard--icon.mn-card-host:is(:hover, :focus-within) .mn-square--go { border-color: var(--wp--preset--color--cyan); }
:is(.mn-band--ink, .mn-band--navy) .mn-lcard.mn-card-host:is(:hover, :focus-within) { --mn-tile-border: rgba(var(--wp--custom--cyan-rgb), 0.5); box-shadow: var(--wp--preset--shadow--deep); }
@media (hover: hover) and (pointer: fine) {
	.mn-lcard.mn-card-host:hover { transform: translateY(-4px); }
}
/* Photo cards: the photo on top at 3:2, the body under it, the go square beside the title. */
.mn-lcard--photo { grid-template-areas: "photo photo" "body go"; grid-template-rows: auto auto; padding: 0 0 22px; overflow: hidden; }
.mn-lcard--photo .mn-lcard__body { padding-inline-start: 22px; }
.mn-lcard--photo .mn-lcard__go { align-self: end; margin-inline-end: 22px; }
.mn-lcard--photo .mn-lcard__draft { inset-block-start: 14px; inset-inline-end: 14px; }
.mn-lcard__photo { grid-area: photo; aspect-ratio: 3 / 2; }
.mn-lcard__photo .mn-brackets { --mn-bk-inset: 14px; }
/* Phones, and one or two icon cards at any width: compact rows (icon, name and line, the go square), so no card
   holds a void. */
@media (max-width: 599px) {
	.mn-lcard--icon {
		grid-template-columns: 48px minmax(0, 1fr) auto;
		grid-template-areas: "icon body go";
		grid-template-rows: auto;
		align-items: center;
		gap: 0 16px;
		padding: 20px 18px;
	}
	.mn-lcard--icon .mn-lcard__go { align-self: center; }
	.mn-lcard--icon .mn-lcard__title { font-size: 1.1875rem; }
	.mn-lcard--icon .mn-lcard__draft { inset-block-start: 8px; inset-inline-end: 8px; block-size: 22px; padding-inline: 7px; }
}
@media (min-width: 600px) {
	.mn-lcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-lcard { min-block-size: 15rem; }
	.mn-lcard--photo { min-block-size: 0; }
	.mn-lcards:is([data-count="1"], [data-count="2"]) .mn-lcard--icon {
		grid-template-columns: 48px minmax(0, 1fr) auto;
		grid-template-areas: "icon body go";
		grid-template-rows: auto;
		align-items: center;
		gap: 0 22px;
		min-block-size: 0;
		padding-block: 24px;
	}
	.mn-lcards:is([data-count="1"], [data-count="2"]) .mn-lcard--icon .mn-lcard__go { align-self: center; }
	.mn-lcards:is([data-count="1"], [data-count="2"]) .mn-lcard--icon .mn-lcard__draft { inset-block-start: 10px; inset-inline-end: 10px; }
}
@media (min-width: 960px) {
	.mn-lcards:is([data-count="3"], [data-count="5"], [data-count="6"], [data-count="7"], [data-count="9"]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mn-lcards[data-count="1"] { grid-template-columns: minmax(0, 32rem); }
}
@media (min-width: 1224px) {
	.mn-lcards:is([data-count="4"], [data-count="8"]) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* 12. Related strip --------------------------------------------------------------------------------------------- */

.mn-related__inner { display: grid; gap: 18px; }
.mn-related__title { margin: 0; }
.mn-related__list { display: grid; margin: 0; padding: 0; grid-template-columns: minmax(0, 1fr); border-block-start: 1px solid var(--mn-rule); list-style: none; }
.mn-related__item {
	position: relative;
	display: grid;
	align-content: center;
	gap: 6px;
	min-block-size: 76px;
	padding: 16px 52px 16px 0;
	border-block-end: 1px solid var(--mn-rule);
}
.mn-related__kicker { color: var(--mn-text-muted); font-size: var(--wp--custom--font-size--micro); font-weight: 600; letter-spacing: var(--wp--custom--tracking--spec); text-transform: uppercase; }
.mn-related__link { color: var(--mn-text-strong); font-family: var(--wp--preset--font-family--display); font-size: 1.1875rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.015em; }
.mn-related__arrow { position: absolute; inset-block-start: 50%; inset-inline-end: 12px; inline-size: 20px; block-size: 20px; margin-block-start: -10px; color: var(--mn-link); transition: transform var(--wp--custom--motion--micro) var(--wp--custom--motion--ease); }
.mn-related__item:hover .mn-related__link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
@media (hover: hover) and (pointer: fine) { .mn-related__item:hover .mn-related__arrow { transform: translateX(3px); } }
.mn-related__item .mn-lcard__draft { position: static; justify-self: start; block-size: 22px; padding-inline: 7px; }
@media (min-width: 600px) {
	.mn-related__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
}
@media (min-width: 960px) {
	.mn-related__inner { grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); align-items: center; gap: 40px; }
	.mn-related__list:is([data-count="3"]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mn-related__list:is([data-count="4"]) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* 13. CTA band (02 §7.19) -------------------------------------------------------------------------------------- */

.mn-cta-band__glow { --mn-glow-strength: 0.2; inset-inline-end: -12%; inset-block-start: -80%; inline-size: 60%; block-size: 260%; }
.mn-cta-band__inner { display: grid; gap: 28px; align-items: center; }
.mn-cta-band__copy { display: grid; gap: 14px; }
.mn-cta-band__copy > *,
.mn-cta-band__actions > * { margin: 0; }
.mn-cta-band__title { max-inline-size: 22ch; color: var(--wp--preset--color--white); font-size: var(--wp--preset--font-size--xx-large); line-height: var(--wp--custom--line-height--heading); letter-spacing: var(--wp--custom--tracking--heading); }
.mn-cta-band__lede { max-inline-size: 52ch; color: var(--mn-text); font-size: var(--wp--preset--font-size--large); line-height: var(--wp--custom--line-height--lede); }
.mn-cta-band__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.mn-cta-band__call { color: var(--mn-text); font-size: var(--wp--custom--font-size--ui); }
.mn-cta-band__call a { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--target--min); color: var(--wp--preset--color--white); font-weight: 600; text-decoration-color: var(--wp--preset--color--cyan); }
.mn-cta-band__call a:hover { color: var(--mn-link); }
@media (min-width: 782px) {
	.mn-cta-band__inner { grid-template-columns: minmax(0, 1fr) auto; gap: 48px; }
	.mn-cta-band__actions { flex-direction: column; align-items: flex-start; gap: 6px; }
}
@media (max-width: 781px) {
	.mn-cta-band__actions { display: grid; grid-template-columns: minmax(0, 1fr); }
	.mn-cta-band__actions .mn-btn { inline-size: 100%; }
}

/* 14. Partner plates ------------------------------------------------------------------------------------------- */
/* Blue Capital's own navy plate (the only other place navy shows, 09 §2.1) and the Max-Atlas dealer plate on the
   graphite stage: dark plates on any band, the reversed logos screened onto them. */

.mn-partners-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
.mn-pplate {
	position: relative;
	isolation: isolate;
	overflow: clip;
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-inline-size: 0;
	padding: clamp(26px, 3.2vw, 44px);
	border-radius: var(--wp--custom--radius--lg);
}
.mn-pplate > * { margin: 0; }
.mn-pplate--bc { background: var(--wp--preset--gradient--blue-capital); box-shadow: var(--wp--preset--shadow--raised); }
.mn-pplate--ma { border: 1px solid var(--mn-rule-2); background: var(--wp--preset--gradient--stage); box-shadow: var(--wp--preset--shadow--pop); }
.mn-pplate__glow { --mn-glow-strength: 0.28; inset-inline-end: -30%; inset-block-start: -40%; inline-size: 90%; block-size: 90%; filter: none; }
.mn-pplate__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.mn-pplate__top > p { margin: 0; }
.mn-pplate__logo .mn-partner-logo { display: block; inline-size: auto; block-size: 30px; }
.mn-pplate--ma .mn-pplate__logo .mn-partner-logo { block-size: 36px; }
.mn-pplate__kicker { color: var(--wp--preset--color--cyan-300); font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: var(--wp--custom--tracking--label); text-transform: uppercase; }
.mn-pplate__text { max-inline-size: 46ch; color: var(--wp--preset--color--on-dark-2); font-size: var(--wp--preset--font-size--medium); line-height: var(--wp--custom--line-height--lede); }
.mn-pplate__claim { display: grid; gap: 8px; padding-block-start: 18px; border-block-start: 1px solid rgba(255, 255, 255, 0.12); }
.mn-pplate__claim > p { margin: 0; }
.mn-pplate__big { color: var(--wp--preset--color--white); font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xx-large); font-weight: 800; line-height: 1; letter-spacing: var(--wp--custom--tracking--heading); font-synthesis: none; }
.mn-pplate__big--line { max-inline-size: 18ch; line-height: 1.04; }
.mn-pplate__sub { color: var(--wp--preset--color--on-dark-2); font-size: var(--wp--preset--font-size--small); }
.mn-pplate__list { border-color: rgba(255, 255, 255, 0.12); }
.mn-pplate__list > li { min-block-size: 46px; gap: var(--wp--preset--spacing--30); border-color: rgba(255, 255, 255, 0.12); color: var(--wp--preset--color--white); font-size: var(--wp--custom--font-size--ui); font-weight: 500; }
.mn-pplate__list .mn-icon { inline-size: 18px; block-size: 18px; color: var(--wp--preset--color--cyan-300); }
.mn-pplate__note { display: flex; align-items: flex-start; gap: 8px; color: var(--wp--preset--color--on-dark-2); font-size: var(--wp--preset--font-size--small); }
.mn-pplate__note .mn-icon { flex: none; inline-size: 18px; block-size: 18px; color: var(--wp--preset--color--cyan-300); }
.mn-pplate__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-block-start: auto !important; padding-block-start: 6px; }
.mn-pplate__domain { color: var(--wp--preset--color--on-dark-3); font-size: var(--wp--custom--font-size--micro); }
/* The Max-Atlas plate's render: the studio sweep set into the plate, the product beside the dealer line. */
.mn-pplate__render { aspect-ratio: 16 / 9; margin-block-start: 4px !important; border-radius: var(--wp--custom--radius--md); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06); }
@media (min-width: 960px) {
	.mn-partners-grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-partners-grid[data-count="1"] { max-inline-size: 44rem; }
	/* S014: one partner plate sits beside its section head instead of under it with the right half empty. */
	.mn-partners-band > .mn-container:has(> .mn-section-head + .mn-partners-grid[data-count="1"]) { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--wp--preset--spacing--70); align-items: start; }
	.mn-partners-band > .mn-container:has(> .mn-section-head + .mn-partners-grid[data-count="1"]) > * { margin: 0; }
	.mn-partners-band > .mn-container:has(> .mn-section-head + .mn-partners-grid[data-count="1"]) > .mn-partners-grid { max-inline-size: none; }
}
@media (max-width: 599px) {
	.mn-pplate__actions .mn-btn { inline-size: 100%; }
}

/* 15. Legal pages: contents and the contact line ------------------------------------------------------------------ */

.mn-legal { padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--80); }
.mn-legal > .mn-container { display: grid; gap: 32px; }
.mn-legal > .mn-container > * { margin: 0; min-inline-size: 0; }
.mn-legal .mn-prose { max-inline-size: 42rem; }
.mn-legal .mn-prose .wp-block-table.is-style-spec { margin-block: 18px; }
.mn-toc { padding: 20px 22px; border: 1px solid var(--mn-rule); border-radius: var(--wp--custom--radius--md); background: var(--mn-surface-raised); }
.mn-toc > * { margin: 0; }
.mn-toc ol { display: grid; margin: 12px 0 0; padding: 0; list-style: none; counter-reset: mn-toc; }
.mn-toc li { counter-increment: mn-toc; }
.mn-toc a { display: flex; align-items: center; gap: 10px; min-block-size: var(--wp--custom--target--min); color: var(--mn-text); font-size: var(--wp--custom--font-size--ui); text-decoration: none; }
.mn-toc a::before { content: counter(mn-toc, decimal-leading-zero); flex: none; color: var(--mn-text-muted); font-size: var(--wp--custom--font-size--micro); font-weight: 600; font-variant-numeric: tabular-nums; }
.mn-toc a:hover { color: var(--mn-text-strong); text-decoration: underline; text-underline-offset: 0.2em; }
.mn-contact-line { display: flex; align-items: flex-start; gap: 12px; max-inline-size: 42rem; padding-block-start: 28px; border-block-start: 1px solid var(--mn-rule); color: var(--mn-text); font-size: var(--wp--custom--font-size--ui); }
.mn-contact-line .mn-icon { flex: none; inline-size: 20px; block-size: 20px; margin-block-start: 1px; color: var(--mn-link); }
.mn-contact-line a { color: var(--mn-link); font-weight: 600; }
@media (min-width: 1100px) {
	.mn-legal > .mn-container { grid-template-columns: minmax(0, 15rem) minmax(0, 42rem); justify-content: start; column-gap: var(--wp--preset--spacing--90); align-items: start; }
	.mn-legal > .mn-container > .mn-toc { grid-row: 1 / span 2; position: sticky; inset-block-start: calc(var(--mn-sticky-top) + 24px); }
	.mn-legal > .mn-container > :not(.mn-toc) { grid-column: 2; }
}

/* 17. Reduced motion: the global stop in theme.css §24 ends every transition; nothing here moves on its own. ----- */
@media (prefers-reduced-motion: reduce) {
	.mn-lcard.mn-card-host:hover,
	.mn-kit .wp-block-button__link:hover { transform: none; }
	.mn-related__item:hover .mn-related__arrow,
	.mn-kit .wp-block-button__link:hover::after { transform: none; }
	.mn-faq details::details-content { transition: none; }
}
