/**
 * Search & Commerce — component styles.
 * Tokens (color, type, spacing) come from theme.json as --wp--preset--* variables.
 *
 * Contents
 *  1. Base            7. Engagement models  13. Article & Insights
 *  2. Layout          8. Founder & notes    14. Case studies
 *  3. Typography      9. CTA & footer       15. Contact & form
 *  4. Header & nav   10. Interior pages     16. Motion
 *  5. Buttons        11. Lists & FAQ        17. Responsive
 *  6. Home sections  12. Breadcrumbs
 */

:root {
	--sc-ink: var(--wp--preset--color--ink);
	--sc-ink-2: var(--wp--preset--color--ink-2);
	--sc-paper: var(--wp--preset--color--paper);
	--sc-stone: var(--wp--preset--color--stone);
	--sc-white: var(--wp--preset--color--white);
	--sc-line: var(--wp--preset--color--line);
	--sc-line-strong: #7f8c85;
	--sc-sage: var(--wp--preset--color--sage);
	--sc-sage-ink: var(--wp--preset--color--sage-ink);
	--sc-sage-100: var(--wp--preset--color--sage-100);
	--sc-deep: var(--wp--preset--color--deep);
	--sc-on-dark: var(--wp--preset--color--on-dark);
	--sc-on-dark-2: var(--wp--preset--color--on-dark-2);
	--sc-error: #9b2c1f;
	--sc-radius: var(--wp--custom--radius--m, 12px);
	--sc-radius-l: var(--wp--custom--radius--l, 20px);
	--sc-ease: var(--wp--custom--ease, cubic-bezier(.2, .7, .2, 1));
	--sc-mono: var(--wp--preset--font-family--mono);
	--sc-display: var(--wp--preset--font-family--display);
	--sc-gap: clamp(1rem, 2vw, 1.5rem);
	--sc-header-h: 72px;
}

/* 1. Base ----------------------------------------------------------------- */

[hidden] { display: none !important; }

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

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--sc-header-h) + 1rem); }

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-kerning: normal;
}

::selection { background: var(--sc-sage-100); color: var(--sc-ink); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--sc-sage-ink);
	outline-offset: 3px;
	border-radius: 4px;
}

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
	clip: auto; clip-path: none; height: auto; width: auto; margin: 0;
	top: 12px; left: 12px; z-index: 100000; padding: 12px 18px;
	background: var(--sc-ink); color: var(--sc-paper); border-radius: 8px; text-decoration: none;
}

img { height: auto; max-width: 100%; }

/* 2. Layout --------------------------------------------------------------- */

.sc-main { margin-block-start: 0; }
.sc-main > .wp-block-post-content > :first-child { margin-block-start: 0; }

.wp-site-blocks > * + * { margin-block-start: 0; }

.sc-section {
	padding-block: var(--wp--preset--spacing--70);
	position: relative;
}
.sc-section.sc-section--tight { padding-block: var(--wp--preset--spacing--60); }
.sc-section.sc-section--flush-top { padding-block-start: 0; }
.sc-section.sc-section--rule { border-top: 1px solid var(--sc-line); }
/* Consecutive plain (paper) sections share one gap instead of two. */
.wp-block-post-content > .sc-section:not(.is-style-dark):not(.sc-section--stone) + .sc-section:not([class*="sc-section--"]):not(.is-style-dark) { padding-block-start: 0; }
.sc-section--stone { background: var(--sc-stone); }
.sc-section--stone + .sc-section--stone { padding-block-start: 0; }

.is-style-dark {
	background: var(--sc-ink);
	color: var(--sc-on-dark);
	--sc-line: rgba(238, 240, 234, .14);
}
.is-style-dark :where(h1, h2, h3, h4, h5, h6) { color: var(--sc-on-dark); }
.is-style-dark .is-style-lead,
.is-style-dark .sc-card__text { color: var(--sc-on-dark-2); }
.is-style-dark .is-style-eyebrow { color: var(--sc-on-dark-2); }
.is-style-dark .is-style-eyebrow::before { background: var(--sc-sage); }

.sc-wrap > * { margin-block-start: 0; }
.sc-wrap > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-wrap > .sc-head + * { margin-block-start: var(--wp--preset--spacing--60); }

.sc-head { max-width: 46rem; }
.sc-head > * { margin-block: 0; }
.sc-head > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.sc-head > h2 + .is-style-lead { margin-block-start: var(--wp--preset--spacing--40); }

.sc-grid {
	display: grid;
	gap: var(--sc-gap);
	grid-template-columns: repeat(var(--sc-cols, 3), minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
.sc-grid > * { margin: 0 !important; max-width: none !important; }
.sc-grid--2 { --sc-cols: 2; }
.sc-grid--3 { --sc-cols: 3; }
.sc-grid--4 { --sc-cols: 4; }
.wp-block-post-template.sc-grid > li { display: flex; }
.wp-block-post-template.sc-grid > li > * { flex: 1; }

.sc-split {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--wp--preset--spacing--60);
	align-items: start;
}
.sc-split > * { margin: 0 !important; }
.sc-split__aside { position: sticky; top: calc(var(--sc-header-h) + 2rem); }
.sc-split__aside > *, .sc-split__main > * { margin-block: 0; }
.sc-split__aside > * + *, .sc-split__main > * + * { margin-block-start: var(--wp--preset--spacing--40); }

.sc-after-grid { margin-block-start: var(--wp--preset--spacing--50) !important; }

/* 3. Typography ----------------------------------------------------------- */

:where(h1, h2, h3, h4) { text-wrap: balance; font-optical-sizing: auto; }
p { text-wrap: pretty; }

:where(h1, h2, h3) em,
.is-style-display-italic {
	font-style: italic;
	color: var(--sc-sage-ink);
	font-weight: 380;
}
.is-style-dark :where(h1, h2, h3) em { color: var(--sc-on-dark-2); }

.is-style-eyebrow {
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sc-sage-ink);
	display: flex;
	align-items: center;
	gap: .75em;
	line-height: 1.4;
}
.is-style-eyebrow::before {
	content: "";
	width: 1.75rem;
	height: 1px;
	background: currentColor;
	flex: none;
}

.is-style-lead {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
	color: var(--sc-ink-2);
	max-width: 40em;
}

.sc-fineprint {
	font-size: var(--wp--preset--font-size--small);
	color: var(--sc-ink-2);
	max-width: 60em;
}
.is-style-dark .sc-fineprint { color: var(--sc-on-dark-2); }

/* 4. Header & navigation -------------------------------------------------- */

.sc-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid transparent;
	isolation: isolate;
	transition: border-color .3s var(--sc-ease), background-color .3s var(--sc-ease);
}
.sc-site-header::before {
	/* Blur lives on a pseudo-element: backdrop-filter on the header itself would
	   trap the fixed-position mobile menu overlay inside the header box. */
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: color-mix(in srgb, var(--sc-paper) 88%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
}
.admin-bar .sc-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.sc-site-header.is-scrolled { border-bottom-color: var(--sc-line); }

.sc-header__inner {
	min-height: var(--sc-header-h);
	gap: var(--wp--preset--spacing--40);
}
.sc-header__nav { gap: var(--wp--preset--spacing--40); }

.sc-brand { margin: 0; flex: none; }
.sc-brand__link {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	color: inherit;
	text-decoration: none;
}
.sc-brand__mark, .sc-brand__logo { width: 34px; height: 34px; flex: none; transition: transform .5s var(--sc-ease); }
.sc-brand__link:hover .sc-brand__mark { transform: rotate(-12deg); }
.sc-brand__word {
	font-weight: 600;
	font-size: 1.0625rem;
	letter-spacing: -.01em;
	white-space: nowrap;
}
.sc-brand__word em {
	font-family: var(--sc-display);
	font-style: italic;
	font-weight: 400;
	font-size: 1.12em;
	color: var(--sc-sage-ink);
	padding-inline: .04em;
}
.sc-brand.is-size-large .sc-brand__mark { width: 44px; height: 44px; }
.sc-brand.is-size-large .sc-brand__word { font-size: 1.25rem; }

.sc-nav .wp-block-navigation__container { gap: .25rem; }
.sc-nav .wp-block-navigation-item__content {
	padding: .5rem .75rem;
	border-radius: 8px;
	text-decoration: none;
	transition: background-color .2s var(--sc-ease), color .2s var(--sc-ease);
}
.sc-nav .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content:hover,
.sc-nav .wp-block-navigation-item__content[aria-current="page"] { background: var(--sc-stone); }
.sc-nav .wp-block-navigation-item.has-child { gap: 0; }
.sc-nav .wp-block-navigation-item.has-child > .wp-block-navigation-item__content { padding-inline-end: .25rem; }
.sc-nav .wp-block-navigation__submenu-icon { margin-inline-end: .5rem; width: .7em; height: .7em; }

@media (min-width: 900px) {
	.sc-nav .wp-block-navigation__submenu-container {
		min-width: 340px !important;
		padding: .5rem !important;
		margin-top: .25rem;
		border: 1px solid var(--sc-line) !important;
		border-radius: var(--sc-radius);
		background: var(--sc-white) !important;
		box-shadow: var(--wp--preset--shadow--soft);
		transform: translateY(4px);
		transition: opacity .18s var(--sc-ease), transform .18s var(--sc-ease), visibility .18s;
	}
	.sc-nav .has-child:hover > .wp-block-navigation__submenu-container,
	.sc-nav .has-child:focus-within > .wp-block-navigation__submenu-container,
	.sc-nav .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { transform: translateY(0); }
	.sc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .65rem .85rem; width: 100%; }
	.sc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--sc-stone); }
}

