/* Section 2 only. Header & Hero styles remain locked. */
.agency-intro {
	padding-block: clamp(1.5rem, 2vw, 2.25rem) clamp(1rem, 1.67vw, 1.5rem);
	background: var(--sparrow-white);
}
.agency-intro__inner.container {
	display: grid;
	width: min(80rem, calc(100% - 5rem));
	grid-template-columns: 0.99fr 1.35fr;
	align-items: center;
	gap: clamp(2rem, 3vw, 3rem);
}
.agency-intro__copy,
.agency-intro__visual { min-width: 0; }
.agency-intro__eyebrow { margin: 0 0 1.25rem; color: rgb(8 14 44 / 70%); }
.agency-intro__title {
	margin: 0 0 1.75rem -0.045em;
	font-size: clamp(3rem, 6.25vw, 6rem);
	font-weight: 850;
	letter-spacing: -0.065em;
	line-height: 0.96;
}
.agency-intro__title > span { display: block; }
.agency-intro__impact {
	width: fit-content;
	color: var(--sparrow-blue);
	background: linear-gradient(105deg, var(--sparrow-cyan), var(--sparrow-blue) 42%, var(--sparrow-violet) 92%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.agency-intro__description { max-width: 43ch; margin: 0 0 1.75rem; color: rgb(8 14 44 / 82%); font-size: 1rem; line-height: 1.7; }
.agency-intro__availability { margin: 1rem 0 0; font-size: 0.875rem; }
.agency-intro__visual { position: relative; margin: 0; }
.agency-intro__composition {
	position: relative;
	aspect-ratio: 991 / 803;
	overflow: clip;
	background: linear-gradient(135deg, rgb(2 207 233 / 3%), rgb(147 57 245 / 7%));
}
.agency-intro__planes { position: absolute; inset: 0; transform: translateY(var(--agency-shift, 0px)); }
/* Lossless visible-photo extracts. The card covers the source's occluded area. */
.agency-intro__photo { position: absolute; display: block; max-width: none; object-fit: contain; }
.agency-intro__photo--glass { top: 0; left: 0; width: calc(100% * 524 / 991); height: 100%; }
.agency-intro__photo--purple { right: 0; bottom: 0; width: calc(100% * 443 / 991); height: calc(100% * 401 / 803); }
.agency-intro__notes,
.agency-intro__statement {
	margin: 0; color: rgb(8 14 44 / 76%);
	font-size: clamp(0.5rem, 1.1vw, 1rem); font-weight: 400; line-height: 1.55; letter-spacing: 0.08em;
}
.agency-intro__notes { position: absolute; top: 11.5%; left: 64.5%; }
.agency-intro__notes::after,
.agency-intro__statement::after { display: block; width: 2.75em; height: 1px; margin-top: 1.8em; background: linear-gradient(90deg, var(--sparrow-cyan), var(--sparrow-violet)); content: ""; }
.agency-intro__detail {
	position: absolute; top: calc(100% * 458 / 803 - 1px); bottom: -1px;
	left: calc(100% * 251 / 991 - 1px); width: calc(100% * 297 / 991 + 2px);
	background: var(--sparrow-white);
}
.agency-intro__statement { position: absolute; top: 40%; left: 20.5%; right: 5%; }
.agency-intro__statement > span { display: block; }
.agency-intro__statement::after { width: 3.1em; margin-top: 1.25em; }
.agency-intro--motion [data-agency-reveal].is-revealed { transition: opacity 650ms ease, transform 650ms cubic-bezier(0.2, 0.65, 0.3, 1); }
.agency-intro--motion [data-agency-reveal]:not(.is-revealed) { opacity: 0; transform: translateY(18px); }
.agency-intro--motion .agency-intro__copy:focus-within { opacity: 1; transform: none; transition: none; }
@media (max-width: 63.99rem) {
	.agency-intro__inner.container { width: calc(100% - 3rem); gap: 2rem; grid-template-columns: 1fr 1fr; }
	.agency-intro__title { font-size: clamp(2.75rem, 6vw, 4.5rem); }
	.agency-intro__description { font-size: 0.9375rem; }
}
@media (max-width: 47.99rem) {
	.agency-intro { padding-block: 1.5rem 1rem; }
	.agency-intro__inner.container { width: calc(100% - 2.5rem); grid-template-columns: 1fr; gap: 3rem; }
	.agency-intro__title { font-size: clamp(3rem, 11vw, 4.75rem); }
	.agency-intro__description { max-width: 44ch; }
	.agency-intro__visual { width: 100%; max-width: 34rem; }
	.agency-intro__statement { top: 36%; left: 16%; right: 2%; letter-spacing: 0.04em; }
}
@media (prefers-reduced-motion: reduce) {
	.agency-intro--motion [data-agency-reveal] { opacity: 1; transform: none; transition: none; }
	.agency-intro__planes { transform: none; }
}
@media (forced-colors: active) {
	.agency-intro__impact { background: none; -webkit-text-fill-color: currentColor; }
}
