/**
 * Peilmark homepage v7 (2026-09-24).
 *
 * Replaces homepage.css on the homepage template. Built from the v7 working
 * preview: navy hero, one cerise button per view, chartreuse for small
 * accents on dark. Display type in Newsreader (self-hosted, upright and
 * italic); labels, body and buttons in the site sans. See v7.1 at the end.
 */

.pm7 {
	--pm7-ink: #0F1A2E;
	--pm7-paper: #FAF7F2;
	--pm7-paper-deep: #F2EDE4;
	--pm7-cerise: #CA4271;
	--pm7-cerise-dark: #B3355F;
	--pm7-plum: #3D2241;
	--pm7-chartreuse: #B5D43A;
	--pm7-soft: #4A5266;
	--pm7-rule: #E4DED4;
	--pm7-serif: 'Newsreader', Georgia, 'Times New Roman', serif;

	background: var(--pm7-paper);
	color: var(--pm7-ink);
	font-size: 17px;
	line-height: 1.6;
	overflow-x: hidden;
}

.pm7 ::selection { background: var(--pm7-chartreuse); color: var(--pm7-ink); }

.pm7 p { margin: 0; }

/* Kadence emits bare heading colour rules that beat inheritance, so every
   heading states its own colour. */
.pm7 h1,
.pm7 h2,
.pm7 h3 {
	margin: 0;
	color: var(--pm7-ink);
	font-weight: 600;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.pm7-wrap { max-width: 1120px; margin: 0 auto; padding-inline: 40px; }

.pm7-section { padding-block: 104px; }

.pm7-h2 {
	font-size: clamp(34px, 4.2vw, 54px);
	line-height: 1.08;
	margin-bottom: 56px !important;
}

/* ---------- Buttons and links ---------- */

.pm7-btn {
	display: inline-block;
	background: var(--pm7-cerise);
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	padding: 18px 30px;
	border-radius: 2px;
	text-decoration: none;
}

.pm7-btn:hover,
.pm7-btn:focus-visible { background: var(--pm7-cerise-dark); color: #FFFFFF; }

.pm7 a:focus-visible { outline: 3px solid var(--pm7-chartreuse); outline-offset: 3px; }

/* Button and microcopy share one column, so the two short lines never run
   wider than the button. */
.pm7-cta { display: inline-flex; flex-direction: column; align-items: flex-start; }

.pm7-micro {
	margin-top: 14px !important;
	font-size: 14px;
	line-height: 1.5;
	font-style: italic;
	opacity: 0.75;
}

.pm7-cta--row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px 36px;
}

.pm7-textlink {
	margin-top: 18px;
	font-weight: 600;
	color: var(--pm7-ink);
	text-decoration: none;
	border-bottom: 1px solid rgba(15, 26, 46, 0.35);
	padding-bottom: 2px;
}

.pm7-textlink:hover { color: var(--pm7-cerise); border-bottom-color: var(--pm7-cerise); }

/* ---------- Hero ---------- */

.pm7-hero {
	background: var(--pm7-ink);
	color: var(--pm7-paper);
	padding-block: 112px 104px;
}

.pm7 .pm7-hero__title {
	color: var(--pm7-paper);
	font-size: clamp(46px, 8vw, 104px);
	line-height: 0.98;
	letter-spacing: -0.045em;
}

.pm7-hero__title em {
	font-family: var(--pm7-serif);
	font-weight: 400;
	font-style: italic;
	letter-spacing: -0.02em;
	color: var(--pm7-chartreuse);
}

.pm7-hero__sub {
	margin-top: 32px !important;
	max-width: 34ch;
	font-size: clamp(19px, 2.2vw, 23px);
	line-height: 1.5;
	color: rgba(250, 247, 242, 0.88);
}

.pm7-hero .pm7-cta { margin-top: 40px; }

/* ---------- Problem ---------- */

.pm7-lines { display: grid; gap: 24px; max-width: 760px; }

.pm7-lines p {
	font-size: clamp(22px, 2.6vw, 28px);
	line-height: 1.35;
	letter-spacing: -0.015em;
}

.pm7-punch {
	margin-top: 56px !important;
	padding-top: 32px;
	border-top: 2px solid var(--pm7-ink);
	max-width: 820px;
	font-size: clamp(28px, 3.8vw, 44px);
	line-height: 1.18;
	font-weight: 600;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.pm7-punch mark {
	background: linear-gradient(transparent 60%, rgba(181, 212, 58, 0.6) 60%);
	color: inherit;
	padding: 0 2px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

/* ---------- Guide ---------- */

.pm7-guide { background: var(--pm7-paper-deep); }

.pm7-guide__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 72px;
	align-items: center;
}

.pm7-guide__lead {
	font-family: var(--pm7-serif);
	font-style: italic;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.28;
}

.pm7-guide__body {
	margin-top: 24px !important;
	font-size: 19px;
	color: var(--pm7-soft);
	max-width: 34em;
}

.pm7-photo {
	aspect-ratio: 4 / 5;
	max-width: 100%;
	background: repeating-linear-gradient(135deg, #E7E0D4 0 12px, #EDE7DC 12px 24px);
	transform: translateX(24px);
}

/* ---------- Plan ---------- */

.pm7-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
}

.pm7-steps li { margin: 0; border-top: 2px solid var(--pm7-ink); padding-top: 20px; }
.pm7-steps li:last-child { border-top-color: var(--pm7-cerise); }

.pm7-steps__num {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: var(--pm7-soft);
	font-variant-numeric: tabular-nums;
}

.pm7-steps li:last-child .pm7-steps__num { color: var(--pm7-cerise); }

.pm7 .pm7-steps h3 { font-size: clamp(21px, 1.9vw, 25px); line-height: 1.2; margin: 8px 0 12px; }
.pm7-steps p { font-size: 16px; color: var(--pm7-soft); }

.pm7-kicker {
	margin: 56px 0 32px !important;
	font-family: var(--pm7-serif);
	font-style: italic;
	font-size: clamp(22px, 2.4vw, 27px);
	line-height: 1.35;
	max-width: 36em;
}

/* ---------- Offers ---------- */

.pm7-offers { border-top: 1px solid var(--pm7-rule); }

.pm7-tier {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pm7-plum);
}

.pm7-eyebrow { margin-top: 6px !important; font-size: 15px; font-weight: 600; }

.pm7-offer--primary {
	background: var(--pm7-ink);
	color: var(--pm7-paper);
	padding: 56px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: end;
}

.pm7-offer--primary .pm7-tier { color: var(--pm7-chartreuse); }

.pm7 .pm7-offer--primary h3 {
	color: var(--pm7-paper);
	font-size: clamp(32px, 4.2vw, 50px);
	line-height: 1.04;
	margin-top: 20px;
}

.pm7-offer__body { color: rgba(250, 247, 242, 0.85); }
.pm7-offer__body p + p { margin-top: 14px; }

.pm7-go {
	display: inline-block;
	margin-top: 26px;
	padding: 12px 20px;
	font-weight: 600;
	text-decoration: none;
	color: var(--pm7-ink);
	border: 1.5px solid currentColor;
	border-radius: 2px;
}

.pm7-go:hover { background: rgba(15, 26, 46, 0.06); color: var(--pm7-ink); }

.pm7-offer--primary .pm7-go { color: var(--pm7-chartreuse); }
.pm7-offer--primary .pm7-go:hover { background: rgba(181, 212, 58, 0.12); color: var(--pm7-chartreuse); }

.pm7-offer-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 16px;
}

