/* WP2 design system. Scoped to the future relaunch root and local preview. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/inter-latin-ext.woff2") format("woff2");
}

:root {
	/* Color */
	--pd-color-canvas: #f7f8fa;
	--pd-color-surface: #fff;
	--pd-color-surface-soft: #f1f4f8;
	--pd-color-ink: #151a22;
	--pd-color-text: #252b35;
	--pd-color-muted: #5b6573;
	--pd-color-subtle: #788392;
	--pd-color-border: #dbe1e9;
	--pd-color-border-strong: #bdc8d6;
	--pd-color-accent: #1463d7;
	--pd-color-accent-hover: #0e51b7;
	--pd-color-accent-soft: #e8f0fc;
	--pd-color-focus: #0d5ed0;
	--pd-color-success: #176f5a;
	--pd-color-success-soft: #e7f3ee;
	--pd-color-warm: #7c531e;
	--pd-color-warm-soft: #f8f0e5;

	/* Typography */
	--pd-font-sans: "Inter", "Segoe UI", Arial, sans-serif;
	--pd-font-size-xs: 0.75rem;
	--pd-font-size-sm: 0.875rem;
	--pd-font-size-base: 1rem;
	--pd-font-size-md: 1.125rem;
	--pd-font-size-lg: 1.25rem;
	--pd-font-size-xl: clamp(1.75rem, 1.35rem + 1.5vw, 2.5rem);
	--pd-font-size-2xl: clamp(2.25rem, 1.6rem + 3vw, 4rem);
	--pd-font-size-display: clamp(2.8rem, 2rem + 3.8vw, 4rem);
	--pd-line-height-tight: 1.08;
	--pd-line-height-heading: 1.18;
	--pd-line-height-body: 1.6;
	--pd-line-height-relaxed: 1.72;
	--pd-weight-regular: 400;
	--pd-weight-medium: 500;
	--pd-weight-semibold: 600;
	--pd-weight-bold: 700;

	/* Layout */
	--pd-width-content: 75rem;
	--pd-width-reading: 44rem;
	--pd-width-narrow: 35rem;
	/* Reference values: CSS custom properties cannot be evaluated inside media queries. */
	--pd-breakpoint-mobile: 22.5rem;
	--pd-breakpoint-tablet: 48rem;
	--pd-breakpoint-desktop: 64rem;
	--pd-breakpoint-wide: 90rem;
	--pd-space-1: 0.25rem;
	--pd-space-2: 0.5rem;
	--pd-space-3: 0.75rem;
	--pd-space-4: 1rem;
	--pd-space-5: 1.25rem;
	--pd-space-6: 1.5rem;
	--pd-space-8: 2rem;
	--pd-space-10: 2.5rem;
	--pd-space-12: 3rem;
	--pd-space-16: 4rem;
	--pd-space-20: 5rem;
	--pd-space-24: 6rem;
	--pd-space-section: clamp(4rem, 7vw, 7.5rem);
	--pd-radius-sm: 0.5rem;
	--pd-radius-md: 0.75rem;
	--pd-radius-lg: 1rem;
	--pd-radius-pill: 999px;
	--pd-border: 1px solid var(--pd-color-border);
	--pd-border-strong: 1px solid var(--pd-color-border-strong);
	--pd-shadow-card: 0 10px 30px rgb(21 26 34 / 7%);
	--pd-shadow-raised: 0 16px 42px rgb(21 26 34 / 11%);
	--pd-transition-fast: 140ms ease;
	--pd-transition-base: 180ms ease;
	--pd-focus-ring: 0 0 0 3px var(--pd-color-surface), 0 0 0 6px var(--pd-color-focus);
}

:where(.pd-site, .pd-styleguide) {
	background: var(--pd-color-canvas);
	color: var(--pd-color-text);
	font-family: var(--pd-font-sans);
	font-size: var(--pd-font-size-base);
	line-height: var(--pd-line-height-body);
	text-rendering: optimizeLegibility;
}
.pd-styleguide { margin: 0; scrollbar-width: none; }
.pd-styleguide::-webkit-scrollbar { display: none; }

:where(.pd-site, .pd-styleguide) *,
:where(.pd-site, .pd-styleguide) *::before,
:where(.pd-site, .pd-styleguide) *::after { box-sizing: border-box; }

:where(.pd-site, .pd-styleguide) :where(h1, h2, h3, p) { margin: 0; }

:where(.pd-site, .pd-styleguide) :where(a, button, summary):focus-visible {
	border-radius: var(--pd-radius-sm);
	box-shadow: var(--pd-focus-ring);
	outline: 0;
}

.pd-container { margin-inline: auto; max-width: var(--pd-width-content); padding-inline: var(--pd-space-6); }
.pd-reading { max-width: var(--pd-width-reading); }
.pd-legal-shell { padding-block: clamp(3rem, 6vw, 6rem) var(--pd-space-section); }
.pd-legal-shell > .pd-breadcrumb { margin-bottom: var(--pd-space-10); }
.pd-legal-reading { color: var(--pd-color-text); font-size: var(--pd-font-size-base); line-height: var(--pd-line-height-relaxed); max-width: var(--pd-width-reading); overflow-wrap: anywhere; }
.pd-legal-reading > h1 { color: var(--pd-color-ink); font-size: var(--pd-font-size-2xl); font-weight: var(--pd-weight-semibold); line-height: var(--pd-line-height-tight); margin: 0 0 var(--pd-space-10); }
.pd-legal-reading h2 { color: var(--pd-color-ink); font-size: var(--pd-font-size-xl); font-weight: var(--pd-weight-semibold); line-height: var(--pd-line-height-heading); margin: var(--pd-space-16) 0 var(--pd-space-5); scroll-margin-top: 6rem; }
.pd-legal-reading h3 { color: var(--pd-color-ink); font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); line-height: var(--pd-line-height-heading); margin: var(--pd-space-8) 0 var(--pd-space-3); }
.pd-legal-reading p + p { margin-top: var(--pd-space-5); }
.pd-legal-reading ul, .pd-legal-reading ol { margin: var(--pd-space-5) 0 0; padding-left: 1.25rem; }
.pd-legal-reading li + li { margin-top: var(--pd-space-3); }
.pd-legal-reading a { color: var(--pd-color-accent-hover); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.pd-legal-reading a:hover { color: var(--pd-color-ink); }
.pd-legal-reading .index { background: var(--pd-color-surface-soft); border-left: 2px solid var(--pd-color-accent); list-style: none; padding: var(--pd-space-5) var(--pd-space-6); }
.pd-legal-reading .index li + li { margin-top: var(--pd-space-2); }
.pd-section { padding-block: var(--pd-space-section); }
.pd-section--surface { background: var(--pd-color-surface); }
.pd-section--soft { background: var(--pd-color-surface-soft); }
.pd-section--ink { background: var(--pd-color-ink); color: var(--pd-color-surface); }
.pd-stack > * + * { margin-top: var(--pd-space-6); }
.pd-stack--compact > * + * { margin-top: var(--pd-space-3); }

.pd-eyebrow {
	color: var(--pd-color-accent);
	font-size: var(--pd-font-size-xs);
	font-weight: var(--pd-weight-bold);
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.pd-display, .pd-heading { color: var(--pd-color-ink); font-weight: var(--pd-weight-semibold); letter-spacing: 0; }
.pd-relaunch-root.pd-site .pd-display { text-transform: none; }
.pd-display { font-size: var(--pd-font-size-display); line-height: var(--pd-line-height-tight); max-width: 14ch; }
.pd-heading { font-size: var(--pd-font-size-xl); line-height: var(--pd-line-height-heading); }
.pd-heading--small { font-size: var(--pd-font-size-lg); }
.pd-intro { color: var(--pd-color-muted); font-size: var(--pd-font-size-md); line-height: var(--pd-line-height-relaxed); max-width: var(--pd-width-reading); }
.pd-copy { color: var(--pd-color-muted); max-width: var(--pd-width-reading); }
.pd-actions { display: flex; flex-wrap: wrap; gap: var(--pd-space-3); }

.pd-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: var(--pd-radius-sm);
	display: inline-flex;
	font: inherit;
	font-size: var(--pd-font-size-sm);
	font-weight: var(--pd-weight-semibold);
	gap: var(--pd-space-2);
	justify-content: center;
	line-height: 1.2;
	min-height: 2.9rem;
	padding: 0.72rem 1rem;
	text-decoration: none;
	transition: background-color var(--pd-transition-base), border-color var(--pd-transition-base), box-shadow var(--pd-transition-base), color var(--pd-transition-base), transform var(--pd-transition-fast);
}
.pd-button:hover { transform: translateY(-1px); }
.pd-button--primary { background: var(--pd-color-accent); color: #fff; }
.pd-button--primary:hover { background: var(--pd-color-accent-hover); color: #fff; }
.pd-site a.pd-button--primary,
.pd-site a.pd-button--primary:link,
.pd-site a.pd-button--primary:visited,
.pd-site a.pd-button--primary:hover,
.pd-site a.pd-button--primary:focus { color: #fff; }
.pd-button--secondary { background: var(--pd-color-surface); border-color: var(--pd-color-border-strong); color: var(--pd-color-ink); }
.pd-button--secondary:hover { background: var(--pd-color-surface-soft); border-color: var(--pd-color-ink); color: var(--pd-color-ink); }
.pd-text-link { align-items: center; color: var(--pd-color-accent-hover); display: inline-flex; font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); gap: var(--pd-space-2); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.pd-text-link:hover { color: var(--pd-color-ink); }

.pd-proof-strip { border-block: var(--pd-border); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pd-proof-item { min-height: 8.5rem; padding: var(--pd-space-6) var(--pd-space-5); }
.pd-proof-item + .pd-proof-item { border-left: var(--pd-border); }
.pd-proof-value { color: var(--pd-color-ink); display: block; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); font-weight: var(--pd-weight-semibold); line-height: 1.1; }
.pd-proof-label { color: var(--pd-color-muted); display: block; font-size: var(--pd-font-size-sm); line-height: 1.45; margin-top: var(--pd-space-2); }

.pd-card-grid { display: grid; gap: var(--pd-space-5); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pd-card { background: var(--pd-color-surface); border: var(--pd-border); border-radius: var(--pd-radius-md); display: flex; flex-direction: column; min-height: 100%; padding: var(--pd-space-6); transition: border-color var(--pd-transition-base), box-shadow var(--pd-transition-base), transform var(--pd-transition-base); }
.pd-card:hover { border-color: var(--pd-color-border-strong); box-shadow: var(--pd-shadow-card); transform: translateY(-2px); }
.pd-card__eyebrow { color: var(--pd-color-muted); font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-semibold); letter-spacing: 0.06em; text-transform: uppercase; }
.pd-card__title { color: var(--pd-color-ink); font-size: var(--pd-font-size-lg); font-weight: var(--pd-weight-semibold); line-height: 1.25; margin-top: var(--pd-space-3); }
.pd-card__copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-3); }
.pd-card__footer { margin-top: auto; padding-top: var(--pd-space-6); }
.pd-card__metrics { border-top: var(--pd-border); display: flex; flex-wrap: wrap; gap: var(--pd-space-3); margin-top: var(--pd-space-6); padding-top: var(--pd-space-4); }
.pd-chip { background: var(--pd-color-surface-soft); border-radius: var(--pd-radius-pill); color: var(--pd-color-muted); font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-medium); line-height: 1.2; padding: 0.38rem 0.55rem; }

.pd-feature-list { display: grid; gap: var(--pd-space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pd-feature { border-top: 2px solid var(--pd-color-accent); padding-top: var(--pd-space-4); }
.pd-feature__title { color: var(--pd-color-ink); font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); line-height: 1.35; }
.pd-feature__copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-2); }