/* Collapse to the overlay menu below 900px (core default is 600px). */
@media (max-width: 899px) {
	.sc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.sc-header .sc-header__cta { display: none !important; }
}
.sc-nav .wp-block-navigation__responsive-container-open,
.sc-nav .wp-block-navigation__responsive-container-close {
	width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 10px;
}
.sc-nav .wp-block-navigation__responsive-container-open { border: 1px solid var(--sc-line); }
.sc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--sc-paper) !important;
	color: var(--sc-ink) !important;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--gutter);
}
.sc-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem !important; }
.sc-nav .is-menu-open .wp-block-navigation__container { gap: .25rem !important; width: 100%; }
.sc-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.sc-nav .is-menu-open .wp-block-navigation-item__content {
	font-family: var(--sc-display);
	font-size: 1.75rem;
	padding: .35rem 0 !important;
	letter-spacing: -.01em;
}
.sc-nav .is-menu-open .wp-block-navigation__submenu-container { padding: .25rem 0 .75rem 1rem !important; border-left: 1px solid var(--sc-line) !important; margin-left: .25rem; }
.sc-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1.0625rem;
	color: var(--sc-ink-2);
}

/* 5. Buttons -------------------------------------------------------------- */

.wp-element-button, .wp-block-button__link {
	transition: background-color .2s var(--sc-ease), color .2s var(--sc-ease), border-color .2s var(--sc-ease), transform .2s var(--sc-ease);
}
.wp-block-button:not(.is-style-arrow) .wp-block-button__link:active { transform: translateY(1px); }
.wp-block-buttons { gap: .75rem; }

.wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent;
	color: var(--sc-ink);
	border-color: color-mix(in srgb, var(--sc-ink) 35%, transparent);
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--sc-ink); color: var(--sc-paper); border-color: var(--sc-ink); }

.wp-block-button.is-style-arrow .wp-block-button__link {
	background: none;
	border: 0;
	color: var(--sc-ink);
	padding: .25rem 0;
	border-radius: 0;
	box-shadow: inset 0 -1px 0 currentColor;
	display: inline-flex;
	gap: .5em;
	align-items: center;
}
.wp-block-button.is-style-arrow .wp-block-button__link::after {
	content: "→" / "";
	transition: transform .25s var(--sc-ease);
}
.wp-block-button.is-style-arrow .wp-block-button__link:hover { background: none; color: var(--sc-ink); }
.wp-block-button.is-style-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }

.is-style-dark .wp-block-button:not(.is-style-ghost):not(.is-style-arrow) .wp-block-button__link,
.sc-footer .wp-block-button:not(.is-style-ghost):not(.is-style-arrow) .wp-block-button__link { background: var(--sc-on-dark); color: var(--sc-ink); border-color: var(--sc-on-dark); }
.is-style-dark .wp-block-button:not(.is-style-ghost):not(.is-style-arrow) .wp-block-button__link:hover { background: var(--sc-white); }
.is-style-dark .wp-block-button.is-style-ghost .wp-block-button__link { color: var(--sc-on-dark); border-color: rgba(238, 240, 234, .4); }
.is-style-dark .wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--sc-on-dark); color: var(--sc-ink); }
.is-style-dark .wp-block-button.is-style-arrow .wp-block-button__link,
.sc-footer .wp-block-button.is-style-arrow .wp-block-button__link { color: var(--sc-on-dark); }

/* 6. Home sections -------------------------------------------------------- */

/* Hero */
.sc-hero { padding-block: var(--wp--preset--spacing--60); overflow: hidden; }
.sc-hero__head > * { margin-block: 0; }
.sc-hero__head > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-hero__title {
	font-weight: 340;
	line-height: .98;
	letter-spacing: -.035em;
	max-width: 13.5em;
}
.sc-wrap > .sc-hero__grid { margin-block-start: var(--wp--preset--spacing--60); }
.sc-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--wp--preset--spacing--60);
	align-items: start;
}
.sc-hero__grid > * { margin: 0 !important; }
.sc-hero__copy > * { margin-block: 0; }
.sc-hero__copy > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-hero__copy > .sc-hero__actions { margin-block-start: var(--wp--preset--spacing--50); }
.sc-hero__lead { max-width: 30em; }
.sc-hero__visual { margin-top: -1.5rem !important; }

.sc-hero__facts {
	list-style: none;
	padding: 0 !important;
	border-top: 1px solid var(--sc-line);
	font-size: var(--wp--preset--font-size--small);
	color: var(--sc-ink-2);
}
.sc-hero__copy > .sc-hero__facts { margin-block-start: var(--wp--preset--spacing--60); }
.sc-hero__facts li { padding: .8rem 0; margin: 0; border-bottom: 1px solid var(--sc-line); }
.sc-hero__facts strong { color: var(--sc-ink); font-weight: 600; }

/* System map */
.sc-map { margin: 0; }
.sc-map__svg.sc-map__svg--compact { display: none; }
.sc-map__svg { display: block; width: 100%; height: auto; overflow: visible; font-family: var(--sc-mono); }
.sc-map__dot { fill: color-mix(in srgb, var(--sc-ink) 14%, transparent); }
.sc-map__col { font-size: 10.5px; letter-spacing: .12em; fill: var(--sc-sage-ink); }
.sc-map__tick { stroke: var(--sc-line); stroke-width: 1; }
.sc-map__links path { fill: none; stroke: var(--sc-sage); stroke-width: 1.25; stroke-dasharray: 3 4; }
.sc-map__links .sc-map__drop { stroke: color-mix(in srgb, var(--sc-ink) 30%, transparent); stroke-dasharray: 2 4; }
.sc-map__loop { fill: none; stroke: var(--sc-ink); stroke-width: 1.5; stroke-linejoin: round; }
.sc-map__node rect { fill: var(--sc-white); stroke: color-mix(in srgb, var(--sc-ink) 22%, transparent); stroke-width: 1; transition: fill .3s var(--sc-ease), stroke .3s var(--sc-ease); }
.sc-map__node circle { fill: var(--sc-sage); }
.sc-map__node text { font-size: 12px; fill: var(--sc-ink-2); }
.sc-map__node.is-active rect { stroke: var(--sc-ink); stroke-width: 1.25; }
.sc-map__node.is-active circle { fill: var(--sc-ink); }
.sc-map__node.is-active text { fill: var(--sc-ink); }
.sc-map__node:hover rect { fill: var(--sc-sage-100); }
.sc-map__note { font-size: 10.5px !important; fill: var(--sc-sage-ink) !important; letter-spacing: .04em; }
.sc-map__band rect { fill: var(--sc-ink); }
.sc-map__mark path { stroke: var(--sc-on-dark); }
.sc-map__mark circle { fill: var(--sc-on-dark); }
.sc-map__band-text { font-family: var(--wp--preset--font-family--sans); font-size: 15px; font-weight: 500; fill: var(--sc-on-dark); letter-spacing: -.005em; }
.sc-map__pulse {
	fill: var(--sc-ink);
	stroke: var(--sc-paper);
	stroke-width: 2;
	offset-path: var(--sc-loop);
	offset-rotate: 0deg;
	animation: sc-pulse 11s linear infinite;
}
.sc-map__pulse:nth-child(2) { animation-delay: -3.67s; }
.sc-map__pulse:nth-child(3) { animation-delay: -7.33s; }
@keyframes sc-pulse { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@supports not (offset-path: path("M0 0")) { .sc-map__pulses { display: none; } }

/* Cards */
.sc-card {
	background: var(--sc-white);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	padding: clamp(1.5rem, 2.4vw, 2rem);
	display: flex;
	flex-direction: column;
	position: relative;
	transition: border-color .25s var(--sc-ease), transform .25s var(--sc-ease), box-shadow .25s var(--sc-ease);
}
.sc-card > * { margin-block: 0; }
.sc-card > * + * { margin-block-start: .75rem; }
.sc-card__eyebrow {
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sc-sage-ink);
}
.sc-card__eyebrow a { color: inherit; text-decoration: none; position: relative; z-index: 2; }
.sc-card__title, .sc-card .wp-block-post-title.sc-card__title {
	font-size: var(--wp--preset--font-size--heading-s);
	line-height: 1.2;
	letter-spacing: -.012em;
}
.sc-card__title a { text-decoration: none; color: inherit; }
.sc-card__text { color: var(--sc-ink-2); font-size: .98rem; }
.sc-card__meta {
	margin-top: auto !important;
	padding-top: 1.25rem;
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .04em;
	color: var(--sc-ink-2);
}
.sc-card--link .sc-card__title a::after,
.sc-card--link .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.sc-card--link:hover { border-color: color-mix(in srgb, var(--sc-ink) 45%, transparent); transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--soft); }
.sc-card--link:focus-within { border-color: var(--sc-ink); }
.sc-card--link .sc-card__title a:focus-visible { outline: none; }
.sc-card--link .sc-card__title a:focus-visible::after,
.sc-card--link .wp-block-post-title a:focus-visible::after { outline: 2px solid var(--sc-sage-ink); outline-offset: 3px; }
.sc-card--link .sc-card__meta::after { content: "\00a0→" / ""; display: inline-block; transition: transform .25s var(--sc-ease); }
.sc-card--link:hover .sc-card__meta::after { transform: translateX(4px); }
.sc-post-card .sc-card__meta::after { content: none; }