.pm7-offer--card {
	background: #FFFFFF;
	border: 1px solid var(--pm7-rule);
	padding: 44px;
	display: flex;
	flex-direction: column;
}

.pm7 .pm7-offer--card h3 { font-size: clamp(25px, 2.4vw, 31px); line-height: 1.15; margin-top: 16px; }

.pm7-offer__text { margin-top: 16px !important; color: var(--pm7-soft); }

/* Links sit on a shared baseline at the foot of both cards. */
.pm7-offer--card .pm7-go { margin-top: auto; align-self: flex-start; }
.pm7-offer--card .pm7-wlist,
.pm7-offer--card .pm7-offer__text { margin-bottom: 32px; }

.pm7-wlist { margin-top: 20px; }
.pm7-wlist div { padding-block: 13px; border-top: 1px solid var(--pm7-rule); }
.pm7-wlist div:last-child { border-bottom: 1px solid var(--pm7-rule); }
.pm7-wlist b { display: block; font-size: 15px; font-weight: 600; }
.pm7-wlist span { font-size: 15px; color: var(--pm7-soft); }

.pm7-soon {
	display: inline-block;
	margin-left: 8px;
	padding: 3px 8px;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: var(--pm7-chartreuse);
	color: var(--pm7-ink);
	border-radius: 2px;
	vertical-align: 2px;
}