.pd-cta-band { align-items: end; background: var(--pd-color-ink); border-radius: var(--pd-radius-lg); color: #fff; display: flex; gap: var(--pd-space-8); justify-content: space-between; padding: clamp(1.75rem, 3vw, 3rem); }
.pd-cta-band .pd-heading, .pd-cta-band .pd-copy { color: #fff; }
.pd-cta-band .pd-copy { color: #c6d4e8; margin-top: var(--pd-space-3); }
.pd-cta-band .pd-button--secondary { background: transparent; border-color: #8ba3c2; color: #fff; flex: 0 0 auto; }
.pd-cta-band .pd-button--secondary:hover { background: #283546; border-color: #fff; }

.pd-faq-list { border-top: var(--pd-border); }
.pd-faq { border-bottom: var(--pd-border); }
.pd-faq summary { align-items: center; color: var(--pd-color-ink); cursor: pointer; display: flex; font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); gap: var(--pd-space-4); justify-content: space-between; list-style: none; padding-block: var(--pd-space-5); }
.pd-faq summary::-webkit-details-marker { display: none; }
.pd-faq summary::after { color: var(--pd-color-accent); content: "+"; font-size: 1.4em; font-weight: var(--pd-weight-regular); line-height: 1; }
.pd-faq[open] summary::after { content: "-"; }
.pd-faq__answer { color: var(--pd-color-muted); max-width: var(--pd-width-reading); padding: 0 0 var(--pd-space-5); }

.pd-site-header { background: rgb(255 255 255 / 94%); border-bottom: var(--pd-border); position: relative; z-index: 10; }
@supports (backdrop-filter: blur(8px)) { .pd-site-header { backdrop-filter: blur(12px); } }
.pd-header__inner { align-items: center; display: flex; gap: var(--pd-space-5); justify-content: space-between; min-height: 4.75rem; }
.pd-brand { color: var(--pd-color-ink); font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); line-height: 1.2; text-decoration: none; white-space: nowrap; }
.pd-brand__context { color: var(--pd-color-muted); display: block; font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-regular); margin-top: 0.2rem; }
.pd-desktop-nav { align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: var(--pd-space-5); margin-left: auto; }
/* WordPress may wrap adjacent inline links when the header lives in post content. */
.pd-header__inner > p, .pd-mobile-panel > p,
.pd-desktop-nav > p { display: contents; }
.pd-desktop-nav > p > br { display: none; }
.pd-menu { align-items: center; display: flex; gap: var(--pd-space-5); list-style: none; margin: 0; padding: 0; }
.pd-menu .menu-item { position: relative; }
.pd-menu a { color: var(--pd-color-text); font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-medium); line-height: 1.2; text-decoration: none; }
.pd-menu a:hover { color: var(--pd-color-accent-hover); }
.pd-menu .sub-menu { background: var(--pd-color-surface); border: var(--pd-border); border-radius: var(--pd-radius-md); box-shadow: var(--pd-shadow-raised); display: none; gap: var(--pd-space-1); list-style: none; min-width: 14rem; padding: var(--pd-space-2); position: absolute; right: 0; top: calc(100% + var(--pd-space-3)); }
.pd-menu .sub-menu a { border-radius: var(--pd-radius-sm); display: block; line-height: 1.35; padding: var(--pd-space-3); }
.pd-menu .sub-menu a:hover { background: var(--pd-color-surface-soft); color: var(--pd-color-ink); }
.pd-menu .menu-item:hover > .sub-menu, .pd-menu .menu-item:focus-within > .sub-menu { display: grid; }
.pd-nav-link, .pd-nav-disclosure summary { color: var(--pd-color-text); cursor: pointer; font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-medium); line-height: 1.2; text-decoration: none; }
.pd-nav-link:hover, .pd-nav-disclosure summary:hover { color: var(--pd-color-accent-hover); }
.pd-nav-disclosure { position: relative; }
.pd-nav-disclosure summary { align-items: center; display: flex; gap: var(--pd-space-1); list-style: none; }
.pd-nav-disclosure summary::-webkit-details-marker { display: none; }
.pd-nav-disclosure summary::after { content: "+"; font-size: 1.05em; font-weight: var(--pd-weight-regular); }
.pd-nav-disclosure[open] summary::after { content: "-"; }
.pd-nav-panel { background: var(--pd-color-surface); border: var(--pd-border); border-radius: var(--pd-radius-md); box-shadow: var(--pd-shadow-raised); display: grid; gap: var(--pd-space-1); min-width: 14rem; padding: var(--pd-space-2); position: absolute; right: 0; top: calc(100% + var(--pd-space-3)); }
.pd-nav-panel a { border-radius: var(--pd-radius-sm); color: var(--pd-color-text); font-size: var(--pd-font-size-sm); line-height: 1.35; padding: var(--pd-space-3); text-decoration: none; }
.pd-nav-panel a:hover { background: var(--pd-color-surface-soft); color: var(--pd-color-ink); }
.pd-mobile-nav { display: none; }

