.founder-section {
	position: relative;
	padding-block: var(--section-gap, clamp(56px, 9vw, 140px));
	background: var(--bg-page, #fbfcfb);
}

.founder-container {
	width: min(100% - 32px, 1180px);
	margin-inline: auto;
}

.founder-head {
	position: relative;
	z-index: 1;
	max-width: 62ch;
	margin-inline: auto;
	text-align: center;
}

.founder-title {
	margin: 0;
	font-size: var(--fs-h2, clamp(1.875rem, 1.4rem + 2.1vw, 3rem));
	font-weight: var(--fw-bold, 700);
	line-height: var(--lh-h2, 1.15);
	text-wrap: balance;
}

.founder-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr);
	gap: var(--space-4, 24px);
	margin-top: var(--space-8, 64px);
}

.founder-story {
	display: grid;
	gap: var(--space-3, 16px);
}

.founder-story p {
	max-width: 68ch;
	margin: 0;
	color: var(--text-secondary, #4d594f);
	font-size: var(--fs-body, 1rem);
	line-height: 1.6;
	text-wrap: pretty;
}

.founder-story :is(h2, h3, h4, h5, h6) {
	margin: 0;
}

.founder-story :is(h2, h3, h4, h5, h6):not(:first-child) {
	margin-top: var(--space-3, 16px);
}

.founder-beat {
	margin: 0;
	font-size: var(--fs-h4, clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem));
	font-weight: var(--fw-semibold, 600);
	line-height: 1.3;
	color: var(--text-primary, #1a1d1a);
}

.founder-photo {
	position: relative;
	min-height: 400px;
	overflow: hidden;
	margin: 0;
	border-radius: var(--radius-lg, 16px);
	background: var(--sage-light, #c8d9c9);
}

.founder-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}

.founder-caption {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	left: var(--space-3, 16px);
	right: var(--space-3, 16px);
	bottom: var(--space-3, 16px);
	min-height: 40px;
	padding: var(--space-2, 8px) var(--space-3, 16px);
	border: 1px solid var(--ink, #0e0e0e);
	border-radius: var(--radius-pill, 999px);
	background: var(--ink, #0e0e0e);
	color: var(--text-inverse, #fff);
	font-size: var(--fs-small, 0.8125rem);
	font-weight: var(--fw-semibold, 600);
	text-align: center;
}

.founder-quote {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--space-6, 40px);
	margin: var(--space-5, 32px) 0 0;
	padding: var(--space-7, 48px);
	border-radius: var(--radius-lg, 16px);
	background: radial-gradient(100% 120% at 100% 0%, rgb(107 143 110 / 55%) 0%, transparent 60%), var(--sage-800, #445a46);
	color: var(--text-inverse, #fff);
}

.founder-quote > div {
	margin: 0;
	font-size: var(--fs-h3, clamp(1.5rem, 1.25rem + 1.1vw, 2rem));
	font-weight: var(--fw-medium, 500);
	line-height: 1.32;
	font-style: normal;
	text-wrap: pretty;
}

.founder-quote figcaption {
	color: var(--sage-pale, #ebf2eb);
	font-size: var(--fs-small, 0.8125rem);
	line-height: 1.5;
}

.founder-quote figcaption > div:first-child {
	display: block;
	margin-bottom: 2px;
	color: var(--text-inverse, #fff);
	font-size: var(--fs-body, 1rem);
	font-weight: var(--fw-semibold, 600);
}

.founder-quote__mark {
	width: 30px;
	height: 34px;
	fill: currentColor;
	opacity: 0.55;
}

.founder-awards {
	display: grid;
	gap: var(--space-5, 32px);
	align-items: center;
	margin-top: var(--space-5, 32px);
	padding: var(--space-5, 32px) var(--space-6, 40px);
	border: 1px solid var(--border, #d5ded6);
	border-radius: var(--radius-lg, 16px);
	background: var(--bg-card, #fff);
	box-shadow: var(--shadow-soft, 0 1px 2px rgb(14 14 14 / 3%), 0 10px 30px -12px rgb(14 14 14 / 10%));
}

.founder-awards__list {
	display: grid;
	gap: var(--space-5, 32px);
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.founder-award {
	display: flex;
	align-items: center;
	gap: var(--space-4, 24px);
	color: var(--text-primary, #1a1d1a);
}

.founder-award img {
	flex: none;
	width: 92px;
	height: auto;
}

.founder-award__text {
	color: var(--text-secondary, #4d594f);
	font-size: var(--fs-small, 0.8125rem);
	line-height: 1.5;
}

.founder-award__title {
	margin-bottom: 2px;
	color: var(--text-primary, #1a1d1a);
	font-size: var(--fs-body-l, clamp(1.0625rem, 1rem + 0.3vw, 1.25rem));
	font-weight: var(--fw-semibold, 600);
}

.founder-award__result {
	color: var(--text-secondary, #4d594f);
	font-size: var(--fs-small, 0.8125rem);
	line-height: 1.5;
}

.founder-awards__note {
	max-width: 68ch;
	color: var(--text-secondary, #4d594f);
	font-size: var(--fs-small, 0.8125rem);
	line-height: 1.5;
	text-wrap: pretty;
}

.founder-more {
	margin-top: var(--space-5, 32px);
	text-align: center;
}

.founder-more a {
	display: inline-block;
	line-height: 44px;
	color: var(--sage-800, #445a46);
	font-weight: var(--fw-semibold, 600);
	text-decoration: underline;
	text-underline-offset: 0.25em;
	transition: color var(--dur, 180ms) var(--ease, cubic-bezier(0.2, 0, 0, 1));
}

/* inline-block does not inherit the parent's underline */
.founder-more a > span {
	display: inline-block;
	margin-left: var(--space-2, 8px);
}

.founder-more a:hover {
	color: var(--ink, #0e0e0e);
}

@media (prefers-reduced-motion: no-preference) {
	.js .founder-story[data-reveal="left"] {
		transform: translateX(calc(var(--rise-y, 28px) * -1.2));
	}

	.js .founder-photo[data-reveal="right"] {
		transform: translateX(calc(var(--rise-y, 28px) * 1.2));
	}

	.js .founder-story[data-reveal="left"].is-in,
	.js .founder-photo[data-reveal="right"].is-in {
		transform: none;
	}
}

@media (min-width: 901px) {
	.founder-grid {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr);
	}

	.founder-awards {
		grid-template-columns: 2fr 1fr;
		column-gap: var(--space-6, 40px);
	}

	.founder-awards__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--space-6, 40px);
	}

	.founder-award + .founder-award,
	.founder-awards__note {
		padding-left: var(--space-6, 40px);
		border-left: 1px solid var(--border, #d5ded6);
	}

	@supports (grid-template-columns: subgrid) {
		.founder-awards {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.founder-awards__list {
			grid-column: span 2;
			grid-template-columns: subgrid;
		}
	}
}

@media (max-width: 900px) {
	.founder-grid {
		grid-template-columns: 1fr;
	}

	.founder-photo {
		min-height: clamp(340px, 75vw, 560px);
	}

	.founder-awards__note {
		padding-top: var(--space-4, 24px);
		border-top: 1px solid var(--border, #d5ded6);
	}

	.founder-award {
		flex-direction: column;
		text-align: center;
	}
}

@media (max-width: 700px) {
	.founder-head,
	.founder-more {
		margin-inline: 0;
		text-align: left;
	}
}