/* ---------- Proof ---------- */

.pm7-proof { background: var(--pm7-paper-deep); }

.pm7-quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }

.pm7-quotes blockquote {
	margin: 0;
	padding: 4px 0 4px 28px;
	border: 0;
	border-left: 2px solid var(--pm7-cerise);
	background: none;
	font-style: normal;
}

.pm7-quotes blockquote p {
	font-family: var(--pm7-serif);
	font-style: italic;
	font-size: clamp(20px, 1.8vw, 24px);
	line-height: 1.42;
	color: var(--pm7-ink);
}

.pm7-quotes footer {
	margin-top: 18px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pm7-soft);
}

.pm7-clients {
	margin-top: 64px;
	padding-top: 28px;
	border-top: 1px solid var(--pm7-rule);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px 36px;
}

.pm7-clients__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pm7-soft);
}

.pm7-clients__names { display: flex; flex-wrap: wrap; gap: 8px 36px; font-size: 22px; font-weight: 600; letter-spacing: -0.02em; }

/* ---------- Final CTA ---------- */

.pm7-final { background: var(--pm7-plum); color: var(--pm7-paper); }

.pm7 .pm7-final__h {
	color: var(--pm7-paper);
	font-size: clamp(44px, 7vw, 88px);
	line-height: 1;
	letter-spacing: -0.045em;
}

.pm7-final__h em {
	font-family: var(--pm7-serif);
	font-weight: 400;
	font-style: italic;
	letter-spacing: -0.02em;
	color: var(--pm7-chartreuse);
}

.pm7-final .pm7-cta { margin-top: 40px; }

.pm7-soft { margin-top: 32px !important; font-size: 16px; color: rgba(250, 247, 242, 0.88); }

.pm7-soft a {
	color: var(--pm7-paper);
	text-decoration: none;
	border-bottom: 1px solid var(--pm7-chartreuse);
	padding-bottom: 1px;
}

.pm7-soft a:hover { color: var(--pm7-chartreuse); }

/* ---------- Scroll reveal (homepage.js arms .pm-reveal) ---------- */

.pm-reveal.is-armed {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.7s cubic-bezier(0.16, 0.84, 0.44, 1),
	            transform 0.7s cubic-bezier(0.16, 0.84, 0.44, 1);
}

.pm-reveal.is-armed.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.pm-reveal.is-armed { opacity: 1; transform: none; transition: none; }
}

/* ---------- Responsive ---------- */

@media (max-width: 1000px) {
	.pm7-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 44px; }
}

@media (max-width: 767px) {
	.pm7-wrap { padding-inline: 24px; }
	.pm7-section { padding-block: 68px; }
	/* The subhead has to be visible without scrolling on a phone. */
	.pm7-hero { padding-block: 48px 64px; }
	.pm7-hero__sub { margin-top: 22px !important; }
	.pm7-hero .pm7-cta { margin-top: 30px; }
	.pm7-guide__grid,
	.pm7-steps,
	.pm7-quotes,
	.pm7-offer--primary,
	.pm7-offer-pair { grid-template-columns: minmax(0, 1fr); }
	.pm7-guide__grid { gap: 40px; }
	.pm7-photo { transform: none; aspect-ratio: 4 / 3; }
	.pm7-offer--primary { padding: 36px 28px; gap: 28px; }
	.pm7-offer--card { padding: 32px 28px; }
	.pm7-quotes { gap: 40px; }
	.pm7-quotes blockquote { padding-left: 20px; }
	.pm7-cta--row { gap: 12px; }
}

/* ==========================================================================
   v7.1 (2026-09-24) Serif display
   Upright Newsreader is now self-hosted, so the display type moves to the
   serif as in the approved preview. Labels, body and buttons stay sans.
   ========================================================================== */

.pm7 h1,
.pm7 h2,
.pm7 h3,
.pm7-lines p,
.pm7-punch,
.pm7-clients__names {
	font-family: var(--pm7-serif);
	font-weight: 400;
	letter-spacing: -0.015em;
}

.pm7 .pm7-hero__title,
.pm7 .pm7-final__h { letter-spacing: -0.025em; line-height: 1.02; }