.pd-site-footer { background: var(--pd-color-ink); color: #d6e0ed; padding-block: var(--pd-space-16) var(--pd-space-8); }
.pd-footer-grid { display: grid; gap: var(--pd-space-8); grid-template-columns: 1.3fr repeat(3, 1fr); }
.pd-footer-title { color: #fff; font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); margin-bottom: var(--pd-space-3); }
.pd-footer-list { list-style: none; margin: 0; padding: 0; }
.pd-footer-list li + li { margin-top: var(--pd-space-2); }
.pd-footer-list a, .pd-footer-copy { color: #c6d4e8; font-size: var(--pd-font-size-sm); line-height: 1.5; text-decoration: none; }
.pd-footer-list a:hover { color: #fff; text-decoration: underline; text-underline-offset: 0.18em; }
.pd-footer-bottom { border-top: 1px solid #344256; color: #9fb2ca; display: flex; font-size: var(--pd-font-size-xs); justify-content: space-between; margin-top: var(--pd-space-12); padding-top: var(--pd-space-5); }

/* WP3 homepage prototype. The styles remain scoped to the inactive relaunch root. */
.pd-home .pd-site-header { position: relative; }
.pd-home-hero { background: var(--pd-color-surface); padding-block: clamp(4.5rem, 9vw, 8.5rem) clamp(4rem, 8vw, 7rem); }
.pd-home-hero__grid { align-items: center; display: grid; gap: clamp(2.5rem, 5vw, 5rem); grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr); }
.pd-home-hero__content { max-width: 46rem; }
.pd-home-hero--no-portrait .pd-home-hero__grid { grid-template-columns: minmax(0, 1fr); }
.pd-home-hero--no-portrait .pd-home-hero__content { max-width: 60rem; }
.pd-home-role { color: var(--pd-color-ink); font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); line-height: 1.5; margin-top: var(--pd-space-4); }
.pd-home-role span { color: var(--pd-color-muted); display: block; font-weight: var(--pd-weight-regular); }
.pd-home-hero .pd-display { font-size: clamp(2.75rem, 4vw, 4.35rem); max-width: 22ch; margin-top: var(--pd-space-5); }
.pd-home-hero .pd-intro { margin-top: var(--pd-space-6); }
.pd-home-hero .pd-actions { margin-top: var(--pd-space-8); }
.pd-skillline { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: 1.55; margin-top: var(--pd-space-8); }
.pd-portrait { background: var(--pd-color-surface-soft); border: var(--pd-border); border-radius: var(--pd-radius-lg); margin: 0; min-height: clamp(24rem, 38vw, 33rem); overflow: hidden; }
.pd-portrait img { display: block; height: 100%; object-fit: cover; width: 100%; }
.pd-proof-section { background: var(--pd-color-surface); padding-bottom: var(--pd-space-section); }
.pd-draft-note { color: var(--pd-color-subtle); font-size: var(--pd-font-size-xs); line-height: 1.5; margin-top: var(--pd-space-4); }
.pd-home-section-heading { display: grid; gap: var(--pd-space-6); grid-template-columns: minmax(0, var(--pd-width-reading)) minmax(0, 1fr); }
.pd-home-section-heading .pd-intro { align-self: end; }
.pd-home-feature-list { margin-top: var(--pd-space-12); }
.pd-editorial-grid { align-items: start; display: grid; gap: clamp(2.5rem, 8vw, 8rem); grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
.pd-editorial-statement { border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-ink); font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); font-weight: var(--pd-weight-medium); line-height: 1.35; padding-left: var(--pd-space-5); }
.pd-editorial-copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-md); line-height: var(--pd-line-height-relaxed); }
.pd-editorial-copy p + p { margin-top: var(--pd-space-5); }
.pd-case-section { background: var(--pd-color-canvas); }
.pd-case-grid { margin-top: var(--pd-space-12); }
.pd-draft-badge { color: var(--pd-color-warm); font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-semibold); line-height: 1.3; margin-top: var(--pd-space-3); }
.pd-case-card .pd-card__title { font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.55rem); }
.pd-audience-grid { display: grid; gap: var(--pd-space-10); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--pd-space-12); }
.pd-audience { border-top: 1px solid var(--pd-color-ink); padding-top: var(--pd-space-5); }
.pd-audience__title { color: var(--pd-color-ink); font-size: var(--pd-font-size-lg); font-weight: var(--pd-weight-semibold); line-height: 1.25; }
.pd-audience__copy { color: var(--pd-color-muted); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-3); max-width: 32rem; }
.pd-audience .pd-text-link { margin-top: var(--pd-space-5); }
.pd-project-teaser { align-items: end; background: var(--pd-color-surface); border: var(--pd-border); border-radius: var(--pd-radius-lg); display: grid; gap: var(--pd-space-8); grid-template-columns: minmax(0, 1.3fr) minmax(12rem, 0.7fr); padding: clamp(1.75rem, 4vw, 3.5rem); }
.pd-project-teaser__meta { border-left: var(--pd-border); color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); padding-left: var(--pd-space-6); }
.pd-project-teaser__meta strong { color: var(--pd-color-ink); display: block; font-weight: var(--pd-weight-semibold); }
.pd-project-teaser .pd-text-link { margin-top: var(--pd-space-6); }

/* WP4 local core-expertise prototypes. No production templates are wired yet. */
.pd-core-page .pd-site-header { position: relative; }
.pd-page-hero { background: var(--pd-color-surface); padding-block: clamp(4rem, 8vw, 7rem) clamp(3.5rem, 6vw, 5.5rem); }
.pd-breadcrumb { color: var(--pd-color-subtle); font-size: var(--pd-font-size-xs); line-height: 1.4; margin-bottom: var(--pd-space-8); }
.pd-breadcrumb a { color: inherit; text-decoration: none; }
.pd-breadcrumb a:hover { color: var(--pd-color-accent-hover); text-decoration: underline; text-underline-offset: 0.18em; }
.pd-page-hero__grid { align-items: end; display: grid; gap: clamp(2rem, 6vw, 6rem); grid-template-columns: minmax(0, 1.35fr) minmax(15rem, 0.65fr); }
.pd-page-hero__content { max-width: 48rem; }
.pd-page-hero .pd-display { font-size: clamp(2.55rem, 4vw, 4.2rem); max-width: 17ch; }
.pd-page-hero .pd-intro { margin-top: var(--pd-space-6); }
.pd-page-hero .pd-actions { margin-top: var(--pd-space-8); }
.pd-page-hero__aside { border-left: 2px solid var(--pd-color-accent); padding: var(--pd-space-5) 0 var(--pd-space-5) var(--pd-space-5); }
.pd-page-hero__aside-title { color: var(--pd-color-ink); font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); line-height: 1.4; }
.pd-page-hero__aside-copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-2); }
.pd-page-hero__aside-list { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: 1.6; list-style: none; margin: var(--pd-space-4) 0 0; padding: 0; }
.pd-page-hero__aside-list li + li { border-top: var(--pd-border); margin-top: var(--pd-space-2); padding-top: var(--pd-space-2); }

.pd-page-section-heading { display: grid; gap: var(--pd-space-6); grid-template-columns: minmax(0, var(--pd-width-reading)) minmax(0, 1fr); }
.pd-page-section-heading .pd-intro { align-self: end; }
.pd-page-section-heading + .pd-feature-list, .pd-page-section-heading + .pd-dependency-list, .pd-page-section-heading + .pd-phase-list, .pd-page-section-heading + .pd-card-grid { margin-top: var(--pd-space-12); }
.pd-problem-statement { border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-ink); font-size: clamp(1.35rem, 1.1rem + 1vw, 1.85rem); font-weight: var(--pd-weight-medium); line-height: 1.35; max-width: var(--pd-width-reading); padding-left: var(--pd-space-5); }
.pd-problem-copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-md); line-height: var(--pd-line-height-relaxed); max-width: var(--pd-width-reading); margin-top: var(--pd-space-6); }
.pd-dependency-list { border-top: var(--pd-border); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pd-dependency { border-bottom: var(--pd-border); padding: var(--pd-space-6) var(--pd-space-6) var(--pd-space-6) 0; }
.pd-dependency:nth-child(odd) { border-right: var(--pd-border); padding-right: var(--pd-space-6); }
.pd-dependency:nth-child(even) { padding-left: var(--pd-space-6); }
.pd-dependency__title { color: var(--pd-color-ink); font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); line-height: 1.3; }
.pd-dependency__copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-2); max-width: 31rem; }
.pd-phase-list { counter-reset: phase; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pd-phase { border-top: 2px solid var(--pd-color-ink); counter-increment: phase; padding: var(--pd-space-5) var(--pd-space-6) 0 0; }
.pd-phase + .pd-phase { border-left: var(--pd-border); padding-left: var(--pd-space-6); }
.pd-phase::before { color: var(--pd-color-accent); content: "0" counter(phase); display: block; font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-bold); letter-spacing: 0.08em; line-height: 1.3; }
.pd-phase__title { color: var(--pd-color-ink); font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); line-height: 1.3; margin-top: var(--pd-space-3); }
.pd-phase__copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-2); }
.pd-proof-note { background: var(--pd-color-surface); border: var(--pd-border); border-radius: var(--pd-radius-md); display: grid; gap: var(--pd-space-8); grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.7fr); padding: clamp(1.5rem, 3vw, 2.5rem); }
.pd-proof-note__meta { border-left: var(--pd-border); color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); padding-left: var(--pd-space-6); }
.pd-proof-note__meta strong { color: var(--pd-color-ink); display: block; font-weight: var(--pd-weight-semibold); }
.pd-draft-flag { color: var(--pd-color-warm); font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-semibold); line-height: 1.45; margin-top: var(--pd-space-4); }
.pd-related-grid { display: grid; gap: var(--pd-space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--pd-space-10); }
.pd-related-link { border-top: var(--pd-border-strong); color: var(--pd-color-ink); display: block; font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); line-height: 1.35; padding-top: var(--pd-space-4); text-decoration: none; }
.pd-related-link span { color: var(--pd-color-muted); display: block; font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-regular); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-2); }
.pd-related-link:hover { color: var(--pd-color-accent-hover); }
.pd-scope-note { background: var(--pd-color-accent-soft); border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-text); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-8); max-width: var(--pd-width-reading); padding: var(--pd-space-5); }
.pd-scope-note strong { color: var(--pd-color-ink); }