/* Service cards with original line icons */
.sc-service-card { padding-top: clamp(1.5rem, 2.4vw, 2rem); min-height: 100%; }
.sc-service-card::before {
	content: "";
	width: 44px;
	height: 44px;
	margin-bottom: 1.5rem;
	background: var(--sc-ink);
	-webkit-mask: var(--sc-icon) center / contain no-repeat;
	mask: var(--sc-icon) center / contain no-repeat;
	transition: background-color .25s var(--sc-ease), transform .4s var(--sc-ease);
}
.sc-service-card:hover::before { background: var(--sc-sage-ink); transform: translateY(-2px); }
.sc-service-card .sc-card__meta { border-top: 1px solid var(--sc-line); margin-top: auto; padding-top: 1rem; margin-block-start: 1.5rem !important; }
.sc-icon-seo { --sc-icon: url(../icons/seo.svg); }
.sc-icon-shopify { --sc-icon: url(../icons/shopify.svg); }
.sc-icon-cro { --sc-icon: url(../icons/cro.svg); }
.sc-icon-analytics { --sc-icon: url(../icons/analytics.svg); }
.sc-icon-martech { --sc-icon: url(../icons/martech.svg); }
.sc-icon-leadership { --sc-icon: url(../icons/leadership.svg); }

/* Problem grid: editorial rather than boxed */
.sc-problem {
	background: transparent;
	border: 0;
	border-top: 1px solid var(--sc-ink);
	border-radius: 0;
	padding: 1.25rem 0 0;
}
.sc-problem .sc-card__title { font-size: 1.25rem; }
.sc-problem--summary {
	background: var(--sc-ink);
	color: var(--sc-on-dark);
	border-radius: var(--sc-radius);
	border: 0;
	padding: 1.5rem;
}
.sc-problem--summary .sc-card__title { color: var(--sc-on-dark); font-style: italic; }
.sc-problem--summary .sc-card__text { color: var(--sc-on-dark-2); }

/* Comparison */
.sc-compare { margin-block-start: var(--wp--preset--spacing--60) !important; border-top: 1px solid var(--sc-ink); }
.sc-compare__row {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--wp--preset--spacing--60);
	border-bottom: 1px solid var(--sc-line);
	padding-block: 1rem;
	margin: 0 !important;
}
.sc-compare__row > p { margin: 0 !important; }
.sc-compare__from { color: var(--sc-ink-2); padding-left: 1.5rem; position: relative; }
.sc-compare__from::before { content: "—" / ""; position: absolute; left: 0; color: var(--sc-sage); }
.sc-compare__to { font-weight: 500; padding-left: 1.75rem; position: relative; }
.sc-compare__to::before { content: "→" / ""; position: absolute; left: 0; color: var(--sc-sage-ink); }
.sc-compare__row--head p {
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 400;
	color: var(--sc-sage-ink);
}
.sc-compare__row--head p::before { content: none; }

/* Process steps (a real sequence, so numbered) */
.sc-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--sc-gap);
	counter-reset: step;
}
.sc-steps > .sc-step { margin: 0 !important; }
.sc-step {
	counter-increment: step;
	position: relative;
	padding-top: 3.25rem;
}
.sc-step::before {
	content: counter(step, decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .08em;
	color: var(--sc-ink);
	background: var(--sc-paper);
	padding-right: .75rem;
	z-index: 1;
	line-height: 1.5rem;
}
.sc-section--stone .sc-step::before { background: var(--sc-stone); }
.sc-step::after {
	content: "";
	position: absolute;
	top: .75rem;
	left: 0;
	right: calc(-1 * var(--sc-gap));
	height: 1px;
	background: var(--sc-line);
}
.sc-step:last-child::after { right: 0; }
.sc-step > * { margin-block: 0; }
.sc-step > * + * { margin-block-start: .75rem; }
.sc-step__title { font-size: var(--wp--preset--font-size--heading-m); }
.sc-step__text { color: var(--sc-ink-2); }
.sc-step__output {
	font-size: var(--wp--preset--font-size--small);
	border-top: 1px dashed var(--sc-line);
	padding-top: .75rem;
	margin-block-start: 1.25rem !important;
}
.sc-step__output span {
	display: block;
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sc-sage-ink);
	margin-bottom: .2rem;
}

/* Technology spec sheet */
.sc-tech { border-top: 1px solid var(--sc-line); }
.sc-tech__row {
	display: grid;
	grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
	padding-block: 1.1rem;
	border-bottom: 1px solid var(--sc-line);
	margin: 0 !important;
	align-items: baseline;
}
.sc-tech__row > * { margin: 0 !important; }
.sc-tech__label {
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sc-on-dark-2);
}
.sc-chips { list-style: none; padding: 0 !important; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.sc-chips li {
	margin: 0;
	padding: .4rem .8rem;
	border: 1px solid rgba(238, 240, 234, .22);
	border-radius: 999px;
	font-size: .875rem;
	line-height: 1.2;
	transition: background-color .2s var(--sc-ease), border-color .2s var(--sc-ease);
}
.sc-chips li:hover { background: rgba(238, 240, 234, .08); border-color: rgba(238, 240, 234, .45); }
.sc-chips--light li { border-color: var(--sc-line); background: var(--sc-white); }
.sc-chips--light li:hover { background: var(--sc-sage-100); border-color: var(--sc-sage); }
.sc-tech-section .sc-fineprint { margin-block-start: var(--wp--preset--spacing--40) !important; }

/* 7. Engagement models --------------------------------------------------- */

.sc-model .sc-card__title { font-size: var(--wp--preset--font-size--heading-m); }
.sc-model .sc-card__text strong { color: var(--sc-ink); font-weight: 600; }
.sc-model .is-style-dashes { margin-block-start: 1.25rem !important; }
.sc-meter {
	list-style: none;
	padding: 1.25rem 0 0 !important;
	margin-top: auto !important;
	margin-block-start: 1.5rem;
	border-top: 1px solid var(--sc-line);
	display: grid;
	gap: .55rem;
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sc-ink-2);
}
.sc-meter li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
}
.sc-meter li::after {
	content: "";
	width: 54px;
	height: 8px;
	background: linear-gradient(to right, var(--sc-ink) calc(var(--n, 0) * 25%), var(--sc-line) 0);
	-webkit-mask: radial-gradient(circle 4px at 4px 4px, #000 97%, transparent 100%) 0 0 / 15.33px 8px repeat-x;
	mask: radial-gradient(circle 4px at 4px 4px, #000 97%, transparent 100%) 0 0 / 15.33px 8px repeat-x;
}
.sc-meter-1 { --n: 1; } .sc-meter-2 { --n: 2; } .sc-meter-3 { --n: 3; } .sc-meter-4 { --n: 4; }

/* 8. Founder & editor notes ---------------------------------------------- */

.sc-founder {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--wp--preset--spacing--60);
	align-items: center;
}
.sc-founder > * { margin: 0 !important; }
.sc-founder__photo { margin: 0; }
.sc-founder__photo img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--sc-radius-l);
	background: var(--sc-sage-100);
}
.sc-founder__copy > * { margin-block: 0; }
.sc-founder__copy > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-founder__name { font-size: 1.0625rem; }

.is-style-note {
	border: 1px dashed var(--sc-sage-ink);
	background: color-mix(in srgb, var(--sc-sage-100) 55%, transparent);
	border-radius: var(--sc-radius);
	padding: 1.25rem 1.5rem;
	position: relative;
}
.is-style-note::before {
	content: "Placeholder — replace before launch";
	display: block;
	font-family: var(--sc-mono);
	font-size: .6875rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sc-sage-ink);
	margin-bottom: .6rem;
}
.is-style-note > * { margin-block: 0; }
.is-style-note > * + * { margin-block-start: .6rem; }

/* 9. CTA & footer -------------------------------------------------------- */

.sc-cta { position: relative; z-index: 1; max-width: 62rem; }
.sc-cta > .sc-cta__title + * { margin-block-start: var(--wp--preset--spacing--50); }
.sc-cta > * { margin-block: 0; }
.sc-cta > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-cta__title { font-size: var(--wp--preset--font-size--display); font-weight: 360; letter-spacing: -.03em; line-height: 1.02; }
.sc-cta__actions { margin-block-start: var(--wp--preset--spacing--50) !important; }
.sc-schedule-cta { font-size: var(--wp--preset--font-size--small); color: var(--sc-ink-2); }
.sc-schedule-cta__prefix { margin-right: .35rem; }
.sc-schedule-cta__link { color: inherit; font-weight: 500; text-underline-offset: .2em; }
.is-style-dark .sc-schedule-cta, .sc-footer .sc-schedule-cta { color: var(--sc-on-dark-2); }
.is-style-dark .sc-schedule-cta__link, .sc-footer .sc-schedule-cta__link { color: var(--sc-on-dark); }

