/* ---------------------------------------------------------------------------
 * Grounded case study — from Paper artboard "Blinq — Case Study · Grounded (Canopy)"
 * Fonts: Inter Tight + Geist Mono (layout), Canela Text (Adobe Typekit in layout)
 * ------------------------------------------------------------------------- */

.grounded-case-study {
	--gd-bg: #041a22;
	--gd-bg-soft: #072b35;
	--gd-bg-chip: #0b3540;
	--gd-line: #1e2d3f;
	--gd-line-soft: #0b6c7a40;
	--gd-line-teal: #1a8e9759;
	--gd-line-faint: rgb(11 108 122 / 45%);
	--gd-paper: #c8e3d6;
	--gd-paper-bright: #f2ead7;
	--gd-lavender: #5d8b76;
	--gd-pink: #7fa66a;
	--gd-accent: #7fa66a;
	--gd-gold: #e8b978;
	--gd-salmon: #a7c29a;
	--gd-slate: #5a6e89;
	--gd-slate-strong: #5d8b76;
	--gd-sb-eyebrow: #db78a8;
	--gd-sb-accent: #ed80b5;
	--gd-sb-body: #bfa8be;
	--gd-sb-cta: #af9bb0;
	--gd-mono-muted: #c8e3d6;
	--gd-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--gd-font-display: "Inter Tight", system-ui, sans-serif;
	--gd-font-mono: "Geist Mono", ui-monospace, monospace;
	--gd-font-serif: "Canela Text", "Instrument Serif", Georgia, serif;
	--gd-gutter: clamp(20px, 4.44vw, 64px);
	--gd-max: 1312px;

	background: var(--gd-bg);
	color: var(--gd-paper);
	font-family: var(--gd-font-display);
	font-synthesis: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

.grounded-case-study *,
.grounded-case-study *::before,
.grounded-case-study *::after {
	box-sizing: border-box;
}

.gd-cs__diamond {
	display: inline-block;
	width: 6px;
	height: 6px;
	flex-shrink: 0;
	box-shadow: 0 0 0 1px rgb(127 166 106 / 28%);
	background: var(--gd-accent);
}

.gd-cs__section-eyebrow,
.gd-cs__eyebrow-inline {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--gd-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gd-pink);
}

.gd-cs__accent-serif {
	font-family: var(--gd-font-serif);
	font-style: italic;
	font-weight: 400;
	color: var(--gd-pink);
}

/* --- Nav ---------------------------------------------------------------- */

.gd-cs__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 88px;
	padding-inline: var(--gd-gutter);
	flex-shrink: 0;
	border-bottom: 1px solid var(--gd-line);
	background: var(--gd-bg);
}

.gd-cs__brand img {
	display: block;
	width: clamp(160px, 16vw, 231px);
	height: auto;
}

.gd-cs__nav-links {
	display: flex;
	align-items: center;
	gap: 40px;
}

.gd-cs__nav-links a {
	font-size: 14px;
	font-weight: 500;
	color: var(--gd-paper);
	text-decoration: none;
	transition: color 180ms var(--gd-ease-out);
}

.gd-cs__nav-links a:hover,
.gd-cs__nav-links a:focus-visible {
	color: var(--gd-pink);
}

/* --- Hero --------------------------------------------------------------- */

.gd-cs__hero {
	position: relative;
	padding: 64px var(--gd-gutter) 96px;
	overflow: clip;
	background: var(--gd-bg);
}

.gd-cs__hero-dot-grid {
	position: absolute;
	top: 0;
	right: 0;
	width: min(820px, 57vw);
	height: 560px;
	pointer-events: none;
	opacity: 0;
	animation: gdHeroDotsIn 800ms var(--gd-ease-out) 120ms forwards;
	background-image: radial-gradient(circle at center, rgb(127 166 106 / 55%) 1.5px, transparent 2px);
	background-size: 24px 24px;
	mask-image: linear-gradient(225deg, rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 45%) 55%, rgb(0 0 0) 100%);
}

@keyframes gdHeroDotsIn {
	to {
		opacity: 0.88;
	}
}

.gd-cs__hero-inner {
	position: relative;
	max-width: var(--gd-max);
	margin-inline: auto;
}

.gd-cs__hero-meta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	padding-bottom: 32px;
}

.gd-cs__hero-meta-left {
	max-width: 420px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gd-cs__hero-lede {
	margin: 0;
	font-size: clamp(16px, 1.25vw, 18px);
	line-height: 1.45;
	color: var(--gd-lavender);
	max-width: 380px;
}

.gd-cs__hero-location {
	margin: 0;
	font-family: var(--gd-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
}

.gd-cs__hero-title h1 {
	margin: 0;
	font-size: clamp(104px, 15.5vw, 223px);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--gd-paper);
}

.gd-cs__hero-title.gd-cs__reveal {
	transform: translateY(40px);
}

.gd-cs__hero-title.gd-cs__reveal.is-visible {
	transition-duration: 680ms;
}

.gd-cs__hero-tagline {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	padding-block: 32px;
	border-top: 1px solid #1e2d3f;
}

.gd-cs__tagline-copy p {
	margin: 0;
	font-size: clamp(28px, 3.2vw, 46px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--gd-paper);
}

.gd-cs__tagline-copy p.gd-cs__tagline-accent {
	font-family: var(--gd-font-serif);
	font-weight: 400;
	font-style: italic;
	color: var(--gd-pink);
	letter-spacing: -0.02em;
}

.gd-cs__hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gd-cs__tag {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding-inline: 14px;
	border-radius: 999px;
	background: rgb(127 166 106 / 8%);
	border: 1px solid var(--gd-line-teal);
	font-family: var(--gd-font-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gd-lavender);
}

/* Showcase / film -------------------------------------------------------- */

.gd-cs__showcase {
	margin-top: 48px;
}

.gd-cs__showcase-caption-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block: 48px 18px;
	font-family: var(--gd-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gd-lavender);
}

.gd-cs__showcase-film {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--gd-pink);
}

.gd-cs__showcase-frame {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: clip;
	aspect-ratio: 1312 / 720;
	border-radius: 16px;
	flex-shrink: 0;
	isolation: isolate;
	background-color: #072b35;
	background-image: linear-gradient(
		135deg,
		rgb(26 58 82) 0%,
		rgb(15 34 41) 55%,
		rgb(26 58 82) 100%
	);
}

.gd-cs__showcase-poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0.4;
	pointer-events: none;
	z-index: 0;
}

.gd-cs__showcase-wash {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: rgb(4 26 34 / 38%);
}

.gd-cs__showcase-vignette {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgb(4 26 34 / 18%) 0%,
		rgb(4 26 34 / 0%) 32%,
		rgb(4 26 34 / 0%) 62%,
		rgb(4 26 34 / 72%) 100%
	);
}

.gd-cs__showcase-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 28px;
	padding-inline: 32px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	z-index: 2;
	pointer-events: none;
}