/* WP5: editorial case hub. Cases are separated by structure, not stacked cards. */
.pd-case-intro, .pd-case-role { display: grid; gap: var(--pd-space-10); grid-template-columns: minmax(0, var(--pd-width-reading)) minmax(0, 1fr); }
.pd-case-intro .pd-intro, .pd-case-role__copy { align-self: end; }
.pd-case-studies { margin-top: var(--pd-space-12); }
.pd-case-study { border-top: 2px solid var(--pd-color-ink); padding-block: var(--pd-space-8); }
.pd-case-study + .pd-case-study { border-top: var(--pd-border-strong); }
.pd-case-study__header { align-items: start; display: grid; gap: var(--pd-space-6); grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.55fr); }
.pd-case-study__title { color: var(--pd-color-ink); font-size: clamp(1.65rem, 1.35rem + 1vw, 2.2rem); font-weight: var(--pd-weight-medium); line-height: 1.15; margin: var(--pd-space-2) 0 0; max-width: 44rem; }
.pd-case-study__header .pd-draft-flag { border-left: 2px solid var(--pd-color-warm); margin: var(--pd-space-1) 0 0; padding-left: var(--pd-space-4); }
.pd-case-study__grid { border-top: var(--pd-border); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--pd-space-8); }
.pd-case-field { border-bottom: var(--pd-border); padding: var(--pd-space-5) var(--pd-space-6) var(--pd-space-5) 0; }
.pd-case-field:nth-child(odd) { border-right: var(--pd-border); padding-right: var(--pd-space-6); }
.pd-case-field:nth-child(even) { padding-left: var(--pd-space-6); }
.pd-case-field h4 { color: var(--pd-color-ink); font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); line-height: 1.35; }
.pd-case-field p { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-2); max-width: 33rem; }
.pd-case-study__footer { align-items: center; display: flex; flex-wrap: wrap; gap: var(--pd-space-5) var(--pd-space-8); justify-content: space-between; margin-top: var(--pd-space-6); }
.pd-tech-list { display: flex; flex-wrap: wrap; gap: var(--pd-space-2); list-style: none; margin: 0; padding: 0; }
.pd-tech-list li { border: var(--pd-border); border-radius: 999px; color: var(--pd-color-muted); font-size: var(--pd-font-size-xs); line-height: 1.25; padding: 0.4rem 0.6rem; }
.pd-case-role__copy .pd-text-link { display: inline-flex; margin-top: var(--pd-space-5); }

/* WP6: personal about page. Editorial rhythm without turning the page into a CV. */
.pd-about-hero__grid { align-items: stretch; display: grid; gap: clamp(2.5rem, 6vw, 6rem); grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr); }
.pd-about-hero__content { align-self: center; max-width: 48rem; }
.pd-about-hero--no-portrait .pd-about-hero__grid { grid-template-columns: minmax(0, 1fr); }
.pd-about-hero--no-portrait .pd-about-hero__content { max-width: 60rem; }
.pd-about-hero .pd-home-role { margin-top: var(--pd-space-4); }
.pd-about-hero .pd-display { font-size: clamp(2.7rem, 4.2vw, 4.45rem); margin-top: var(--pd-space-5); max-width: 17ch; }
.pd-about-hero .pd-intro { margin-top: var(--pd-space-6); }
.pd-about-hero .pd-actions { margin-top: var(--pd-space-8); }
.pd-about-portrait { min-height: clamp(25rem, 38vw, 34rem); }
.pd-about-intro, .pd-about-focus, .pd-about-experience { align-items: start; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.pd-about-principles { border-top: 2px solid var(--pd-color-ink); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--pd-space-12); }
.pd-about-principle { border-bottom: var(--pd-border); padding: var(--pd-space-6) var(--pd-space-8) var(--pd-space-6) 0; }
.pd-about-principle:nth-child(odd) { border-right: var(--pd-border); padding-right: var(--pd-space-8); }
.pd-about-principle:nth-child(even) { padding-left: var(--pd-space-8); }
.pd-about-principle span { color: var(--pd-color-accent); display: block; font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-bold); letter-spacing: 0.08em; line-height: 1.3; }
.pd-about-principle h3 { color: var(--pd-color-ink); font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); line-height: 1.3; margin-top: var(--pd-space-3); max-width: 25rem; }
.pd-about-principle p { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-2); max-width: 30rem; }
.pd-about-focus__copy .pd-copy { font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-5); }
.pd-about-focus__copy .pd-text-link { margin-top: var(--pd-space-5); }
.pd-signature-statement { color: var(--pd-color-ink); font-size: clamp(1.12rem, 1rem + 0.3vw, 1.32rem); font-weight: var(--pd-weight-medium); line-height: 1.45; max-width: 42rem; }
.pd-about-collaboration { display: grid; gap: var(--pd-space-10); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--pd-space-12); }
.pd-about-collaboration article { border-top: 2px solid var(--pd-color-ink); padding-top: var(--pd-space-5); }
.pd-about-collaboration h3 { color: var(--pd-color-ink); font-size: var(--pd-font-size-lg); font-weight: var(--pd-weight-semibold); line-height: 1.25; }
.pd-about-collaboration p { color: var(--pd-color-muted); font-size: var(--pd-font-size-md); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-3); max-width: 35rem; }
.pd-about-collaboration .pd-text-link { margin-top: var(--pd-space-5); }
.pd-about-experience .pd-copy { font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-5); }

/* WP7: own engineering projects. Product evidence is shown through real UI, not SaaS decoration. */
.pd-projects-hero__grid { align-items: end; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.05fr) minmax(15rem, 0.55fr); }
.pd-projects-hero .pd-display { max-width: 18ch; }
.pd-projects-hero__note { border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); padding-left: var(--pd-space-5); }
.pd-projects-hero__note .pd-text-link { font-size: inherit; }
.pd-owned-project { align-items: center; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
.pd-owned-project__copy { max-width: 37rem; }
.pd-owned-project__copy .pd-copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-md); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-5); }
.pd-owned-project__copy .pd-tech-list { margin-top: var(--pd-space-6); }
.pd-owned-project__copy .pd-text-link { margin-top: var(--pd-space-6); }
.pd-product-frame { background: #fbf8f5; border: var(--pd-border); border-radius: var(--pd-radius-md); margin: 0; overflow: hidden; }
.pd-product-frame img { display: block; height: auto; max-width: 100%; width: 100%; }
.pd-product-frame figcaption { border-top: var(--pd-border); color: var(--pd-color-subtle); font-size: var(--pd-font-size-xs); line-height: 1.45; padding: var(--pd-space-3) var(--pd-space-4); }
.pd-owned-project__visual { box-shadow: var(--pd-shadow-card); }
.pd-flowguide-hero__grid { align-items: center; display: grid; gap: clamp(2.5rem, 6vw, 6rem); grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.pd-flowguide-hero__copy { max-width: 43rem; }
.pd-flowguide-hero .pd-home-role { margin-top: var(--pd-space-4); }
.pd-flowguide-hero .pd-display { font-size: clamp(2.6rem, 4vw, 4.25rem); margin-top: var(--pd-space-5); max-width: 15ch; }
.pd-flowguide-hero .pd-intro { margin-top: var(--pd-space-6); }
.pd-flowguide-hero__visual { box-shadow: var(--pd-shadow-card); }
.pd-product-intro, .pd-product-origin, .pd-product-choices, .pd-product-technical { align-items: start; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.pd-product-origin .pd-intro, .pd-product-choices__copy .pd-intro, .pd-product-technical .pd-intro { margin: 0; }
.pd-product-origin .pd-copy, .pd-product-choices__copy .pd-copy, .pd-product-technical .pd-copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-5); }
.pd-product-functions { border-top: 2px solid var(--pd-color-ink); margin-top: var(--pd-space-12); }
.pd-product-function { align-items: center; border-bottom: var(--pd-border); display: grid; gap: var(--pd-space-8); grid-template-columns: minmax(0, 0.75fr) minmax(16rem, 1.25fr); padding-block: var(--pd-space-8); }
.pd-product-function > div span { color: var(--pd-color-accent); display: block; font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-bold); letter-spacing: 0.08em; line-height: 1.3; }
.pd-product-function h3 { color: var(--pd-color-ink); font-size: var(--pd-font-size-lg); font-weight: var(--pd-weight-semibold); line-height: 1.25; margin-top: var(--pd-space-3); }
.pd-product-function p { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-3); max-width: 31rem; }
.pd-product-function__note { border-left: 2px solid var(--pd-color-accent); margin: 0 !important; padding-left: var(--pd-space-5); }
.pd-product-technical .pd-tech-list { margin-top: var(--pd-space-6); }