.sc-site-footer { margin-block-start: 0; }
.sc-footer {
	background: var(--sc-deep);
	color: var(--sc-on-dark-2);
	padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--40);
	--sc-line: rgba(238, 240, 234, .12);
}
.sc-footer a { color: var(--sc-on-dark-2); text-decoration: none; transition: color .2s var(--sc-ease); }
.sc-footer a:hover { color: var(--sc-on-dark); text-decoration: underline; text-underline-offset: .2em; }
.sc-footer .sc-brand__link { color: var(--sc-on-dark); }
.sc-footer .sc-brand__link:hover { text-decoration: none; }
.sc-footer .sc-brand__word em { color: var(--sc-on-dark-2); }
.sc-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.4fr);
	gap: var(--wp--preset--spacing--50);
}
.sc-footer__grid > * { margin: 0 !important; }
.sc-footer__grid > * > * { margin-block: 0; }
.sc-footer__grid > * > * + * { margin-block-start: 1rem; }
.sc-footer__tagline { font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--label); letter-spacing: .08em; text-transform: uppercase; color: var(--sc-on-dark); margin-block-start: 1.5rem !important; }
.sc-footer__about { max-width: 28em; font-size: var(--wp--preset--font-size--small); }
.sc-footer__heading {
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 400;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sc-on-dark) !important;
}
.sc-footer__links { list-style: none; padding: 0 !important; display: grid; gap: .6rem; font-size: var(--wp--preset--font-size--small); }
.sc-footer__links li { margin: 0; }
.sc-footer__text { font-size: var(--wp--preset--font-size--small); }
.sc-footer__base {
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding-block-start: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--sc-line);
	font-size: .8125rem;
}
.sc-footer__base p { margin: 0; }

/* 10. Interior pages ----------------------------------------------------- */

.sc-crumbs-bar { padding-block: 1.25rem 0; }
.sc-crumbs-bar + .wp-block-post-content > .sc-page-hero:first-child { padding-block-start: var(--wp--preset--spacing--50); }

.sc-page-hero { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--60); }
.sc-crumbs-bar + .sc-page-hero { padding-block-start: var(--wp--preset--spacing--50); }
.sc-page-hero__grid.has-aside {
	display: grid;
	grid-template-columns: minmax(0, 7.5fr) minmax(0, 4.5fr);
	gap: var(--wp--preset--spacing--60);
	align-items: end;
}
.sc-page-hero__grid > * { margin: 0 !important; }
.sc-page-hero__copy > * { margin-block: 0; }
.sc-page-hero__copy > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-page-hero__copy > .wp-block-buttons { margin-block-start: var(--wp--preset--spacing--50); }
.sc-page-hero__title { max-width: 16em; font-weight: 370; }
.sc-wrap > .sc-page-hero__title { margin-block-start: var(--wp--preset--spacing--40); }

.sc-glance {
	background: var(--sc-white);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	padding: 1.5rem;
}
.sc-glance > * { margin: 0 !important; }
.sc-glance__title {
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .1em;
	text-transform: uppercase;
	padding-bottom: .9rem;
	border-bottom: 1px solid var(--sc-ink);
}
.sc-glance__row { padding-block: .9rem; border-bottom: 1px solid var(--sc-line); font-size: .9375rem; }
.sc-glance__row:last-child { border-bottom: 0; padding-bottom: 0; }
.sc-glance__row p { margin: 0; }
.sc-glance__label { font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--label) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-sage-ink); margin-bottom: .25rem !important; }

.sc-symptoms {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40) var(--sc-gap);
}
.sc-symptoms > * { margin: 0 !important; }
.sc-symptom { border-top: 1px solid var(--sc-ink); padding-top: 1.1rem; }
.sc-symptom > * { margin-block: 0; }
.sc-symptom > * + * { margin-block-start: .5rem; }
.sc-symptom__title { font-size: 1.1875rem; line-height: 1.3; letter-spacing: -.01em; }
.sc-symptom p { color: var(--sc-ink-2); font-size: .98rem; }

.sc-capability .sc-card__title { font-size: var(--wp--preset--font-size--heading-s); }
.sc-capability .is-style-dashes { margin-block-start: 1.25rem !important; padding-top: 1.25rem; border-top: 1px solid var(--sc-line); }

.sc-duo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--60);
	align-items: start;
}
.sc-duo > * { margin: 0 !important; }
.sc-panel {
	background: var(--sc-white);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.sc-panel > *, .sc-benefits > * { margin-block: 0; }
.sc-panel > * + *, .sc-benefits > * + * { margin-block-start: 1rem; }
.sc-benefit { border-top: 1px solid var(--sc-line); padding-top: 1.1rem; margin-block-start: 1.25rem !important; }
.sc-benefit > * { margin: 0; }
.sc-benefit > * + * { margin-top: .4rem; }
.sc-benefit p { color: var(--sc-ink-2); }

.sc-principle .sc-card__title { font-size: var(--wp--preset--font-size--heading-m); font-style: italic; font-weight: 370; }

/* 11. Lists & FAQ -------------------------------------------------------- */

.is-style-checks, .is-style-dashes { list-style: none; padding-left: 0 !important; }
.is-style-checks li, .is-style-dashes li { position: relative; padding-left: 1.75rem; margin: 0; }
.is-style-checks li + li, .is-style-dashes li + li { margin-top: .6rem; }
.is-style-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .3em;
	width: 1.05rem;
	height: 1.05rem;
	border-radius: 50%;
	background: var(--sc-sage-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231B302C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-5'/%3E%3C/svg%3E") center / 80% no-repeat;
}
.is-style-dashes li { color: var(--sc-ink-2); font-size: .975rem; padding-left: 1.25rem; }
.is-style-dashes li::before { content: ""; position: absolute; left: 0; top: .78em; width: .6rem; height: 1px; background: var(--sc-sage-ink); }
.is-style-columns { columns: 2; column-gap: var(--wp--preset--spacing--50); }

.sc-faq .wp-block-details { border-bottom: 1px solid var(--sc-line); padding-block: 0; margin: 0 !important; }
.sc-faq .wp-block-details:first-child { border-top: 1px solid var(--sc-ink); }
.wp-block-details summary {
	cursor: pointer;
	list-style: none;
	font-family: var(--sc-display);
	font-size: var(--wp--preset--font-size--heading-s);
	line-height: 1.3;
	letter-spacing: -.01em;
	padding: 1.25rem 3rem 1.25rem 0;
	position: relative;
	border-radius: 4px;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "";
	position: absolute;
	right: .25rem;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	background:
		linear-gradient(currentColor, currentColor) center / 14px 1.5px no-repeat,
		linear-gradient(currentColor, currentColor) center / 1.5px 14px no-repeat;
	transition: transform .3s var(--sc-ease);
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details summary:hover { color: var(--sc-sage-ink); }
.wp-block-details > :not(summary) { color: var(--sc-ink-2); margin: 0 0 1.25rem; max-width: 42em; }

/* 12. Breadcrumbs -------------------------------------------------------- */

.sc-breadcrumbs ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem .5rem;
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .04em;
	color: var(--sc-ink-2);
}
.sc-breadcrumbs li { display: inline-flex; gap: .5rem; align-items: center; }
.sc-breadcrumbs li + li::before { content: "/"; color: var(--sc-sage); }
.sc-breadcrumbs a { color: inherit; text-decoration: none; }
.sc-breadcrumbs a:hover { color: var(--sc-ink); text-decoration: underline; }
.sc-breadcrumbs [aria-current] { color: var(--sc-ink); max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; }

/* 13. Article & Insights ------------------------------------------------- */

.sc-article__inner { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70); }
.sc-article__header > * { margin-block: 0; }
.sc-article__header > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-article__header .sc-article__title { margin-block-start: var(--wp--preset--spacing--30); }
.sc-article__topic { margin-block-start: var(--wp--preset--spacing--60) !important; }
.sc-article__topic a { color: var(--sc-sage-ink); text-decoration: none; }
.sc-article__title { font-size: clamp(2.25rem, 5vw, 3.75rem); font-weight: 370; letter-spacing: -.03em; line-height: 1.04; }
.sc-article__dek { font-size: var(--wp--preset--font-size--lead); color: var(--sc-ink-2); line-height: 1.55; }
.sc-article__dek p { margin: 0; }
.sc-article__media { margin-block-start: var(--wp--preset--spacing--60) !important; }
.sc-article__media img { border-radius: var(--sc-radius-l); }
.sc-meta-row {
	gap: .4rem 1.25rem;
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sc-ink-2);
	padding-block: 1rem;
	border-block: 1px solid var(--sc-line);
}
.sc-card .sc-meta-row { border: 0; padding: 0; }
.sc-meta-row > * { margin: 0 !important; font-size: inherit; }
.sc-meta-row a { color: var(--sc-ink); text-decoration: none; }
.sc-meta-row .wp-block-post-author-name { color: var(--sc-ink); }

.sc-prose { font-size: 1.125rem; line-height: 1.72; }
.sc-article__inner > .sc-prose { margin-block-start: var(--wp--preset--spacing--60); }
.sc-prose > * { margin-block: 0; }
.sc-prose > * + * { margin-block-start: 1.35em; }
.sc-prose > :where(h2) { margin-block-start: 2.2em; font-size: clamp(1.75rem, 3vw, 2.25rem); }
.sc-prose > :where(h3) { margin-block-start: 1.8em; font-size: 1.5rem; }
.sc-prose > :where(h2, h3) + * { margin-block-start: .75em; }
.sc-prose a { text-decoration-color: var(--sc-sage); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.sc-prose a:hover { text-decoration-color: currentColor; }
.sc-prose :where(ul, ol) { padding-left: 1.25em; }
.sc-prose li + li { margin-top: .4em; }
.sc-prose li::marker { color: var(--sc-sage-ink); }
.sc-prose figcaption { font-size: var(--wp--preset--font-size--small); color: var(--sc-ink-2); }
.sc-prose .wp-block-pullquote, .sc-prose blockquote { margin-block: 2em; }

.sc-author-box {
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding: 1.5rem;
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	background: var(--sc-white);
}
.sc-author-box > * { margin-block: 0; }
.sc-author-box > * + * { margin-block-start: 1rem; }
.sc-author-box .wp-block-post-author { gap: 1rem; align-items: flex-start; }
.sc-author-box .wp-block-post-author__avatar img { border-radius: 50%; }
.sc-author-box .wp-block-post-author__name { font-weight: 600; }
.sc-author-box .wp-block-post-author__bio { color: var(--sc-ink-2); font-size: .975rem; margin-top: .35rem; }
.sc-article__tags { font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--label); color: var(--sc-ink-2); margin-block-start: 1.5rem !important; }

