/* About page: the Earth from space, a flight through deep space past galaxies and planets, down through cloud onto a title that opens like two doors (assets/js/about-page.js), then Our Projects. */
.seamkt-aboutpage {
	--ab-paper: #f1f0ee;
	--ab-ink: #0d0d0c;
	--ab-soft: #57554f;
	--ab-muted: #8a877f;
	--ab-night: #050506;
	--ab-font: var(--seamkt-font, 'Manrope', system-ui, sans-serif);
	--ab-gutter: clamp(20px, 3.4vw, 60px);
	--ab-ease: cubic-bezier(0.22, 1, 0.36, 1);
	background: var(--ab-paper);
	color: var(--ab-ink);
	font-family: var(--ab-font);
}

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

/* ---------- The descent ---------- */

.seamkt-fall {
	position: relative;
	background: var(--ab-night);
}

/* Without the script (or with reduced motion) the chapters are simply read in turn: the
   intro over the Earth banner, the rest on night sky. */
.seamkt-fall:not(.is-enhanced) .seamkt-fall__sky {
	display: none;
}

.seamkt-fall:not(.is-enhanced) .seamkt-fall__stage {
	position: relative;
}

.seamkt-fall:not(.is-enhanced) .seamkt-fall__hero {
	bottom: auto;
	height: 100svh;
}

.seamkt-fall:not(.is-enhanced) .seamkt-fall__chapters {
	position: relative;
	display: grid;
	gap: clamp(96px, 14vw, 180px);
	padding: 0 var(--ab-gutter) clamp(110px, 14vw, 180px);
}

.seamkt-fall:not(.is-enhanced) .seamkt-fall__chapter {
	grid-area: auto;
	margin: 0 auto;
}

.seamkt-fall:not(.is-enhanced) .seamkt-fall__chapter--intro {
	align-content: center;
	min-height: 100svh;
	padding-bottom: 24svh;
}

/* Enhanced: one pinned screen over a long scroll. Eight screens of story, then the cloud,
   the landing and the doors (the last 90svh, matching the reveal below). The section lies
   over Our Projects at its end, so only the stage is painted. */
.seamkt-fall.is-enhanced {
	z-index: 2;
	height: 1200svh;
	background: transparent;
}

.seamkt-fall.is-enhanced .seamkt-fall__stage {
	position: sticky;
	top: 0;
	height: 100svh;
	overflow: hidden;
	background: var(--ab-night);
}

/* Landed: the title covers the screen, so the night and the sky are put away and the
   doors open straight onto Our Projects. */
.seamkt-fall.is-enhanced .seamkt-fall__stage.is-landed {
	background: transparent;
	pointer-events: none;
}

.seamkt-fall__stage.is-landed .seamkt-fall__sky,
.seamkt-fall__stage.is-landed .seamkt-fall__hero,
.seamkt-fall__stage.is-landed .seamkt-fall__chapters {
	visibility: hidden;
}

/* Our Projects is drawn up under the last 190svh of the descent and held at the top of the
   screen for the 90svh the doors take to open, then scrolls on. */
.seamkt-fall.is-enhanced + .seamkt-reveal {
	position: relative;
	z-index: 1;
	margin-top: -190svh;
}

.seamkt-fall.is-enhanced + .seamkt-reveal .seamkt-projects {
	position: sticky;
	top: 0;
}

.seamkt-fall.is-enhanced + .seamkt-reveal .seamkt-reveal__tail {
	height: 90svh;
}

/* ---------- The title gate ---------- */

/* Two doors, each half of one clean title on paper, meeting at a fine seam. */
.seamkt-fall__gate {
	--land: 0;
	--open: 0;
	position: absolute;
	inset: 0;
	display: none;
	pointer-events: none;
}

.seamkt-fall.is-enhanced .seamkt-fall__gate {
	display: block;
	visibility: hidden;
}

.seamkt-fall.is-enhanced .seamkt-fall__gate.is-shown {
	visibility: visible;
}

.seamkt-fall__door {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	overflow: hidden;
	background: var(--ab-paper);
	will-change: transform;
}

.seamkt-fall__door--left {
	left: 0;
	transform: translate3d(calc(var(--open) * -100%), 0, 0);
	box-shadow: calc(var(--open) * 24px) 0 calc(var(--open) * 80px) rgba(13, 13, 12, calc(var(--open) * 0.22));
}

.seamkt-fall__door--right {
	right: 0;
	transform: translate3d(calc(var(--open) * 100%), 0, 0);
	box-shadow: calc(var(--open) * -24px) 0 calc(var(--open) * 80px) rgba(13, 13, 12, calc(var(--open) * 0.22));
}

/* The fold: a soft shade toward the seam on the left, a hairline and a lighter shade on the right. */
.seamkt-fall__door::after {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 64px;
	content: '';
}

.seamkt-fall__door--left::after {
	right: 0;
	background: linear-gradient(to left, rgba(13, 13, 12, 0.07), transparent);
}

.seamkt-fall__door--right::after {
	left: 0;
	width: 28px;
	border-left: 1px solid rgba(13, 13, 12, 0.14);
	background: linear-gradient(to right, rgba(13, 13, 12, 0.05), transparent);
}

/* Each face is the whole screen; its door shows the half on its own side. */
.seamkt-fall__door-face {
	position: absolute;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200%;
	padding: 0 var(--ab-gutter);
}

.seamkt-fall__door--left .seamkt-fall__door-face {
	left: 0;
}

.seamkt-fall__door--right .seamkt-fall__door-face {
	right: 0;
}

.seamkt-fall__gate-copy {
	display: grid;
	gap: clamp(18px, 2.2vw, 32px);
	justify-items: center;
	width: 100%;
	/* The whole lockup settles together as the cloud clears. */
	transform: scale(calc(1.12 - var(--land) * 0.12));
}

.seamkt-aboutpage .seamkt-fall__gate-title {
	display: flex;
	gap: 0.22em;
	justify-content: center;
	margin: 0;
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(48px, 9.4vw, 210px);
	font-weight: 800;
	line-height: 0.9;
	letter-spacing: -0.015em;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

/* A fine halftone grid is clipped into the heavy letterforms, echoing printed dot type. */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.seamkt-aboutpage .seamkt-fall__gate-title {
		background-image: radial-gradient(circle at center, var(--ab-ink) 0 34%, transparent 38%);
		background-position: center;
		background-size: 6px 6px;
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
		-webkit-text-fill-color: transparent;
	}
}