.gd-cs__showcase-overlay .gd-cs__showcase-label,
.gd-cs__showcase-overlay .gd-cs__showcase-footer-copy p {
	pointer-events: none;
}

.gd-cs__showcase-overlay .gd-cs__showcase-meta {
	pointer-events: none;
}

.gd-cs__play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--gd-paper);
	transition: transform 220ms var(--gd-ease-out);
}

.gd-cs__play:hover,
.gd-cs__play:focus-visible {
	transform: translate(-50%, -50%) scale(1.03);
	outline: none;
}

.gd-cs__play-rings {
	position: relative;
	width: 160px;
	height: 160px;
	display: grid;
	place-items: center;
}

.gd-cs__play-ring {
	position: absolute;
	top: 50%;
	left: 50%;
	border-radius: 999px;
	pointer-events: none;
}

.gd-cs__play-ring:nth-child(1) {
	width: 160px;
	height: 160px;
	transform: translate(-50%, -50%);
	border: 1px solid rgb(127 166 106 / 22%);
	animation: gdRingPulse 2.8s ease-in-out infinite;
}

.gd-cs__play-ring:nth-child(2) {
	width: 128px;
	height: 128px;
	transform: translate(-50%, -50%);
	border: 1px solid rgb(127 166 106 / 40%);
	animation: gdRingPulse 2.8s ease-in-out 0.35s infinite;
}

.gd-cs__play-icon {
	position: relative;
	width: 104px;
	height: 104px;
	border-radius: 999px;
	background: var(--gd-accent);
	display: grid;
	place-items: center;
	box-shadow:
		0 18px 48px rgb(127 166 106 / 45%),
		0 0 0 1px rgb(200 227 214 / 18%);
}

.gd-cs__play-icon::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	margin-left: 6px;
	border-style: solid;
	border-width: 14px 0 14px 22px;
	border-color: transparent transparent transparent var(--gd-bg);
}

.gd-cs__play-label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgb(13 22 34 / 70%);
	border: 1px solid rgb(127 166 106 / 16%);
	font-family: var(--gd-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gd-pink);
}

.gd-cs__play-label::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 999px;
	background: var(--gd-pink);
	animation: gdDotPulse 2.4s ease-in-out infinite;
}

.gd-cs__showcase-frame.is-playing .gd-cs__showcase-overlay,
.gd-cs__showcase-frame.is-playing .gd-cs__play,
.gd-cs__showcase-frame.is-playing .gd-cs__showcase-poster,
.gd-cs__showcase-frame.is-playing .gd-cs__showcase-wash,
.gd-cs__showcase-frame.is-playing .gd-cs__showcase-vignette {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.gd-cs__showcase-video {
	position: absolute;
	inset: 0;
	z-index: 5;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
	background: #000;
}

.gd-cs__showcase-label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--gd-font-mono);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gd-pink);
}

.gd-cs__showcase-footer-copy {
	max-width: 480px;
}

.gd-cs__showcase-footer-copy p {
	margin: 0;
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--gd-paper);
}

.gd-cs__showcase-meta {
	display: flex;
	gap: 28px;
}

.gd-cs__showcase-meta > span {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: right;
}

.gd-cs__showcase-meta small {
	font-family: var(--gd-font-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gd-lavender);
}

.gd-cs__showcase-meta strong {
	font-size: 14px;
	font-weight: 700;
}

@keyframes gdDotPulse {
	0%, 100% {
		opacity: 1;
		transform: scale(1);
	}

	50% {
		opacity: 0.55;
		transform: scale(0.85);
	}
}

@keyframes gdRingPulse {
	0%, 100% {
		opacity: 0.7;
	}

	50% {
		opacity: 1;
	}
}

/* Meta strip ------------------------------------------------------------- */

.gd-cs__meta-strip {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
	padding: 48px var(--gd-gutter);
	background: var(--gd-bg-soft);
	border-top: 1px solid var(--gd-line-soft);
	border-bottom: 1px solid var(--gd-line-soft);
	background: var(--gd-bg-soft);
	border-top: 1px solid var(--gd-line);
	border-bottom: 1px solid var(--gd-line);
}

.gd-cs__meta-item {
	max-width: 230px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gd-cs__meta-label {
	font-family: var(--gd-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gd-lavender);
}

.gd-cs__meta-item strong {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--gd-paper);
}

.gd-cs__meta-item p {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--gd-lavender);
}

/* Brief ------------------------------------------------------------------ */

.gd-cs__brief {
	display: flex;
	align-items: flex-start;
	padding: 128px var(--gd-gutter) 110px;
	gap: 64px;
	background: var(--gd-bg);
}

.gd-cs__brief-sidebar {
	flex: 0 0 240px;
}

.gd-cs__brief-body {
	flex: 1;
	max-width: 1008px;
}

.gd-cs__brief-intro {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-bottom: 48px;
}

.gd-cs__brief-intro h2 {
	margin: 0;
	font-size: clamp(42px, 4vw, 56px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: -0.04em;
	color: var(--gd-paper);
}

.gd-cs__brief-kicker {
	margin: 0;
	font-family: var(--gd-font-serif);
	font-size: clamp(26px, 2.75vw, 36px);
	font-style: italic;
	line-height: 1.35;
	font-weight: 400;
	color: var(--gd-pink);
}

.gd-cs__brief-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 472px));
	gap: 64px;
}

.gd-cs__brief-col h3 {
	margin: 0 0 16px;
	font-family: var(--gd-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gd-pink);
}

.gd-cs__brief-col p {
	margin: 0;
	font-size: 16px;
	line-height: 1.625;
	color: var(--gd-lavender);
}

.gd-cs__brief-col p + p {
	margin-top: 16px;
}

/* Approach --------------------------------------------------------------- */

.gd-cs__approach {
	padding: 110px var(--gd-gutter) 0;
	background: var(--gd-bg);
	border-top: 1px solid var(--gd-line);
}

.gd-cs__approach-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 64px;
}

.gd-cs__approach-title-block .gd-cs__section-eyebrow {
	margin-bottom: 24px;
}

.gd-cs__approach-title-block h2 {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.gd-cs__approach-title-primary {
	font-size: clamp(48px, 5vw, 64px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--gd-paper);
}

.gd-cs__approach-title-accent {
	font-family: var(--gd-font-serif);
	font-size: clamp(48px, 5vw, 64px);
	font-weight: 400;
	font-style: italic;
	line-height: 1;
	color: var(--gd-pink);
}

.gd-cs__approach-duration {
	text-align: right;
}

.gd-cs__approach-duration span {
	display: block;
	font-family: var(--gd-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 8px;
	color: var(--gd-pink);
}

.gd-cs__approach-duration strong {
	font-size: 20px;
	font-weight: 700;
	color: var(--gd-paper-bright);
}

.gd-cs__approach-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
}

.gd-cs__step {
	padding-block: 32px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	border-top: 1px solid var(--gd-line-soft);
}

.gd-cs__step-head {
	display: flex;
	align-items: baseline;
	gap: 16px;
}

.gd-cs__step-num {
	font-family: var(--gd-font-serif);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(64px, 6vw, 80px);
	line-height: 0.95;
	color: var(--gd-salmon);
}

.gd-cs__step-eyebrow {
	font-family: var(--gd-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 0.18em;
	color: var(--gd-pink);
}

.gd-cs__step-body h3 {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--gd-paper);
}

.gd-cs__step-body p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--gd-lavender);
}