.sc-topic-list { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: .5rem; margin-block-start: var(--wp--preset--spacing--50) !important; }
.sc-topic-list li { margin: 0; }
.sc-topic-list a {
	display: inline-block;
	padding: .45rem .9rem;
	border: 1px solid var(--sc-line);
	border-radius: 999px;
	font-size: .875rem;
	text-decoration: none;
	color: var(--sc-ink);
	background: var(--sc-white);
	transition: border-color .2s var(--sc-ease), background-color .2s var(--sc-ease);
}
.sc-topic-list a:hover, .sc-topic-list .current-cat a { border-color: var(--sc-ink); background: var(--sc-sage-100); }

.sc-feature {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50);
	align-items: center;
	position: relative;
	padding-bottom: var(--wp--preset--spacing--60);
	border-bottom: 1px solid var(--sc-line);
}
.sc-feature > * { margin: 0 !important; }
.sc-feature__media { margin: 0; border-radius: var(--sc-radius-l); overflow: hidden; background: var(--sc-sage-100); }
.sc-feature__media img { transition: transform .6s var(--sc-ease); }
.sc-feature:hover .sc-feature__media img { transform: scale(1.02); }
.sc-feature__body > * { margin-block: 0; }
.sc-feature__body > * + * { margin-block-start: 1rem; }
.sc-feature__title { font-size: var(--wp--preset--font-size--heading-l); line-height: 1.06; letter-spacing: -.025em; }
.sc-feature__title a { text-decoration: none; color: inherit; }
.sc-feature__title a::after { content: ""; position: absolute; inset: 0; }
.sc-feature .wp-block-post-excerpt { color: var(--sc-ink-2); font-size: 1.0625rem; }
.sc-feature .sc-meta-row { border: 0; padding: 0; }
.sc-featured-query:has(.wp-block-post-template:empty) { display: none; }
.sc-featured-query + .sc-latest__title { margin-block-start: var(--wp--preset--spacing--60) !important; }
.sc-latest__title { font-size: var(--wp--preset--font-size--heading-m); }
.sc-wrap > .sc-latest__title + .sc-post-query { margin-block-start: var(--wp--preset--spacing--40); }
.sc-post-card .sc-card__title { font-size: 1.375rem; }

.sc-pagination { margin-block-start: var(--wp--preset--spacing--60) !important; padding-top: 1.25rem; border-top: 1px solid var(--sc-line); font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--small); }
.sc-pagination a, .sc-pagination .page-numbers { text-decoration: none; color: var(--sc-ink); padding: .35rem .6rem; border-radius: 6px; }
.sc-pagination a:hover { background: var(--sc-stone); }
.sc-pagination .current { background: var(--sc-ink); color: var(--sc-paper); }

.sc-related__heading { font-size: var(--wp--preset--font-size--heading-m); margin: 0 0 var(--wp--preset--spacing--50); }
.sc-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sc-gap); }
.sc-related .sc-card__title { font-size: 1.3rem; }

.sc-search { max-width: 560px; }
.sc-search .wp-block-search__input { border: 1px solid var(--sc-line-strong); border-radius: 999px; padding: .75rem 1.1rem; background: var(--sc-white); font: inherit; }
.sc-search .wp-block-search__button { margin-left: .5rem; }

.sc-standard { padding-block-end: var(--wp--preset--spacing--70); }
.sc-standard__title { margin-block-start: var(--wp--preset--spacing--60) !important; }

/* 14. Case studies ------------------------------------------------------- */

.sc-case-card .sc-card__eyebrow { min-height: 1.2em; }
.wp-block-post-template li.is-sample .sc-case-card::before {
	content: "Sample";
	position: absolute;
	top: 1rem;
	right: 1rem;
	font-family: var(--sc-mono);
	font-size: .6875rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: .2rem .5rem;
	border: 1px dashed var(--sc-sage-ink);
	border-radius: 4px;
	color: var(--sc-sage-ink);
}
.sc-sample-notice {
	border-left: 3px solid var(--sc-sage-ink);
	background: var(--sc-sage-100);
	padding: .9rem 1.1rem;
	border-radius: 0 8px 8px 0;
	font-size: var(--wp--preset--font-size--small);
	max-width: 46rem;
}
.sc-case__summary { max-width: 42em; }
.sc-case__facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--sc-gap);
	margin-block-start: var(--wp--preset--spacing--60) !important;
}
.sc-case__fact { border-top: 1px solid var(--sc-ink); padding-top: .9rem; margin: 0 !important; font-size: .975rem; }
.sc-case__fact > * { margin: 0; }
.sc-case__fact a { color: inherit; }
.sc-case__label { font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--label); letter-spacing: .08em; text-transform: uppercase; color: var(--sc-sage-ink); margin-bottom: .35rem !important; }
.sc-case__body > h2 { padding-top: 1.25rem; border-top: 1px solid var(--sc-line); }

/* 15. Contact & form ----------------------------------------------------- */

.sc-contact-section { padding-block-start: var(--wp--preset--spacing--50); }
.sc-contact {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--wp--preset--spacing--60);
	align-items: start;
}
.sc-contact > * { margin: 0 !important; }
.sc-contact__aside > * { margin-block: 0; }
.sc-contact__aside > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-contact__aside .sc-page-hero__title { font-size: clamp(2.25rem, 4.4vw, 3.5rem); margin-block-start: var(--wp--preset--spacing--40); }
.sc-contact__subhead {
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sc-ink);
	margin-block-start: var(--wp--preset--spacing--60) !important;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--sc-ink);
}
.sc-next-steps { list-style: none; padding: 0 !important; counter-reset: ns; margin-block-start: 0 !important; }
.sc-next-steps li {
	counter-increment: ns;
	position: relative;
	padding: .9rem 0 .9rem 2.5rem;
	border-bottom: 1px solid var(--sc-line);
	color: var(--sc-ink-2);
	margin: 0;
	font-size: .975rem;
}
.sc-next-steps li strong { color: var(--sc-ink); font-weight: 600; }
.sc-next-steps li::before {
	content: counter(ns, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 1.05rem;
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	color: var(--sc-sage-ink);
}
.sc-contact__direct > * { margin: 0; }
.sc-contact__label { font-size: var(--wp--preset--font-size--small); color: var(--sc-ink-2); }
.sc-contact__email { font-family: var(--sc-display); font-size: clamp(1.2rem, 4.6vw, 1.5rem); letter-spacing: -.01em; overflow-wrap: anywhere; }

.sc-form-card {
	background: var(--sc-white);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius-l);
	padding: clamp(1.5rem, 4vw, 3rem);
	box-shadow: var(--wp--preset--shadow--soft);
}
.sc-form-card > * { margin-block: 0; }
.sc-form-card__title { font-size: var(--wp--preset--font-size--heading-m); }
.sc-form-card__hint { color: var(--sc-ink-2); font-size: var(--wp--preset--font-size--small); margin-block-start: .5rem !important; }
.sc-form { margin-block-start: var(--wp--preset--spacing--50) !important; }
.sc-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.25rem; }
.sc-field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.sc-field--full { grid-column: 1 / -1; }
.sc-field label { font-size: .9375rem; font-weight: 500; }
.sc-field__optional { font-weight: 400; color: var(--sc-ink-2); }
.sc-field__hint { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--sc-ink-2); }
.sc-field :where(input, select, textarea) {
	font: inherit;
	font-size: 1rem;
	color: var(--sc-ink);
	background: var(--sc-paper);
	border: 1px solid var(--sc-line-strong);
	border-radius: 10px;
	padding: .8rem .95rem;
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	transition: border-color .2s var(--sc-ease), box-shadow .2s var(--sc-ease), background-color .2s var(--sc-ease);
}
.sc-field select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231B302C' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 12px 8px;
	padding-right: 2.5rem;
}
.sc-field textarea { resize: vertical; min-height: 9rem; line-height: 1.55; }
.sc-field :where(input, select, textarea):hover { border-color: var(--sc-ink-2); }
.sc-field :where(input, select, textarea):focus { outline: none; border-color: var(--sc-ink); background: var(--sc-white); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc-sage) 45%, transparent); }
.sc-field [aria-invalid="true"] { border-color: var(--sc-error); box-shadow: 0 0 0 1px var(--sc-error); }
.sc-field__error { margin: 0; color: var(--sc-error); font-size: var(--wp--preset--font-size--small); display: flex; gap: .4rem; align-items: baseline; }
.sc-field__error::before { content: "!"; font-family: var(--sc-mono); font-weight: 600; flex: none; width: 1.1em; height: 1.1em; border-radius: 50%; background: var(--sc-error); color: var(--sc-white); font-size: .75rem; display: inline-grid; place-items: center; transform: translateY(.1em); }
.sc-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sc-form__form { position: relative; }
.sc-form__summary {
	border: 1px solid var(--sc-error);
	border-left-width: 4px;
	border-radius: 8px;
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	background: #fbf3f1;
}
.sc-form__summary:focus { outline: 2px solid var(--sc-error); outline-offset: 2px; }
.sc-form__summary-title { margin: 0; font-weight: 600; color: var(--sc-error); }
.sc-form__summary-list { margin: .5rem 0 0; padding-left: 1.1rem; font-size: var(--wp--preset--font-size--small); }
.sc-form__summary-list:empty { display: none; }
.sc-form__summary-list a { color: var(--sc-error); }
.sc-form__footer { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-top: 1.75rem; }
.sc-form__submit { cursor: pointer; min-height: 48px; padding-inline: 1.75rem; }
.sc-form__submit[disabled] { opacity: .7; cursor: progress; }
.sc-form__submit[aria-busy="true"]::before {
	content: "";
	display: inline-block;
	width: .9em;
	height: .9em;
	margin-right: .6em;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	vertical-align: -.1em;
	animation: sc-spin .8s linear infinite;
}
@keyframes sc-spin { to { transform: rotate(360deg); } }
.sc-form__note { margin: 0; flex: 1 1 16rem; font-size: .8125rem; color: var(--sc-ink-2); }
.sc-form__status { margin: 0; }
.sc-form__success { padding: 2rem 0 .5rem; }
.sc-form__success:focus { outline: none; }
.sc-form__success::before {
	content: "";
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	margin-bottom: 1.5rem;
	background: var(--sc-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EEF0EA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 55% no-repeat;
}
.sc-form__success > * { margin: 0; }
.sc-form__success > * + * { margin-top: .75rem; }
.sc-form__success-eyebrow { font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--label); letter-spacing: .1em; text-transform: uppercase; color: var(--sc-sage-ink); }
.sc-form__success-title { font-size: var(--wp--preset--font-size--heading-m); }
.sc-form__success p:last-child { color: var(--sc-ink-2); }