.pm7-hero__title em,
.pm7-final__h em { letter-spacing: -0.015em; }

.pm7 .pm7-offer--primary h3 { font-weight: 500; }

.pm7-punch { line-height: 1.2; }

/* Upright in the preview; italic is kept for the kicker and the hook lines. */
.pm7-guide__lead,
.pm7-quotes blockquote p { font-style: normal; }

/* ---------- Guide photo (2026-09-24) ----------
   Real image replaces the striped placeholder. On phones the frame turns
   landscape, so the crop is anchored high to keep the face in view. */
img.pm7-photo {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: 50% 20%;
	background: none;
}

/* ---------- Photo credit (AI disclosure) ----------
   Set like a photo credit: small, muted, right under the image. The offset
   moves from the image to the figure so the credit stays aligned with it. */
.pm7-photo-fig { margin: 0; transform: translateX(24px); }
.pm7-photo-fig img.pm7-photo { transform: none; }

.pm7-photo-credit {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: rgba(15, 26, 46, 0.55);
	text-align: right;
}

@media (max-width: 767px) {
	.pm7-photo-fig { transform: none; }
}

/* ==========================================================================
   v8 copy (2026-10-12)
   Portfolio definition as bridge under the four-decisions heading; second
   hero subline; proof section runs logos only until the Tobias quote lands.
   ========================================================================== */

.pm7-hero__sub + .pm7-hero__sub {
	margin-top: 12px !important;
}

.pm7-plan .pm7-h2 + .pm7-bridge {
	margin: -24px 0 56px !important;
	max-width: 40em;
	font-size: 20px;
	line-height: 1.55;
	color: var(--pm7-soft);
}

.pm7-proof .pm7-wrap > .pm7-clients:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

/* v8.1 (2026-10-12): punch line moved under the guide photo. */
.pm7-punch--guide {
	margin-top: 72px !important;
	max-width: 30em;
}

/* v8.2 (2026-10-12): full-height highlight instead of the half-height marker (read as an AI trope). */
.pm7-punch mark {
	background: rgba(181, 212, 58, 0.55);
	padding: 0 6px;
}

/* ==========================================================================
   v8.3 (2026-10-12) EPM band
   Aubergine support band (palette: large deep surfaces), paper type,
   chartreuse badge, illustrative spend-vs-impact graphic. Workshops card
   now runs full width with its three offers side by side.
   ========================================================================== */

.pm7-offer-pair--single { grid-template-columns: minmax(0, 1fr); }

@media (min-width: 900px) {
	.pm7-offer-pair--single .pm7-wlist {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 32px;
	}
}

.pm7-epm {
	background: var(--pm7-plum);
	color: var(--pm7-paper);
}

.pm7-epm__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
}

.pm7-epm .pm7-tier { color: rgba(250, 247, 242, 0.65); }
.pm7-epm .pm7-eyebrow { color: var(--pm7-paper); }

.pm7 .pm7-epm__h {
	margin-top: 18px !important;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.12;
	color: var(--pm7-paper);
}

.pm7-epm__body {
	margin-top: 20px !important;
	max-width: 32em;
	font-size: 19px;
	line-height: 1.55;
	color: rgba(250, 247, 242, 0.82);
}

.pm7-epm .pm7-go { color: var(--pm7-paper); }

.pm7-epm .pm7-go:hover,
.pm7-epm .pm7-go:focus-visible {
	background: var(--pm7-paper);
	color: var(--pm7-plum);
}

.pm7-epm__fig { margin: 0; }
.pm7-epm__fig svg { display: block; width: 100%; height: auto; }

.pm7-epm__fig figcaption {
	margin-top: 8px;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(250, 247, 242, 0.5);
	text-align: right;
}

@media (max-width: 899px) {
	.pm7-epm__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}

/* v8.4 (2026-10-13): her quadrant graphic, max 480px, right-hand column. */
.pm7-epm__fig .pm-quadrant { margin-left: auto; }
.pm7-epm__fig figcaption { max-width: 480px; margin-left: auto; }

/* v8.5 (2026-10-13): EPM as the third offer card, Aubergine, same family as Advisory/Workshops.
   Replaces the separate .pm7-epm band (rules above stay harmless, no longer used). */