.gd-cs__step footer span {
	display: block;
	font-family: var(--gd-font-mono);
	text-transform: uppercase;
	font-weight: 500;
	font-size: 10px;
	letter-spacing: 0.18em;
	margin-bottom: 6px;
	color: var(--gd-pink);
}

.gd-cs__step footer p {
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--gd-paper);
	line-height: 1.38;
}

.gd-cs__step:nth-child(-n + 3) {
	border-right: 1px solid var(--gd-line-soft);
	padding-inline: clamp(18px, 2vw, 32px);
}

.gd-cs__step:first-child {
	padding-inline: 0 clamp(18px, 2vw, 32px);
}

.gd-cs__step:last-child {
	padding-inline: clamp(18px, 2vw, 32px) 0;
}

/* Feature 01 ------------------------------------------------------------- */

.gd-cs__feature-01 {
	background: var(--gd-bg);
	border-top: 1px solid var(--gd-line);
}

.gd-cs__feature-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 64px;
	padding: 110px var(--gd-gutter) 48px;
	max-width: var(--gd-max);
	margin-inline: auto;
}

.gd-cs__feature-copy {
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gd-cs__feature-copy h2 {
	margin: 0;
	font-size: clamp(40px, 4.2vw, 48px);
	font-weight: 900;
	line-height: 1.05;
	color: var(--gd-paper);
}

.gd-cs__feature-copy > p {
	margin: 0;
	font-size: 16px;
	line-height: 1.625;
	color: var(--gd-lavender);
}

.gd-cs__feature-specs {
	max-width: 280px;
}

.gd-cs__feature-specs span:first-child {
	display: block;
	font-family: var(--gd-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	margin-bottom: 8px;
	letter-spacing: 0.12em;
	color: var(--gd-lavender);
}

.gd-cs__feature-specs strong {
	display: block;
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 8px;
	color: #1a8e97;
}

.gd-cs__feature-specs p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--gd-lavender);
}

.gd-cs__feature-stage {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 680px;
	padding: 48px var(--gd-gutter) 96px;
	background-color: var(--gd-bg-soft);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	overflow: clip;
}

.gd-cs__feature-stage::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(
		180deg,
		rgb(4 26 34 / 0%) 0%,
		rgb(4 26 34 / 0%) 45%,
		rgb(4 26 34 / 42%) 72%,
		rgb(4 26 34 / 92%) 100%
	);
	pointer-events: none;
}

.gd-cs__feature-stage::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0.7;
	pointer-events: none;
	background: radial-gradient(
		circle farthest-corner at 50% 50%,
		rgb(127 166 106 / 12%) 0%,
		transparent 100%
	);
}

.gd-cs__arc-cards {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 64px;
	padding-top: 32px;
}

.gd-cs__arc-card {
	width: min(520px, 36vw);
	display: flex;
	flex-direction: column;
	gap: 18px;
	flex-shrink: 0;
}

.gd-cs__arc-card--before {
	max-width: 400px;
}

.gd-cs__arc-head {
	display: flex;
	align-items: center;
	gap: 10px;
}

.gd-cs__arc-head span:first-child {
	font-family: var(--gd-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--gd-slate);
	letter-spacing: 0.2em;
	flex-shrink: 0;
}

.gd-cs__arc-card--before .gd-cs__arc-head span:first-child {
	color: #6e7e91;
}

.gd-cs__arc-card--after .gd-cs__arc-head span:first-child {
	color: var(--gd-pink);
}

.gd-cs__arc-rule {
	flex: 1 1 auto;
	height: 1px;
	background: #1e2d3f;
}

.gd-cs__arc-card--after .gd-cs__arc-rule {
	background: var(--gd-pink);
}

.gd-cs__before-block {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 28px;
	border-radius: 12px;
	border: 1px solid #1e2d3f;
	background: rgb(13 22 34 / 60%);
	min-height: 178px;
}

.gd-cs__before-block p {
	margin: 0;
	font-size: 18px;
	line-height: 1.65;
	color: rgb(242 234 215 / 55%);
}

.gd-cs__cap-after {
	position: relative;
	height: clamp(138px, 22vw, 207px);
	border-radius: 12px;
	border: 1px solid rgb(127 166 106 / 35%);
	overflow: hidden;
	background: #101d2b;
}

.gd-cs__cap-after img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gd-cs__arc-caption {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: rgb(242 234 215 / 70%);
}

.gd-cs__principles {
	display: flex;
	max-width: 1024px;
	width: 100%;
	margin-inline: auto;
	position: relative;
	z-index: 2;
	padding-top: clamp(120px, 18vw, 190px);
	margin-top: 0;
	border-top: 0;
	justify-content: space-between;
	gap: 0;
}

.gd-cs__principle {
	flex: 1;
	padding-inline: clamp(18px, 2vw, 32px);
}

.gd-cs__principle + .gd-cs__principle {
	border-left: 1px solid var(--gd-line-soft);
}

.gd-cs__principle span {
	display: block;
	font-family: var(--gd-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: 8px;
	letter-spacing: 0.1em;
	color: var(--gd-accent);
}

.gd-cs__principle h3 {
	margin: 0 0 12px;
	font-size: 18px;
	line-height: 1.33;
	font-weight: 700;
	color: var(--gd-paper);
}

.gd-cs__principle p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--gd-lavender);
}

/* Feature 02 + capabilities --------------------------------------------- */

.gd-cs__feature-02-wrap {
	display: flex;
	flex-wrap: wrap;
	background: var(--gd-bg-soft);
	border-top: 1px solid var(--gd-line);
}

.gd-cs__feature-02-copy {
	flex: 0 0 560px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 110px 48px 96px var(--gd-gutter);
}

.gd-cs__feature-02-copy .gd-cs__accent-serif-lines {
	display: flex;
	flex-direction: column;
}

.gd-cs__feature-02-copy .gd-cs__accent-serif-lines span:first-child {
	font-size: clamp(40px, 4vw, 56px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--gd-paper);
}

.gd-cs__feature-02-copy .gd-cs__accent-serif-lines span:last-child {
	font-family: var(--gd-font-serif);
	font-size: clamp(40px, 4vw, 56px);
	font-weight: 400;
	font-style: italic;
	line-height: 1;
	color: var(--gd-pink);
}

.gd-cs__feature-02-copy > p:last-of-type {
	margin: 0;
	font-size: 16px;
	line-height: 1.625;
	color: var(--gd-lavender);
}

.gd-cs__gold-dot {
	box-shadow: none;
	background: var(--gd-gold);
}