.sc-editor-placeholder { font-family: var(--sc-mono); font-size: .75rem; color: var(--sc-ink-2); border: 1px dashed var(--sc-line-strong); padding: .5rem .75rem; border-radius: 6px; }

/* 16. Motion -------------------------------------------------------------- */

.js .sc-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .8s var(--sc-ease), transform .8s var(--sc-ease);
	transition-delay: calc(var(--sc-i, 0) * 70ms);
}
.js .sc-reveal.is-visible { opacity: 1; transform: none; }

.sc-map__loop { stroke-dasharray: 1600; animation: sc-draw 2.4s .3s var(--sc-ease) backwards; }
@keyframes sc-draw { from { stroke-dashoffset: 1600; } to { stroke-dashoffset: 0; } }
/* The phone drawing's loop is much shorter; size its dash to the path so it draws over the same time. */
.sc-map__svg--compact .sc-map__loop { stroke-dasharray: 260; animation-name: sc-draw-compact; }
@keyframes sc-draw-compact { from { stroke-dashoffset: 260; } to { stroke-dashoffset: 0; } }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
	.js .sc-reveal { opacity: 1; transform: none; }
	.sc-map__pulses { display: none; }
	.sc-map__loop { stroke-dashoffset: 0; }
	.sc-card--link:hover { transform: none; }
}

/* 17. Responsive --------------------------------------------------------- */

@media (max-width: 1100px) {
	.sc-grid--4 { --sc-cols: 2; }
	.sc-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sc-footer__brand { grid-column: 1 / -1; }
	.sc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--wp--preset--spacing--50); }
	.sc-step:nth-child(2)::after { right: 0; }
}

@media (max-width: 960px) {
	.sc-hero__grid, .sc-split, .sc-founder, .sc-contact, .sc-page-hero__grid.has-aside, .sc-duo, .sc-feature { grid-template-columns: minmax(0, 1fr); }
	.sc-hero__visual { max-width: 640px; margin-top: 0 !important; }
	.sc-split__aside { position: static; }
	.sc-grid--3, .sc-related__grid { --sc-cols: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sc-symptoms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sc-case__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sc-founder__media { max-width: 420px; }
	.sc-compare__row { gap: var(--wp--preset--spacing--40); }
}

@media (max-width: 680px) {
	.sc-grid, .sc-grid--2, .sc-grid--3, .sc-grid--4, .sc-related__grid { grid-template-columns: minmax(0, 1fr); }
	.sc-symptoms, .sc-steps, .sc-case__facts, .sc-form__grid { grid-template-columns: minmax(0, 1fr); }
	.sc-step::after { right: 0; }
	.sc-compare__row { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
	.sc-compare__row--head { display: none; }
	.sc-tech__row { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
	.sc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sc-brand__word { font-size: 1rem; }
	.wp-block-buttons > .wp-block-button { flex: 1 1 auto; }
	.wp-block-buttons > .wp-block-button.is-style-arrow { flex: 0 0 auto; }
	.wp-block-buttons > .wp-block-button .wp-block-button__link { width: 100%; text-align: center; justify-content: center; }
	.sc-breadcrumbs [aria-current] { max-width: 24ch; }
}

@media (max-width: 420px) {
	.sc-footer__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Navigation extras: "Contact" lives in the header button on desktop, in the menu on mobile. */
@media (min-width: 900px) {
	.sc-nav .sc-nav-contact { display: none !important; }
}
.sc-nav .sc-nav-all > .wp-block-navigation-item__content { border-top: 1px solid var(--sc-line); margin-top: .35rem; padding-top: .8rem !important; font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--label); letter-spacing: .08em; text-transform: uppercase; color: var(--sc-sage-ink); border-radius: 0 0 8px 8px; }

/* Service cards: arrow sits top-right; tagline stays clean. */
.sc-service-card .sc-card__meta::after { content: none; }
.sc-service-card::after {
	content: "→" / "";
	position: absolute;
	top: clamp(1.5rem, 2.4vw, 2rem);
	right: clamp(1.5rem, 2.4vw, 2rem);
	font-size: 1.25rem;
	line-height: 1;
	color: var(--sc-ink-2);
	transition: transform .3s var(--sc-ease), color .3s var(--sc-ease);
}
.sc-service-card:hover::after { transform: translateX(4px); color: var(--sc-ink); }
.sc-step { display: flex; flex-direction: column; }
.sc-step > .sc-step__output { margin-top: auto !important; }
.sc-step > .sc-step__text { margin-bottom: 1.25rem; }
.sc-model .is-style-dashes { margin-bottom: 1.5rem; }
.wp-block-post-template li.is-sample .sc-case-card .sc-card__eyebrow { padding-right: 5rem; }
.sc-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.sc-nav .is-menu-open .wp-block-navigation__container,
.sc-nav .is-menu-open .wp-block-navigation__submenu-container,
.sc-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; }
.sc-nav .is-menu-open .sc-nav-all > .wp-block-navigation-item__content { border-top: 0; margin-top: .25rem; }

/* Featured article without an image: single column, wider measure. */
.sc-feature:not(:has(.sc-feature__media)) { grid-template-columns: minmax(0, 1fr); }
.sc-feature:not(:has(.sc-feature__media)) .sc-feature__body { max-width: 52rem; }

/* Group block style "Card" (editor option). */
.wp-block-group.is-style-card {
	background: var(--sc-white);
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	padding: clamp(1.5rem, 2.4vw, 2rem);
}

/* =========================================================================
   18. Refinement pass (post-audit): editorial components replacing card grids
   ========================================================================= */

/* Hero: three proof facts, founder badge, mobile map */
.sc-hero__facts li:last-child { border-bottom: 0; }
.sc-founder-badge {
	display: flex;
	align-items: center;
	gap: .85rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--sc-ink-2);
	line-height: 1.45;
}
.sc-founder-badge strong { color: var(--sc-ink); font-weight: 600; }
.sc-founder-badge__img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }

/* The gap: problem statement + symptom list + comparison */
.sc-symptom-list { display: grid; gap: 0; border-top: 1px solid var(--sc-ink); }
.sc-symptom-list > .sc-symptom { margin: 0 !important; border-top: 0; border-bottom: 1px solid var(--sc-line); padding: 1.1rem 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: .25rem 2rem; align-items: baseline; }
.sc-symptom-list .sc-symptom > * { margin: 0 !important; }
.sc-gap .sc-compare { margin-block-start: var(--wp--preset--spacing--60) !important; }
.sc-gap .sc-split__aside .is-style-lead { margin-block-start: var(--wp--preset--spacing--30); }