/* WP8: knowledge hub and long-form technical articles. */
.pd-knowledge-hero__grid { align-items: end; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.05fr) minmax(15rem, 0.55fr); }
.pd-knowledge-hero .pd-display { max-width: 17ch; }
.pd-knowledge-hero__note { border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); padding-left: var(--pd-space-5); }
.pd-article-list { border-top: 2px solid var(--pd-color-ink); margin-top: var(--pd-space-12); }
.pd-article-teaser { align-items: end; border-bottom: var(--pd-border); display: grid; gap: var(--pd-space-6); grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.15fr) auto; padding-block: var(--pd-space-7); }
.pd-article-teaser .pd-eyebrow { align-self: start; margin-top: var(--pd-space-1); }
.pd-article-teaser h3 { color: var(--pd-color-ink); font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.85rem); font-weight: var(--pd-weight-medium); line-height: 1.2; }
.pd-article-teaser h3 a { color: inherit; text-decoration: none; }
.pd-article-teaser h3 a:hover { color: var(--pd-color-accent-hover); }
.pd-article-teaser p:not(.pd-eyebrow) { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); grid-column: 2; line-height: var(--pd-line-height-relaxed); max-width: 39rem; }
.pd-article-teaser .pd-text-link { align-self: end; grid-column: 3; grid-row: 1 / span 2; }
.pd-article-hero { background: var(--pd-color-surface); border-bottom: var(--pd-border); padding-block: clamp(4rem, 8vw, 7rem) clamp(3rem, 6vw, 5rem); }
.pd-article-hero__inner { max-width: calc(var(--pd-width-reading) + 8rem); }
.pd-article-hero h1 { color: var(--pd-color-ink); font-size: clamp(2.6rem, 4.2vw, 4.65rem); font-weight: var(--pd-weight-medium); letter-spacing: 0; line-height: 1.05; margin-top: var(--pd-space-5); max-width: 17ch; }
.pd-article-hero .pd-intro { margin-top: var(--pd-space-6); max-width: var(--pd-width-reading); }
.pd-article-byline { color: var(--pd-color-subtle); font-size: var(--pd-font-size-xs); line-height: 1.5; margin-top: var(--pd-space-7); }
.pd-article-layout { padding-block: clamp(3.5rem, 7vw, 6rem); }
.pd-article-reading { color: var(--pd-color-text); font-size: var(--pd-font-size-md); line-height: 1.78; margin-inline: auto; max-width: var(--pd-width-reading); }
.pd-article-reading > p { margin-top: var(--pd-space-5); }
.pd-article-reading > p:first-child { color: var(--pd-color-ink); font-size: clamp(1.15rem, 1.05rem + 0.35vw, 1.35rem); line-height: 1.65; margin-top: 0; }
.pd-article-reading h2 { color: var(--pd-color-ink); font-size: clamp(1.65rem, 1.35rem + 0.8vw, 2.25rem); font-weight: var(--pd-weight-medium); line-height: 1.16; margin-top: clamp(3rem, 7vw, 5rem); scroll-margin-top: var(--pd-space-7); }
.pd-article-reading h3 { color: var(--pd-color-ink); font-size: var(--pd-font-size-lg); font-weight: var(--pd-weight-semibold); line-height: 1.3; margin-top: var(--pd-space-8); }
.pd-article-reading a { color: var(--pd-color-accent-hover); text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
.pd-article-toc { background: var(--pd-color-surface-soft); border-left: 2px solid var(--pd-color-accent); font-size: var(--pd-font-size-sm); line-height: 1.6; margin-top: var(--pd-space-8); padding: var(--pd-space-5); }
.pd-article-toc summary { color: var(--pd-color-ink); cursor: pointer; font-weight: var(--pd-weight-semibold); }
.pd-article-toc ol { margin: var(--pd-space-3) 0 0; padding-left: 1.3rem; }
.pd-article-toc li + li { margin-top: var(--pd-space-1); }
.pd-article-callout { background: var(--pd-color-accent-soft); border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-text); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-7); padding: var(--pd-space-5); }
.pd-article-callout strong { color: var(--pd-color-ink); }
.pd-article-table-wrap { -webkit-overflow-scrolling: touch; margin-top: var(--pd-space-7); overflow-x: auto; }
.pd-article-table-wrap table { border-collapse: collapse; font-size: var(--pd-font-size-sm); line-height: 1.55; min-width: 39rem; width: 100%; }
.pd-article-table-wrap th { background: var(--pd-color-surface-soft); color: var(--pd-color-ink); font-weight: var(--pd-weight-semibold); text-align: left; }
.pd-article-table-wrap th, .pd-article-table-wrap td { border: var(--pd-border); padding: var(--pd-space-3); vertical-align: top; }
.pd-article-context { border-top: 2px solid var(--pd-color-ink); margin-top: clamp(3.5rem, 8vw, 6rem); padding-top: var(--pd-space-6); }
.pd-article-context h2 { margin-top: var(--pd-space-3); }
.pd-article-context p:not(.pd-eyebrow) { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-3); }
.pd-article-context .pd-text-link { margin-top: var(--pd-space-5); }
.pd-article-related { border-top: var(--pd-border); margin-top: var(--pd-space-8); padding-top: var(--pd-space-5); }
.pd-article-related a { color: var(--pd-color-ink); display: inline-block; font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); line-height: 1.4; margin-top: var(--pd-space-2); text-decoration: none; }
.pd-article-related a:hover { color: var(--pd-color-accent-hover); }
.pd-article-final { background: var(--pd-color-ink); border-radius: var(--pd-radius-lg); color: #fff; margin-top: var(--pd-space-8); padding: clamp(1.5rem, 4vw, 2.5rem); }
.pd-article-final h2 { color: #fff; font-size: clamp(1.5rem, 1.25rem + 0.7vw, 2rem); margin-top: 0; }
.pd-article-final p { color: #c6d4e8; font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-3); max-width: 35rem; }
.pd-article-final .pd-button { margin-top: var(--pd-space-5); }

/* WP9: contact conversion and optional Microsoft Bookings integration. */
.pd-contact-hero__grid { align-items: end; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.1fr) minmax(14rem, 0.5fr); }
.pd-contact-hero .pd-display { max-width: 17ch; }
.pd-contact-hero__note { border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-muted); font-size: var(--pd-font-size-md); line-height: var(--pd-line-height-relaxed); padding-left: var(--pd-space-5); }
.pd-contact-hero__note p:last-child { margin-top: var(--pd-space-3); }
.pd-bookings--direct { align-self: stretch; background: var(--pd-color-surface); border: var(--pd-border); border-radius: var(--pd-radius-md); display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 3vw, 2.5rem); }
.pd-bookings--direct > p:not(.pd-bookings__label) { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-3); max-width: 35rem; }
.pd-bookings--direct .pd-button { align-self: flex-start; margin-top: var(--pd-space-6); }
.pd-bookings__direct-note { color: var(--pd-color-subtle) !important; font-size: var(--pd-font-size-xs) !important; margin-top: var(--pd-space-5) !important; }