.gd-cs__feature-02-spread {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px var(--gd-gutter) 80px 48px;
	min-height: 814px;
	overflow: clip;
	position: relative;
	background: #0b3540;
}

.gd-cs__feature-02-spread-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	filter: blur(2px);
	transform: scale(1.04);
}

.gd-cs__magazine-card {
	position: relative;
	z-index: 1;
	width: min(580px, 100%);
	border-radius: 14px;
	overflow: hidden;
	box-shadow:
		0 40px 80px rgb(0 0 0 / 45%),
		0 0 0 1px rgb(127 166 106 / 18%);
}

.gd-cs__magazine-header {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 296px;
	padding: 28px 36px;
	background: radial-gradient(
		ellipse 130% 90% at 50% 100%,
		#3d6a52 0%,
		#2a4538 50%,
		#1a2e28 100%
	);
}

.gd-cs__magazine-header-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gd-cs__magazine-live {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--gd-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gd-paper);
}

.gd-cs__magazine-live-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #e4f0c9;
	box-shadow: 0 0 0 4px rgb(228 240 201 / 18%);
}

.gd-cs__magazine-header-label {
	font-family: var(--gd-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgb(200 227 214 / 55%);
}

.gd-cs__magazine-title-row {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-top: 24px;
}

.gd-cs__magazine-title {
	font-size: clamp(56px, 6vw, 80px);
	font-weight: 400;
	font-style: italic;
	line-height: 1;
	letter-spacing: -0.03em;
	color: #f0e7d8;
}

.gd-cs__magazine-title-sub {
	font-size: 14px;
	font-weight: 300;
	color: rgb(200 227 214 / 55%);
}

.gd-cs__magazine-stats {
	display: flex;
	padding-top: 18px;
	margin-top: 18px;
	border-top: 1px solid rgb(228 240 201 / 18%);
}

.gd-cs__magazine-stat {
	flex: 1;
	padding-right: 16px;
}

.gd-cs__magazine-stat + .gd-cs__magazine-stat {
	border-left: 1px solid rgb(228 240 201 / 12%);
	padding-left: 20px;
}

.gd-cs__magazine-stat strong {
	display: block;
	font-size: 48px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	color: #f0e7d8;
}

.gd-cs__magazine-stat strong.gd-cs__accent-serif {
	font-style: italic;
	color: var(--gd-salmon);
}

.gd-cs__magazine-stat span {
	display: block;
	margin-top: 4px;
	font-family: var(--gd-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgb(200 227 214 / 55%);
}

.gd-cs__magazine-body {
	padding: 28px 36px 32px;
	background: #f0e7d8;
}

.gd-cs__magazine-body-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 22px;
	font-family: var(--gd-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #5d7a60;
}

.gd-cs__magazine-body-eyebrow::before {
	content: "";
	width: 4px;
	height: 4px;
	background: #2f4a36;
}

.gd-cs__magazine-body p {
	margin: 0 0 20px;
	max-width: 460px;
	font-size: 15px;
	line-height: 1.55;
	color: #2f4a36;
}

.gd-cs__magazine-speakers {
	display: flex;
	gap: 12px;
}

.gd-cs__magazine-speaker {
	flex: 1;
	min-height: 170px;
	border-radius: 4px;
	padding: 14px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background-size: cover;
	background-position: center;
}

.gd-cs__magazine-speaker.gd-cs__reveal:nth-child(1) { transition-delay: 0ms; }
.gd-cs__magazine-speaker.gd-cs__reveal:nth-child(2) { transition-delay: 100ms; }
.gd-cs__magazine-speaker.gd-cs__reveal:nth-child(3) { transition-delay: 200ms; }

.gd-cs__magazine-speaker strong {
	display: block;
	font-size: 18px;
	font-weight: 500;
	font-style: italic;
	line-height: 1.2;
	color: #f0e7d8;
}

.gd-cs__magazine-speaker span {
	display: block;
	margin-top: 6px;
	font-family: var(--gd-font-mono);
	font-size: 9px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgb(240 231 216 / 65%);
}

.gd-cs__feature-02-metrics {
	display: flex;
	margin-top: 8px;
	padding-top: 32px;
	border-top: 1px solid rgb(127 166 106 / 18%);
}

.gd-cs__feature-02-metric {
	flex: 1;
	padding-right: 16px;
}

.gd-cs__feature-02-metric + .gd-cs__feature-02-metric {
	border-left: 1px solid rgb(127 166 106 / 18%);
	padding-left: 24px;
}

.gd-cs__feature-02-metric span:first-child {
	display: block;
	font-family: var(--gd-font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgb(127 166 106 / 65%);
	margin-bottom: 6px;
}

.gd-cs__feature-02-metric-val {
	display: flex;
	align-items: baseline;
	gap: 4px;
}

.gd-cs__feature-02-metric-val strong {
	font-size: 36px;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: var(--gd-paper);
}

.gd-cs__feature-02-metric-val em {
	font-style: normal;
	font-size: 18px;
	color: var(--gd-salmon);
}

.gd-cs__feature-02-mock-wrap {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--gd-gutter) var(--gd-gutter) var(--gd-gutter) 0;
	min-height: 320px;
	overflow: clip;
}

.gd-cs__browser-mock {
	width: min(780px, 100%);
	aspect-ratio: 780 / 520;
	max-height: 520px;
	border-radius: 14px;
	overflow: hidden;
	box-shadow:
		0 40px 80px rgb(0 0 0 / 45%),
		0 0 0 1px rgb(0 0 0 / 20%);
	background: #0f2229;
}

.gd-cs__browser-mock img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gd-cs__capabilities {
	padding: 0 var(--gd-gutter) 110px;
	background: var(--gd-bg-soft);
}

.gd-cs__capabilities-inner {
	max-width: var(--gd-max);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid #1e2d3f;
}

.gd-cs__cap {
	display: flex;
	align-items: flex-start;
	padding-top: 32px;
	gap: 24px;
}

.gd-cs__cap-num {
	flex-shrink: 0;
	width: auto;
	height: auto;
	line-height: 1;
	display: inline-block;
	font-family: var(--gd-font-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 42px;
	color: rgb(167 194 154 / 80%);
	position: relative;
	top: -4px;
}

.gd-cs__cap h3 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.35;
	font-weight: 600;
	color: var(--gd-paper);
}

.gd-cs__cap p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--gd-lavender);
	max-width: 352px;
}

.gd-cs__cap:nth-child(-n + 2) {
	border-right: 1px solid #1e2d3f;
	padding-right: 32px;
}

.gd-cs__cap:nth-child(3) {
	padding-left: 32px;
	padding-right: 0;
}

/* Feature 03 phones ------------------------------------------------------- */

.gd-cs__feature-03 {
	padding-block: 110px 96px;
	padding-inline: var(--gd-gutter);
	border-top: 1px solid var(--gd-line-soft);
	background-color: var(--gd-bg);
	background-size: cover;
	background-position: center;
	background-blend-mode: overlay;
}

