@layer components {
	/*
	 * Phase 4 home-page shell.
	 *
	 * The approved Phase 3.1 composition remains the static source of truth.
	 * Motion-ready states below progressively enhance only the hero, Process and
	 * Selected Work systems.
	 */
	.home-page {
		--fg-home-accent-on-dark: color-mix(in srgb, var(--fg-brand-primary) 80%, white);

		background: var(--fg-dark-background);
		color: var(--fg-dark-text-primary);
		overflow: clip;
	}

	.home-page :where(section) {
		position: relative;
	}

	.home-page :where(img) {
		inline-size: 100%;
	}

	.home-trust__facts li,
	.capability-index__item,
	.principle-list__item,
	.process-list__item {
		max-inline-size: none;
	}

	.home-eyebrow {
		display: flex;
		align-items: center;
		gap: var(--fg-space-3);
		color: var(--fg-color-text-muted);
		font-size: var(--fg-font-size-xs);
		font-weight: var(--fg-font-weight-semibold);
		letter-spacing: var(--fg-letter-spacing-meta);
		line-height: 1.35;
		text-transform: uppercase;
	}

	.home-eyebrow::before {
		inline-size: 1.75rem;
		block-size: var(--fg-border-width);
		background: var(--fg-brand-primary);
		content: "";
		flex: 0 0 auto;
	}

	.home-section-heading {
		display: grid;
		gap: var(--fg-space-5);
	}

	.home-section-heading h2 {
		max-inline-size: 15ch;
		line-height: var(--fg-line-height-tight);
	}

	.home-section-heading h2 > span {
		display: block;
	}

	/* Hero — proposition first, then one coherent layered project object. */
	.home-hero {
		isolation: isolate;
		min-block-size: clamp(43rem, 85svh, 58rem);
		border-block-end: var(--fg-border-width) solid var(--fg-dark-border);
		background: var(--fg-dark-background);
		color: var(--fg-dark-text-primary);
	}

	.home-hero::before,
	.home-hero::after {
		position: absolute;
		inset-block: 0;
		z-index: -1;
		inline-size: var(--fg-border-width);
		background: var(--fg-dark-border);
		content: "";
		pointer-events: none;
	}

	.home-hero::before {
		inset-inline-start: max(var(--fg-container-gutter), calc((100vw - var(--fg-container-main)) / 2));
	}

	.home-hero::after {
		inset-inline-end: max(var(--fg-container-gutter), calc((100vw - var(--fg-container-main)) / 2));
	}

	.home-hero__inner {
		position: relative;
		display: flex;
		min-block-size: inherit;
		align-items: center;
		padding-block: clamp(3.5rem, 7vh, 6rem) clamp(4rem, 7vh, 6rem);
	}

	.home-hero__grid {
		display: grid;
		inline-size: 100%;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: center;
	}

	.home-hero__content {
		z-index: 2;
		grid-column: 1 / span 5;
		min-inline-size: 0;
	}

	.home-hero__positioning {
		margin-block-end: var(--fg-space-5);
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-xs);
		font-weight: var(--fg-font-weight-medium);
		letter-spacing: 0.065em;
		line-height: 1.5;
	}

	.home-hero__title {
		max-inline-size: 10.5ch;
		font-size: clamp(3.25rem, 2.25rem + 3.35vw, 5.25rem);
		letter-spacing: var(--fg-letter-spacing-display);
		line-height: 0.96;
	}

	.home-hero__copy {
		max-inline-size: 35rem;
		margin-block-start: var(--fg-space-6);
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-body);
	}

	.home-hero__actions {
		display: flex;
		align-items: center;
		gap: var(--fg-space-3) var(--fg-space-5);
		margin-block-start: var(--fg-space-7);
		flex-wrap: wrap;
	}

	.home-hero__visual {
		grid-column: 6 / -1;
		min-inline-size: 0;
	}

	.project-object {
		position: relative;
		isolation: isolate;
		inline-size: min(100%, 49rem);
		margin-inline: auto;
		aspect-ratio: 1.09 / 1;
		perspective: 80rem;
	}

	.project-object::before {
		position: absolute;
		inset: 4% 1% 6% 8%;
		z-index: -2;
		border-block: var(--fg-border-width) solid var(--fg-dark-border);
		content: "";
	}

	.project-object__geometry {
		position: absolute;
		inset: 0;
		z-index: 6;
		pointer-events: none;
	}

	.project-object__axis {
		position: absolute;
		display: block;
		background: var(--fg-dark-border-strong);
	}

	.project-object__axis--horizontal {
		inset-block-end: 7%;
		inset-inline: 8% 0;
		block-size: var(--fg-border-width);
	}

	.project-object__axis--vertical {
		inset-block: 0 7%;
		inset-inline-end: 4%;
		inline-size: var(--fg-border-width);
	}

	.project-object__node {
		position: absolute;
		inset-block-end: calc(7% - 0.2rem);
		inset-inline-end: calc(4% - 0.2rem);
		inline-size: 0.4375rem;
		block-size: 0.4375rem;
		border-radius: 50%;
		background: var(--fg-brand-secondary);
	}

	.project-object__surface {
		position: absolute;
		overflow: hidden;
		border: var(--fg-border-width) solid var(--fg-dark-border-strong);
		border-radius: var(--fg-radius-xs);
		background: var(--fg-dark-surface-secondary);
		box-shadow: 0 1.25rem 3rem rgb(0 0 0 / 38%);
	}

	.project-object__surface img {
		block-size: 100%;
		object-fit: cover;
	}

	.project-object__surface--editorial {
		inset-block-start: 2%;
		inset-inline-start: 15%;
		z-index: 1;
		inline-size: 52%;
		aspect-ratio: 8 / 5;
		opacity: 0.7;
		transform: rotate(1.2deg) translateZ(-2rem);
	}

	.project-object__surface--portrait {
		inset-block-end: 1%;
		inset-inline-start: 1%;
		z-index: 4;
		inline-size: 27%;
		aspect-ratio: 4 / 5;
		transform: rotate(1.1deg) translateZ(2rem);
	}

	.project-object__surface--primary {
		inset-block-start: 17%;
		inset-inline-end: 1%;
		z-index: 3;
		inline-size: 82%;
		aspect-ratio: 4 / 3;
		border-color: color-mix(in srgb, var(--fg-dark-text-primary) 34%, transparent);
		transform: rotate(-0.65deg);
	}

	.project-object__label {
		position: absolute;
		inset-block-end: 0;
		inset-inline: 33% 6%;
		display: flex;
		z-index: 7;
		align-items: center;
		justify-content: space-between;
		gap: var(--fg-space-4);
		color: var(--fg-dark-text-tertiary);
		font-family: var(--fg-font-mono);
		font-size: 0.625rem;
		letter-spacing: 0.08em;
		line-height: 1;
		text-transform: uppercase;
	}

	.home-hero__flow-line {
		position: absolute;
		inset-block-end: var(--fg-space-4);
		inset-inline: 0;
		block-size: 2.5rem;
	}

	.home-hero__flow-line .flow-line__turn {
		inset-inline-start: 76%;
	}

	.home-hero__flow-line .flow-line__node {
		inset-inline-start: calc(76% + 0.5625rem);
	}

	/* Founder-experience qualifier: type and separators, never stat cards. */
	.home-trust {
		border-block-end: var(--fg-border-width) solid var(--fg-dark-border);
		background: var(--fg-dark-background);
		color: var(--fg-dark-text-primary);
	}

	.home-trust__inner {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: stretch;
		padding-block: var(--fg-space-6);
	}

	.home-trust__qualifier {
		grid-column: 1 / span 4;
		align-self: center;
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-xs);
		font-weight: var(--fg-font-weight-semibold);
		letter-spacing: var(--fg-letter-spacing-meta);
		line-height: 1.4;
		text-transform: uppercase;
	}

	.home-trust__facts {
		display: grid;
		grid-column: 5 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.home-trust__facts li {
		display: grid;
		align-content: center;
		gap: var(--fg-space-1);
		padding-inline: clamp(1rem, 2.2vw, 2rem);
		border-inline-start: var(--fg-border-width) solid var(--fg-dark-border);
	}

	.home-trust__facts strong {
		font-size: clamp(1.75rem, 1.45rem + 1.1vw, 2.5rem);
		font-weight: var(--fg-font-weight-medium);
		letter-spacing: var(--fg-letter-spacing-heading);
		line-height: 1;
	}

	.home-trust__facts span {
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-xs);
		line-height: 1.35;
	}

	/* Capabilities: a light editorial index with architectural rules. */
	.home-capabilities {
		padding-block: var(--fg-section-space-standard);
		background: var(--fg-color-background);
		color: var(--fg-color-text);
	}

	.home-capabilities__heading {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: start;
		margin-block-end: clamp(3.5rem, 7vw, 6rem);
	}

	.home-capabilities__heading .home-eyebrow {
		grid-column: 1 / span 4;
	}

	.home-capabilities__heading h2 {
		grid-column: 5 / -1;
	}

	.capability-index {
		margin: 0;
		padding: 0;
		border-block-start: var(--fg-border-width) solid var(--fg-color-border-strong);
		list-style: none;
	}

	.capability-index__item {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: start;
		padding-block: clamp(1.75rem, 3.2vw, 2.75rem);
		border-block-end: var(--fg-border-width) solid var(--fg-color-border-strong);
		transition: background-color var(--fg-duration-standard) var(--fg-easing-standard);
	}

	.capability-index__number {
		grid-column: 1 / span 1;
		padding-block-start: 0.35rem;
		color: var(--fg-brand-primary);
		font-family: var(--fg-font-mono);
		font-size: var(--fg-font-size-xs);
		letter-spacing: 0.06em;
	}

	.capability-index__title {
		grid-column: 2 / span 4;
		font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem);
		font-weight: var(--fg-font-weight-medium);
		line-height: var(--fg-line-height-tight);
	}

	.capability-index__copy {
		grid-column: 6 / span 4;
		max-inline-size: 32rem;
		padding-block-start: 0.25rem;
		color: var(--fg-color-text-muted);
		font-size: var(--fg-font-size-sm);
	}

	.capability-index__action {
		grid-column: 10 / -1;
		align-self: start;
		justify-self: end;
		color: var(--fg-color-text);
	}

	.starter-route {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-space-3) var(--fg-grid-gap);
		align-items: start;
		margin-block-start: var(--fg-space-8);
		padding-block-start: var(--fg-space-5);
		border-block-start: var(--fg-border-width) solid var(--fg-color-border);
	}

	.starter-route__label {
		grid-column: 1 / span 3;
		color: var(--fg-color-text-muted);
		font-family: var(--fg-font-mono);
		font-size: var(--fg-font-size-xs);
		letter-spacing: 0.05em;
		text-transform: uppercase;
	}

	.starter-route h3 {
		grid-column: 5 / span 3;
		font-size: var(--fg-font-size-lg);
		font-weight: var(--fg-font-weight-medium);
	}

	.starter-route > p:last-child {
		grid-column: 8 / -1;
		color: var(--fg-color-text-muted);
		font-size: var(--fg-font-size-sm);
	}

	@media (hover: hover) and (pointer: fine) {
		.capability-index__item:hover {
			background: color-mix(in srgb, var(--fg-brand-primary) 3%, transparent);
		}

		.capability-index__item:hover .capability-index__action {
			text-decoration-color: var(--fg-brand-primary);
		}
	}

	/* Selected work: four projects, four deliberately different compositions. */
	.home-work {
		padding-block: var(--fg-section-space-large);
		background: var(--fg-dark-background);
		color: var(--fg-dark-text-primary);
	}

	.home-work__heading {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: start;
		margin-block-end: clamp(4rem, 8vw, 7rem);
	}

	.home-work__heading .home-eyebrow {
		grid-column: 1 / span 4;
	}

	.home-work__heading h2 {
		grid-column: 5 / -1;
		max-inline-size: 13ch;
	}

	.home-work__projects {
		display: grid;
		gap: clamp(5rem, 9vw, 8rem);
	}

	.work-project {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: center;
	}

	.work-project__visual-link {
		display: block;
		min-inline-size: 0;
		text-decoration: none;
	}

	.work-project__visual {
		position: relative;
		overflow: hidden;
		border: var(--fg-border-width) solid var(--fg-dark-border);
		border-radius: var(--fg-radius-xs);
		background: var(--fg-dark-surface-secondary);
	}

	.work-project__visual img {
		block-size: 100%;
		object-fit: cover;
		transition: transform var(--fg-duration-slow) var(--fg-easing-standard);
	}

	.work-project__content {
		display: grid;
		align-content: start;
		gap: var(--fg-space-4);
		min-inline-size: 0;
	}

	.work-project__meta {
		display: flex;
		align-items: center;
		gap: var(--fg-space-3);
		padding-block-end: var(--fg-space-3);
		border-block-end: var(--fg-border-width) solid var(--fg-dark-border);
	}

	.work-project__number,
	.work-project__label {
		font-family: var(--fg-font-mono);
		letter-spacing: 0.035em;
		line-height: 1.35;
	}

	.work-project__number {
		color: var(--fg-home-accent-on-dark);
		font-size: var(--fg-font-size-xs);
	}

	.work-project__label {
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-sm);
	}

	.work-project__title {
		font-size: clamp(2rem, 1.55rem + 1.7vw, 3rem);
		font-weight: var(--fg-font-weight-medium);
		line-height: var(--fg-line-height-tight);
	}

	.work-project__summary {
		max-inline-size: 35rem;
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-sm);
	}

	.work-project__action {
		justify-self: start;
		margin-block-start: var(--fg-space-2);
	}

	.work-project--primary .work-project__content {
		grid-column: 1 / span 4;
		grid-row: 1;
		padding-block-start: clamp(0.5rem, 1vw, 1rem);
	}

	.work-project--primary .work-project__visual-link {
		grid-column: 5 / -1;
		grid-row: 1;
	}

	.work-project--primary .work-project__visual {
		aspect-ratio: 4 / 3;
		background: var(--fg-light-background);
	}

	.work-project--portrait {
		align-items: end;
	}

	.work-project--portrait .work-project__visual-link {
		grid-column: 1 / span 6;
	}

	.work-project--portrait .work-project__visual {
		inline-size: min(100%, 34rem);
		margin-inline: auto;
		aspect-ratio: 4 / 5;
		background: var(--fg-light-background);
	}

	.work-project--portrait .work-project__content {
		grid-column: 8 / -1;
		padding-block-end: var(--fg-space-6);
	}

	.work-project--editorial {
		row-gap: var(--fg-space-6);
	}

	.work-project--editorial .work-project__visual-link {
		grid-column: 3 / span 8;
		grid-row: 1;
		justify-self: center;
		inline-size: min(100%, 54rem);
	}

	.work-project--editorial .work-project__visual {
		aspect-ratio: 2.45 / 1;
		background: var(--fg-light-background);
	}

	.work-project--editorial .work-project__content {
		grid-column: 2 / span 7;
		grid-row: 2;
	}

	.work-project--dark .work-project__content {
		grid-column: 1 / span 4;
		grid-row: 1;
	}

	.work-project--dark .work-project__visual-link {
		grid-column: 5 / -1;
		grid-row: 1;
		padding: clamp(0.75rem, 1.8vw, 1.5rem);
		border: var(--fg-border-width) solid var(--fg-dark-border-strong);
		background: var(--fg-dark-surface-secondary);
	}

	.work-project--dark .work-project__visual {
		aspect-ratio: 1.55 / 1;
		border-color: color-mix(in srgb, var(--fg-dark-text-primary) 22%, transparent);
	}

	@media (hover: hover) and (pointer: fine) {
		.work-project__visual-link:hover img {
			transform: scale(1.012);
		}
	}

	.home-work__footer {
		display: flex;
		justify-content: flex-end;
		margin-block-start: clamp(4rem, 7vw, 6rem);
		padding-block-start: var(--fg-space-5);
		border-block-start: var(--fg-border-width) solid var(--fg-dark-border);
	}

	/* Values form a transitional editorial rail, not a card collection. */
	.home-value {
		padding-block: var(--fg-section-space-standard);
		border-block: var(--fg-border-width) solid var(--fg-dark-border);
		background: var(--fg-dark-surface-elevated);
		color: var(--fg-dark-text-primary);
	}

	.home-value__inner {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: start;
	}

	.home-value__heading {
		grid-column: 1 / span 5;
	}

	.home-value__flow-line {
		inline-size: min(100%, 15rem);
		block-size: 3rem;
		margin-block-start: var(--fg-space-6);
	}

	.principle-list {
		grid-column: 6 / -1;
		margin: 0;
		padding: 0;
		border-block-start: var(--fg-border-width) solid var(--fg-dark-border-strong);
		list-style: none;
	}

	.principle-list__item {
		display: grid;
		grid-template-columns: minmax(2.25rem, 0.8fr) minmax(0, 5fr);
		gap: var(--fg-grid-gap);
		padding-block: var(--fg-space-6);
		border-block-end: var(--fg-border-width) solid var(--fg-dark-border-strong);
	}

	.principle-list__number {
		padding-block-start: 0.2rem;
		color: var(--fg-home-accent-on-dark);
		font-family: var(--fg-font-mono);
		font-size: var(--fg-font-size-xs);
		letter-spacing: 0.06em;
	}

	.principle-list__item h3 {
		font-size: var(--fg-font-size-lg);
		font-weight: var(--fg-font-weight-medium);
	}

	.principle-list__item p {
		max-inline-size: 38rem;
		margin-block-start: var(--fg-space-3);
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-sm);
	}

	/* Process: readable statically, with one desktop progression enhancement. */
	.home-process {
		padding-block: var(--fg-section-space-standard);
		background: var(--fg-color-background);
		color: var(--fg-color-text);
	}

	.home-process__inner {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: start;
	}

	.home-process__heading {
		grid-column: 1 / span 5;
	}

	.home-process__progress {
		position: relative;
		grid-column: 6 / -1;
		padding-inline-start: var(--fg-space-7);
	}

	.process-flow-line {
		--fg-process-position: 50%;

		position: absolute;
		inset-block: 0;
		inset-inline-start: 0.4375rem;
		inline-size: var(--fg-border-width);
		background: var(--fg-color-border-strong);
	}

	.process-flow-line::before,
	.process-flow-line::after,
	.process-flow-line__node {
		position: absolute;
		inset-inline-start: 50%;
		inline-size: 0.5rem;
		block-size: 0.5rem;
		border: var(--fg-border-width) solid var(--fg-brand-primary);
		border-radius: 50%;
		background: var(--fg-color-background);
		content: "";
		transform: translateX(-50%);
	}

	.process-flow-line::before {
		inset-block-start: 0;
	}

	.process-flow-line::after {
		inset-block-end: 0;
	}

	.process-flow-line__node {
		inset-block-start: var(--fg-process-position);
		background: var(--fg-brand-primary);
		transform: translate(-50%, -50%);
	}

	.process-flow-line__connector {
		position: absolute;
		inset-block-start: var(--fg-process-position);
		inset-inline-start: 0;
		inline-size: var(--fg-space-6);
		block-size: var(--fg-border-width);
		background: var(--fg-brand-primary);
	}

	/* Phase 4 drives this existing structural rail with one ScrollTrigger. */
	.process-flow-line__fill {
		position: absolute;
		inset: 0;
		background: var(--fg-brand-primary);
		transform: scaleY(var(--fg-process-progress, 0));
		transform-origin: center top;
	}

	.process-list {
		margin: 0;
		padding: 0;
		border-block-start: var(--fg-border-width) solid var(--fg-color-border-strong);
		list-style: none;
	}

	.process-list__item {
		display: grid;
		grid-template-columns: minmax(2.5rem, 0.8fr) minmax(0, 5fr);
		gap: var(--fg-grid-gap);
		padding-block: clamp(1.5rem, 3vw, 2.25rem);
		border-block-end: var(--fg-border-width) solid var(--fg-color-border-strong);
	}

	.process-list__number {
		padding-block-start: 0.15rem;
		color: var(--fg-brand-primary);
		font-family: var(--fg-font-mono);
		font-size: var(--fg-font-size-xs);
		letter-spacing: 0.06em;
	}

	.process-list__item h3 {
		font-size: var(--fg-font-size-xl);
		font-weight: var(--fg-font-weight-medium);
	}

	.process-list__item p {
		margin-block-start: var(--fg-space-2);
		color: var(--fg-color-text-muted);
		font-size: var(--fg-font-size-sm);
	}

	.home-page[data-fg-home-motion="ready"] .home-process[data-process-motion="progress"] .process-list__item h3 {
		color: var(--fg-color-text-muted);
		transition: color 240ms var(--fg-easing-standard);
	}

	.home-page[data-fg-home-motion="ready"] .home-process[data-process-motion="progress"] :is(.process-flow-line__connector, .process-flow-line__node) {
		inset-block-start: 0;
	}

	.home-page[data-fg-home-motion="ready"] .home-process[data-process-motion="progress"] .process-list__item[data-process-state="complete"] h3 {
		color: color-mix(in srgb, var(--fg-color-text) 62%, var(--fg-color-text-muted));
	}

	.home-page[data-fg-home-motion="ready"] .home-process[data-process-motion="progress"] .process-list__item[data-process-state="active"] h3 {
		color: var(--fg-color-text);
	}

	.home-page[data-fg-home-motion="ready"] [data-home-hero-object][data-fg-hero-motion="depth"] {
		transform-style: preserve-3d;
	}

	/* Founder/experience: a purposeful 4:5 slot that needs no placeholder photo. */
	.home-founder {
		padding-block: var(--fg-section-space-standard);
		background: var(--fg-dark-background);
		color: var(--fg-dark-text-primary);
	}

	.home-founder__inner {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: center;
	}

	.home-founder__media-slot {
		position: relative;
		display: flex;
		grid-column: 1 / span 5;
		inline-size: min(100%, 28rem);
		aspect-ratio: 4 / 5;
		align-items: flex-end;
		padding: clamp(1.5rem, 3vw, 2.5rem);
		border: var(--fg-border-width) solid var(--fg-dark-border-strong);
		background: var(--fg-dark-surface-elevated);
		overflow: hidden;
	}

	.home-founder__media-slot::before,
	.home-founder__media-slot::after {
		position: absolute;
		background: var(--fg-dark-border);
		content: "";
	}

	.home-founder__media-slot::before {
		inset-block: 0;
		inset-inline-start: 28%;
		inline-size: var(--fg-border-width);
	}

	.home-founder__media-slot::after {
		inset-block-start: 24%;
		inset-inline: 0;
		block-size: var(--fg-border-width);
	}

	.home-founder__experience {
		position: relative;
		z-index: 1;
		display: grid;
		gap: var(--fg-space-3);
	}

	.home-founder__experience strong {
		font-size: clamp(5rem, 3.25rem + 8vw, 9rem);
		font-weight: var(--fg-font-weight-medium);
		letter-spacing: -0.075em;
		line-height: 0.78;
	}

	.home-founder__experience span {
		max-inline-size: 13rem;
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-sm);
	}

	.home-founder__media-index {
		position: absolute;
		inset-block-start: var(--fg-space-4);
		inset-inline-end: var(--fg-space-4);
		color: var(--fg-dark-text-tertiary);
		font-family: var(--fg-font-mono);
		font-size: 0.625rem;
		letter-spacing: 0.08em;
	}

	.home-founder__content {
		grid-column: 7 / -1;
	}

	.home-founder__content h2 {
		max-inline-size: 13ch;
		margin-block-start: var(--fg-space-5);
		line-height: var(--fg-line-height-tight);
	}

	.home-founder__content > p:last-child {
		max-inline-size: 37rem;
		margin-block-start: var(--fg-space-6);
		color: var(--fg-dark-text-secondary);
	}

	/* FAQ: typography, rules and native buttons. */
	.home-faq {
		padding-block: var(--fg-section-space-standard);
		border-block-start: var(--fg-border-width) solid var(--fg-dark-border);
		background: var(--fg-dark-background);
		color: var(--fg-dark-text-primary);
	}

	.home-faq__inner {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-grid-gap);
		align-items: start;
	}

	.home-faq__heading {
		grid-column: 1 / span 5;
	}

	.faq-list {
		grid-column: 6 / -1;
		border-block-start: var(--fg-border-width) solid var(--fg-dark-border-strong);
	}

	.faq-list__item {
		border-block-end: var(--fg-border-width) solid var(--fg-dark-border-strong);
	}

	.faq-list__heading {
		font: inherit;
	}

	.faq-list__trigger {
		display: grid;
		inline-size: 100%;
		min-block-size: 5rem;
		grid-template-columns: 2.5rem minmax(0, 1fr) 2rem;
		gap: var(--fg-space-4);
		align-items: center;
		padding: var(--fg-space-5) 0;
		border: 0;
		background: transparent;
		color: var(--fg-dark-text-primary);
		text-align: start;
	}

	.faq-list__number {
		color: var(--fg-home-accent-on-dark);
		font-family: var(--fg-font-mono);
		font-size: var(--fg-font-size-xs);
		letter-spacing: 0.06em;
	}

	.faq-list__question {
		font-size: var(--fg-font-size-lg);
		font-weight: var(--fg-font-weight-medium);
		letter-spacing: var(--fg-letter-spacing-heading);
		line-height: 1.25;
	}

	.faq-list__control {
		position: relative;
		display: block;
		inline-size: 1.125rem;
		block-size: 1.125rem;
		justify-self: end;
	}

	.faq-list__control span {
		position: absolute;
		inset-block-start: 50%;
		inset-inline-start: 0;
		inline-size: 100%;
		block-size: var(--fg-border-width);
		background: currentColor;
		transition: transform var(--fg-duration-fast) var(--fg-easing-standard);
	}

	.faq-list__control span:last-child {
		transform: rotate(90deg);
	}

	.faq-list__trigger[aria-expanded="true"] .faq-list__control span:last-child {
		transform: rotate(0deg);
	}

	.faq-list__panel {
		padding: 0 3rem var(--fg-space-6) calc(2.5rem + var(--fg-space-4));
	}

	.faq-list__panel p {
		max-inline-size: 42rem;
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-sm);
	}

	@media (hover: hover) and (pointer: fine) {
		.faq-list__trigger:hover .faq-list__question {
			color: var(--fg-dark-text-primary);
		}

		.faq-list__trigger:hover .faq-list__control {
			color: var(--fg-brand-primary);
		}
	}

	/* Compact close: a conversation invitation, not a slogan billboard. */
	.home-final-cta {
		border-block-start: var(--fg-border-width) solid var(--fg-dark-border);
		background: var(--fg-dark-background);
		color: var(--fg-dark-text-primary);
	}

	.home-final-cta__inner {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--fg-space-6) var(--fg-grid-gap);
		align-items: center;
		padding-block: clamp(3.5rem, 6vw, 5.5rem);
	}

	.home-final-cta__inner > div:first-child {
		grid-column: 1 / span 7;
	}

	.home-final-cta h2 {
		font-size: clamp(2rem, 1.55rem + 1.7vw, 3rem);
	}

	.home-final-cta p {
		margin-block-start: var(--fg-space-3);
		color: var(--fg-dark-text-secondary);
		font-size: var(--fg-font-size-sm);
	}

	.home-final-cta__actions {
		display: flex;
		grid-column: 8 / -1;
		align-items: center;
		justify-content: flex-end;
		gap: var(--fg-space-3) var(--fg-space-5);
		flex-wrap: wrap;
	}

	/* Desktop work rhythm and lead-project emphasis. */
	@media (min-width: 64rem) {
		.home-work__heading {
			margin-block-end: clamp(3.75rem, 6.5vw, 6rem);
		}

		.home-work__projects {
			gap: clamp(4.5rem, 7.5vw, 6.75rem);
		}

		.work-project--primary {
			align-items: start;
		}
	}

	/* Tablet composition. */
	@media (max-width: 63.99rem) {
		.home-hero {
			min-block-size: auto;
		}

		.home-hero__inner {
			padding-block: clamp(3.5rem, 8vw, 5.5rem) var(--fg-space-9);
		}

		.home-hero__grid {
			grid-template-columns: repeat(8, minmax(0, 1fr));
			row-gap: clamp(3rem, 7vw, 5rem);
		}

		.home-hero__content {
			grid-column: 1 / span 7;
		}

		.home-hero__visual {
			grid-column: 1 / -1;
		}

		.project-object {
			inline-size: min(100%, 43rem);
		}

		.home-trust__inner {
			grid-template-columns: repeat(8, minmax(0, 1fr));
		}

		.home-trust__qualifier {
			grid-column: 1 / span 3;
		}

		.home-trust__facts {
			grid-column: 4 / -1;
		}

		.home-capabilities__heading,
		.home-work__heading {
			grid-template-columns: repeat(8, minmax(0, 1fr));
		}

		.home-capabilities__heading .home-eyebrow,
		.home-work__heading .home-eyebrow {
			grid-column: 1 / span 3;
		}

		.home-capabilities__heading h2,
		.home-work__heading h2 {
			grid-column: 4 / -1;
		}

		.capability-index__item,
		.starter-route {
			grid-template-columns: repeat(8, minmax(0, 1fr));
		}

		.capability-index__number {
			grid-column: 1;
		}

		.capability-index__title {
			grid-column: 2 / span 3;
		}

		.capability-index__copy {
			grid-column: 5 / -1;
		}

		.capability-index__action {
			grid-column: 5 / -1;
			justify-self: start;
		}

		.starter-route__label {
			grid-column: 1 / span 2;
		}

		.starter-route h3 {
			grid-column: 3 / span 2;
		}

		.starter-route > p:last-child {
			grid-column: 5 / -1;
		}

		.work-project {
			grid-template-columns: repeat(8, minmax(0, 1fr));
		}

		.work-project--primary .work-project__content,
		.work-project--dark .work-project__content {
			grid-column: 1 / span 3;
		}

		.work-project--primary .work-project__visual-link,
		.work-project--dark .work-project__visual-link {
			grid-column: 4 / -1;
		}

		.work-project--portrait .work-project__visual-link {
			grid-column: 1 / span 4;
		}

		.work-project--portrait .work-project__content {
			grid-column: 5 / -1;
		}

		.work-project--editorial .work-project__content {
			grid-column: 1 / span 5;
		}

		.home-value__inner,
		.home-process__inner,
		.home-founder__inner,
		.home-faq__inner,
		.home-final-cta__inner {
			grid-template-columns: repeat(8, minmax(0, 1fr));
		}

		.home-value__heading,
		.home-process__heading,
		.home-faq__heading {
			grid-column: 1 / span 3;
		}

		.principle-list,
		.home-process__progress,
		.faq-list {
			grid-column: 4 / -1;
		}

		.home-founder__media-slot {
			grid-column: 1 / span 3;
		}

		.home-founder__content {
			grid-column: 4 / -1;
		}

		.home-final-cta__inner > div:first-child {
			grid-column: 1 / span 5;
		}

		.home-final-cta__actions {
			grid-column: 6 / -1;
		}
	}

	/* Mobile is composed independently: text, simplified object, vertical rails. */
	@media (max-width: 47.99rem) {
		.home-hero__inner {
			padding-block-start: var(--fg-space-7);
			padding-block-end: var(--fg-space-8);
		}

		.home-hero__grid {
			grid-template-columns: repeat(4, minmax(0, 1fr));
			row-gap: var(--fg-space-8);
		}

		.home-hero__content,
		.home-hero__visual {
			grid-column: 1 / -1;
		}

		.home-hero__title {
			max-inline-size: 11ch;
			font-size: clamp(2.875rem, 10.7vw, 4rem);
		}

		.home-hero__copy {
			margin-block-start: var(--fg-space-5);
			font-size: 1rem;
		}

		.home-hero__actions {
			margin-block-start: var(--fg-space-6);
		}

		.project-object {
			inline-size: min(100%, 35rem);
			aspect-ratio: 1.12 / 1;
		}

		.project-object__surface--primary {
			inset-block-start: 18%;
			inline-size: 84%;
		}

		.project-object__surface--portrait {
			inline-size: 25%;
		}

		.project-object__surface--editorial {
			inset-inline-start: 10%;
			inline-size: 55%;
		}

		.project-object__label {
			inset-inline-start: 31%;
		}

		.home-hero__flow-line {
			display: none;
		}

		.home-trust__inner {
			display: block;
			padding-block: var(--fg-space-6);
		}

		.home-trust__qualifier {
			margin-block-end: var(--fg-space-5);
		}

		.home-trust__facts {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.home-trust__facts li {
			padding-inline: var(--fg-space-3);
		}

		.home-trust__facts li:first-child {
			padding-inline-start: 0;
			border-inline-start: 0;
		}

		.home-trust__facts strong {
			font-size: clamp(1.5rem, 7vw, 2rem);
		}

		.home-capabilities__heading,
		.home-work__heading {
			display: grid;
			grid-template-columns: 1fr;
			gap: var(--fg-space-5);
		}

		.home-capabilities__heading .home-eyebrow,
		.home-capabilities__heading h2,
		.home-work__heading .home-eyebrow,
		.home-work__heading h2 {
			grid-column: 1;
		}

		.capability-index__item {
			grid-template-columns: 2.5rem minmax(0, 1fr);
			gap: var(--fg-space-3) var(--fg-space-4);
			padding-block: var(--fg-space-6);
		}

		.capability-index__number {
			grid-column: 1;
			grid-row: 1 / span 3;
		}

		.capability-index__title,
		.capability-index__copy,
		.capability-index__action {
			grid-column: 2;
		}

		.capability-index__title {
			font-size: clamp(1.625rem, 7vw, 2.125rem);
		}

		.capability-index__copy {
			padding-block-start: 0;
		}

		.capability-index__action {
			justify-self: start;
		}

		.starter-route {
			grid-template-columns: 2.5rem minmax(0, 1fr);
			gap: var(--fg-space-2) var(--fg-space-4);
		}

		.starter-route__label {
			grid-column: 1 / -1;
		}

		.starter-route h3,
		.starter-route > p:last-child {
			grid-column: 2;
		}

		.home-work__projects {
			gap: var(--fg-space-10);
		}

		.work-project {
			display: grid;
			grid-template-columns: minmax(0, 1fr);
			gap: var(--fg-space-5);
		}

		.work-project--primary .work-project__visual-link,
		.work-project--primary .work-project__content,
		.work-project--portrait .work-project__visual-link,
		.work-project--portrait .work-project__content,
		.work-project--editorial .work-project__visual-link,
		.work-project--editorial .work-project__content,
		.work-project--dark .work-project__visual-link,
		.work-project--dark .work-project__content {
			grid-column: 1;
			grid-row: auto;
		}

		.work-project--primary .work-project__visual-link,
		.work-project--dark .work-project__visual-link {
			grid-row: 1;
		}

		.work-project--primary .work-project__content,
		.work-project--dark .work-project__content {
			grid-row: 2;
		}

		.work-project--portrait .work-project__visual {
			inline-size: 86%;
			margin-inline: auto 0;
		}

		.work-project--portrait .work-project__content {
			padding-block-end: 0;
		}

		.work-project--editorial {
			row-gap: var(--fg-space-5);
		}

		.work-project--editorial .work-project__visual {
			aspect-ratio: 1.75 / 1;
		}

		.work-project--editorial .work-project__content {
			grid-row: 2;
		}

		.work-project--dark .work-project__visual-link {
			padding: var(--fg-space-3);
		}

		.home-value__inner,
		.home-process__inner,
		.home-founder__inner,
		.home-faq__inner,
		.home-final-cta__inner {
			display: grid;
			grid-template-columns: minmax(0, 1fr);
			gap: var(--fg-space-8);
		}

		.home-value__heading,
		.principle-list,
		.home-process__heading,
		.home-process__progress,
		.home-founder__media-slot,
		.home-founder__content,
		.home-faq__heading,
		.faq-list,
		.home-final-cta__inner > div:first-child,
		.home-final-cta__actions {
			grid-column: 1;
		}

		.home-value__flow-line {
			margin-block-start: var(--fg-space-4);
		}

		.home-process__progress {
			padding-inline-start: var(--fg-space-6);
		}

		.process-list__item,
		.principle-list__item {
			grid-template-columns: 2.25rem minmax(0, 1fr);
		}

		.home-founder__media-slot {
			inline-size: min(86%, 25rem);
		}

		.home-founder__content h2 {
			font-size: clamp(2.35rem, 10vw, 3.5rem);
		}

		.faq-list__trigger {
			grid-template-columns: 2rem minmax(0, 1fr) 1.5rem;
			gap: var(--fg-space-3);
			min-block-size: 4.75rem;
		}

		.faq-list__question {
			font-size: 1.125rem;
		}

		.faq-list__panel {
			padding-inline: calc(2rem + var(--fg-space-3)) 0;
		}

		.home-final-cta__actions {
			justify-content: flex-start;
		}
	}

	@media (max-width: 29.99rem) {
		.home-hero__actions,
		.home-final-cta__actions {
			align-items: flex-start;
			flex-direction: column;
		}

		.project-object__label {
			display: none;
		}
	}

	@media (min-width: 80rem) {
		.home-hero__content {
			padding-inline-start: var(--fg-space-5);
		}

		.home-work__heading .home-eyebrow,
		.home-capabilities__heading .home-eyebrow {
			padding-inline-start: var(--fg-space-5);
		}

		.work-project--primary .work-project__content {
			grid-column: 1 / span 3;
		}

		.work-project--primary .work-project__visual-link {
			grid-column: 4 / -1;
		}
	}

	@media (min-width: 80rem) and (prefers-reduced-motion: no-preference) {
		.home-page[data-fg-home-motion="ready"] .home-process[data-process-motion="progress"] .home-process__heading {
			position: sticky;
			inset-block-start: calc(var(--fg-header-height-scrolled) + var(--fg-space-7) + var(--wp-admin--admin-bar--height, 0px));
			align-self: start;
		}
	}

	@media (min-width: 90rem) {
		.home-hero__grid {
			column-gap: clamp(2rem, 2.5vw, 3rem);
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.home-page .process-list__item h3 {
			transition: none;
		}

		.work-project__visual img,
		.faq-list__control span {
			transition: none;
		}

		.work-project__visual-link:hover img {
			transform: none;
		}
	}

	@media (forced-colors: active) {
		.project-object__surface,
		.work-project__visual,
		.work-project--dark .work-project__visual-link,
		.home-founder__media-slot {
			border-color: CanvasText;
		}

		.process-flow-line,
		.process-flow-line__fill,
		.process-flow-line__connector,
		.faq-list__control span {
			background: CanvasText;
		}

		.home-page .process-list__item h3 {
			color: CanvasText;
		}
	}
}