/* WP9.8: Co-Delivery page. Reuses the core editorial components instead of adding a partner-sales pattern. */
.pd-partner-role, .pd-partner-proof, .pd-partner-boundary { align-items: start; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.pd-partner-proof > div:last-child { align-self: end; }
.pd-partner-proof .pd-text-link { display: inline-flex; margin-top: var(--pd-space-5); }
.pd-partner-boundary { border-top: 2px solid var(--pd-color-ink); padding-top: var(--pd-space-8); }
.pd-contact-contexts { border-top: 2px solid var(--pd-color-ink); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--pd-space-12); }
.pd-contact-contexts article { border-bottom: var(--pd-border); padding: var(--pd-space-6) var(--pd-space-7) var(--pd-space-7) 0; }
.pd-contact-contexts article + article { border-left: var(--pd-border); padding-left: var(--pd-space-7); }
.pd-contact-contexts h3 { color: var(--pd-color-ink); font-size: var(--pd-font-size-lg); font-weight: var(--pd-weight-semibold); line-height: 1.25; margin-top: var(--pd-space-3); }
.pd-contact-contexts p:not(.pd-eyebrow) { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-3); max-width: 23rem; }
.pd-contact-contexts .pd-text-link { margin-top: var(--pd-space-5); }
.pd-contact-clarify { align-items: start; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
.pd-contact-clarify__copy .pd-intro { margin: 0; }
.pd-contact-list { border-top: var(--pd-border); list-style: none; margin: var(--pd-space-8) 0 0; padding: 0; }
.pd-contact-list li { align-items: baseline; border-bottom: var(--pd-border); display: grid; gap: var(--pd-space-6); grid-template-columns: minmax(8rem, 0.45fr) minmax(0, 1fr); padding: var(--pd-space-4) 0; }
.pd-contact-list strong { color: var(--pd-color-ink); font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); }
.pd-contact-list span { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); }
.pd-bookings-layout { display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
.pd-bookings-heading .pd-copy { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-5); max-width: 31rem; }
.pd-bookings { background: var(--pd-color-surface); border: var(--pd-border); border-radius: var(--pd-radius-md); min-height: 18rem; padding: clamp(1.5rem, 4vw, 2.5rem); }
.pd-bookings__gate { display: grid; gap: var(--pd-space-5); max-width: 34rem; }
.pd-bookings__label { color: var(--pd-color-ink); font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); line-height: 1.35; }
.pd-bookings__gate > p:not(.pd-bookings__label), .pd-bookings__noscript { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: var(--pd-line-height-relaxed); }
.pd-bookings__gate .pd-button { justify-self: start; }
.pd-bookings__fallback { justify-self: start; }
.pd-bookings__status { border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-muted); display: grid; font-size: var(--pd-font-size-sm); gap: var(--pd-space-2); line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-6); padding-left: var(--pd-space-4); }
.pd-bookings__status strong { color: var(--pd-color-ink); font-weight: var(--pd-weight-semibold); }
.pd-bookings__status--blocked { border-left-color: var(--pd-color-warm); }
.pd-bookings__embed { margin-top: var(--pd-space-6); min-height: clamp(42rem, 72vh, 56rem); }
.pd-bookings__frame { border: 0; display: block; height: 100%; min-height: inherit; width: 100%; }
.pd-bookings__noscript { border-left: 2px solid var(--pd-color-accent); margin-top: var(--pd-space-6); padding-left: var(--pd-space-4); }
.pd-bookings__noscript a { color: var(--pd-color-accent-hover); }
.pd-contact-alternative { align-items: end; display: grid; gap: var(--pd-space-7); grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr) auto; }
.pd-contact-alternative .pd-intro { margin: 0; }
.pd-contact-alternative .pd-text-link { align-self: end; }

@media (max-width: 63.99rem) {
	.pd-desktop-nav, .pd-header__inner > .pd-button, .pd-header__inner > p > .pd-button { display: none; }
	.pd-mobile-nav { display: block; flex: 0 0 auto; }
	.pd-mobile-nav summary { align-items: center; color: var(--pd-color-ink); cursor: pointer; display: inline-flex; font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); gap: var(--pd-space-2); list-style: none; padding: var(--pd-space-2); }
	.pd-mobile-nav summary::-webkit-details-marker { display: none; }
	.pd-mobile-nav summary::after { content: "+"; font-size: 1.25em; font-weight: var(--pd-weight-regular); }
	.pd-mobile-nav[open] summary::after { content: "-"; }
	.pd-mobile-panel { background: var(--pd-color-surface); border-top: var(--pd-border); display: grid; gap: var(--pd-space-1); left: 0; padding: var(--pd-space-4) var(--pd-space-6) var(--pd-space-6); position: absolute; right: 0; top: 4.75rem; }
	.pd-mobile-panel .pd-menu { align-items: stretch; display: grid; gap: var(--pd-space-1); }
	.pd-mobile-panel .pd-menu a { border-radius: var(--pd-radius-sm); display: block; font-size: var(--pd-font-size-base); padding: var(--pd-space-3); }
	.pd-mobile-panel .pd-menu .sub-menu { box-shadow: none; display: grid; margin-left: var(--pd-space-3); min-width: 0; position: static; }
	.pd-mobile-panel a, .pd-mobile-panel summary { border-radius: var(--pd-radius-sm); color: var(--pd-color-text); display: block; font-size: var(--pd-font-size-base); font-weight: var(--pd-weight-medium); padding: var(--pd-space-3); text-decoration: none; }
	.pd-mobile-panel summary { cursor: pointer; list-style: none; }
	.pd-mobile-panel summary::-webkit-details-marker { display: none; }
	.pd-mobile-panel .pd-nav-panel { box-shadow: none; margin-left: var(--pd-space-3); min-width: 0; position: static; }
	.pd-mobile-panel > .pd-button, .pd-mobile-panel > p > .pd-button { margin-top: var(--pd-space-3); }
	.pd-card-grid, .pd-feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-home-hero__grid, .pd-editorial-grid, .pd-home-section-heading, .pd-project-teaser { grid-template-columns: 1fr; }
	.pd-page-hero__grid, .pd-page-section-heading, .pd-proof-note, .pd-about-hero__grid { grid-template-columns: 1fr; }
	.pd-case-intro, .pd-case-role, .pd-case-study__header { grid-template-columns: 1fr; }
	.pd-about-intro, .pd-about-focus, .pd-about-experience { grid-template-columns: 1fr; }
	.pd-partner-role, .pd-partner-proof, .pd-partner-boundary { grid-template-columns: 1fr; }
	.pd-projects-hero__grid, .pd-owned-project, .pd-flowguide-hero__grid, .pd-product-intro, .pd-product-origin, .pd-product-choices, .pd-product-technical { grid-template-columns: 1fr; }
	.pd-contact-hero__grid, .pd-contact-clarify, .pd-bookings-layout { grid-template-columns: 1fr; }
	.pd-contact-alternative { grid-template-columns: minmax(0, 1fr) auto; }
	.pd-contact-alternative > :first-child { grid-column: 1 / -1; }
	.pd-knowledge-hero__grid { grid-template-columns: 1fr; }
	.pd-article-teaser { align-items: start; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.15fr); }
	.pd-article-teaser .pd-text-link { grid-column: 2; grid-row: auto; }
	.pd-portrait { min-height: 20rem; }
	.pd-home-section-heading .pd-intro { align-self: start; }
	.pd-page-section-heading .pd-intro { align-self: start; }
	.pd-project-teaser__meta { border-left: 0; border-top: var(--pd-border); padding-left: 0; padding-top: var(--pd-space-5); }
	.pd-proof-note__meta { border-left: 0; border-top: var(--pd-border); padding-left: 0; padding-top: var(--pd-space-5); }
	.pd-phase-list, .pd-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-phase:nth-child(3) { border-left: 0; margin-top: var(--pd-space-6); padding-left: 0; }
}

@media (max-width: 47.99rem) {
	.pd-container { padding-inline: var(--pd-space-4); }
	.pd-home-hero { padding-block: var(--pd-space-12) var(--pd-space-10); }
	.pd-home-hero .pd-display { font-size: clamp(2.3rem, 9.8vw, 2.75rem); max-width: 100%; }
	.pd-proof-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-card-grid, .pd-feature-list, .pd-footer-grid { grid-template-columns: 1fr; }
	.pd-audience-grid { gap: var(--pd-space-8); grid-template-columns: 1fr; }
	.pd-proof-item { min-height: auto; padding: var(--pd-space-5) var(--pd-space-4); }
	.pd-proof-item + .pd-proof-item { border-left: var(--pd-border); border-top: 0; }
	.pd-proof-item:nth-child(odd) { border-left: 0; }
	.pd-proof-item:nth-child(n + 3) { border-top: var(--pd-border); }
	.pd-home-feature-list, .pd-case-grid { gap: var(--pd-space-6); grid-template-columns: 1fr; }
	.pd-page-hero { padding-block: var(--pd-space-12) var(--pd-space-10); }
	.pd-page-hero .pd-display { font-size: clamp(2.3rem, 9.8vw, 2.75rem); max-width: 100%; }
	.pd-page-hero__aside { margin-top: var(--pd-space-2); }
	.pd-dependency-list, .pd-phase-list, .pd-related-grid { grid-template-columns: 1fr; }
	.pd-about-principles, .pd-about-collaboration { grid-template-columns: 1fr; }
	.pd-about-principle, .pd-about-principle:nth-child(odd), .pd-about-principle:nth-child(even) { border-right: 0; padding-inline: 0; }
	.pd-case-study__grid { grid-template-columns: 1fr; }
	.pd-case-field, .pd-case-field:nth-child(odd), .pd-case-field:nth-child(even) { border-right: 0; padding-inline: 0; }
	.pd-case-study__footer { align-items: start; flex-direction: column; }
	.pd-product-function { align-items: start; grid-template-columns: 1fr; }
	.pd-article-teaser { gap: var(--pd-space-4); grid-template-columns: 1fr; }
	.pd-article-teaser p:not(.pd-eyebrow), .pd-article-teaser .pd-text-link { grid-column: auto; }
	.pd-article-hero h1 { max-width: 100%; }
	.pd-article-reading { font-size: var(--pd-font-size-base); line-height: 1.72; }
	.pd-article-reading h2 { margin-top: var(--pd-space-12); }
	.pd-contact-contexts { grid-template-columns: 1fr; }
	.pd-contact-contexts article, .pd-contact-contexts article + article { border-left: 0; padding-inline: 0; }
	.pd-contact-list li { gap: var(--pd-space-2); grid-template-columns: 1fr; }
	.pd-contact-alternative { align-items: start; grid-template-columns: 1fr; }
	.pd-contact-alternative > :first-child { grid-column: auto; }
	.pd-bookings__embed { min-height: 44rem; }
	.pd-dependency, .pd-dependency:nth-child(odd), .pd-dependency:nth-child(even) { border-right: 0; padding-inline: 0; }
	.pd-phase + .pd-phase, .pd-phase:nth-child(3) { border-left: 0; margin-top: var(--pd-space-6); padding-left: 0; }
	.pd-cta-band { align-items: start; flex-direction: column; }
	.pd-footer-bottom { align-items: start; flex-direction: column; gap: var(--pd-space-2); }
}