.gd-cs__feature03-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
	margin-bottom: 48px;
}

.gd-cs__feature03-copy {
	flex: 1;
	max-width: 600px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gd-cs__feature03-copy h2 {
	margin: 0;
	font-size: clamp(42px, 4.5vw, 56px);
	font-weight: 700;
	line-height: 1.05;
	color: var(--gd-paper);
}

.gd-cs__feature03-copy .gd-cs__accent-serif.large {
	display: inline-block;
	margin-top: -4px;
	font-size: clamp(42px, 4.5vw, 56px);
	line-height: 1.05;
	font-weight: 400;
	color: var(--gd-lavender);
}

.gd-cs__feature03-copy > p {
	margin: 0;
	font-size: 16px;
	line-height: 1.625;
	color: var(--gd-lavender);
}

.gd-cs__feature03-aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 16px;
	text-align: right;
}

.gd-cs__aside-label {
	display: block;
	font-family: var(--gd-font-mono);
	text-transform: uppercase;
	font-weight: 500;
	font-size: 10px;
	letter-spacing: 0.16em;
	margin-bottom: 4px;
	color: var(--gd-lavender);
}

.gd-cs__pill-row {
	display: flex;
	gap: 8px;
}

.gd-cs__pill {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding-inline: 14px;
	border-radius: 999px;
	background: rgb(127 166 106 / 5%);
	border: 1px solid var(--gd-line-teal);
	font-family: var(--gd-font-mono);
	font-weight: 500;
	text-transform: uppercase;
	font-size: 11px;
	color: var(--gd-pink);
}

.gd-cs__aside-quote {
	margin: 0;
	max-width: 240px;
	font-family: var(--gd-font-serif);
	font-weight: 400;
	font-style: italic;
	font-size: 24px;
	line-height: 1.35;
	color: var(--gd-lavender);
}

.gd-cs__phones {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: 48px;
	padding-top: 32px;
}

.gd-cs__phone-block {
	flex: 0 0 auto;
	display: flex;
	align-items: flex-end;
	width: clamp(228px, 22vw, 300px);
}

.gd-cs__phone-frame {
	--gd-phone-w: clamp(228px, 22vw, 300px);
	width: var(--gd-phone-w);
	height: calc(var(--gd-phone-w) * 2);
	max-width: 300px;
	max-height: 600px;
	flex-shrink: 0;
	position: relative;
	border-radius: 38px;
	padding: 14px 12px;
	background: var(--gd-bg);
	box-shadow:
		inset 0 0 0 1px rgb(255 255 255 / 5%),
		0 40px 80px rgb(0 0 0 / 45%);
}

.gd-cs__phone-screen {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 28px;
	overflow: hidden;
	background: var(--gd-bg-chip);
}

.gd-cs__phone-screen img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

/* Architecture ----------------------------------------------------------- */

.gd-cs__architecture {
	display: flex;
	align-items: flex-start;
	gap: 72px;
	padding: 120px var(--gd-gutter) 96px;
	background-color: var(--gd-bg-soft);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-blend-mode: normal, overlay;
	border-top: 1px solid var(--gd-line-soft);
	height: 896px;
	min-height: 896px;
	position: relative;
	overflow: clip;
}

.gd-cs__arch-intro {
	flex: 0 0 clamp(260px, 26vw, 380px);
	position: relative;
	z-index: 1;
}

.gd-cs__arch-intro h2 span {
	display: block;
}

.gd-cs__arch-intro h2 span:first-child {
	font-size: clamp(44px, 4vw, 56px);
	font-weight: 600;
	line-height: 1.05;
	margin-bottom: 8px;
	letter-spacing: -0.025em;
	color: var(--gd-paper);
	display: block;
}

.gd-cs__arch-intro h2 span.gd-cs__accent-serif {
	display: block;
	font-family: var(--gd-font-serif);
	font-size: clamp(44px, 4vw, 56px);
	font-weight: 400;
	font-style: italic;
	line-height: 1.08;
	margin-bottom: 12px;
	color: var(--gd-salmon);
}

.gd-cs__arch-intro p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--gd-lavender);
	margin-block: 0 24px;
}

.gd-cs__arch-accent-bar {
	height: 1px;
	width: 56px;
	background: var(--gd-lavender);
}

.gd-cs__arch-stack {
	flex: 1;
	min-width: 0;
	max-width: 808px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.gd-cs__arch-card {
	position: relative;
	border-radius: 16px;
	border: 1px solid var(--gd-line);
	background: var(--gd-bg-soft);
	padding: 32px 28px 24px;
}

.gd-cs__arch-badge {
	position: absolute;
	top: -13px;
	left: 28px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #13202e;
	padding-inline: 10px;
}

.gd-cs__arch-num {
	width: 26px;
	height: 26px;
	border-radius: 999px;
	border: 1px solid var(--gd-gold);
	display: grid;
	place-items: center;
	font-family: var(--gd-font-mono);
	font-size: 11px;
	font-weight: 500;
	color: var(--gd-gold);
}

.gd-cs__arch-badge span:last-child {
	font-family: var(--gd-font-mono);
	font-weight: 500;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.22em;
	line-height: 1;
	color: var(--gd-gold);
}

.gd-cs__arch-card--wide {
	max-width: 720px;
	width: 100%;
	box-shadow:
		inset 0 0 0 1px rgb(232 185 120 / 5%),
		0 24px 60px rgb(0 0 0 / 35%);
	margin-bottom: 0;
}

.gd-cs__arch-card--narrow {
	max-width: 560px;
	width: 100%;
}

.gd-cs__arch-connector {
	flex-shrink: 0;
	position: relative;
	width: 100%;
	height: 36px;
}

.gd-cs__arch-connector::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 1px;
	margin-left: -0.5px;
	background: linear-gradient(
		180deg,
		rgb(232 185 120 / 55%) 0%,
		rgb(232 185 120 / 85%) 100%
	);
}

.gd-cs__arch-row-bottom {
	position: relative;
	width: 100%;
	height: 60px;
}

.gd-cs__branch-line {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: auto;
	transform: translateX(-50%);
	width: 1px;
	height: 26px;
	background: var(--gd-gold);
}

.gd-cs__branch-h {
	position: absolute;
	top: 26px;
	left: 25%;
	right: 25%;
	height: 1px;
	background: rgb(232 185 120 / 70%);
}

.gd-cs__branch-v {
	position: absolute;
	top: 26px;
	width: 1px;
	height: 28px;
	background: var(--gd-gold);
}

.gd-cs__branch-v--l {
	left: 25%;
}

.gd-cs__branch-v--r {
	right: 25%;
}

.gd-cs__branch-dot {
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gd-gold);
	top: calc(54px - 3px);
	transform: translateX(-50%);
}

.gd-cs__branch-dot--l {
	left: 25%;
}

.gd-cs__branch-dot--r {
	right: 25%;
	margin-right: -3px;
}

.gd-cs__arch-two {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	width: 100%;
}

