/* ============================================================
   Transform Pilot — shared design system : RESPONSIVE
   Desktop connectors collapse cleanly; grids step down; the
   process row becomes a continuous vertical timeline on mobile.
   ============================================================ */

@media (max-width: 1200px) {
	.tp-ds .tp-portfolio,
	.tp-ds .tp-caps,
	.tp-ds .tp-related,
	.tp-ds .tp-prodgrid { grid-template-columns: repeat(2, 1fr); }
	.tp-ds .tp-outcomes { grid-template-columns: repeat(2, 1fr); }
	.tp-ds .tp-editorial-grid { grid-template-columns: 260px minmax(0, 1fr); gap: 40px; }
}

@media (max-width: 1024px) {
	.tp-ds { --tp-gutter: 40px; }
	.tp-ds .tp-hero { min-height: 380px; padding: 104px 0 56px; }
	.tp-ds .tp-hero--feature { min-height: 440px; }
	.tp-ds .tp-hero--standard { min-height: 380px; }
	.tp-ds .tp-hero--compact { min-height: 240px; padding: 104px 0 40px; }
	.tp-ds .tp-hero__scrim {
		background: linear-gradient(180deg, rgba(3,22,44,0.86) 0%, rgba(3,22,44,0.80) 45%, rgba(3,22,44,0.92) 100%);
	}
	.tp-ds .tp-hero--pattern .tp-hero__scrim {
		background:
			radial-gradient(120% 90% at 8% 0%, rgba(53,194,218,0.12) 0, transparent 58%),
			linear-gradient(180deg, rgba(7,27,52,0.65) 0%, rgba(3,22,44,0.55) 100%);
	}
	.tp-ds .tp-editorial-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.tp-ds .tp-editorial-grid__head .tp-kicker { max-width: none; }
	/* proof strip -> 2 columns with a single interior divider per row */
	.tp-ds .tp-proof__list { grid-template-columns: repeat(2, 1fr); gap: 24px 0; }
	.tp-ds .tp-proof__item,
	.tp-ds .tp-proof__item:first-child,
	.tp-ds .tp-proof__item:last-child { padding: 2px 24px; }
	.tp-ds .tp-proof__item + .tp-proof__item { border-left: 0; }
	.tp-ds .tp-proof__item:nth-child(odd) { padding-left: 0; }
	.tp-ds .tp-proof__item:nth-child(even) { padding-right: 0; border-left: 1px solid var(--tp-border); }
	/* steps -> 2 columns, disable the single desktop connector cleanly */
	.tp-ds .tp-steps { grid-template-columns: repeat(2, 1fr); gap: 38px 44px; }
	.tp-ds .tp-steps::before { display: none; }
	.tp-ds .tp-step__ico { background: none; padding: 0; margin-left: 0; }
	.tp-ds .tp-quotes { grid-template-columns: repeat(2, 1fr); }
	.tp-ds .tp-legal { grid-template-columns: minmax(0,1fr); gap: 24px; }
	.tp-ds .tp-legal__toc { position: static; }

}

@media (max-width: 767px) {
	.tp-ds { --tp-gutter: 20px; }
	.tp-ds .tp-section { padding: 46px 0; }
	.tp-ds .tp-hero { min-height: 320px; padding: 92px 0 44px; }
	.tp-ds .tp-hero--feature { min-height: 360px; }
	.tp-ds .tp-hero--standard { min-height: 320px; }
	.tp-ds .tp-hero--compact { min-height: 200px; padding: 92px 0 36px; }
	.tp-ds .tp-hero__title { font-size: clamp(30px, 8vw, 40px); }
	.tp-ds .tp-portfolio,
	.tp-ds .tp-caps,
	.tp-ds .tp-related,
	.tp-ds .tp-prodgrid,
	.tp-ds .tp-outcomes { grid-template-columns: minmax(0, 1fr); }
	.tp-ds .tp-caps { gap: 22px; }
	.tp-ds .tp-outcomes { gap: 26px; }
	.tp-ds .tp-outcome { padding: 16px 0 0; }
	/* proof strip -> single column, no rules */
	.tp-ds .tp-proof__list { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.tp-ds .tp-proof__item,
	.tp-ds .tp-proof__item:nth-child(odd),
	.tp-ds .tp-proof__item:nth-child(even),
	.tp-ds .tp-proof__item:first-child,
	.tp-ds .tp-proof__item:last-child { padding: 0; border-left: 0; }
	/* steps -> continuous vertical timeline */
	.tp-ds .tp-steps { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.tp-ds .tp-step { padding: 0 0 30px 40px; min-height: 20px; }
	.tp-ds .tp-step:last-child { padding-bottom: 0; }
	.tp-ds .tp-step__ico { position: absolute; top: 0; left: 0; background: none; padding: 0; margin: 0; }
	.tp-ds .tp-step::before {
		content: "";
		position: absolute; top: 28px; left: 9px;
		width: 1px; height: calc(100% - 28px);
		background: rgba(53,194,218,0.30);
	}
	.tp-ds .tp-step:last-child::before { display: none; }
	.tp-ds .tp-step__num { margin-top: 2px; }
	.tp-ds .tp-quote { padding: 26px 22px 28px 22px; }
	.tp-ds .tp-quote__mark { position: static; display: block; margin-bottom: 4px; font-size: 36px; }
	.tp-ds .tp-quotes { grid-template-columns: minmax(0,1fr); }
	.tp-ds .tp-careers-controls select, .tp-ds .tp-careers-controls input { min-width: 0; width: 100%; }
	.tp-ds .tp-careers-controls > div { width: 100%; }

}

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

@media (max-width: 1024px) {
	.tp-ds .tp-contact { grid-template-columns: minmax(0,1fr); gap: 32px; }
}