@media (prefers-reduced-motion: reduce) {
	:where(.pd-site, .pd-styleguide) *, :where(.pd-site, .pd-styleguide) *::before, :where(.pd-site, .pd-styleguide) *::after { scroll-behavior: auto !important; transition-duration: 1ms !important; }
	.pd-button:hover, .pd-card:hover { transform: none; }
}

/* WP10C Phase A: a quieter, more editorial homepage and an earlier header collapse. */
.pd-header__inner { gap: var(--pd-space-4); }
.pd-brand { flex: 0 0 auto; }
.pd-desktop-nav { gap: clamp(0.75rem, 1.35vw, 1.25rem); }
.pd-nav-link, .pd-nav-disclosure summary, .pd-header__inner > .pd-button, .pd-header__inner > p > .pd-button { white-space: nowrap; }
.pd-header__inner > .pd-button, .pd-header__inner > p > .pd-button { min-height: 2.5rem; padding-inline: var(--pd-space-4); }

.pd-home--refined { font-size: 1.0625rem; }
.pd-home--refined .pd-home-hero { padding-block: clamp(4.75rem, 9vw, 8rem) clamp(4.5rem, 8vw, 7rem); }
.pd-home--refined .pd-home-hero__content { max-width: 50rem; }
.pd-home--refined .pd-home-hero .pd-display { font-size: clamp(3.1rem, 4.25vw, 4.5rem); max-width: 20ch; }
.pd-home--refined .pd-home-hero .pd-intro { font-size: 1.125rem; max-width: 44rem; }
.pd-home--refined .pd-home-hero .pd-actions { align-items: center; gap: var(--pd-space-5); }
.pd-home--refined .pd-home-hero .pd-text-link { min-height: 2.9rem; }
.pd-home--refined .pd-section { padding-block: clamp(4.75rem, 8vw, 7.5rem); }
.pd-home--refined .pd-heading { font-size: clamp(2.25rem, 1.7rem + 1.8vw, 3rem); max-width: 18ch; }
.pd-home--refined .pd-home-section-heading { gap: clamp(2rem, 5vw, 5rem); }
.pd-home--refined .pd-home-section-heading .pd-intro { font-size: 1.0625rem; }

.pd-home-core { background: var(--pd-color-canvas); }
.pd-home-core-list { border-bottom: var(--pd-border); border-top: var(--pd-border); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.pd-home-core-item { display: flex; flex-direction: column; min-height: 100%; padding: var(--pd-space-6) var(--pd-space-6) var(--pd-space-8); }
.pd-home-core-item + .pd-home-core-item { border-left: var(--pd-border); }
.pd-home-core-item .pd-eyebrow { font-size: 0.6875rem; }
.pd-home-core-item h3 { color: var(--pd-color-ink); font-size: clamp(1.3rem, 1.15rem + 0.45vw, 1.55rem); font-weight: var(--pd-weight-semibold); line-height: 1.25; margin-top: var(--pd-space-6); }
.pd-home-core-item p:not(.pd-eyebrow) { color: var(--pd-color-muted); font-size: 0.9375rem; line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-4); }
.pd-home-core-item .pd-text-link { margin-top: auto; padding-top: var(--pd-space-6); }

.pd-home-proof { background: var(--pd-color-canvas); padding-top: clamp(3.75rem, 6vw, 5.5rem) !important; }
.pd-home-proof .pd-eyebrow { padding-bottom: var(--pd-space-5); }
.pd-home--refined .pd-proof-item { min-height: 7.5rem; padding: var(--pd-space-5) var(--pd-space-5) var(--pd-space-6); }
.pd-home--refined .pd-proof-label { font-size: 0.8125rem; }