.gd-cs__arch-card--tiny {
	flex: 1;
	min-width: min(392px, 100%);
	height: auto;
	position: relative;
	background: var(--gd-bg-chip);
	border-color: #1e3d4a;
}

.gd-cs__arch-svg-stroke-muted {
	stroke: var(--gd-lavender);
}

.gd-cs__arch-svg-stroke-ai {
	stroke: #c8cfd8;
	stroke-opacity: 0.92;
}

.gd-cs__split-row {
	display: flex;
	padding-top: 14px;
	margin-top: 10px;
	border-top: 1px solid rgb(31 61 74 / 70%);
}

.gd-cs__split-cell {
	flex: 1;
	position: relative;
	text-align: center;
	font-family: var(--gd-font-mono);
	font-size: 11px;
	line-height: 1.35;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--gd-mono-muted);
}

.gd-cs__split-cell + .gd-cs__split-cell {
	border-left: 1px solid var(--gd-line-teal);
	padding-left: 0;
	height: auto;
	min-height: 18px;
}

.gd-cs__arch-micro {
	position: absolute;
	bottom: calc(100% + 23px);
	left: calc(28px / 14);
	transform: translateX(-100%);
	opacity: 0;
}

.arch-body-row {
	display: flex;
	align-items: center;
	gap: 24px;
}

.arch-body-copy h3 {
	margin: 8px 0;
	font-weight: 600;
	font-size: 20px;
	line-height: 1.35;
	color: var(--gd-paper-bright);
}

.arch-body-copy p {
	margin: 0;
	line-height: 1.53;
	font-size: 13px;
	color: rgb(242 234 215 / 65%);
}

.arch-body-copy.large h3 {
	font-size: 22px;
	line-height: 1.35;
	font-weight: 600;
	margin-top: 0;
}

.arch-feats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 14px;
	margin-top: 16px;
	border-top: 1px solid rgb(31 61 74 / 70%);
}

.arch-feat-col {
	flex: 1;
	min-width: 28%;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.arch-feat-col span:first-child {
	font-family: var(--gd-font-mono);
	font-weight: 500;
	text-transform: uppercase;
	font-size: 10px;
	letter-spacing: 0.14em;
	line-height: 1.33;
	color: var(--gd-gold);
}

.arch-feat-col span:last-child {
	font-family: var(--gd-font-display);
	font-size: 11px;
	font-weight: 500;
	color: var(--gd-mono-muted);
}

.arch-icon-wrap {
	width: 120px;
	height: 90px;
	flex-shrink: 0;
	border-radius: 12px;
	overflow: clip;
	display: grid;
	place-items: center;
	border: 1px solid rgb(232 185 120 / 35%);
	background: rgb(127 166 106 / 2%);
}

/* Built with -------------------------------------------------------------- */

.gd-cs__built-strip {
	max-width: var(--gd-max);
	margin-inline: auto;
	display: flex;
	align-items: center;
	border-radius: 14px;
	border: 1px solid var(--gd-line-teal);
	padding: 18px 28px;
	background: var(--gd-bg-chip);
}

.gd-cs__built-label {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	padding-right: 28px;
	margin-right: 0;
	flex-shrink: 0;
	border-right: 1px solid var(--gd-line-teal);
}

.gd-cs__built-label svg {
	flex-shrink: 0;
	stroke: var(--gd-gold);
}

.gd-cs__built-label span {
	font-family: var(--gd-font-mono);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.22em;
	line-height: 1.33;
	font-size: 11px;
	color: var(--gd-gold);
}

.gd-cs__built-list {
	display: flex;
	flex-wrap: wrap;
	flex: 1;
	align-items: stretch;
	justify-content: space-evenly;
}

.gd-cs__built-tech {
	flex: 1 1 auto;
	text-align: center;
	font-family: var(--gd-font-display);
	font-size: 14px;
	line-height: 1.42;
	font-weight: 500;
	color: var(--gd-mono-muted);
}

.gd-cs__built-tech + .gd-cs__built-tech::before {
	content: "";
	display: none;
}

.sb-built-divider {
	width: 1px;
	flex-shrink: 0;
	align-self: center;
	min-height: 18px;
	background: var(--gd-line-teal);
}

section.gd-cs__built {
	padding-inline: var(--gd-gutter);
	padding-bottom: 110px;
	background: var(--gd-bg-soft);
}

/* Results --------------------------------------------------------------- */

section.gd-cs__results {
	padding-inline: var(--gd-gutter);
	padding-top: clamp(96px, 12vw, 140px);
	padding-bottom: clamp(96px, 12vw, 120px);
	background: var(--gd-bg);
	border-top: 1px solid var(--gd-line);
}

.gd-cs__results-header {
	display: flex;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 64px;
}

.gd-cs__results-intro {
	max-width: 920px;
}

.gd-cs__results-intro h2 span {
	display: block;
}

.gd-cs__results-intro h2 span:first-child {
	font-size: clamp(48px, 5vw, 64px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--gd-paper-bright);
	margin-bottom: 4px;
}

.gd-cs__results-intro h2 span:last-child {
	font-family: var(--gd-font-serif);
	font-weight: 400;
	font-style: italic;
	font-size: clamp(48px, 5vw, 64px);
	line-height: 1;
	color: var(--gd-salmon);
}

.gd-cs__study-window span {
	display: block;
}

.gd-cs__study-window span:first-child {
	font-family: var(--gd-font-mono);
	text-transform: uppercase;
	font-weight: 500;
	text-align: right;
	font-size: 10px;
	letter-spacing: 0.12em;
	color: var(--gd-lavender);
	margin-bottom: 8px;
}

.gd-cs__study-window strong {
	display: block;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.37;
	text-align: right;
	color: var(--gd-pink);
	margin-bottom: 8px;
}

.gd-cs__study-window p {
	margin: 0;
	font-size: 12px;
	line-height: 1.52;
	max-width: 260px;
	margin-left: auto;
	text-align: right;
	color: var(--gd-lavender);
}

.gd-cs__big-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	margin-bottom: 48px;
}

.gd-cs__big-stat-card {
	flex: 1;
	min-width: min(554px, 100%);
	display: flex;
	flex-direction: column;
	gap: 18px;
	background: rgb(127 166 106 / 0%);
}

.gd-cs__big-stat-val {
	display: inline-block;
	margin: 0;
	font-weight: 900;
	font-size: clamp(68px, 12vw, 140px);
	line-height: 0.85;
	color: var(--gd-paper-bright);
}