.pm7-offer--epm {
	background: var(--pm7-plum);
	border-color: var(--pm7-plum);
	color: var(--pm7-paper);
}
.pm7-offer--epm .pm7-tier { color: rgba(250, 247, 242, 0.65); }
.pm7-offer--epm .pm7-eyebrow,
.pm7 .pm7-offer--epm h3 { color: var(--pm7-paper); }
.pm7-offer--epm .pm7-offer__text { color: rgba(250, 247, 242, 0.82); }
.pm7-offer--epm .pm7-go { color: var(--pm7-paper); align-self: flex-start; }
.pm7-offer--epm .pm7-go:hover,
.pm7-offer--epm .pm7-go:focus-visible { background: var(--pm7-paper); color: var(--pm7-plum); }
.pm7-offer--epm .pm7-epm__fig { margin: 28px 0 0; }
.pm7-offer--epm .pm-quadrant { margin: 0 auto; border-radius: 8px; overflow: hidden; }

/* v8.6 (2026-10-13): EPM card graphic on top and a third smaller (illustrative, not a manual);
   early-access button in Chartreuse with room to breathe. */
.pm7-offer--epm .pm7-epm__fig { margin: 0 0 28px; }
.pm7-offer--epm .pm-quadrant { max-width: 320px; margin: 0; }
.pm7-offer--epm .pm7-go {
	margin-top: 36px;
	background: var(--pm7-chartreuse);
	border-color: var(--pm7-chartreuse);
	color: var(--pm7-ink);
}
.pm7-offer--epm .pm7-go:hover,
.pm7-offer--epm .pm7-go:focus-visible { background: var(--pm7-paper); border-color: var(--pm7-paper); color: var(--pm7-plum); }

/* v8.7 (2026-10-13): graphic between title and text, centred. */
.pm7-offer--epm .pm7-epm__fig { margin: 28px 0 24px; }
.pm7-offer--epm .pm-quadrant { margin: 0 auto; }

/* v8.8 (2026-10-13): EPM card back to white like Workshops, ink text; highlights stay
   (Chartreuse "Early access 2027" badge and button, the quadrant). */
.pm7-offer--epm {
	background: #FFFFFF;
	border-color: var(--pm7-rule);
	color: var(--pm7-ink);
}
.pm7-offer--epm .pm7-tier { color: var(--pm7-plum); }
.pm7-offer--epm .pm7-eyebrow,
.pm7 .pm7-offer--epm h3 { color: var(--pm7-ink); }
.pm7-offer--epm .pm7-offer__text { color: var(--pm7-soft); }
.pm7-offer--epm .pm7-go:hover,
.pm7-offer--epm .pm7-go:focus-visible { background: var(--pm7-ink); border-color: var(--pm7-ink); color: var(--pm7-paper); }

/* ==========================================================================
   v9 copy (2026-10-14)
   Hero "Events mean business." with button + jump link; problem as heading
   and prose; four phases without bridge/kicker; offers without tier labels;
   one named testimonial above the client line; founder section with photo;
   final CTA with a shorter-set headline, one button, two soft links.
   ========================================================================== */

.pm9-hero__actions {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 32px;
}

.pm9-jump {
	font-weight: 600;
	color: var(--pm7-paper);
	text-decoration: none;
	border-bottom: 1px solid var(--pm7-chartreuse);
	padding-bottom: 2px;
}
.pm9-jump:hover { color: var(--pm7-chartreuse); }

.pm9 .pm7-hero__sub { max-width: 40ch; }

/* Sticky bar + header sit above the jump target. */
#portfolio-approach { scroll-margin-top: calc(var(--pm-announce-h, 0px) + 96px); }
@media (prefers-reduced-motion: no-preference) { html:has(.pm9) { scroll-behavior: smooth; } }

.pm9-problem .pm7-h2 { max-width: 18em; }
.pm9-prose { display: grid; gap: 20px; max-width: 44em; }
.pm9-prose p { font-size: clamp(18px, 1.6vw, 20px); line-height: 1.6; color: var(--pm7-soft); }

.pm9 .pm7-offer--primary { align-items: start; }
.pm9 .pm7-offer--primary h3 { margin-top: 0; }
.pm9 .pm7-offer--card h3 { margin-top: 0; }
.pm9 .pm7-offer--primary .pm7-offer__body p { font-size: 18px; }