.seamkt-aboutpage .seamkt-fall__gate-subtitle {
	max-width: min(86vw, 920px);
	margin: clamp(10px, 1.2vw, 18px) 0 0;
	color: var(--ab-soft);
	font-family: var(--ab-font);
	font-size: clamp(10px, 1vw, 15px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: clamp(0.12em, 0.45vw, 0.28em);
	text-align: center;
	text-transform: uppercase;
}

.seamkt-fall__gate-directions {
	display: flex;
	justify-content: space-between;
	width: min(40vw, 640px);
	margin-top: clamp(54px, 10svh, 104px);
	color: var(--ab-ink);
	opacity: 0.85;
}

.seamkt-fall__gate-arrow {
	display: block;
	width: clamp(110px, 11vw, 172px);
	height: 44px;
	background-image: radial-gradient(circle at center, currentColor 0 34%, transparent 38%);
	background-position: center;
	background-size: 6px 6px;
	clip-path: polygon(0 32%, 70% 32%, 70% 6%, 100% 50%, 70% 94%, 70% 68%, 0 68%);
}

.seamkt-fall__gate-arrow--left {
	transform: scaleX(-1);
}

.seamkt-fall__sky {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

/* The hero: the Earth from space, in two layers of the same picture. The sky above the
   horizon stays and dissolves into space; the Earth below is screened over it, so it
   can grow up toward the camera on its own and fade away. */
.seamkt-fall__hero {
	position: absolute;
	z-index: 1;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.seamkt-aboutpage .seamkt-fall__hero img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: 50% 100%;
	transform-origin: 50% 100%;
}

.seamkt-fall__space {
	-webkit-mask-image: linear-gradient(to bottom, #000 52%, transparent 74%);
	mask-image: linear-gradient(to bottom, #000 52%, transparent 74%);
}

.seamkt-fall__earth {
	-webkit-mask-image: linear-gradient(to bottom, transparent 52%, #000 74%);
	mask-image: linear-gradient(to bottom, transparent 52%, #000 74%);
	mix-blend-mode: screen;
}

.seamkt-fall.is-enhanced .seamkt-fall__hero img {
	will-change: transform, opacity;
}

/* ---------- Chapters ---------- */

.seamkt-fall__chapters {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 0 var(--ab-gutter);
	pointer-events: none;
}

.seamkt-fall__chapter {
	--tone-text: var(--ab-paper);
	--tone-soft: rgba(244, 242, 238, 0.7);
	--tone-muted: rgba(244, 242, 238, 0.5);
	--tone-shade: rgba(5, 5, 6, 0.42);
	position: relative;
	isolation: isolate;
	grid-area: 1 / 1;
	display: grid;
	gap: clamp(14px, 2svh, 22px);
	justify-items: center;
	width: min(640px, 100%);
	color: var(--tone-text);
	text-align: center;
}

/* A wide, faint shade behind the words so they read over a passing galaxy or planet. */
.seamkt-fall__chapter::before {
	position: absolute;
	z-index: -1;
	inset: -30% -24%;
	background: radial-gradient(closest-side, var(--tone-shade), transparent);
	content: '';
}

/* The intro sits in the sky above the horizon. */
.seamkt-fall.is-enhanced .seamkt-fall__chapter--intro {
	margin-bottom: 20svh;
}

.seamkt-fall__chapter--intro::before {
	display: none;
}

.seamkt-fall.is-enhanced .seamkt-fall__chapter {
	opacity: 0;
	transform: translateY(18px);
	visibility: hidden;
	transition: opacity 0.4s ease, transform 0.6s var(--ab-ease), visibility 0s linear 0.6s;
}

.seamkt-fall.is-enhanced .seamkt-fall__chapter.is-past {
	transform: translateY(-18px);
}

.seamkt-fall.is-enhanced .seamkt-fall__chapter.is-active {
	opacity: 1;
	transform: none;
	visibility: visible;
	transition: opacity 0.8s ease 0.1s, transform 1s var(--ab-ease) 0.1s, visibility 0s;
}

/* The eyebrow: a small spaced word, nothing more. */
.seamkt-aboutpage .seamkt-fall__eyebrow {
	margin: 0;
	color: var(--tone-muted);
	font-family: var(--ab-font);
	font-size: clamp(14px, 1.15vw, 17px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.32em;
	text-transform: uppercase;
}

/* The Our Projects eyebrow: a word after a short rule, as across the homepage. */
.seamkt-aboutpage .seamkt-projects__eyebrow {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	margin: 0;
	color: var(--ab-muted);
	font-family: var(--ab-font);
	font-size: clamp(14px, 1.15vw, 17px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.seamkt-projects__eyebrow::before {
	width: 22px;
	height: 1px;
	background: currentColor;
	content: '';
}

.seamkt-aboutpage .seamkt-projects__intro .seamkt-projects__eyebrow {
	gap: 14px;
	letter-spacing: 0.2em;
}

.seamkt-projects__intro .seamkt-projects__eyebrow::before {
	width: 30px;
}

.seamkt-aboutpage .seamkt-fall__title,
.seamkt-aboutpage .seamkt-fall__heading,
.seamkt-aboutpage .seamkt-projects__title {
	margin: 0;
	padding: 0;
	color: inherit;
	font-family: var(--ab-font);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.04em;
	text-transform: none;
	text-wrap: balance;
}

.seamkt-aboutpage .seamkt-fall__title {
	font-size: clamp(40px, 5.2vw, 88px);
}

.seamkt-aboutpage .seamkt-fall__heading {
	font-size: clamp(36px, 4.2vw, 72px);
}

.seamkt-aboutpage .seamkt-fall__chapter--statement .seamkt-fall__heading {
	display: flex;
	gap: 0.2em;
	align-items: baseline;
	white-space: nowrap;
}

.seamkt-fall__chapter--statement .seamkt-fall__heading span,
.seamkt-fall__chapter--statement .seamkt-fall__heading em {
	display: inline;
}

.seamkt-fall__title span,
.seamkt-fall__title em,
.seamkt-fall__heading span,
.seamkt-fall__heading em,
.seamkt-projects__title span,
.seamkt-projects__title em {
	display: block;
}

.seamkt-fall__title em,
.seamkt-fall__heading em {
	color: var(--tone-soft);
	font-style: normal;
	font-weight: 300;
	letter-spacing: -0.03em;
}

.seamkt-aboutpage .seamkt-fall__text {
	max-width: 48ch;
	margin: 0;
	color: var(--tone-soft);
	font-family: var(--ab-font);
	font-size: clamp(16px, 1.1vw, 18px);
	line-height: 1.75;
}

.seamkt-aboutpage .seamkt-fall__chapter--intro .seamkt-fall__text {
	max-width: 48ch;
	font-size: clamp(17px, 1.2vw, 20px);
	line-height: 1.65;
}

/* A second paragraph follows the first closely. */
.seamkt-aboutpage .seamkt-fall__text + .seamkt-fall__text {
	margin-top: calc(clamp(14px, 2svh, 22px) * -0.4);
}

.seamkt-fall__heading + .seamkt-fall__text {
	margin-top: 6px;
}

.seamkt-fall__text strong {
	color: var(--tone-text);
	font-weight: 600;
}

/* ---------- Our Projects ---------- */

.seamkt-projects {
	position: relative;
	background: var(--ab-paper);
	color: var(--ab-ink);
}

.seamkt-projects__inner {
	width: min(1340px, 100%);
	margin: 0 auto;
	padding: 0 var(--ab-gutter);
}

.seamkt-projects__head {
	display: grid;
	gap: clamp(16px, 2vw, 24px);
	justify-items: start;
}

.seamkt-aboutpage .seamkt-projects__title {
	color: var(--ab-ink);
	font-size: clamp(44px, 5.6vw, 100px);
}

.seamkt-projects__title em {
	color: var(--ab-soft);
	font-style: normal;
	font-weight: 300;
	letter-spacing: -0.035em;
}

/* The show. Without the script (or with reduced motion) it is a heading over a grid of
   the eight cards, each with its caption. */
.seamkt-projects__show {
	/* A card's width: as wide as the screen allows while the card, its story and the
	   heading still fit one screen's height. */
	--cw: clamp(150px, min(19vw, 28svh), 320px);
	position: relative;
}

.seamkt-projects__stage {
	display: grid;
	gap: clamp(36px, 5vw, 64px);
	width: min(1340px, 100%);
	margin: 0 auto;
	padding: clamp(80px, 12svh, 150px) var(--ab-gutter) 0;
}

.seamkt-projects__intro {
	display: grid;
	gap: clamp(14px, 1.6vw, 20px);
	justify-items: center;
	text-align: center;
}

/* One line, read like a sentence: plain, then light. */
.seamkt-aboutpage .seamkt-projects__lead {
	margin: 0;
	padding: 0;
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(26px, 2.5vw, 44px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.035em;
	text-transform: none;
	text-wrap: balance;
}

.seamkt-projects__lead span,
.seamkt-projects__lead em {
	display: inline;
}

.seamkt-projects__lead em {
	color: var(--ab-soft);
	font-style: normal;
	font-weight: 300;
}

.seamkt-aboutpage .seamkt-projects__ring {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(28px, 3vw, 44px) clamp(14px, 1.6vw, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.seamkt-projects__card {
	position: relative;
	display: grid;
	gap: 14px;
}

/* A poster in a white mat with a printed strip along its foot. */
.seamkt-aboutpage .seamkt-projects__frame {
	position: relative;
	margin: 0;
	padding: clamp(6px, 0.5vw, 9px);
	border-radius: 14px;
	background: #fff;
	box-shadow:
		0 0 0 1px rgba(13, 13, 12, 0.06),
		0 18px 26px -20px rgba(13, 13, 12, 0.28),
		0 46px 70px -40px rgba(13, 13, 12, 0.42);
}

.seamkt-projects__art {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	border-radius: 8px;
	background: #e4e3df;
}

.seamkt-aboutpage .seamkt-projects__art img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}

/* A soft band of light across the print; it slides as the card turns. */
.seamkt-projects__art::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(112deg, transparent 38%, rgba(255, 255, 255, 0.34) 50%, transparent 62%);
	background-position: calc(var(--sheen, 0.5) * 100%) 0;
	background-size: 260% 100%;
	opacity: 0.55;
	pointer-events: none;
	content: '';
}

.seamkt-projects__strip {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: clamp(7px, 0.6vw, 10px) 4px 1px;
	color: var(--ab-muted);
	font-family: var(--ab-font);
	font-size: clamp(9px, 0.62vw, 11px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	white-space: nowrap;
}

.seamkt-projects__strip span:first-child {
	color: var(--ab-ink);
}

.seamkt-projects__caption {
	display: grid;
	gap: 6px;
	padding: 0 4px;
}

.seamkt-projects__caption-kind {
	color: var(--ab-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.seamkt-projects__caption strong {
	color: var(--ab-ink);
	font-size: clamp(18px, 1.4vw, 22px);
	font-weight: 600;
	letter-spacing: -0.03em;
}

.seamkt-projects__stories,
.seamkt-projects__rail {
	display: none;
}

/* ---------- The carousel ---------- */

/* One pinned screen over a runway of about two thirds of a screen per card. */
.seamkt-projects__show.is-enhanced {
	z-index: 1;
	height: calc(100svh + var(--count, 8) * 62svh);
}

/* Keep the final project frame pinned for one more screen. During that hold the Partners
   panel rises from the viewport foot and covers it, matching the curtain transitions on
   the homepage. */
.seamkt-projects__show.is-enhanced.has-curtain {
	height: calc(200svh + var(--count, 8) * 62svh);
}

.seamkt-projects__show.is-enhanced .seamkt-projects__stage {
	position: sticky;
	top: 0;
	grid-template-rows: auto minmax(0, 1fr) auto auto;
	gap: 0;
	width: 100%;
	height: 100svh;
	overflow: hidden;
	padding: clamp(60px, 9svh, 104px) var(--ab-gutter) clamp(18px, 3.4svh, 36px);
	/* A pale pool of light where the cards hang. */
	background:
		radial-gradient(ellipse 58% 46% at 50% 50%, rgba(255, 255, 255, 0.75), transparent 72%),
		var(--ab-paper);
}

/* The heading rises in as the carousel spins in. */
.seamkt-projects__show.is-enhanced .seamkt-projects__intro > * {
	opacity: 0;
	filter: blur(8px);
	transform: translateY(24px);
	transition: opacity 1s ease, filter 1s ease, transform 1.2s var(--ab-ease);
}

.seamkt-projects__show.is-in .seamkt-projects__intro > * {
	opacity: 1;
	filter: none;
	transform: none;
}

.seamkt-projects__show.is-in .seamkt-projects__intro > :nth-child(2) {
	transition-delay: 0.12s;
}

.seamkt-projects__show.is-enhanced .seamkt-projects__ring {
	position: relative;
	display: block;
	min-height: calc(var(--cw) * 1.5);
	perspective: 1500px;
	perspective-origin: 50% 38%;
}

/* Every card hangs from the middle of the ring; the script turns each into its place. */
.seamkt-projects__show.is-enhanced .seamkt-projects__card {
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--cw);
	opacity: 0;
	transform: translate(-50%, -50%);
	will-change: transform, opacity;
	backface-visibility: hidden;
	cursor: pointer;
}

.seamkt-projects__show.is-enhanced .seamkt-projects__card.is-front {
	cursor: default;
}

/* Each hangs on its own slow breath, so the ring never feels frozen. */
.seamkt-projects__show.is-enhanced .seamkt-projects__frame {
	animation: seamkt-ab-float 7s ease-in-out infinite;
	animation-delay: calc(var(--i, 0) * -0.9s);
	transition: box-shadow 0.6s var(--ab-ease);
}

/* Cards farther round the ring fade into the paper. */
.seamkt-projects__show.is-enhanced .seamkt-projects__frame::after {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--ab-paper);
	opacity: var(--fog, 0);
	pointer-events: none;
	content: '';
}

/* A soft shadow on the floor beneath each card. */
.seamkt-projects__show.is-enhanced .seamkt-projects__card::after {
	position: absolute;
	right: 6%;
	bottom: calc(var(--cw) * -0.16);
	left: 6%;
	height: calc(var(--cw) * 0.1);
	background: radial-gradient(closest-side, rgba(13, 13, 12, 0.2), transparent);
	opacity: calc(1 - var(--fog, 0) * 3);
	pointer-events: none;
	content: '';
}

.seamkt-projects__show.is-enhanced .seamkt-projects__caption {
	display: none;
}

/* Off screen, the float and the hint rest (about-page.js toggles .is-resting). */
.seamkt-projects__show.is-resting .seamkt-projects__frame,
.seamkt-projects__show.is-resting .seamkt-projects__hint::before {
	animation-play-state: paused;
}

@keyframes seamkt-ab-float {
	0%, 100% { transform: translateY(-5px); }
	50% { transform: translateY(5px); }
}

@media (hover: hover) and (pointer: fine) {
	.seamkt-projects__show.is-enhanced .seamkt-projects__card.is-front:hover .seamkt-projects__frame {
		box-shadow:
			0 0 0 1px rgba(13, 13, 12, 0.08),
			0 24px 34px -22px rgba(13, 13, 12, 0.32),
			0 60px 90px -44px rgba(13, 13, 12, 0.5);
	}
}

/* ---------- The story of the card in front ---------- */

.seamkt-projects__show.is-enhanced .seamkt-projects__stories {
	display: grid;
	justify-items: center;
	margin-top: clamp(14px, 2.6svh, 32px);
	text-align: center;
}

/* All eight lie in one place; one is read at a time. */
.seamkt-projects__story {
	grid-area: 1 / 1;
	display: grid;
	gap: clamp(8px, 1.3svh, 14px);
	justify-items: center;
	width: min(600px, 100%);
	visibility: hidden;
	pointer-events: none;
}

.seamkt-projects__story.is-active {
	visibility: visible;
	pointer-events: auto;
}

.seamkt-aboutpage .seamkt-projects__story-kind {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 11px 20px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.34);
	box-shadow: 0 8px 22px rgba(13, 13, 12, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.8);
	-webkit-backdrop-filter: blur(12px) saturate(130%);
	backdrop-filter: blur(12px) saturate(130%);
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(13px, 0.95vw, 15px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.seamkt-aboutpage .seamkt-projects__story-title {
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.24em;
	justify-content: center;
	margin: 0;
	padding: 0;
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(30px, 3.1vw, 56px);
	font-weight: 600;
	line-height: 1.02;
	letter-spacing: -0.04em;
	text-transform: none;
}

.seamkt-projects__story-title span,
.seamkt-projects__story-title em {
	display: inline-block;
}

.seamkt-projects__story-title em {
	color: var(--ab-soft);
	font-style: normal;
	font-weight: 300;
	letter-spacing: -0.03em;
}

.seamkt-aboutpage .seamkt-projects__story-text {
	max-width: 48ch;
	margin: 0;
	color: var(--ab-soft);
	font-family: var(--ab-font);
	font-size: clamp(17px, 1.2vw, 20px);
	line-height: 1.55;
	text-wrap: balance;
}

.seamkt-projects__story-text strong {
	color: var(--ab-ink);
	font-weight: 600;
}

.seamkt-aboutpage .seamkt-projects__story-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
}

.seamkt-projects__story-tags li {
	padding: 9px 16px;
	border: 1px solid rgba(13, 13, 12, 0.14);
	border-radius: 999px;
	color: var(--ab-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.005em;
}

/* Rising in: each line comes up out of a soft blur, one after another, the two words of
   the title apart. Going out: they lift away and blur, quickly and all together. Turning
   back down the ring runs it the other way. */
.seamkt-projects__stories {
	--out: -14px;
	--in: 26px;
}

.seamkt-projects__stories[data-dir='back'] {
	--out: 14px;
	--in: -26px;
}

/* An outgoing story stays visible until its lines have gone. */
.seamkt-projects__story:not(.is-active) {
	transition: visibility 0s linear 0.45s;
}

.seamkt-projects__story-kind,
.seamkt-projects__story-title > *,
.seamkt-projects__story-text,
.seamkt-projects__story-tags {
	opacity: 0;
	filter: blur(6px);
	transform: translateY(var(--out));
	transition: opacity 0.32s ease, filter 0.32s ease, transform 0.42s var(--ab-ease);
}

.seamkt-projects__story.is-active .seamkt-projects__story-kind,
.seamkt-projects__story.is-active .seamkt-projects__story-title > *,
.seamkt-projects__story.is-active .seamkt-projects__story-text,
.seamkt-projects__story.is-active .seamkt-projects__story-tags {
	opacity: 1;
	filter: none;
	transform: none;
	transition: opacity 0.7s ease, filter 0.8s ease, transform 1s var(--ab-ease);
}

/* Before it rises an incoming line waits below (above, turning back). */
.seamkt-projects__story.is-entering .seamkt-projects__story-kind,
.seamkt-projects__story.is-entering .seamkt-projects__story-title > *,
.seamkt-projects__story.is-entering .seamkt-projects__story-text,
.seamkt-projects__story.is-entering .seamkt-projects__story-tags {
	opacity: 0;
	filter: blur(8px);
	transform: translateY(var(--in));
	transition: none;
}

.seamkt-projects__story.is-active .seamkt-projects__story-kind {
	transition-delay: 0.12s;
}

.seamkt-projects__story.is-active .seamkt-projects__story-title > * {
	transition-delay: calc(0.2s + var(--w, 0) * 0.09s);
}

.seamkt-projects__story.is-active .seamkt-projects__story-text {
	transition-delay: 0.36s;
}

.seamkt-projects__story.is-active .seamkt-projects__story-tags {
	transition-delay: 0.46s;
}

/* ---------- The rail: where the ring stands, and a way to any card ---------- */

.seamkt-projects__show.is-enhanced .seamkt-projects__rail {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 20px;
	align-items: center;
	margin-top: clamp(14px, 2.6svh, 28px);
	opacity: 0;
	transition: opacity 0.8s ease 0.6s;
}

.seamkt-projects__show.is-in .seamkt-projects__rail {
	opacity: 1;
}

.seamkt-projects__hint,
.seamkt-projects__count {
	color: var(--ab-muted);
	font-family: var(--ab-font);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	white-space: nowrap;
}

.seamkt-projects__hint {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	justify-self: start;
	transition: opacity 0.6s ease;
}

/* A short line that keeps drawing itself toward the way the ring turns. */
.seamkt-projects__hint::before {
	width: 34px;
	height: 1px;
	background: linear-gradient(to right, transparent, currentColor 40%, currentColor 60%, transparent) no-repeat;
	background-size: 50% 100%;
	animation: seamkt-ab-hint 2.2s ease-in-out infinite;
	content: '';
}

@keyframes seamkt-ab-hint {
	from { background-position: 200% 0; }
	to { background-position: -100% 0; }
}

.seamkt-projects__show.is-turned .seamkt-projects__hint {
	opacity: 0;
}

.seamkt-projects__count {
	justify-self: end;
	letter-spacing: 0.12em;
}

.seamkt-projects__count b {
	color: var(--ab-ink);
	font-weight: 700;
}

.seamkt-aboutpage .seamkt-projects__ticks {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.seamkt-aboutpage .seamkt-projects__tick {
	display: block;
	width: 26px;
	height: 26px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	cursor: pointer;
	transition: width 0.5s var(--ab-ease);
}

.seamkt-projects__tick::before {
	display: block;
	height: 2px;
	border-radius: 2px;
	background: rgba(13, 13, 12, 0.16);
	content: '';
	transition: background-color 0.4s ease;
}

.seamkt-aboutpage .seamkt-projects__tick:hover {
	background: transparent;
}

.seamkt-projects__tick:hover::before {
	background: rgba(13, 13, 12, 0.4);
}

.seamkt-aboutpage .seamkt-projects__tick.is-active {
	width: 52px;
}

.seamkt-projects__tick.is-active::before {
	background: var(--ab-ink);
}

.seamkt-aboutpage .seamkt-projects__tick:focus-visible {
	outline: 2px solid var(--ab-ink);
	outline-offset: 2px;
}

/* ---------- Clients feedback ---------- */

/* The heading and the rating across the top over a hairline; below, the index of clients,
   the stack of review cards and the number of the card in front. Without the script (or
   with reduced motion) the cards are simply laid out in a grid under the heading. */
.seamkt-projects__feedback {
	--fb-paper: #ebe9e4;
	position: relative;
	background: var(--fb-paper);
	color: var(--ab-ink);
}

.seamkt-projects__feedback-stage {
	position: relative;
	isolation: isolate;
	display: grid;
	gap: clamp(36px, 5svh, 64px);
	align-content: start;
	min-height: 100svh;
	overflow: hidden;
	padding: clamp(90px, 12svh, 140px) var(--ab-gutter);
	background:
		radial-gradient(ellipse 60% 55% at 50% 60%, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0) 70%),
		var(--fb-paper);
}

.seamkt-reviews__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px 40px;
	align-items: end;
	width: min(1340px, 100%);
	margin: 0 auto;
	padding-bottom: clamp(20px, 3svh, 32px);
	border-bottom: 1px solid rgba(13, 13, 12, 0.1);
}

.seamkt-reviews__heading {
	display: grid;
	gap: clamp(14px, 2svh, 20px);
	justify-items: start;
}

.seamkt-reviews__heading > .seamkt-projects__eyebrow {
	transform: translateY(-8px);
}

.seamkt-aboutpage .seamkt-reviews__title {
	margin: 0;
	padding: 0;
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(34px, 3.7vw, 66px);
	font-weight: 600;
	line-height: 0.98;
	letter-spacing: -0.045em;
	text-transform: none;
	text-wrap: balance;
}

.seamkt-reviews__title span,
.seamkt-reviews__title em {
	display: block;
}

/* The first line's comma stays on its line (phones hide it with the second line). */
.seamkt-reviews__title .seamkt-reviews__comma {
	display: inline;
}

.seamkt-reviews__title em {
	color: var(--ab-soft);
	font-style: normal;
	font-weight: 300;
	letter-spacing: -0.04em;
}

/* The rating: the score, five stars and what it is drawn from. */
.seamkt-aboutpage .seamkt-reviews__score {
	display: grid;
	gap: 10px;
	justify-items: end;
	margin: 0;
	color: var(--ab-ink);
	font-family: var(--ab-font);
}

.seamkt-reviews__score strong {
	font-size: clamp(46px, 4.2vw, 76px);
	font-weight: 600;
	line-height: 0.86;
	letter-spacing: -0.05em;
}

.seamkt-reviews__score-note {
	color: var(--ab-muted);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.seamkt-reviews__stars {
	display: inline-flex;
	gap: 3px;
	color: var(--ab-ink);
}

.seamkt-reviews__stars svg {
	display: block;
	width: 14px;
	height: 14px;
	fill: currentColor;
}

.seamkt-reviews__body {
	width: min(1340px, 100%);
	margin: 0 auto;
}

.seamkt-reviews__index,
.seamkt-reviews__aside {
	display: none;
}

.seamkt-aboutpage .seamkt-reviews__deck {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 1.6vw, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.seamkt-reviews__card {
	min-width: 0;
}

/* A card: a sheet of warm white with stars and date, the quote, then who said it. */
.seamkt-reviews__paper {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 2.2svh, 24px);
	height: 100%;
	padding: clamp(24px, 2.4vw, 40px);
	border: 1px solid rgba(13, 13, 12, 0.07);
	border-radius: 22px;
	background: #fbfbfa;
	box-shadow:
		inset 0 1px 0 #fff,
		0 18px 26px -20px rgba(13, 13, 12, 0.22),
		0 46px 80px -46px rgba(13, 13, 12, 0.38);
}

.seamkt-reviews__top {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
}

.seamkt-reviews__when,
.seamkt-reviews__num {
	color: var(--ab-muted);
	font-family: var(--ab-font);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	white-space: nowrap;
}

.seamkt-aboutpage .seamkt-reviews__quote {
	margin: 0;
	padding: 0;
	border: 0;
}

.seamkt-reviews__quote::before {
	display: block;
	height: 0.42em;
	color: #d4d2cc;
	font-family: var(--ab-font);
	font-size: clamp(64px, 5vw, 92px);
	font-weight: 800;
	line-height: 0.9;
	content: '“';
}

.seamkt-aboutpage .seamkt-reviews__quote p {
	margin: 0;
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(19px, 1.75vw, 30px);
	font-style: normal;
	font-weight: 500;
	line-height: 1.36;
	letter-spacing: -0.02em;
	text-wrap: pretty;
}

/* The phrase that carries the review, underlined with a soft band of ink. */
.seamkt-aboutpage .seamkt-reviews__quote mark {
	padding: 0 0.06em;
	background: linear-gradient(transparent 60%, rgba(13, 13, 12, 0.1) 60%, rgba(13, 13, 12, 0.1) 92%, transparent 92%);
	color: var(--ab-ink);
	font-weight: 650;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.seamkt-reviews__person {
	display: flex;
	gap: 14px;
	align-items: center;
	margin-top: auto;
	padding-top: clamp(16px, 2svh, 22px);
	border-top: 1px solid rgba(13, 13, 12, 0.08);
}

.seamkt-reviews__mono {
	display: grid;
	flex: none;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--ab-ink);
	color: var(--ab-paper);
	font-family: var(--ab-font);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.seamkt-reviews__who {
	display: grid;
	gap: 4px;
	min-width: 0;
	color: var(--ab-muted);
	font-family: var(--ab-font);
	font-size: 13px;
	line-height: 1.3;
}

.seamkt-reviews__who strong {
	color: var(--ab-ink);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.seamkt-reviews__num {
	display: none;
}

/* ---------- Feedback, enhanced: a deck dealt by the scroll ---------- */

/* Partners holds its final frame while Feedback rises over it as the next curtain. */
.seamkt-partners.is-enhanced.has-feedback-curtain {
	height: 420svh;
}

.seamkt-partners.is-enhanced + .seamkt-projects__feedback {
	z-index: 6;
	margin-top: -100svh;
}

.seamkt-partners.is-enhanced + .seamkt-projects__feedback .seamkt-projects__feedback-stage {
	border-radius: clamp(20px, 2.4vw, 36px) clamp(20px, 2.4vw, 36px) 0 0;
	box-shadow: 0 -42px 84px -30px rgba(13, 13, 12, 0.46);
}

/* One pinned screen over about half a screen of scroll per card. */
.seamkt-projects__feedback.is-enhanced {
	height: calc(100svh + var(--count, 9) * 46svh);
}

.seamkt-projects__feedback.is-enhanced .seamkt-projects__feedback-stage {
	position: sticky;
	top: 0;
	grid-template-rows: auto minmax(0, 1fr);
	gap: clamp(20px, 4svh, 44px);
	height: 100svh;
	min-height: 0;
	padding: clamp(64px, 10svh, 112px) var(--ab-gutter) clamp(28px, 6svh, 64px);
}

.seamkt-projects__feedback.is-enhanced .seamkt-reviews__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr) minmax(0, 1fr);
	gap: clamp(24px, 3vw, 56px);
	align-items: center;
	min-height: 0;
}

/* The index: every client in turn, the one in front drawn out in ink. */
.seamkt-aboutpage .seamkt-projects__feedback.is-enhanced .seamkt-reviews__index {
	display: grid;
	gap: 2px;
	align-self: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.seamkt-aboutpage .seamkt-reviews__go {
	display: flex;
	gap: 12px;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 8px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--ab-muted);
	font-family: var(--ab-font);
	font-size: clamp(14px, 1vw, 16px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-align: left;
	text-transform: none;
	cursor: pointer;
	transition: color 0.4s ease;
}

.seamkt-reviews__go span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.seamkt-reviews__go::after {
	order: -1;
	width: 0;
	height: 1px;
	margin-right: -12px;
	background: currentColor;
	content: '';
	transition: width 0.5s var(--ab-ease), margin 0.5s var(--ab-ease);
}

.seamkt-aboutpage .seamkt-reviews__go:hover,
.seamkt-aboutpage .seamkt-reviews__go:focus-visible {
	background: transparent;
	color: var(--ab-ink);
}

.seamkt-aboutpage .seamkt-reviews__go.is-active {
	color: var(--ab-ink);
}

.seamkt-reviews__go.is-active::after {
	width: 26px;
	margin-right: 0;
}

.seamkt-aboutpage .seamkt-reviews__go:focus-visible {
	outline: 1px solid var(--ab-ink);
	outline-offset: 2px;
}

/* The deck: every card lies in the same place; the script stacks and deals them. */
.seamkt-aboutpage .seamkt-projects__feedback.is-enhanced .seamkt-reviews__deck {
	position: relative;
	display: block;
	justify-self: center;
	width: min(100%, 640px);
	height: clamp(330px, 50svh, 470px);
	margin-top: 26px;
}

.seamkt-projects__feedback.is-enhanced .seamkt-reviews__card {
	position: absolute;
	inset: 0;
	transform-origin: 50% 0;
	will-change: transform, opacity;
	pointer-events: none;
}

.seamkt-projects__feedback.is-enhanced .seamkt-reviews__card.is-front {
	pointer-events: auto;
}

.seamkt-projects__feedback.is-enhanced .seamkt-reviews__paper > * {
	opacity: var(--words, 1);
}

/* Cards further down the stack fade into the paper. */
.seamkt-projects__feedback.is-enhanced .seamkt-reviews__paper::after {
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	background: var(--fb-paper);
	opacity: var(--fog, 0);
	pointer-events: none;
	content: '';
}

/* The number of the card in front in dotted type, what kind of business it is, and how far
   through the deck the scroll has come. */
.seamkt-projects__feedback.is-enhanced .seamkt-reviews__aside {
	display: grid;
	gap: 16px;
	justify-items: end;
	align-self: center;
}

.seamkt-reviews__big,
.seamkt-reviews__kind {
	display: grid;
	justify-items: end;
	overflow: hidden;
}

.seamkt-reviews__big b,
.seamkt-reviews__kind i {
	grid-area: 1 / 1;
	opacity: 0;
	transform: translateY(40%);
	transition: opacity 0.35s ease, transform 0.6s var(--ab-ease);
}

.seamkt-reviews__big b.is-active,
.seamkt-reviews__kind i.is-active {
	opacity: 1;
	transform: none;
	transition: opacity 0.6s ease 0.1s, transform 0.9s var(--ab-ease) 0.1s;
}

.seamkt-reviews__big b.is-past,
.seamkt-reviews__kind i.is-past {
	transform: translateY(-40%);
}

.seamkt-reviews__big b {
	padding: 0.04em 0.02em;
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(110px, 11vw, 210px);
	font-weight: 800;
	line-height: 0.82;
	letter-spacing: -0.04em;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.seamkt-reviews__big b {
		background-image: radial-gradient(circle at center, var(--ab-ink) 0 34%, transparent 38%);
		background-position: center;
		background-size: 6px 6px;
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
		-webkit-text-fill-color: transparent;
	}
}

.seamkt-reviews__kind i {
	color: var(--ab-soft);
	font-family: var(--ab-font);
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.2em;
	text-align: right;
	text-transform: uppercase;
}

.seamkt-reviews__bar {
	display: block;
	width: 140px;
	height: 2px;
	overflow: hidden;
	border-radius: 2px;
	background: rgba(13, 13, 12, 0.12);
}

.seamkt-reviews__bar i {
	display: block;
	height: 100%;
	background: var(--ab-ink);
	transform: scaleX(0);
	transform-origin: 0 50%;
}

@media (max-width: 1023px) {
	.seamkt-aboutpage .seamkt-reviews__deck {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* The index gives way; the deck and its number share the width. */
	.seamkt-projects__feedback.is-enhanced .seamkt-reviews__body {
		grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr);
	}

	.seamkt-aboutpage .seamkt-projects__feedback.is-enhanced .seamkt-reviews__index {
		display: none;
	}

	.seamkt-reviews__big b {
		font-size: clamp(90px, 14vw, 150px);
	}
}

/* On a phone: the heading and score stack, the deck takes the width, and the number with its
   progress runs in a line beneath it. */
@media (max-width: 767px) {
	.seamkt-projects__feedback-stage {
		padding: 76px var(--ab-gutter);
	}

	.seamkt-reviews__head {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.seamkt-aboutpage .seamkt-reviews__title {
		font-size: clamp(30px, 8.6vw, 40px);
	}

	.seamkt-aboutpage .seamkt-reviews__score {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 12px;
		align-items: center;
		justify-content: flex-start;
	}

	.seamkt-reviews__score strong {
		font-size: 34px;
	}

	.seamkt-aboutpage .seamkt-reviews__deck {
		grid-template-columns: minmax(0, 1fr);
	}

	.seamkt-aboutpage .seamkt-reviews__quote p {
		font-size: 17px;
	}

	.seamkt-reviews__quote::before {
		font-size: 60px;
	}

	.seamkt-projects__feedback.is-enhanced .seamkt-projects__feedback-stage {
		gap: 18px;
		padding: clamp(56px, 8svh, 72px) var(--ab-gutter) clamp(20px, 4svh, 32px);
	}

	.seamkt-projects__feedback.is-enhanced .seamkt-reviews__head {
		padding-bottom: 16px;
	}

	.seamkt-projects__feedback.is-enhanced .seamkt-reviews__body {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr) auto;
		gap: 18px;
		align-items: stretch;
	}

	.seamkt-aboutpage .seamkt-projects__feedback.is-enhanced .seamkt-reviews__deck {
		width: 100%;
		height: auto;
		min-height: 0;
		margin-top: 34px;
	}

	.seamkt-projects__feedback.is-enhanced .seamkt-reviews__aside {
		display: flex;
		gap: 14px;
		align-items: center;
		justify-content: space-between;
	}

	.seamkt-reviews__big {
		order: -1;
	}

	.seamkt-reviews__big b {
		font-size: 52px;
		background-size: 3px 3px;
	}

	.seamkt-reviews__kind {
		flex: 1;
		justify-items: start;
	}

	.seamkt-reviews__kind i {
		font-size: 10px;
		text-align: left;
	}

	.seamkt-reviews__bar {
		width: 72px;
	}

	.seamkt-reviews__paper {
		padding: 22px 20px;
	}

	.seamkt-reviews__mono {
		width: 40px;
		height: 40px;
		font-size: 12px;
	}

	.seamkt-reviews__num {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.seamkt-reviews__big b,
	.seamkt-reviews__kind i,
	.seamkt-reviews__go,
	.seamkt-reviews__go::after {
		transition: none;
	}
}

/* ---------- Partners ---------- */

/* Seven columns divided by hairlines: two of logos each side, the globe across the three
   in the middle. Without the script (or with reduced motion) the logos simply stand in
   their columns beside a still globe. */
.seamkt-partners {
	--pt-cell: clamp(120px, 25svh, 400px);
	--pt-logo: clamp(34px, 3.5vw, 62px);
	--pt-globe: min(30vw, 48svh, 540px);
	position: relative;
	background: var(--ab-paper);
	color: var(--ab-ink);
}

/* The panel travels over the held final frame of Our Projects instead of following it in
   the normal document flow. Its rounded leading edge and upward shadow sell the physical
   screen-pull effect while the rest of the long Partners sequence remains sticky. */
.seamkt-projects__show.is-enhanced + .seamkt-partners {
	z-index: 4;
	margin-top: -100svh;
}

.seamkt-projects__show.is-enhanced + .seamkt-partners .seamkt-partners__stage {
	border-radius: clamp(20px, 2.4vw, 36px) clamp(20px, 2.4vw, 36px) 0 0;
	box-shadow: 0 -38px 76px -30px rgba(13, 13, 12, 0.42);
}

.seamkt-partners__stage {
	position: relative;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	overflow: hidden;
	background: var(--ab-paper);
}

.seamkt-partners__lines {
	position: absolute;
	z-index: 2;
	inset: 0;
	pointer-events: none;
}

.seamkt-partners__lines span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(var(--n) * 100% / 7);
	width: 1px;
	background: rgba(13, 13, 12, 0.07);
}

.seamkt-partners__column {
	position: relative;
	z-index: 1;
	grid-row: 1;
	overflow: hidden;
}

.seamkt-partners__column--1 { grid-column: 1; }
.seamkt-partners__column--2 { grid-column: 2; }
.seamkt-partners__column--3 { grid-column: 6; }
.seamkt-partners__column--4 { grid-column: 7; }

/* The paper behind the logos, so a logo on a pale square multiplies it away. */
.seamkt-partners__track {
	background: var(--ab-paper);
}

.seamkt-aboutpage .seamkt-partners__set {
	margin: 0;
	padding: 0;
	list-style: none;
}

.seamkt-partners__cell {
	display: grid;
	place-items: center;
	height: var(--pt-cell);
}

/* The mark only: the box takes the logo's own proportions and its picture is moved and
   scaled so the padding round the artwork falls outside. */
.seamkt-partners__logo {
	position: relative;
	display: block;
	width: calc(var(--pt-logo) * var(--k, 1));
	max-width: 72%;
	aspect-ratio: var(--ar, 2);
	overflow: hidden;
}

.seamkt-aboutpage .seamkt-partners__logo img {
	position: absolute;
	top: var(--cy, 0%);
	left: var(--cx, 0%);
	display: block;
	width: calc(var(--cw, 1) * 100%);
	max-width: none;
	height: calc(var(--ch, 1) * 100%);
	opacity: 0.86;
	user-select: none;
	-webkit-user-drag: none;
	transition: opacity 0.4s ease;
}

/* One ink for every brand, as on a printed partner board. */
.seamkt-partners__logo.is-ink img {
	filter: brightness(0);
}

.seamkt-partners__logo.is-tone img {
	filter: grayscale(1) contrast(2);
}

.seamkt-partners__logo.is-blend img {
	filter: grayscale(1) contrast(1.4) brightness(1.06);
	mix-blend-mode: multiply;
}

@media (hover: hover) and (pointer: fine) {
	.seamkt-partners__cell:hover img {
		opacity: 1;
	}
}

/* ---------- The middle: heading, globe and call to action ---------- */

.seamkt-partners__center {
	position: relative;
	z-index: 3;
	grid-row: 1;
	grid-column: 3 / 6;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	justify-items: center;
	padding: clamp(72px, 11svh, 120px) 0 clamp(28px, 5svh, 56px);
	text-align: center;
}

.seamkt-partners__intro {
	display: grid;
	gap: clamp(12px, 1.6svh, 18px);
	justify-items: center;
	padding: 0 12px;
}

.seamkt-aboutpage .seamkt-partners__intro .seamkt-projects__eyebrow {
	gap: 14px;
}

.seamkt-partners__intro .seamkt-projects__eyebrow::before {
	width: 28px;
}

.seamkt-aboutpage .seamkt-partners__lead {
	margin: 0;
	padding: 0;
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(24px, 2.2vw, 40px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.035em;
	text-transform: none;
	text-wrap: balance;
}

.seamkt-partners__lead span,
.seamkt-partners__lead em {
	display: block;
}

.seamkt-partners__lead em {
	color: var(--ab-soft);
	font-style: normal;
	font-weight: 300;
}

.seamkt-partners__row {
	display: none;
}

/* The globe: a clear glass sphere on the paper, over a soft shadow. */
.seamkt-aboutpage .seamkt-partners__globe {
	position: relative;
	align-self: center;
	width: var(--pt-globe);
	height: var(--pt-globe);
	margin: clamp(18px, 3svh, 36px) 0;
}

.seamkt-partners__globe::after {
	position: absolute;
	z-index: -1;
	right: 8%;
	bottom: -12%;
	left: 8%;
	height: 12%;
	background: radial-gradient(closest-side, rgba(13, 13, 12, 0.14), rgba(13, 13, 12, 0.04) 60%, transparent);
	content: '';
}

.seamkt-partners__shape {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	fill: rgba(255, 255, 255, 0.55);
	stroke: rgba(13, 13, 12, 0.12);
	stroke-width: 1.5;
}

/* The canvas reaches a little past the sphere for the flights lifted above it. */
.seamkt-partners__canvas {
	position: absolute;
	top: -18%;
	left: -18%;
	display: block;
	width: 136%;
	height: 136%;
	pointer-events: none;
}

.seamkt-partners__globe.is-painted .seamkt-partners__shape {
	visibility: hidden;
}

.seamkt-partners__foot {
	display: grid;
	gap: clamp(12px, 1.8svh, 18px);
	justify-items: center;
}

/* Frosted glass, as the closing call to action of the homepage. */
.seamkt-aboutpage .seamkt-partners__cta {
	display: inline-flex;
	gap: 16px;
	align-items: center;
	padding: 18px 24px 18px 30px;
	border: 1px solid rgba(13, 13, 12, 0.1);
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(146, 146, 146, 0.26));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), inset 0 -1px 0 rgba(13, 13, 12, 0.05), 0 18px 40px -18px rgba(13, 13, 12, 0.38);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
	color: var(--ab-ink);
	font-family: var(--ab-font);
	font-size: clamp(16px, 1vw, 18px);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: transform 0.4s var(--ab-ease), box-shadow 0.4s var(--ab-ease), background-color 0.3s ease;
}

.seamkt-partners__cta svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform 0.3s ease;
}

.seamkt-aboutpage .seamkt-partners__cta:hover,
.seamkt-aboutpage .seamkt-partners__cta:focus-visible {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(146, 146, 146, 0.24));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 22px 44px -18px rgba(13, 13, 12, 0.42);
	color: var(--ab-ink);
	transform: translateY(-2px);
}

.seamkt-partners__cta:hover svg,
.seamkt-partners__cta:focus-visible svg {
	transform: translateX(4px);
}

.seamkt-aboutpage .seamkt-partners__cta:focus-visible {
	outline: 1px solid var(--ab-ink);
	outline-offset: 4px;
}

.seamkt-partners__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Without the script only the first set of each column is shown. */
.seamkt-partners:not(.is-enhanced) .seamkt-partners__set[aria-hidden='true'] {
	display: none;
}

/* ---------- Partners, enhanced: pinned while the columns run and the globe turns ---------- */

.seamkt-partners.is-enhanced {
	height: 320svh;
}

.seamkt-partners.is-enhanced .seamkt-partners__stage {
	position: sticky;
	top: 0;
	height: 100svh;
}

.seamkt-partners.is-enhanced .seamkt-partners__track {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	will-change: transform;
}

/* The columns come out of the paper at the top and sink back into it at the foot. */
.seamkt-partners.is-enhanced .seamkt-partners__stage::before,
.seamkt-partners.is-enhanced .seamkt-partners__stage::after {
	position: absolute;
	z-index: 2;
	right: 0;
	left: 0;
	height: 16svh;
	pointer-events: none;
	content: '';
}

.seamkt-partners.is-enhanced .seamkt-partners__stage::before {
	top: 0;
	background: linear-gradient(to bottom, var(--ab-paper), rgba(241, 240, 238, 0));
}

.seamkt-partners.is-enhanced .seamkt-partners__stage::after {
	bottom: 0;
	background: linear-gradient(to top, var(--ab-paper), rgba(241, 240, 238, 0));
}

/* Coming in: the heading rises out of a blur, the globe grows out of the paper, the
   foot follows. */
.seamkt-partners.is-enhanced .seamkt-partners__intro > *,
.seamkt-partners.is-enhanced .seamkt-partners__foot {
	opacity: 0;
	filter: blur(8px);
	transform: translateY(24px);
	transition: opacity 1s ease, filter 1s ease, transform 1.2s var(--ab-ease);
}

.seamkt-partners.is-enhanced .seamkt-partners__globe {
	opacity: 0;
	transform: scale(0.86);
	transition: opacity 1.2s ease 0.1s, transform 1.6s var(--ab-ease) 0.1s;
}

.seamkt-partners.is-in .seamkt-partners__intro > *,
.seamkt-partners.is-in .seamkt-partners__foot,
.seamkt-partners.is-in .seamkt-partners__globe {
	opacity: 1;
	filter: none;
	transform: none;
}

.seamkt-partners.is-in .seamkt-partners__intro > :nth-child(2) {
	transition-delay: 0.12s;
}

.seamkt-partners.is-in .seamkt-partners__foot {
	transition-delay: 0.35s;
}

/* ---------- Narrower screens ---------- */

@media (max-width: 1023px) {
	.seamkt-partners {
		--pt-globe: min(36vw, 44svh);
		--pt-logo: clamp(30px, 4.4vw, 48px);
	}

	.seamkt-aboutpage .seamkt-partners__lead {
		font-size: clamp(20px, 2.8vw, 28px);
	}
}

/* On a phone the columns give way to two rows that run across, above and below the globe. */
@media (max-width: 767px) {
	.seamkt-partners {
		--pt-globe: min(76vw, 38svh);
		--pt-logo: 30px;
	}

	.seamkt-partners__stage {
		grid-template-columns: minmax(0, 1fr);
	}

	.seamkt-partners__lines,
	.seamkt-partners__column {
		display: none;
	}

	.seamkt-partners__center {
		grid-column: 1;
		grid-template-rows: auto auto minmax(0, 1fr) auto auto;
		width: 100%;
		padding: clamp(60px, 9svh, 80px) 0 clamp(22px, 4svh, 36px);
	}

	.seamkt-partners__intro {
		padding: 0 var(--ab-gutter);
	}

	.seamkt-aboutpage .seamkt-partners__lead {
		font-size: clamp(22px, 6.4vw, 28px);
	}

	.seamkt-partners__row {
		position: relative;
		display: block;
		width: 100%;
		height: 72px;
		overflow: hidden;
		border-top: 1px solid rgba(13, 13, 12, 0.07);
		border-bottom: 1px solid rgba(13, 13, 12, 0.07);
	}

	.seamkt-partners__row--1 {
		grid-row: 2;
		margin-top: clamp(18px, 3svh, 28px);
	}

	.seamkt-partners__globe {
		grid-row: 3;
	}

	.seamkt-partners__row--2 {
		grid-row: 4;
	}

	.seamkt-partners__foot {
		grid-row: 5;
		margin-top: clamp(18px, 3svh, 28px);
	}

	.seamkt-partners__row .seamkt-partners__track,
	.seamkt-partners__row .seamkt-partners__set {
		display: flex;
	}

	.seamkt-partners:not(.is-enhanced) .seamkt-partners__row {
		height: auto;
	}

	.seamkt-partners:not(.is-enhanced) .seamkt-partners__row .seamkt-partners__set {
		flex-wrap: wrap;
		justify-content: center;
	}

	.seamkt-partners.is-enhanced .seamkt-partners__row .seamkt-partners__track {
		right: auto;
		bottom: 0;
		width: max-content;
	}

	.seamkt-partners__row .seamkt-partners__cell {
		flex: none;
		width: 34vw;
		height: 70px;
		border-right: 1px solid rgba(13, 13, 12, 0.07);
	}

	/* No taller than 34px: a square mark is held back by its width. */
	.seamkt-partners__row .seamkt-partners__logo {
		width: min(calc(var(--pt-logo) * var(--k, 1)), calc(34px * var(--ar, 2)));
		max-width: 76%;
	}
}

@media (max-width: 1023px) {
	.seamkt-aboutpage .seamkt-projects__show:not(.is-enhanced) .seamkt-projects__ring {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.seamkt-aboutpage {
		--ab-gutter: 20px;
	}

	/* The title stacks in two lines on a phone. */
	.seamkt-aboutpage .seamkt-fall__gate-title {
		flex-direction: column;
		gap: 0.08em;
		font-size: 15vw;
	}

	.seamkt-fall__gate-copy {
		gap: 18px;
	}

	.seamkt-aboutpage .seamkt-fall__gate-subtitle {
		max-width: 78vw;
		margin-top: 10px;
		font-size: 9px;
		letter-spacing: 0.14em;
	}

	.seamkt-fall__gate-directions {
		width: 50vw;
		margin-top: 50px;
	}

	.seamkt-fall__gate-arrow {
		width: 86px;
		height: 36px;
		background-size: 5px 5px;
	}

	/* On a phone the front card takes nearly half the width; its neighbours lean in from
	   the edges. */
	.seamkt-projects__show {
		--cw: clamp(140px, min(48vw, 30svh), 260px);
	}

	.seamkt-projects__show.is-enhanced .seamkt-projects__stage {
		padding-top: clamp(56px, 8svh, 80px);
	}

	/* The work carousel remains swipeable without a pinned scroll runway. */
	.seamkt-projects__show.is-enhanced,
	.seamkt-projects__show.is-enhanced.has-curtain {
		height: auto;
		min-height: 100svh;
	}

	.seamkt-projects__show.is-enhanced .seamkt-projects__stage {
		position: relative;
		height: auto;
		min-height: 100svh;
	}

	.seamkt-projects__show.is-enhanced .seamkt-projects__ring {
		touch-action: pan-y;
		user-select: none;
	}

	.seamkt-projects__show.is-enhanced + .seamkt-partners {
		margin-top: 0;
	}

	.seamkt-projects__show.is-enhanced + .seamkt-partners .seamkt-partners__stage {
		border-radius: 0;
		box-shadow: none;
	}

	.seamkt-aboutpage .seamkt-projects__lead {
		font-size: clamp(22px, 6.4vw, 28px);
	}

	.seamkt-aboutpage .seamkt-projects__story-title {
		font-size: clamp(26px, 8vw, 34px);
	}

	.seamkt-aboutpage .seamkt-projects__story-text {
		font-size: 16px;
	}

	.seamkt-aboutpage .seamkt-projects__story-kind {
		padding: 9px 16px;
		font-size: 12px;
		letter-spacing: 0.08em;
	}

	.seamkt-projects__story-tags li {
		padding: 8px 14px;
		font-size: 13px;
	}

	.seamkt-projects__show.is-enhanced .seamkt-projects__rail {
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.seamkt-projects__hint {
		display: none;
	}

	.seamkt-aboutpage .seamkt-projects__ticks {
		gap: 2px;
		justify-content: center;
	}

	.seamkt-aboutpage .seamkt-projects__tick {
		width: 18px;
	}

	.seamkt-aboutpage .seamkt-projects__tick.is-active {
		width: 34px;
	}

	.seamkt-aboutpage .seamkt-partners__cta {
		gap: 10px;
		max-width: calc(100vw - 40px);
		padding: 12px 18px;
		font-size: 14px;
	}

	.seamkt-partners__cta svg {
		flex: none;
		width: 16px;
		height: 16px;
	}

	/* Keep the descent's pinned stage aligned with its scroll timeline when the
	   browser toolbar changes height. The work carousel stays in normal flow. */
	@supports (height: 100lvh) {
		.seamkt-fall.is-enhanced .seamkt-fall__stage {
			height: 100lvh;
		}

		.seamkt-partners.is-enhanced {
			height: 320lvh;
		}
	}

	/* The doors part without their shadows changing, and the title holds its size: both were
	   repainted on every frame of the opening. */
	.seamkt-fall__door--left,
	.seamkt-fall__door--right {
		box-shadow: none;
	}

	.seamkt-fall__gate-copy {
		transform: none;
	}

	/* ---------- Reviews on a phone: one card at a time, fading on by itself ---------- */

	/* A quiet block: the heading in one line with the score beneath it, then a single review
	   card that fades to the next every few seconds, with a numbered index to pick one. */
	.seamkt-partners.is-enhanced + .seamkt-projects__feedback {
		margin-top: 0;
	}

	.seamkt-projects__feedback-stage {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		min-height: 0;
		padding: 64px var(--ab-gutter) 60px;
	}

	.seamkt-reviews__body {
		width: 100%;
	}

	.seamkt-reviews__head {
		gap: 14px;
		padding-bottom: 20px;
	}

	/* Fewer words: the first line of the heading carries it, without its comma. */
	.seamkt-reviews__title em,
	.seamkt-reviews__title .seamkt-reviews__comma {
		display: none;
	}

	.seamkt-aboutpage .seamkt-reviews__title {
		font-size: 32px;
	}

	.seamkt-reviews__score strong {
		font-size: 28px;
	}

	.seamkt-reviews__score-note {
		font-size: 10px;
		letter-spacing: 0.16em;
	}

	/* Every card shares one cell, so the block keeps the height of the longest and nothing
	   below moves when the card changes (about-page.js adds .has-fade). */
	.seamkt-aboutpage .seamkt-reviews__deck.has-fade {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.seamkt-reviews__deck.has-fade .seamkt-reviews__card {
		grid-area: 1 / 1;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.5s ease, visibility 0s linear 0.5s;
	}

	.seamkt-reviews__deck.has-fade .seamkt-reviews__card.is-current {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.6s ease 0.15s, visibility 0s;
	}

	.seamkt-reviews__paper {
		gap: 16px;
		padding: 24px 22px 22px;
		border-radius: 20px;
		box-shadow:
			inset 0 1px 0 #fff,
			0 16px 30px -24px rgba(13, 13, 12, 0.35);
	}

	/* Fewer words on the card: no date and no large quotation mark. */
	.seamkt-reviews__when,
	.seamkt-reviews__quote::before {
		display: none;
	}

	.seamkt-aboutpage .seamkt-reviews__quote p {
		font-size: 18px;
		line-height: 1.45;
		letter-spacing: -0.015em;
	}

	.seamkt-reviews__person {
		gap: 12px;
		padding-top: 16px;
	}

	.seamkt-reviews__row-nav {
		display: flex;
		justify-content: center;
		margin-top: 4px;
	}

	.seamkt-reviews__row-index {
		display: flex;
		gap: 2px;
		align-items: center;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.seamkt-aboutpage .seamkt-reviews__row-index button {
		display: grid;
		place-items: center;
		width: clamp(28px, 8vw, 34px);
		height: 40px;
		margin: 0;
		padding: 0;
		border: 0;
		border-bottom: 2px solid transparent;
		border-radius: 0;
		background: transparent;
		color: var(--ab-muted);
		font-family: var(--ab-font);
		font-size: 12px;
		font-weight: 700;
		font-variant-numeric: tabular-nums;
		letter-spacing: 0.02em;
		cursor: pointer;
		transition: color 0.2s ease, border-color 0.2s ease;
	}

	.seamkt-aboutpage .seamkt-reviews__row-index button:hover,
	.seamkt-aboutpage .seamkt-reviews__row-index button:focus-visible {
		background: transparent;
		color: var(--ab-ink);
	}

	.seamkt-aboutpage .seamkt-reviews__row-index button.is-active {
		border-bottom-color: var(--ab-ink);
		color: var(--ab-ink);
	}

	.seamkt-aboutpage .seamkt-reviews__row-index button:focus-visible {
		outline: 2px solid var(--ab-ink);
		outline-offset: 2px;
	}

	/* ---------- The end of the descent on a phone: no doors ---------- */

	/* The cloud clears at 9.4 screens. Place Our Work there in normal flow so it
	   appears whole and scrolls directly into Partners, without a sticky hold. */
	.seamkt-fall.is-enhanced .seamkt-fall__gate {
		display: none;
	}

	.seamkt-fall.is-enhanced .seamkt-fall__stage.is-whiteout {
		background: transparent;
	}

	.seamkt-fall.is-enhanced {
		height: 1050svh;
		pointer-events: none;
	}

	.seamkt-fall.is-enhanced + .seamkt-reveal {
		margin-top: -110svh;
	}

	.seamkt-fall.is-enhanced + .seamkt-reveal .seamkt-projects {
		position: relative;
		top: auto;
	}

	.seamkt-fall.is-enhanced + .seamkt-reveal .seamkt-reveal__tail {
		display: none;
	}

	@supports (height: 100lvh) {
		.seamkt-fall.is-enhanced {
			height: 1050lvh;
		}

		.seamkt-fall.is-enhanced + .seamkt-reveal {
			margin-top: -110lvh;
		}
	}

	/* ---------- Partners on a phone: scrolls by, the globe turns on its own ---------- */

	.seamkt-partners.is-enhanced.is-free {
		height: auto;
	}

	.seamkt-partners.is-enhanced.is-free .seamkt-partners__stage {
		position: relative;
		height: auto;
	}
}

/* Short screens: the story keeps to its title and one line. */
@media (max-height: 700px) {
	.seamkt-projects__show.is-enhanced .seamkt-projects__story-tags {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.seamkt-partners * {
		transition: none !important;
	}

	.seamkt-projects__frame,
	.seamkt-projects__hint::before {
		animation: none;
	}
}