.gd-cs__mini-stats-row {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.gd-cs__mini-card {
	flex: 1;
	min-width: min(392px, 100%);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gd-cs__mini-card--report {
	justify-content: flex-start;
	align-items: flex-start;
	flex: 1.2;
	min-width: min(400px, 100%);
	min-height: 192px;
}

.gd-cs__mini-stat-strong {
	display: inline-block;
	margin: 0;
	font-weight: 900;
	font-size: clamp(42px, 6vw, 48px);
	line-height: 1.05;
	letter-spacing: -0.04em;
	color: var(--gd-paper);
}

.gd-cs__mini-card p:last-child {
	flex-grow: 0;
	font-size: 13px;
	line-height: 1.5;
}

.sb-download {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding: 0 20px;
	height: 44px;
	line-height: 44px;
	text-decoration: none;
	border-radius: 999px;
	background: var(--gd-pink);
	color: var(--gd-bg);
	font-family: var(--gd-font-display);
	font-weight: 600;
	font-size: 14px;
	transition:
		transform 200ms var(--gd-ease-out),
		opacity 160ms ease;
}

.sb-download:hover,
.sb-download:focus-visible {
	transform: translateY(-1px);
	opacity: 0.96;
	outline: none;
}

/* Testimonial ----------------------------------------------------------- */

section.gd-cs__testimonial {
	position: relative;
	padding: clamp(80px, 10vw, 140px) var(--gd-gutter) clamp(96px, 11vw, 110px);
	background: var(--gd-bg);
	border-top: 1px solid var(--gd-line);
}

.sb-quote-mark {
	position: absolute;
	left: clamp(48px, 8vw, 120px);
	top: clamp(144px, 18vw, 180px);
	font-family: var(--gd-font-serif);
	font-size: clamp(72px, 10vw, 84px);
	font-style: italic;
	line-height: 1;
	text-align: center;
	vertical-align: top;
	color: var(--gd-pink);
	pointer-events: none;
	opacity: 0.95;
}

.sb-quote-mark--rt {
	right: clamp(72px, 10vw, 160px);
	left: auto;
	top: clamp(280px, 36vw, 260px);
}

.sb-quote-eyebrow {
	position: absolute;
	top: 120px;
	left: var(--gd-gutter);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sb-quote-aside-tags {
	position: absolute;
	right: clamp(72px, 10vw, 160px);
	top: 160px;
	text-align: right;
	line-height: 1.42;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.sb-quote-aside-tags span {
	font-family: var(--gd-font-serif);
	font-style: italic;
	font-size: 14px;
	color: var(--gd-pink);
}

.gd-cs__testimonial-stack {
	position: relative;
	max-width: 760px;
	margin-inline: auto;
	padding-top: 40px;
}

.gd-cs__quote-body {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: center;
}

.gd-cs__quote-body p:nth-child(-n + 3) {
	margin: 0;
	line-height: 1.33;
	max-width: 640px;
	margin-inline: auto;
}

.gd-cs__quote-body p.quote-bold {
	font-size: clamp(28px, 3.5vw, 40px);
	font-weight: 700;
	font-style: normal;
	color: var(--gd-paper);
}

.gd-cs__quote-body p.quote-normal {
	font-size: clamp(28px, 3.5vw, 40px);
	font-family: var(--gd-font-serif);
	font-style: italic;
	font-weight: 400;
	color: var(--gd-paper);
}

.gd-cs__quote-foot {
	position: relative;
	display: inline-flex;
	align-items: center;
	margin-top: clamp(72px, 10vw, 96px);
	gap: 14px;
	margin-inline: auto;
	width: clamp(292px, 45vw, 540px);
	padding-top: 32px;
	border-top: 1px solid rgb(30 45 63 / 70%);
	justify-content: center;
}

.gd-cs__quote-avatar {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--gd-gold);
	display: grid;
	place-items: center;
	flex-shrink: 0;
	font-family: var(--gd-font-display);
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	color: var(--gd-paper);
	animation: gdAvatarGlow 7s ease-in-out infinite alternate;
}

@keyframes gdAvatarGlow {
	0% {
		box-shadow:
			inset 0 0 0 1px rgb(255 255 255 / 6%),
			0 2px 12px rgb(127 166 106 / 20%);
	}

	100% {
		box-shadow:
			inset 0 0 0 1px rgb(255 255 255 / 10%),
			0 8px 32px rgb(127 166 106 / 22%);
	}
}

.gd-cs__quote-foot-text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-align: left;
}

.gd-cs__quote-foot-text strong {
	font-size: 15px;
	line-height: 1.45;
	font-weight: 700;
	color: var(--gd-paper);
}

.gd-cs__quote-foot-text span {
	font-size: 13px;
	line-height: 1.35;
	font-weight: 400;
	color: var(--gd-lavender);
}

/* Next ------------------------------------------------------------------- */

.gd-cs__next {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--gd-bg-soft);
	border-top: 1px solid var(--gd-line);
}

.gd-cs__next-case {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 80px var(--gd-gutter);
	border-right: 1px solid var(--gd-line);
	text-decoration: none;
	color: inherit;
	transition:
		background-color 260ms var(--gd-ease-out),
		opacity 200ms ease;
}

.gd-cs__next-case:hover,
.gd-cs__next-case:focus-visible {
	background: rgb(19 41 71 / 12%);
	opacity: 0.98;
	outline: none;
}

.gd-cs__next-eyebrow {
	font-family: var(--gd-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 400;
	color: var(--gd-sb-eyebrow);
	letter-spacing: 0.12em;
	margin: 0;
}

.gd-cs__next-case h2 {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 4px;
}

.gd-cs__next-case h2 span:first-child {
	font-size: clamp(44px, 5vw, 56px);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.03em;
	color: #fff;
}

.gd-cs__next-case h2 span.gd-cs__next-accent {
	font-family: var(--gd-font-serif);
	font-weight: 400;
	font-style: italic;
	font-size: clamp(44px, 5vw, 56px);
	line-height: 1;
	color: var(--gd-sb-accent);
}

.gd-cs__next-case > p:not(.gd-cs__next-eyebrow) {
	margin: 0;
	max-width: 480px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--gd-sb-body);
}

.gd-cs__next-cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 12px;
}

.gd-cs__next-cta span {
	display: inline;
	font-family: var(--gd-font-display);
	font-size: 14px;
	font-weight: 600;
	color: var(--gd-sb-cta);
	transition: transform 240ms var(--gd-ease-out), color 200ms ease;
}

.gd-cs__next-cta span.arrow {
	color: var(--gd-slate);
}

.gd-cs__next-case:hover .gd-cs__next-cta span:not(.arrow) {
	color: var(--gd-sb-accent);
}

.gd-cs__next-cta span.arrow {
	transition: transform 240ms var(--gd-ease-out);
}

.gd-cs__next-case:hover .gd-cs__next-cta span.arrow {
	transform: translateX(4px);
}

.gd-cs__cta-panel {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	padding: 80px var(--gd-gutter);
	background: var(--gd-bg-soft);
	position: relative;
	overflow: clip;
}

.gd-cs__cta-panel h2 {
	margin: 0;
	display: flex;
	flex-direction: column;
}

.gd-cs__cta-panel h2 span {
	font-size: clamp(44px, 5vw, 56px);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--gd-paper);
}

.gd-cs__cta-panel h2 span.gd-cs__cta-accent {
	font-family: var(--gd-font-serif);
	font-weight: 400;
	font-style: italic;
}