/* Services index: rows, not cards */
.sc-index { border-top: 1px solid var(--sc-ink); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--60); }
.sc-index > .sc-index__row { margin: 0 !important; }
.sc-index__row {
	position: relative;
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr) 1.5rem;
	column-gap: 1rem;
	align-items: start;
	padding: 1.35rem 0;
	border-bottom: 1px solid var(--sc-line);
}
.sc-index__row::before {
	content: "";
	grid-row: 1 / span 3;
	width: 32px;
	height: 32px;
	margin-top: .15rem;
	background: var(--sc-ink);
	-webkit-mask: var(--sc-icon) center / contain no-repeat;
	mask: var(--sc-icon) center / contain no-repeat;
	transition: background-color .25s var(--sc-ease);
}
.sc-index__row::after {
	content: "→" / "";
	grid-column: 3;
	grid-row: 1;
	font-size: 1.2rem;
	color: var(--sc-ink-2);
	transition: transform .3s var(--sc-ease), color .3s var(--sc-ease);
}
.sc-index__row > * { grid-column: 2; margin: 0 !important; }
.sc-index__title { font-size: var(--wp--preset--font-size--heading-s); line-height: 1.2; }
.sc-index__title a { color: inherit; text-decoration: none; }
.sc-index__title a::after { content: ""; position: absolute; inset: 0; }
.sc-index__title a:focus-visible { outline: none; }
.sc-index__title a:focus-visible::after { outline: 2px solid var(--sc-sage-ink); outline-offset: 4px; border-radius: 6px; }
.sc-index__problem { margin-top: .35rem !important; color: var(--sc-ink-2); }
.sc-index__text { margin-top: .5rem !important; font-size: .975rem; color: var(--sc-ink-2); }
.sc-index--detailed .sc-index__problem { color: var(--sc-ink); font-weight: 500; }
.sc-index__row:hover::before { background: var(--sc-sage-ink); }
.sc-index__row:hover::after { transform: translateX(4px); color: var(--sc-ink); }
.sc-index__row:hover .sc-index__title a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.sc-index__stack { margin-block-start: var(--wp--preset--spacing--40) !important; font-size: var(--wp--preset--font-size--small); color: var(--sc-ink-2); }
.sc-index__stack a { color: var(--sc-ink); }
.sc-index__heading { font-size: var(--wp--preset--font-size--heading-m); margin-bottom: var(--wp--preset--spacing--40) !important; }

/* Engagement models as a comparison table */
.sc-models { border-top: 1px solid var(--sc-ink); }
.sc-models__row {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr);
	gap: var(--wp--preset--spacing--40);
	padding: 1.35rem 0;
	border-bottom: 1px solid var(--sc-line);
	margin: 0 !important;
}
.sc-models__row > * { margin: 0 !important; }
.sc-models__cell { color: var(--sc-ink-2); font-size: .975rem; }
.sc-models__cell > * { margin: 0; }
.sc-models__title { font-size: var(--wp--preset--font-size--heading-s); color: var(--sc-ink); }
.sc-models__summary { margin-top: .35rem !important; color: var(--sc-ink); font-weight: 500; font-size: .975rem; }
.sc-models__row--head { padding: .8rem 0; }
.sc-models__label { font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--label); letter-spacing: .08em; text-transform: uppercase; color: var(--sc-sage-ink); }
.sc-models__note {
	margin-block-start: var(--wp--preset--spacing--40) !important;
	padding: 1rem 1.25rem;
	background: var(--sc-stone);
	border-radius: var(--sc-radius);
	font-size: .975rem;
	color: var(--sc-ink-2);
	max-width: 52rem;
}
.sc-models__note strong { color: var(--sc-ink); }
.sc-wrap > .sc-steps__heading { margin-block-start: var(--wp--preset--spacing--60); font-size: var(--wp--preset--font-size--heading-s); }
.sc-wrap > .sc-steps__heading + .sc-steps { margin-block-start: var(--wp--preset--spacing--40); }
.sc-engagement .sc-step__title { font-size: var(--wp--preset--font-size--heading-s); }

/* Founder profile (block) */
.sc-founder { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--wp--preset--spacing--60); align-items: center; }
.sc-founder.is-neutral { grid-template-columns: minmax(0, 1fr); max-width: 50rem; }
.sc-founder__media { margin: 0; }
.sc-founder__img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--sc-radius-l); background: var(--sc-sage-100); display: block; }
.sc-founder__copy > * { margin-block: 0; }
.sc-founder__copy > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.sc-founder__heading { font-size: var(--wp--preset--font-size--heading-l); }
.sc-founder__name { font-size: 1.0625rem; }
.sc-founder__bio > * { margin: 0; }
.sc-founder__bio > * + * { margin-top: .9em; }
.sc-founder__subhead { font-size: var(--wp--preset--font-size--heading-s); margin-block-start: var(--wp--preset--spacing--40) !important; }
.sc-founder__links { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; margin-block-start: var(--wp--preset--spacing--40) !important; }
.sc-link-arrow { color: var(--sc-ink); text-decoration: none; box-shadow: inset 0 -1px 0 currentColor; padding-bottom: .1rem; display: inline-flex; gap: .4em; }
.sc-link-arrow::after { content: "→" / ""; transition: transform .25s var(--sc-ease); }
.sc-link-arrow:hover::after { transform: translateX(4px); }
.sc-founder-section .sc-wrap > .sc-work { margin-block-start: var(--wp--preset--spacing--60); }
.sc-editor-note {
	font-family: var(--sc-mono);
	font-size: .75rem;
	line-height: 1.6;
	color: var(--sc-sage-ink);
	border: 1px dashed var(--sc-sage-ink);
	border-radius: 8px;
	padding: .65rem .85rem;
	background: color-mix(in srgb, var(--sc-sage-100) 50%, transparent);
}
.sc-editor-note a { color: inherit; }

/* Verified work */
.sc-work__heading { font-size: var(--wp--preset--font-size--heading-m); margin: 0 0 var(--wp--preset--spacing--40); }
.sc-work__result { margin-top: .75rem !important; padding-top: .75rem; border-top: 1px solid var(--sc-line); font-size: .9375rem; color: var(--sc-ink-2); }
.sc-work__result strong { font-family: var(--sc-display); font-size: 1.5rem; font-weight: 400; color: var(--sc-ink); margin-right: .35rem; }

/* Results block on case studies */
.sc-results__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--sc-gap); margin: 0; }
.sc-result { border-top: 1px solid var(--sc-ink); padding-top: .9rem; }
.sc-result__value { font-family: var(--sc-display); font-size: var(--wp--preset--font-size--heading-l); line-height: 1; }
.sc-result__label { margin: .5rem 0 0; color: var(--sc-ink-2); font-size: .975rem; }
.sc-results__note { font-size: var(--wp--preset--font-size--small); color: var(--sc-ink-2); margin-top: 1rem; }
.sc-results-pending { font-family: var(--sc-mono); font-size: .75rem; color: var(--sc-sage-ink); border: 1px dashed var(--sc-sage-ink); padding: .65rem .85rem; border-radius: 8px; }

/* Closing CTA: contained panel on paper, clearly separate from the footer */
.sc-cta-section { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); }
.wp-block-post-content > .sc-section + .sc-cta-section { padding-block-start: var(--wp--preset--spacing--60); }
.sc-cta {
	max-width: none;
	position: relative;
	overflow: hidden;
	border-radius: var(--sc-radius-l);
	padding: clamp(2rem, 6vw, 4.5rem) clamp(1.5rem, 6vw, 4.5rem);
}
.sc-cta::after {
	content: "";
	position: absolute;
	right: -4rem;
	top: 50%;
	width: min(420px, 50vw);
	aspect-ratio: 1;
	transform: translateY(-50%);
	background: url(../brand/mark-light.svg) center / contain no-repeat;
	opacity: .06;
	pointer-events: none;
}
.sc-cta > * { position: relative; z-index: 1; max-width: 46rem; }
.sc-cta__title { font-size: var(--wp--preset--font-size--heading-l); max-width: 20ch !important; }

/* Services hub: which service do I need? */
.sc-finder { border-top: 1px solid var(--sc-ink); }
.sc-finder__row { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--wp--preset--spacing--40); padding: 1.05rem 0; border-bottom: 1px solid var(--sc-line); margin: 0 !important; align-items: baseline; }
.sc-finder__row > * { margin: 0 !important; }
.sc-finder__symptom { font-size: 1.0625rem; }
.sc-finder__service a { color: var(--sc-ink); font-weight: 500; text-decoration-color: var(--sc-sage); text-underline-offset: .2em; }
.sc-finder__service a::after { content: " →" / ""; }

/* Service pages: capabilities as ruled columns, scenario band, hero schematic */
.sc-capabilities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); }
.sc-capabilities > .sc-capability { margin: 0 !important; border-top: 1px solid var(--sc-ink); padding-top: 1.1rem; }
.sc-capability > * { margin: 0; }
.sc-capability > * + * { margin-top: .6rem; }
.sc-capability__title { font-size: var(--wp--preset--font-size--heading-s); }
.sc-capability__text { color: var(--sc-ink-2); font-size: .975rem; }
.sc-capability .is-style-dashes { margin-top: 1rem !important; }

.sc-scenario > * { margin-block: 0; }
.sc-scenario > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-scenario__title { font-size: var(--wp--preset--font-size--heading-l); max-width: 22ch; }
.sc-scenario__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50); }
.sc-scenario__grid > * { margin: 0 !important; border-top: 1px solid rgba(238, 240, 234, .25); padding-top: 1rem; }
.sc-scenario__col > * { margin: 0; }
.sc-scenario__col > * + * { margin-top: .6rem; }
.sc-scenario__col h3 { font-family: var(--sc-mono); font-size: var(--wp--preset--font-size--label); letter-spacing: .1em; text-transform: uppercase; font-weight: 400; color: var(--sc-on-dark-2); }
.sc-scenario__col p { color: var(--sc-on-dark); }
.sc-panel__title, .sc-benefits__title { font-size: var(--wp--preset--font-size--heading-m); }
.sc-benefit__title { font-size: var(--wp--preset--font-size--heading-s); }