.pd-home-situations { background: var(--pd-color-canvas); }
.pd-home-situation-list { border-top: var(--pd-border); margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.pd-home-situation { align-items: start; border-bottom: var(--pd-border); display: grid; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: 3rem minmax(0, 1fr); padding-block: clamp(1.5rem, 3vw, 2.25rem); }
.pd-home-situation > span { color: var(--pd-color-accent); font-size: var(--pd-font-size-xs); font-weight: var(--pd-weight-bold); letter-spacing: 0.08em; line-height: 1.5; }
.pd-home-situation h3 { color: var(--pd-color-ink); font-size: clamp(1.2rem, 1.05rem + 0.45vw, 1.5rem); font-weight: var(--pd-weight-semibold); line-height: 1.35; }
.pd-home-situation p { color: var(--pd-color-muted); font-size: 1rem; line-height: var(--pd-line-height-relaxed); margin-top: var(--pd-space-2); max-width: 44rem; }

.pd-home-partner { background: var(--pd-color-surface); }
.pd-home-partner__layout { align-items: start; display: grid; gap: clamp(2.5rem, 8vw, 8rem); grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
.pd-home-partner .pd-editorial-copy { font-size: 1.0625rem; }
.pd-home-partner .pd-text-link { margin-top: var(--pd-space-6); }

.pd-home-about { background: var(--pd-color-surface); }
.pd-home-about .pd-editorial-copy { font-size: 1.0625rem; }
.pd-home-final { background: var(--pd-color-surface); }
.pd-home-final .pd-cta-band { border-radius: var(--pd-radius-md); }

/* WP10C Phase A.1: no-portrait hero and mobile-menu polish. */
.pd-home--refined .pd-home-hero--no-portrait { padding-block: clamp(4rem, 7vw, 6.5rem) clamp(3.5rem, 6vw, 5.5rem); }
.pd-home--refined .pd-home-hero--no-portrait .pd-home-hero__content { max-width: 70rem; }
.pd-home--refined .pd-home-hero--no-portrait .pd-display { font-size: clamp(3rem, 4vw, 4.2rem); max-width: 25ch; }
.pd-home--refined .pd-home-hero--no-portrait .pd-intro { max-width: 48rem; }
.pd-home-hero--with-portrait .pd-home-hero__content { max-width: 46rem; }
.pd-home--refined .pd-home-role { color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-medium); line-height: 1.5; margin-top: 0; }
.pd-h1-term { white-space: nowrap; }

.pd-home--refined .pd-footer-grid { grid-template-columns: 1.4fr repeat(2, 1fr); }

@media (max-width: 77.49rem) {
	.pd-desktop-nav, .pd-header__inner > .pd-button, .pd-header__inner > p > .pd-button { display: none; }
	.pd-mobile-nav { display: block; }
	.pd-mobile-nav summary { align-items: center; color: var(--pd-color-ink); cursor: pointer; display: inline-flex; font-size: var(--pd-font-size-sm); font-weight: var(--pd-weight-semibold); gap: var(--pd-space-2); list-style: none; min-height: 2.5rem; padding: var(--pd-space-2); white-space: nowrap; }
	.pd-mobile-nav summary::-webkit-details-marker { display: none; }
	.pd-mobile-nav summary::after { content: "+"; font-size: 1.25em; font-weight: var(--pd-weight-regular); }
	.pd-mobile-nav[open] summary::after { content: "-"; }
	.pd-mobile-panel { background: var(--pd-color-surface); border-top: var(--pd-border); display: grid; gap: var(--pd-space-1); left: 0; padding: var(--pd-space-4) var(--pd-space-6) var(--pd-space-6); position: absolute; right: 0; top: 4.75rem; }
	.pd-mobile-nav > summary { min-height: 2.75rem; }
	.pd-mobile-nav > summary::after { content: "+"; }
	.pd-mobile-nav[open] > summary::after { content: "-"; }
	.pd-mobile-panel > details > summary { align-items: center; display: flex; justify-content: space-between; min-height: 2.75rem; }
	.pd-mobile-panel > details > summary::after { color: var(--pd-color-accent); content: "+"; font-size: 1.25em; font-weight: var(--pd-weight-regular); }
	.pd-mobile-panel > details[open] > summary::after { content: "-"; }
	.pd-mobile-nav[open] .pd-mobile-panel > details > summary::after { content: "+"; }
	.pd-mobile-nav[open] .pd-mobile-panel > details[open] > summary::after { content: "-"; }
	.pd-mobile-panel > details > .pd-nav-panel { display: none; }
	.pd-mobile-panel > details[open] > .pd-nav-panel { display: grid; }
	.pd-mobile-panel a, .pd-mobile-panel summary { min-height: 2.75rem; padding-block: 0.625rem; }
	.pd-mobile-panel > .pd-button.pd-button--primary, .pd-mobile-panel > p > .pd-button.pd-button--primary { background: var(--pd-color-accent); color: #fff; }
	.pd-mobile-panel > .pd-button.pd-button--primary:hover, .pd-mobile-panel > p > .pd-button.pd-button--primary:hover { background: var(--pd-color-accent-hover); color: #fff; }
	.pd-mobile-nav > summary:focus-visible, .pd-mobile-panel > details > summary:focus-visible { border-radius: var(--pd-radius-sm); box-shadow: 0 0 0 3px #fff, 0 0 0 6px #0d5ed0 !important; outline: 2px solid #0d5ed0 !important; outline-offset: 3px; }
	.pd-mobile-nav > summary:focus:not(:focus-visible), .pd-mobile-panel > details > summary:focus:not(:focus-visible) { box-shadow: none; outline: 0; }
	/* The open state deliberately owns the remaining viewport, rather than exposing the page below it. */
	.pd-mobile-nav[open] .pd-mobile-panel {
		bottom: 0;
		height: calc(100vh - 4.8125rem);
		height: calc(100dvh - 4.8125rem);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding-bottom: var(--pd-space-8);
		position: fixed;
		top: 4.8125rem;
		z-index: 20;
	}
}

@media (max-width: 63.99rem) {
	.pd-home-partner__layout { grid-template-columns: 1fr; }
}

@media (max-width: 47.99rem) {
	.pd-home--refined { font-size: 1.0625rem; }
	.pd-home--refined .pd-home-hero { padding-block: 3.1rem 3.5rem; }
	.pd-home--refined .pd-home-hero .pd-display { font-size: clamp(1.82rem, 7.8vw, 2.1rem); max-width: 100%; }
	.pd-home--refined .pd-home-hero .pd-intro { font-size: 1.0625rem; }
	.pd-home--refined .pd-home-hero .pd-actions { align-items: start; flex-direction: column; }
	.pd-home--refined .pd-section { padding-block: clamp(3.5rem, 15vw, 4.5rem); }
	.pd-home--refined .pd-heading { font-size: clamp(1.8rem, 8vw, 2.15rem); max-width: 100%; }
	.pd-home-core-list { grid-template-columns: 1fr; }
	.pd-home-core-item { padding-inline: 0; }
	.pd-home-core-item + .pd-home-core-item { border-left: 0; border-top: var(--pd-border); }
	.pd-home--refined .pd-proof-item { padding: var(--pd-space-5) var(--pd-space-4); }
	.pd-home-situation { gap: var(--pd-space-4); grid-template-columns: 2rem minmax(0, 1fr); }
	.pd-home-situation h3 { font-size: 1.2rem; }
	.pd-home-situation p { font-size: 1rem; }
	.pd-home-partner .pd-editorial-copy, .pd-home-about .pd-editorial-copy { font-size: 1.0625rem; }
	.pd-home--refined .pd-site-footer { padding-block: var(--pd-space-12) var(--pd-space-6); }
	.pd-home--refined .pd-footer-grid { gap: var(--pd-space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-home--refined .pd-footer__brand { grid-column: 1 / -1; }
	.pd-home--refined .pd-footer-title { margin-bottom: var(--pd-space-2); }
	.pd-home--refined .pd-footer-list li + li { margin-top: var(--pd-space-1); }
	.pd-home--refined .pd-footer-bottom { margin-top: var(--pd-space-8); padding-top: var(--pd-space-4); }
}

/* WP10C Phase B: editorial page rhythm for the core buyer journeys. */
.pd-phase-b-refined .pd-page-hero { padding-block: clamp(3.75rem, 7vw, 6.25rem) clamp(3.25rem, 5vw, 4.75rem); }
.pd-phase-b-refined .pd-page-hero .pd-display { max-width: 19ch; }
.pd-phase-b-refined .pd-page-hero .pd-actions { align-items: center; gap: var(--pd-space-5); }
.pd-phase-b-refined .pd-page-hero .pd-text-link { min-height: 2.9rem; }
.pd-phase-b-refined .pd-section { padding-block: clamp(4.5rem, 7vw, 6.75rem); }
.pd-phase-b-refined .pd-section--soft { background: var(--pd-color-canvas); }
.pd-phase-b-refined .pd-section--surface { background: var(--pd-color-surface); }
.pd-phase-b-refined .pd-core-chapter__break { border-top: var(--pd-border); margin: clamp(3.5rem, 7vw, 6rem) auto; max-width: var(--pd-width-content); }
.pd-phase-b-refined .pd-page-section-heading { gap: clamp(2rem, 5vw, 5rem); }
.pd-phase-b-refined .pd-page-section-heading + .pd-feature-list,
.pd-phase-b-refined .pd-page-section-heading + .pd-dependency-list,
.pd-phase-b-refined .pd-page-section-heading + .pd-phase-list,
.pd-phase-b-refined .pd-page-section-heading + .pd-card-grid { margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.pd-phase-b-refined .pd-problem-statement { font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.7rem); max-width: 48rem; }
.pd-phase-b-refined .pd-problem-copy { font-size: var(--pd-font-size-base); max-width: 43rem; }
.pd-phase-b-refined .pd-dependency-list { margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.pd-phase-b-refined .pd-dependency { padding-block: var(--pd-space-5); }
.pd-phase-b-refined .pd-dependency__title,
.pd-phase-b-refined .pd-phase__title { font-size: 1.0625rem; }
.pd-phase-b-refined .pd-dependency__copy,
.pd-phase-b-refined .pd-phase__copy { font-size: 0.9375rem; }
.pd-phase-b-refined .pd-proof-note { background: transparent; border-inline: 0; border-radius: 0; border-block: var(--pd-border); gap: clamp(2rem, 5vw, 5rem); padding: clamp(1.5rem, 4vw, 2.5rem) 0; }
.pd-phase-b-refined .pd-related-grid { gap: var(--pd-space-8); margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.pd-phase-b-refined .pd-related-link { font-size: 1.0625rem; }
.pd-phase-b-refined .pd-faq-list { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
.pd-phase-b-refined .pd-cta-band { border-radius: var(--pd-radius-md); }
.pd-phase-b-refined .pd-case-studies { margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.pd-case-measure { border-left: 2px solid var(--pd-color-accent); color: var(--pd-color-muted); font-size: var(--pd-font-size-sm); line-height: 1.45; margin: var(--pd-space-1) 0 0; padding-left: var(--pd-space-4); }
.pd-case-measure strong { color: var(--pd-color-ink); display: block; font-size: var(--pd-font-size-md); font-weight: var(--pd-weight-semibold); }
.pd-case-measure span { display: block; margin-top: var(--pd-space-1); }
.pd-phase-b-refined .pd-about-hero .pd-display { max-width: 20ch; }
.pd-phase-b-refined .pd-about-principles { margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.pd-phase-b-refined .pd-about-collaboration { margin-top: clamp(2.5rem, 5vw, 4.5rem); }

@media (max-width: 63.99rem) {
	.pd-phase-b-refined .pd-page-hero__grid,
	.pd-phase-b-refined .pd-page-section-heading,
	.pd-phase-b-refined .pd-proof-note,
	.pd-phase-b-refined .pd-partner-role,
	.pd-phase-b-refined .pd-partner-proof,
	.pd-phase-b-refined .pd-partner-boundary { grid-template-columns: 1fr; }
	.pd-phase-b-refined .pd-page-hero__aside { margin-top: var(--pd-space-2); }
}

@media (max-width: 47.99rem) {
	.pd-phase-b-refined .pd-section { padding-block: clamp(3.5rem, 15vw, 4.5rem); }
	.pd-phase-b-refined .pd-page-hero { padding-block: var(--pd-space-12) var(--pd-space-10); }
	.pd-phase-b-refined .pd-page-hero .pd-display,
	.pd-phase-b-refined .pd-about-hero .pd-display { font-size: clamp(2.05rem, 9vw, 2.55rem); max-width: 100%; }
	.pd-phase-b-refined .pd-page-hero .pd-actions { align-items: start; flex-direction: column; }
	.pd-phase-b-refined .pd-core-chapter__break { margin-block: var(--pd-space-12); }
	.pd-phase-b-refined .pd-dependency-list,
	.pd-phase-b-refined .pd-phase-list,
	.pd-phase-b-refined .pd-related-grid { grid-template-columns: 1fr; }
	.pd-phase-b-refined .pd-dependency,
	.pd-phase-b-refined .pd-dependency:nth-child(odd),
	.pd-phase-b-refined .pd-dependency:nth-child(even) { border-right: 0; padding-inline: 0; }
	.pd-phase-b-refined .pd-phase + .pd-phase,
	.pd-phase-b-refined .pd-phase:nth-child(3) { border-left: 0; margin-top: var(--pd-space-6); padding-left: 0; }
}