.pm9-subline {
	margin-top: 10px !important;
	font-family: var(--pm7-serif);
	font-style: italic;
	font-size: 20px;
	line-height: 1.35;
	color: var(--pm7-ink);
}

.pm9 .pm7-offer--epm .pm7-go { margin-top: auto; }

.pm9-quote { grid-template-columns: minmax(0, 1fr); max-width: 820px; }
.pm9-quote blockquote p { font-size: clamp(24px, 2.6vw, 32px); line-height: 1.35; }
.pm9-quote footer { display: flex; flex-direction: column; gap: 4px; }
.pm9-quote footer strong {
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--pm7-ink);
}
.pm9-quote footer span { font-weight: 500; }

.pm9-founder { background: var(--pm7-paper); }
.pm9-founder .pm7-h2 { margin-bottom: 28px !important; }
.pm9-founder .pm7-guide__body { margin-top: 0 !important; }
.pm9-meet { display: inline-block; margin-top: 28px; }

.pm9 .pm9-final__h { font-size: clamp(36px, 5vw, 64px); line-height: 1.06; max-width: 15em; }
.pm9-final__text {
	margin-top: 24px !important;
	max-width: 34em;
	font-size: clamp(18px, 1.8vw, 21px);
	color: rgba(250, 247, 242, 0.88);
}
.pm9-soft2 { margin-top: 10px !important; }

@media (max-width: 767px) {
	.pm9-hero__actions { margin-top: 30px; flex-direction: column; align-items: flex-start; }
	.pm9-founder .pm7-guide__grid { gap: 40px; }
}

/* v9.1 (2026-10-14): accessibility round (Impeccable harden, WCAG 2.2 AA).
   Focus ring in ink on light surfaces (Chartreuse on paper or white was about 1.6:1);
   Chartreuse stays on the dark sections, where it reads clearly. */
.pm7 a:focus-visible { outline: 3px solid var(--pm7-ink); outline-offset: 3px; }
.pm7-hero a:focus-visible,
.pm7-offer--primary a:focus-visible,
.pm7-final a:focus-visible { outline-color: var(--pm7-chartreuse); }

/* v9.2 (2026-10-14): layout round (Impeccable). Founder now sits before the testimonial;
   backgrounds swapped to keep the paper / deep paper alternation. Phase text up from 16px. */
.pm9 .pm9-founder { background: var(--pm7-paper-deep); }
.pm9 .pm7-proof { background: var(--pm7-paper); }
.pm7-steps p { font-size: 18px; line-height: 1.55; }

/* Client grid (2026-10-15, her pick): the four names in equal cells with hairlines,
   centred serif; label stays above. 2 x 2 on phones. */
.pm9 .pm7-clients { display: block; border-top: 0; padding-top: 0; }
.pm9 .pm7-clients__label { display: block; margin-bottom: 20px; }
.pm9 .pm7-clients__names {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--pm7-rule-strong, #D9D2C6);
	border-bottom: 1px solid var(--pm7-rule-strong, #D9D2C6);
	font-size: clamp(20px, 1.9vw, 24px);
}
.pm9 .pm7-clients__names > span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 96px;
	padding: 16px;
	text-align: center;
	border-left: 1px solid var(--pm7-rule-strong, #D9D2C6);
}
.pm9 .pm7-clients__names > span:first-child { border-left: 0; }
@media (max-width: 767px) {
	.pm9 .pm7-clients__names { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pm9 .pm7-clients__names > span { min-height: 76px; }
	.pm9 .pm7-clients__names > span:nth-child(3) { border-left: 0; }
	.pm9 .pm7-clients__names > span:nth-child(n+3) { border-top: 1px solid var(--pm7-rule-strong, #D9D2C6); }
}
/* Innov8rs added (2026-10-15): five cells on desktop; on phones 2 x 2 with the fifth spanning the row. */
.pm9 .pm7-clients__names { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 767px) {
	.pm9 .pm7-clients__names { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pm9 .pm7-clients__names > span:nth-child(5) { grid-column: 1 / -1; border-left: 0; }
}

/* Two quotes side by side (2026-10-16): Tobias + MJ. Stacks on phones (pm7-quotes rule). */
.pm9-quote.pm9-quote--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; gap: 64px; }
.pm9-quote--pair blockquote p { font-size: clamp(21px, 2vw, 26px); line-height: 1.4; }
@media (max-width: 767px) {
	.pm9-quote.pm9-quote--pair { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}