.sc-page-hero__grid.has-aside { align-items: start; }
.sc-page-hero__aside > * { margin: 0 !important; }
.sc-page-hero__aside > * + * { margin-top: var(--sc-gap) !important; }
.sc-svc-visual { background: var(--sc-white); border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 1rem; }
.sc-svc-visual .sc-map__svg { overflow: visible; }
.sc-svc-visual .sc-map__node text { font-size: 10.5px; }
.sc-map__route { fill: none; stroke: var(--sc-ink); stroke-width: 1.5; stroke-linejoin: round; }
.sc-map__milestone { fill: var(--sc-ink); }
.sc-map__dot-ui { fill: var(--sc-line); }
.sc-map__node.is-excluded rect { stroke-dasharray: 3 3; fill: transparent; }
.sc-map__node.is-excluded text { fill: var(--sc-ink-2); text-decoration: line-through; }
.sc-map__note { font-family: var(--sc-mono); font-size: 9.5px; fill: var(--sc-sage-ink); letter-spacing: .04em; }
.sc-glance__tools { font-size: .875rem; color: var(--sc-ink-2); }

/* About */
.sc-statement { font-size: var(--wp--preset--font-size--heading-m); line-height: 1.2; }
.sc-principles { border-top: 1px solid var(--sc-ink); }
.sc-principles > .sc-principle { margin: 0 !important; padding: 1.1rem 0; border-bottom: 1px solid var(--sc-line); }
.sc-principle > * { margin: 0; }
.sc-principle > * + * { margin-top: .4rem; }
.sc-principle__title { font-size: var(--wp--preset--font-size--heading-s); font-style: italic; font-weight: 380; }
.sc-principle p { color: var(--sc-ink-2); }

/* Contact: intro, then form first (it is the point of the page), then next steps */
.sc-contact-section .sc-wrap > .sc-contact { margin-block-start: var(--wp--preset--spacing--50); }
.sc-contact__intro { max-width: 46rem; }
.sc-contact__intro > * { margin-block: 0; }
.sc-contact__intro > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.sc-contact__intro .sc-page-hero__title { font-size: clamp(2.25rem, 4.4vw, 3.5rem); }
.sc-contact { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.sc-contact__aside .sc-contact__subhead { margin-block-start: 0 !important; }

/* Responsive for the refinement pass */
@media (max-width: 960px) {
	.sc-index { grid-template-columns: minmax(0, 1fr); }
	.sc-models__row--head { display: none; }
	.sc-models__row { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
	.sc-models__cell:nth-child(2)::before { content: "Best when — "; font-weight: 600; color: var(--sc-ink); }
	.sc-models__cell:nth-child(3)::before { content: "Includes — "; font-weight: 600; color: var(--sc-ink); }
	.sc-capabilities, .sc-scenario__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sc-founder { grid-template-columns: minmax(0, 1fr); }
	.sc-founder__media { max-width: 360px; }
	.sc-contact { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
	.sc-symptom-list > .sc-symptom { grid-template-columns: minmax(0, 1fr); }
	.sc-capabilities, .sc-scenario__grid, .sc-finder__row { grid-template-columns: minmax(0, 1fr); }
	.sc-finder__row { gap: .3rem; }
	.sc-index__row { grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; column-gap: .75rem; padding: 1.1rem 0; }
	.sc-index__row::before { width: 26px; height: 26px; }
	.sc-cta__title { font-size: var(--wp--preset--font-size--heading-m); }
	.sc-hero__facts { font-size: .875rem; }
	/* Phones get the vertical drawing: fully visible, no sideways scrolling, text at a readable size. */
	.sc-map__svg.sc-map__svg--full { display: none; }
	.sc-map__svg.sc-map__svg--compact { display: block; max-width: 420px; margin-inline: auto; }
	.sc-map__svg--compact .sc-map__node text { font-size: 13.5px; }
	.sc-map__svg--compact .sc-map__col, .sc-map__svg--compact .sc-map__note { font-size: 11.5px !important; }
	.sc-map__svg--compact .sc-map__band-text { font-size: 13.5px; }
	.sc-svc-visual { padding: .75rem; }
	.sc-page-hero__aside .sc-glance { padding: 1.25rem; }
	.sc-tech__row { padding-block: .9rem; }
	.sc-tech .sc-chips li { font-size: .8125rem; padding: .3rem .65rem; }
}

/* =========================================================================
   19. Founder content package: roles, proof, founder story
   ========================================================================= */

/* Role labels: who did the work */
.sc-role {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin: 0;
	font-family: var(--sc-mono);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sc-sage-ink);
}
.sc-role::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; flex: none; }
.sc-role--implemented::before { background: var(--sc-ink); }
.sc-role--led::before { background: transparent; box-shadow: inset 0 0 0 1.5px currentColor; }
.sc-role--led-coordinated::before, .sc-role--coordinated::before { background: linear-gradient(90deg, currentColor 50%, transparent 50%); box-shadow: inset 0 0 0 1.5px currentColor; }
.is-style-dark .sc-role { color: var(--sc-on-dark-2); }
.is-style-dark .sc-role--implemented::before { background: var(--sc-on-dark); }
.sc-role--card { margin-top: .75rem !important; }

/* "In practice" band on service pages */
.sc-practice > * { margin-block: 0; }
.sc-practice > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.sc-practice__quote { font-size: var(--wp--preset--font-size--heading-l); font-weight: 360; max-width: 26ch; line-height: 1.12; }
.sc-practice__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50); }
.sc-practice__grid > * { margin: 0 !important; }
.sc-practice__item { border-top: 1px solid rgba(238, 240, 234, .25); padding-top: 1.1rem; }
.sc-practice__item > * { margin: 0; }
.sc-practice__item > * + * { margin-top: .6rem; }
.sc-practice__title { font-size: var(--wp--preset--font-size--heading-s); }
.sc-practice__text { color: var(--sc-on-dark); opacity: .9; }

/* Homepage gap: approach line */
.sc-gap__approach { padding-top: 1rem; border-top: 1px solid var(--sc-line); }
.sc-gap__approach strong { color: var(--sc-ink); }

/* Founder block without a headshot: single, generous column */
.sc-founder.has-profile.no-photo { grid-template-columns: minmax(0, 1fr); max-width: 52rem; }

/* Selected work as its own section (renders only when approved work is published) */
.sc-work-section > .sc-wrap { max-width: var(--wp--style--global--wide-size, 1240px); margin-inline: auto; }
.sc-work-section .sc-work__intro { margin-block: .75rem var(--wp--preset--spacing--40); }

/* About: career path + story */
.sc-path { margin-block-start: var(--wp--preset--spacing--40) !important; border-left: 1px solid var(--sc-ink); padding-left: 1.25rem; }
.sc-path > .sc-path__step { margin: 0 !important; position: relative; padding-bottom: 1.1rem; }
.sc-path > .sc-path__step:last-child { padding-bottom: 0; }
.sc-path__step::before { content: ""; position: absolute; left: calc(-1.25rem - 4.5px); top: .45rem; width: 8px; height: 8px; border-radius: 50%; background: var(--sc-stone); box-shadow: inset 0 0 0 1.5px var(--sc-ink); }
.sc-path__step:last-child::before { background: var(--sc-ink); }
.sc-path__step > * { margin: 0; }
.sc-path__title { font-size: 1.125rem; font-family: var(--wp--preset--font-family--sans); font-weight: 600; letter-spacing: 0; }
.sc-path__step p { color: var(--sc-ink-2); font-size: .975rem; margin-top: .2rem; }
.sc-story > * + * { margin-block-start: 1.1em !important; }
.sc-story p:not(.is-style-lead) { font-size: 1.0625rem; line-height: 1.7; }
.sc-principles--compact .sc-principle__title { font-size: var(--wp--preset--font-size--heading-s); }
.sc-experience li { font-size: 1.0625rem; }
.sc-page-hero__aside .sc-founder-badge { margin-top: .5rem; }

/* Case study facts: five items incl. role */
.sc-case__facts { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.sc-case-role { margin: 0; display: grid; gap: .3rem; }
.sc-case-role__note { font-size: .9375rem; color: var(--sc-ink-2); }

@media (max-width: 960px) {
	.sc-practice__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
	.sc-practice__quote { font-size: var(--wp--preset--font-size--heading-m); }
}
.sc-hero__copy > .sc-founder-badge { margin-block-start: var(--wp--preset--spacing--40); }
.sc-founder-badge strong { font-size: .9375rem; }
/* Hero aside badge only when there is a headshot (About page). */
.sc-page-hero__aside .sc-founder-badge:not(:has(img)) { display: none; }
.sc-page-hero__grid.has-aside:not(:has(.sc-founder-badge img)):has(> .sc-page-hero__aside .sc-founder-badge) { grid-template-columns: minmax(0, 1fr); }
.sc-founder-signals { max-width: 52rem; margin-block-start: var(--wp--preset--spacing--40) !important; padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--sc-line); }
.sc-founder-signals li { color: var(--sc-ink); }
.sc-path--narrative { border-left: 1px solid var(--sc-ink); padding-left: 1.5rem; }
.sc-path--narrative > .sc-path__step { padding-bottom: 1.6rem; }
.sc-path--narrative .sc-path__title { font-family: var(--sc-display); font-weight: 400; font-size: var(--wp--preset--font-size--heading-s); letter-spacing: -.01em; }
.sc-path--narrative .sc-path__step p { font-size: 1.0625rem; line-height: 1.65; margin-top: .4rem; }
.sc-path--narrative .sc-path__step::before { left: calc(-1.5rem - 4.5px); top: .6rem; }

/* Editorial "to confirm" notes in case-study drafts. Publishing is blocked while one remains. */
.sc-draft-note { border: 1px dashed var(--sc-sage); background: var(--sc-sage-100); padding: .75rem 1rem; font-size: .9375rem; }