.gd-cs__cta-panel .gd-cs__section-eyebrow .gd-cs__diamond {
	background: var(--gd-pink);
}

.gd-cs__cta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-top: 16px;
	gap: 12px;
}

.gd-cs__cta-solid {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0 20px;
	min-height: 52px;
	line-height: 52px;
	text-decoration: none;
	border-radius: 999px;
	background: var(--gd-pink);
	color: var(--gd-bg);
	font-family: var(--gd-font-display);
	font-size: 14px;
	font-weight: 600;
	transition: opacity 220ms ease, transform 260ms var(--gd-ease-out);
}

.gd-cs__cta-solid .gd-cs__cta-dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: var(--gd-bg);
}

.gd-cs__cta-solid:focus-visible {
	outline: none;
	opacity: 0.96;
	transform: translateY(-1px);
}

.gd-cs__cta-ghost {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0 20px;
	min-height: 52px;
	border-radius: 999px;
	background: rgb(127 166 106 / 5%);
	border: 1px solid var(--gd-line-teal);
	color: var(--gd-pink);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	transition:
		background 220ms ease,
		border-color 220ms ease,
		transform 260ms var(--gd-ease-out);
}

.gd-cs__cta-ghost:hover,
.gd-cs__cta-ghost:focus-visible {
	border-color: rgb(127 166 106 / 45%);
	background: rgb(127 166 106 / 10%);
	outline: none;
}

/* Footer ----------------------------------------------------------------- */

.gd-cs__footer {
	padding: 80px var(--gd-gutter) 48px;
	background: var(--gd-bg);
	border-top: 1px solid var(--gd-line);
}

.gd-cs__footer-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 48px;
	padding-bottom: 48px;
}

.gd-cs__footer-brand {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gd-cs__footer-brand span {
	font-family: var(--gd-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	color: var(--gd-slate-strong);
}

.gd-cs__footer-brand img {
	display: block;
	width: min(280px, 60vw);
	height: auto;
}

.gd-cs__footer-cols {
	display: flex;
	gap: 64px;
	flex-wrap: wrap;
}

.gd-cs__footer-cols > div {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 90px;
}

.gd-cs__footer-cols strong {
	font-family: var(--gd-font-mono);
	font-size: 10px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #6e7e91;
	margin-bottom: 4px;
}

.gd-cs__footer-cols a,
.gd-cs__footer-cols span {
	font-size: 14px;
	font-weight: 400;
	color: rgb(242 234 215 / 82%);
	text-decoration: none;
}

.gd-cs__footer-cols a:hover,
.gd-cs__footer-cols a:focus-visible {
	color: var(--gd-pink);
	outline: none;
}

.gd-cs__footer-baseline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 24px;
	border-top: 1px solid #1e2d3f;
	font-family: var(--gd-font-mono);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gd-lavender);
}

.gd-cs__footer-baseline nav {
	display: flex;
	gap: 24px;
}

.gd-cs__footer-baseline a {
	color: inherit;
	text-decoration: none;
}

.gd-cs__footer-baseline a:hover,
.gd-cs__footer-baseline a:focus-visible {
	color: var(--gd-pink);
}

/* Results label colors --------------------------------------------------- */

.gd-cs__big-stat-card > span,
.gd-cs__mini-card > span {
	font-family: var(--gd-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--gd-pink);
}

.gd-cs__mini-card p {
	margin: 0;
	color: var(--gd-lavender);
}

.sb-download svg {
	flex-shrink: 0;
}

/* Motion / reveals ------------------------------------------------------- */

.gd-cs__reveal {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity 520ms var(--gd-ease-out),
		transform 520ms var(--gd-ease-out);
	transition-delay: var(--gd-reveal-delay, 0ms);
}

.gd-cs__reveal.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.gd-cs__reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.gd-cs__play-rings span,
	.gd-cs__quote-avatar {
		animation: none;
	}

	.gd-cs__play-label::before {
		animation: none;
	}

	.gd-cs__hero-dot-grid {
		animation: none;
		opacity: 0.88;
	}
}

/* Responsive ------------------------------------------------------------- */

@media (max-width: 1100px) {
	.gd-cs__meta-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gd-cs__approach-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gd-cs__step:nth-child(2) {
		border-right: 0;
	}

	.gd-cs__step:nth-child(3) {
		border-right: 1px solid #1e2d3f;
	}

	.gd-cs__feature-top {
		flex-direction: column;
	}

	.gd-cs__arc-cards {
		flex-direction: column;
		align-items: center;
	}

	.gd-cs__principles {
		flex-direction: column;
	}

	.gd-cs__principle + .gd-cs__principle {
		border-left: 0;
		border-top: 1px solid #1e2d3f;
		padding-top: 24px;
	}

	.gd-cs__feature-02-wrap {
		flex-direction: column;
	}

	.gd-cs__feature-02-copy {
		flex: 1 1 auto;
		padding-right: var(--gd-gutter);
	}

	.gd-cs__feature-02-mock-wrap {
		padding: 0 var(--gd-gutter) var(--gd-gutter);
	}

	.gd-cs__capabilities-inner {
		grid-template-columns: 1fr;
	}

	.gd-cs__cap {
		border-right: 0;
		border-bottom: 1px solid #1e2d3f;
		padding-bottom: 24px;
	}

	.gd-cs__cap:nth-child(-n + 2) {
		border-right: 0;
		padding-right: 0;
	}

	.gd-cs__cap:nth-child(3) {
		padding-left: 0;
	}

	.gd-cs__feature03-header {
		flex-direction: column;
	}

	.gd-cs__feature03-aside {
		align-items: flex-start;
		text-align: left;
	}

	.gd-cs__architecture {
		flex-direction: column;
		height: auto;
		min-height: min(896px, 100vh);
	}

	.gd-cs__arch-two {
		flex-direction: column;
	}

	.gd-cs__big-stats {
		flex-direction: column;
	}

	.gd-cs__next {
		grid-template-columns: 1fr;
	}

	.gd-cs__next-case {
		border-right: 0;
		border-bottom: 1px solid var(--gd-line);
	}
}

@media (max-width: 768px) {
	.gd-cs__brief {
		flex-direction: column;
		gap: 32px;
	}

	.gd-cs__brief-columns {
		grid-template-columns: 1fr;
	}

	.gd-cs__approach-steps {
		grid-template-columns: 1fr;
	}

	.gd-cs__step {
		border-right: 0;
		padding-inline: 0;
	}

	.gd-cs__hero-tagline {
		flex-direction: column;
		align-items: flex-start;
	}

	.gd-cs__showcase-meta {
		align-self: flex-start;
		text-align: left;
	}

	.gd-cs__showcase-meta > span {
		text-align: left;
	}

	.gd-cs__footer-top {
		flex-direction: column;
	}

	.sb-quote-eyebrow,
	.sb-quote-aside-tags {
		position: static;
		margin-bottom: 24px;
	}

	.sb-quote-mark,
	.sb-quote-mark--rt {
		display: none;
	}
}
