﻿/**
 * Growth Insider â€” motion layer (Stripe-like discipline, no React).
 * Scoped: body.gi-redesign + .error404 for 404 polish.
 * Requires: prefers-reduced-motion respected; GPU-friendly transforms.
 */

/* -----------------------------------------------------------------
 * Motion tokens (only when redesign skin is active)
 * ----------------------------------------------------------------- */
body.gi-redesign {
	--gi-rd-motion-duration: 0.55s;
	--gi-rd-motion-duration-fast: 0.22s;
	--gi-rd-motion-stagger: 0.07s;
	--gi-rd-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--gi-rd-motion-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--gi-rd-z-elevate: 2;
}

/* -----------------------------------------------------------------
 * Scroll reveal (IntersectionObserver adds .gi-rd-motion--inview)
 * ----------------------------------------------------------------- */
body.gi-redesign [data-gi-rd-motion="reveal"] {
	opacity: 0;
	transform: translate3d(0, 12px, 0);
	transition:
		opacity var(--gi-rd-motion-duration) var(--gi-rd-motion-ease-out),
		transform var(--gi-rd-motion-duration) var(--gi-rd-motion-ease-out);
	will-change: opacity, transform;
}

body.gi-redesign [data-gi-rd-motion="reveal"].gi-rd-motion--inview {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* Stagger: children fade/slide when parent gets .gi-rd-motion--inview */
body.gi-redesign [data-gi-rd-motion="stagger"] > * {
	opacity: 0;
	transform: translate3d(0, 10px, 0);
	transition:
		opacity 0.45s var(--gi-rd-motion-ease-out),
		transform 0.45s var(--gi-rd-motion-ease-out);
}

body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(1) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 0);
}
body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(2) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 1);
}
body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(3) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 2);
}
body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(4) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 3);
}
body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(5) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 4);
}
body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(6) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 5);
}

body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(7) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 6);
}

body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > * {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* -----------------------------------------------------------------
 * Hero system scene (home)
 * ----------------------------------------------------------------- */
body.gi-redesign .gi-rd-hero__visual {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

body.gi-redesign .gi-rd-hero__scene {
	position: relative;
	border-radius: var(--gi-rd-radius);
	padding: 0.65rem 0.75rem 0.5rem;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(243, 241, 255, 0.88) 100%);
	border: 1px solid color-mix(in srgb, var(--gi-rd-primary) 14%, var(--gi-rd-border));
	box-shadow: var(--gi-rd-shadow-sm);
	overflow: hidden;
	pointer-events: none;
}

body.gi-redesign .gi-rd-hero__routes {
	display: block;
	width: 100%;
	height: auto;
	max-height: 5.5rem;
}

body.gi-redesign .gi-rd-hero__routes-path {
	fill: none;
	stroke: color-mix(in srgb, var(--gi-rd-primary) 55%, #c4b8f0);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 120;
	stroke-dashoffset: 120;
	transition: stroke-dashoffset 1.1s var(--gi-rd-motion-ease-out);
}

body.gi-redesign .gi-rd-hero__visual.gi-rd-motion--inview .gi-rd-hero__routes-path {
	stroke-dashoffset: 0;
}

body.gi-redesign .gi-rd-hero__routes-path--delay {
	transition-delay: 0.12s;
}

body.gi-redesign .gi-rd-hero__visual.gi-rd-motion--inview .gi-rd-hero__routes-path--delay {
	stroke-dashoffset: 0;
}

body.gi-redesign .gi-rd-hero__routes-node {
	fill: var(--gi-rd-surface);
	stroke: color-mix(in srgb, var(--gi-rd-primary) 40%, var(--gi-rd-border-strong));
	stroke-width: 1.5;
}

body.gi-redesign .gi-rd-hero__status {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.gi-redesign .gi-rd-hero__status-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--gi-rd-ink-2);
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid var(--gi-rd-border);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

body.gi-redesign .gi-rd-hero__status-chip::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--gi-rd-success);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gi-rd-success) 22%, transparent);
}

body.gi-redesign .gi-rd-hero__status-chip--pulse::before {
	animation: gi-rd-chip-pulse 2.4s ease-in-out infinite;
}

@keyframes gi-rd-chip-pulse {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.75;
		transform: scale(0.92);
	}
}

/* Three live previews: subtle lift when hero scene is active */
body.gi-redesign .gi-rd-hero__visual .gi-rd-tlp {
	transition: transform var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease),
		box-shadow var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease);
}

@media (hover: hover) and (pointer: fine) {
	body.gi-redesign .gi-rd-hero__visual:hover .gi-rd-tlp {
		transform: translate3d(0, -2px, 0);
		box-shadow: 0 24px 48px rgba(12, 12, 32, 0.14), 0 2px 6px rgba(12, 12, 32, 0.06);
	}
}

/* TLP tab indicator (replaces text bullet) */
body.gi-redesign .gi-rd-tlp__tab-dot {
	display: inline-block;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 999px;
	margin-right: 0.35rem;
	background: color-mix(in srgb, var(--gi-rd-primary) 55%, var(--gi-rd-border-strong));
	vertical-align: 0.08em;
}

body.gi-redesign .gi-rd-tlp__tab[aria-selected="true"] .gi-rd-tlp__tab-dot {
	background: var(--gi-rd-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gi-rd-primary) 22%, transparent);
}

/* Case / pricing cards: restrained hover */
@media (hover: hover) and (pointer: fine) {
	body.gi-redesign .gi-rd-case-card,
	body.gi-redesign .gi-rd-timeline__step {
		transition: transform var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease),
			border-color var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease),
			box-shadow var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease);
	}

	body.gi-redesign .gi-rd-case-card:hover,
	body.gi-redesign .gi-rd-timeline__step:hover {
		transform: translate3d(0, -3px, 0);
		border-color: color-mix(in srgb, var(--gi-rd-primary) 35%, var(--gi-rd-border));
		box-shadow: var(--gi-rd-shadow-md);
	}
}

/* Primary CTA magnetic hint (class toggled by JS on hero) */
body.gi-redesign .gi-rd-hero .gi-rd-btn--primary.gi-rd-motion--magnetic {
	transition: transform 0.12s var(--gi-rd-motion-ease);
}

/* -----------------------------------------------------------------
 * Reduced motion
 * ----------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	body.gi-redesign [data-gi-rd-motion="reveal"],
	body.gi-redesign [data-gi-rd-motion="stagger"] > * {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}

	body.gi-redesign .gi-rd-hero__routes-path {
		stroke-dashoffset: 0 !important;
		transition: none !important;
	}

	body.gi-redesign .gi-rd-hero__status-chip--pulse::before {
		animation: none !important;
	}

	body.gi-redesign .gi-rd-hero__visual .gi-rd-tlp,
	body.gi-redesign .gi-rd-case-card,
	body.gi-redesign .gi-rd-timeline__step {
		transition: none !important;
	}

	body.gi-redesign .gi-rd-hero .gi-rd-btn--primary.gi-rd-motion--magnetic {
		transform: none !important;
	}

	body.gi-redesign .gi-rd-direction:hover {
		transform: none !important;
	}

	body.gi-redesign .gi-rd-rep-card--featured .gi-rd-rep-card__viz {
		transform: none !important;
		transition: none !important;
	}

	body.gi-rd-blog-surface .gi-rd-article__adjacent-link {
		transition: none !important;
	}
}

/* -----------------------------------------------------------------
 * 404 (works with or without gi-redesign once body gets class on 404)
 * ----------------------------------------------------------------- */
.error404 .gi-404 {
	padding-block: clamp(3rem, 8vw, 5rem);
}

.error404 .gi-404__inner {
	max-width: 36rem;
}

.error404 .gi-404 .gi-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.25rem;
}

.error404 .gi-404__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--gi-border, rgba(12, 12, 32, 0.1));
	font-size: 0.92rem;
}

.error404 .gi-404__links a {
	font-weight: 600;
	text-decoration: none;
	color: var(--gi-accent-strong, #5423e7);
}

.error404 .gi-404__links a:hover,
.error404 .gi-404__links a:focus-visible {
	text-decoration: underline;
}

/* ============================================================
 * Growth modules (tabs)
 * ============================================================ */
body.gi-redesign .gi-rd-modules__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 1rem;
}

body.gi-redesign .gi-rd-modules__tab {
	border: 1px solid var(--gi-rd-border);
	background: var(--gi-rd-surface);
	color: var(--gi-rd-ink-2);
	font-size: 0.82rem;
	font-weight: 600;
	padding: 0.45rem 0.75rem;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

body.gi-redesign .gi-rd-modules__tab[aria-selected="true"] {
	background: var(--gi-rd-ink);
	color: #fff;
	border-color: var(--gi-rd-ink);
	box-shadow: 0 6px 16px rgba(12, 12, 32, 0.12);
}

body.gi-redesign .gi-rd-modules__tab:focus-visible {
	outline: 2px solid var(--gi-rd-primary);
	outline-offset: 2px;
}

body.gi-redesign .gi-rd-modules__grid {
	display: grid;
	gap: 1.25rem;
}

@media (min-width: 900px) {
	body.gi-redesign .gi-rd-modules__grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		align-items: start;
	}
}

body.gi-redesign .gi-rd-modules__lead {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	line-height: 1.6;
}

body.gi-redesign .gi-rd-modules__bullets {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--gi-rd-ink-2);
	font-size: 0.92rem;
	line-height: 1.55;
}

body.gi-redesign .gi-rd-modules__preview {
	border-radius: var(--gi-rd-radius);
	border: 1px solid var(--gi-rd-border);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--gi-rd-shadow-sm);
}

body.gi-redesign .gi-rd-modules__preview-chrome {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.65rem;
	background: var(--gi-rd-bg-alt);
	border-bottom: 1px solid var(--gi-rd-border);
}

body.gi-redesign .gi-rd-modules__preview-chrome span:nth-child(-n + 3) {
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: #d4d4e8;
}

body.gi-redesign .gi-rd-modules__preview-chrome span:nth-child(1) {
	background: #f0a8a8;
}
body.gi-redesign .gi-rd-modules__preview-chrome span:nth-child(2) {
	background: #f5d78a;
}
body.gi-redesign .gi-rd-modules__preview-chrome span:nth-child(3) {
	background: #9fe0b8;
}

body.gi-redesign .gi-rd-modules__preview-url {
	margin-left: auto;
	font-size: 0.68rem;
	color: var(--gi-rd-muted);
	font-family: ui-monospace, monospace;
}

body.gi-redesign .gi-rd-modules__preview-body {
	padding: 1rem 1rem 1.1rem;
	min-height: 9rem;
}

body.gi-redesign .gi-rd-modviz-caption {
	margin: 0.65rem 0 0;
	font-size: 0.78rem;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-modviz--matrix {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.4rem;
	max-width: 10rem;
}

body.gi-redesign .gi-rd-modviz--matrix span {
	height: 2.2rem;
	border-radius: 0.35rem;
	border: 1px dashed color-mix(in srgb, var(--gi-rd-primary) 35%, var(--gi-rd-border));
	background: linear-gradient(135deg, #fff, var(--gi-rd-bg-alt));
}

body.gi-redesign .gi-rd-modviz--browser {
	display: flex;
	gap: 0.35rem;
	align-items: stretch;
}

body.gi-redesign .gi-rd-modviz__block {
	flex: 1;
	min-height: 4.5rem;
	border-radius: 0.35rem;
	border: 1px solid var(--gi-rd-border);
	background: var(--gi-rd-bg-alt);
}

body.gi-redesign .gi-rd-modviz__block--accent {
	border-color: color-mix(in srgb, var(--gi-rd-primary) 40%, var(--gi-rd-border));
	background: color-mix(in srgb, var(--gi-rd-primary) 6%, #fff);
}

body.gi-redesign .gi-rd-modviz--seo {
	display: flex;
	gap: 0.45rem;
	align-items: center;
}

body.gi-redesign .gi-rd-modviz__cluster {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 800;
	color: var(--gi-rd-primary-deep);
	border: 1px solid color-mix(in srgb, var(--gi-rd-primary) 35%, var(--gi-rd-border));
	background: var(--gi-rd-primary-soft);
}

body.gi-redesign .gi-rd-modviz--bars {
	display: flex;
	align-items: flex-end;
	gap: 0.35rem;
	height: 4.5rem;
	padding-top: 0.5rem;
}

body.gi-redesign .gi-rd-modviz__bar {
	flex: 1;
	border-radius: 0.25rem 0.25rem 0 0;
	background: linear-gradient(180deg, color-mix(in srgb, var(--gi-rd-primary) 55%, #a89ae8), var(--gi-rd-primary-deep));
	opacity: 0.85;
}

body.gi-redesign .gi-rd-modviz__bar:nth-child(1) {
	height: 40%;
}
body.gi-redesign .gi-rd-modviz__bar:nth-child(2) {
	height: 70%;
}
body.gi-redesign .gi-rd-modviz__bar:nth-child(3) {
	height: 55%;
}
body.gi-redesign .gi-rd-modviz__bar:nth-child(4) {
	height: 85%;
}

body.gi-redesign .gi-rd-modviz--flow {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--gi-rd-ink-2);
}

body.gi-redesign .gi-rd-modviz__arrow {
	color: var(--gi-rd-muted);
	font-weight: 400;
}

body.gi-redesign .gi-rd-modviz--dash {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.35rem;
}

body.gi-redesign .gi-rd-modviz--dash span {
	height: 1.6rem;
	border-radius: 0.3rem;
	background: var(--gi-rd-bg-alt);
	border: 1px solid var(--gi-rd-border);
}

body.gi-redesign .gi-rd-modviz--cycle span {
	display: inline-flex;
	width: 3rem;
	height: 3rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 2px solid var(--gi-rd-border-strong);
	font-weight: 700;
	color: var(--gi-rd-primary-deep);
}

/* ============================================================
 * Product-style direction cards (service hub / home)
 * ============================================================ */
body.gi-redesign .gi-rd-direction {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	padding: 1.25rem 1.2rem 1.35rem;
	border-radius: var(--gi-rd-radius-lg);
	border: 1px solid var(--gi-rd-border);
	background: linear-gradient(180deg, #fff 0%, #fafafd 100%);
	box-shadow: var(--gi-rd-shadow-sm);
	overflow: hidden;
	transition: transform var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease-out),
		border-color var(--gi-rd-motion-duration-fast) ease,
		box-shadow var(--gi-rd-motion-duration-fast) ease;
}

body.gi-redesign .gi-rd-direction__title {
	order: 2;
	margin: 0;
}

body.gi-redesign .gi-rd-direction__preview {
	order: 1;
	border-radius: var(--gi-rd-radius-sm);
	border: 1px solid var(--gi-rd-border);
	background: var(--gi-rd-bg-alt);
	padding: 0.55rem 0.6rem;
	margin-bottom: 0.15rem;
	min-height: 4.25rem;
}

body.gi-redesign .gi-rd-direction__pain {
	order: 3;
	margin: 0;
}

body.gi-redesign .gi-rd-direction__outcome {
	order: 4;
}

body.gi-redesign .gi-rd-direction__children {
	order: 5;
}

body.gi-redesign .gi-rd-direction__cta {
	order: 6;
}

@media (hover: hover) and (pointer: fine) {
	body.gi-redesign .gi-rd-direction:hover {
		transform: translate3d(0, -4px, 0);
		border-color: color-mix(in srgb, var(--gi-rd-primary) 32%, var(--gi-rd-border));
		box-shadow: var(--gi-rd-shadow-md);
	}
}

body.gi-redesign .gi-rd-direction__preview-row {
	display: flex;
	gap: 0.3rem;
	align-items: stretch;
}

body.gi-redesign .gi-rd-direction__preview-block {
	flex: 1;
	border-radius: 0.25rem;
	background: #fff;
	border: 1px solid var(--gi-rd-border);
	min-height: 2.4rem;
}

body.gi-redesign .gi-rd-direction__preview-block--accent {
	border-color: color-mix(in srgb, var(--gi-rd-primary) 45%, var(--gi-rd-border));
	background: color-mix(in srgb, var(--gi-rd-primary) 5%, #fff);
}

body.gi-redesign .gi-rd-direction__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.15rem;
}

body.gi-redesign .gi-rd-direction__pill {
	font-size: 0.68rem;
	font-weight: 700;
	padding: 0.15rem 0.45rem;
	border-radius: 999px;
	background: var(--gi-rd-primary-soft);
	color: var(--gi-rd-primary-deep);
}

body.gi-redesign .gi-rd-direction__seo-cluster {
	display: flex;
	gap: 0.25rem;
}

body.gi-redesign .gi-rd-direction__seo-dot {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--gi-rd-primary) 55%, #ccc);
}

body.gi-redesign .gi-rd-direction__flow {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--gi-rd-ink-2);
}

body.gi-redesign .gi-rd-direction__flow span {
	padding: 0.15rem 0.35rem;
	border-radius: 0.25rem;
	border: 1px solid var(--gi-rd-border);
	background: #fff;
}

/* -----------------------------------------------------------------
 * Phase 2 â€” Process route, contact trust, pricing decision, form UX
 * ----------------------------------------------------------------- */

/* Deep-link highlight (pricing tiers) */
@keyframes gi-rd-hash-ring {
	0% {
		box-shadow: 0 0 0 0 color-mix(in srgb, var(--gi-rd-primary) 45%, transparent);
	}
	100% {
		box-shadow: 0 0 0 12px transparent;
	}
}

body.gi-redesign .gi-rd-tier.gi-rd-hash-target {
	position: relative;
	z-index: 1;
	border-color: color-mix(in srgb, var(--gi-rd-primary) 55%, var(--gi-rd-border));
	animation: gi-rd-hash-ring 1.1s ease-out 1;
}

@media (prefers-reduced-motion: reduce) {
	body.gi-redesign .gi-rd-tier.gi-rd-hash-target {
		animation: none;
		box-shadow: 0 0 0 3px color-mix(in srgb, var(--gi-rd-primary) 22%, transparent);
	}
}

/* Contact â€” layout columns */
body.gi-redesign .gi-rd-contact__form-col {
	min-width: 0;
}

body.gi-redesign .gi-rd-contact__info-col {
	min-width: 0;
}

@media (min-width: 1024px) {
	body.gi-redesign .gi-marketing-page--kontakt .gi-rd-contact__layout {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		align-items: start;
	}
}

body.gi-redesign .gi-rd-form__live {
	min-height: 0;
	font-size: 0.88rem;
	color: var(--gi-rd-muted);
	margin: 0 0 0.65rem;
}

body.gi-redesign .gi-rd-form__live:not(:empty) {
	min-height: 1.25rem;
}

body.gi-redesign .gi-rd-form__field--invalid input,
body.gi-redesign .gi-rd-form__field--invalid select,
body.gi-redesign .gi-rd-form__field--invalid textarea {
	border-color: var(--gi-rd-danger);
	box-shadow: 0 0 0 3px rgba(224, 53, 106, 0.12);
}

body.gi-redesign .gi-rd-form__field--invalid.gi-rd-form__consent {
	padding: 0.55rem 0.6rem;
	border-radius: 0.55rem;
	border: 1px solid var(--gi-rd-danger);
	box-shadow: 0 0 0 3px rgba(224, 53, 106, 0.12);
}

body.gi-redesign .gi-rd-form__submit:disabled {
	opacity: 0.72;
	cursor: wait;
	transform: translate3d(0, 1px, 0);
}

body.gi-redesign .gi-rd-contact-trust {
	padding: 1.25rem 1.2rem;
	border-radius: var(--gi-rd-radius-lg);
	border: 1px solid var(--gi-rd-border);
	background: linear-gradient(180deg, #fafbfd 0%, #fff 40%);
	box-shadow: var(--gi-rd-shadow-sm);
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

body.gi-redesign .gi-rd-contact-trust__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--gi-rd-ink);
}

body.gi-redesign .gi-rd-contact-trust__lead {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-contact-trust__steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.65rem;
	counter-reset: giTrust;
}

body.gi-redesign .gi-rd-contact-trust__steps li {
	display: grid;
	gap: 0.15rem;
	padding: 0.55rem 0.65rem;
	border-radius: var(--gi-rd-radius-sm);
	border: 1px solid var(--gi-rd-border);
	background: var(--gi-rd-surface);
}

body.gi-redesign .gi-rd-contact-trust__steps strong {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--gi-rd-ink);
}

body.gi-redesign .gi-rd-contact-trust__steps span {
	font-size: 0.82rem;
	color: var(--gi-rd-muted);
	line-height: 1.45;
}

body.gi-redesign .gi-rd-contact-trust__route {
	padding: 0.35rem 0 0.15rem;
	color: color-mix(in srgb, var(--gi-rd-primary) 75%, var(--gi-rd-border));
}

body.gi-redesign .gi-rd-contact-trust__route-svg {
	display: block;
	width: 100%;
	height: auto;
	max-height: 3.5rem;
}

body.gi-redesign .gi-rd-contact-trust__route-path {
	opacity: 0.85;
}

body.gi-redesign .gi-rd-contact-trust__route-labels {
	display: flex;
	justify-content: space-between;
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-contact-trust__block {
	padding-top: 0.35rem;
	border-top: 1px solid var(--gi-rd-border);
}

body.gi-redesign .gi-rd-contact-trust__h {
	margin: 0 0 0.45rem;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--gi-rd-ink);
}

body.gi-redesign .gi-rd-contact-trust__list,
body.gi-redesign .gi-rd-contact-trust__check {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.35rem;
	font-size: 0.85rem;
	color: var(--gi-rd-ink-2);
	line-height: 1.45;
}

body.gi-redesign .gi-rd-contact-trust__check li {
	padding-left: 1.1rem;
	position: relative;
}

body.gi-redesign .gi-rd-contact-trust__check li::before {
	content: "âś“";
	position: absolute;
	left: 0;
	color: var(--gi-rd-success);
	font-weight: 700;
	font-size: 0.85rem;
}

body.gi-redesign .gi-rd-contact-trust__privacy {
	font-size: 0.82rem;
	color: var(--gi-rd-muted);
	line-height: 1.5;
}

body.gi-redesign .gi-rd-contact-trust__privacy p {
	margin: 0 0 0.35rem;
}

body.gi-redesign .gi-rd-contact-trust__link {
	font-weight: 600;
	color: var(--gi-rd-primary-deep);
}

body.gi-redesign .gi-rd-contact-trust__links {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

/* Pricing decision support */
body.gi-redesign .gi-rd-pricing-guide__intro {
	max-width: min(44rem, 100%);
	margin-inline: auto;
}

body.gi-redesign .gi-rd-pricing-decision {
	display: grid;
	gap: clamp(0.85rem, 2vw, 1.15rem);
	margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
}

@media (min-width: 900px) {
	body.gi-redesign .gi-rd-pricing-decision {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.15rem;
	}
}

body.gi-redesign .gi-rd-pricing-decision__col {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: clamp(1.1rem, 2vw, 1.35rem);
	border-radius: calc(var(--gi-rd-radius) + 2px);
	border: 1px solid color-mix(in srgb, var(--gi-rd-border) 88%, var(--gi-rd-primary));
	background: #fff;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 10px 24px rgba(15, 23, 42, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.gi-redesign .gi-rd-pricing-decision__col:hover {
	border-color: color-mix(in srgb, var(--gi-rd-primary) 35%, var(--gi-rd-border));
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	body.gi-redesign .gi-rd-pricing-decision__col:hover {
		transform: none;
	}
}

body.gi-redesign .gi-rd-pricing-decision__col-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	margin-bottom: 0.15rem;
}

body.gi-redesign .gi-rd-pricing-decision__step {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: color-mix(in srgb, var(--gi-rd-primary) 70%, var(--gi-rd-muted));
}

body.gi-redesign .gi-rd-pricing-decision__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 0.65rem;
	background: var(--gi-rd-primary-soft);
	color: var(--gi-rd-primary-deep);
	flex-shrink: 0;
}

body.gi-redesign .gi-rd-pricing-decision__svg {
	display: block;
}

body.gi-redesign .gi-rd-pricing-decision__h {
	margin: 0;
	font-size: clamp(0.94rem, 0.2vw + 0.88rem, 1.02rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--gi-rd-ink);
}

body.gi-redesign .gi-rd-pricing-decision__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.15rem 0 0;
	padding: 0;
	list-style: none;
}

body.gi-redesign .gi-rd-pricing-decision__tags li {
	padding: 0.32rem 0.62rem;
	border-radius: 999px;
	border: 1px solid var(--gi-rd-border);
	background: #f8fafc;
	font-size: 0.78rem;
	line-height: 1.35;
	color: var(--gi-rd-ink-2);
}

body.gi-redesign .gi-rd-pricing-factors {
	margin-top: clamp(2rem, 4vw, 2.75rem);
	padding: clamp(1.35rem, 2.8vw, 1.85rem);
	border-radius: calc(var(--gi-rd-radius) + 4px);
	border: 1px solid var(--gi-rd-border);
	background:
		linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(239, 233, 255, 0.35) 100%);
}

body.gi-redesign .gi-rd-pricing-factors__head {
	max-width: min(40rem, 100%);
	margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

body.gi-redesign .gi-rd-pricing-factors__head .gi-rd-h3 {
	margin: 0 0 0.5rem;
}

body.gi-redesign .gi-rd-pricing-factors__lead {
	margin: 0;
	font-size: clamp(0.92rem, 0.2vw + 0.86rem, 1rem);
	line-height: 1.55;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-pricing-factors__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	body.gi-redesign .gi-rd-pricing-factors__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	body.gi-redesign .gi-rd-pricing-factors__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.gi-redesign .gi-rd-pricing-factor {
	padding: 1rem 1.05rem;
	border-radius: var(--gi-rd-radius);
	border: 1px solid color-mix(in srgb, var(--gi-rd-border) 90%, transparent);
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.gi-redesign .gi-rd-pricing-factor:hover {
	border-color: color-mix(in srgb, var(--gi-rd-primary) 28%, var(--gi-rd-border));
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

body.gi-redesign .gi-rd-pricing-factor__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	margin-bottom: 0.55rem;
	border-radius: 0.55rem;
	background: var(--gi-rd-primary-soft);
	color: var(--gi-rd-primary-deep);
}

body.gi-redesign .gi-rd-pricing-factor__title {
	margin: 0 0 0.35rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--gi-rd-ink);
}

body.gi-redesign .gi-rd-pricing-factor__text {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.5;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-pricing-decision__h--inline {
	margin-bottom: 0.65rem;
}

body.gi-redesign .gi-rd-pricing-decision__p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-pricing-decision__p--tight {
	margin-top: 0.5rem;
	font-size: 0.82rem;
}

body.gi-redesign .gi-rd-pricing-decision__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.35rem;
	font-size: 0.86rem;
	color: var(--gi-rd-ink-2);
	line-height: 1.45;
}

body.gi-redesign .gi-rd-pricing-decision__list li {
	padding-left: 0.85rem;
	position: relative;
}

body.gi-redesign .gi-rd-pricing-decision__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.28rem;
	height: 0.28rem;
	border-radius: 999px;
	background: var(--gi-rd-primary);
}

body.gi-redesign .gi-rd-pricing-decision__anchor {
	display: inline-block;
	margin-top: 0.65rem;
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--gi-rd-primary-deep);
}

body.gi-redesign .gi-rd-pricing-decision__compare {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--gi-rd-border);
}

body.gi-redesign .gi-rd-pricing-decision__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-bottom: 0.65rem;
}

body.gi-redesign .gi-rd-pricing-decision__pill {
	font-size: 0.8rem;
	font-weight: 600;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	border: 1px solid var(--gi-rd-border);
	background: #fff;
	color: var(--gi-rd-ink);
	text-decoration: none;
	transition: border-color 0.18s ease, background 0.18s ease;
}

body.gi-redesign .gi-rd-pricing-decision__pill:hover,
body.gi-redesign .gi-rd-pricing-decision__pill:focus-visible {
	border-color: color-mix(in srgb, var(--gi-rd-primary) 45%, var(--gi-rd-border));
	background: var(--gi-rd-primary-soft);
}

body.gi-redesign .gi-rd-pricing-decision__foot {
	margin: 0;
	font-size: 0.88rem;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-pricing-decision__foot a {
	font-weight: 600;
	color: var(--gi-rd-primary-deep);
}

/* Anchor scroll offset under sticky header */
body.gi-redesign #kak-chitat-ceny,
body.gi-redesign #estimator,
body.gi-redesign #sravnenie-napravleniy,
body.gi-redesign .gi-rd-tier[id] {
	scroll-margin-top: 5.5rem;
}

/* -----------------------------------------------------------------
 * Phase 3 â€” Service parent split hero, direction scenes, proof grid
 * ----------------------------------------------------------------- */

body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(8) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 7);
}

body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(9) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 8);
}

body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(10) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 9);
}

body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(11) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 10);
}

body.gi-redesign [data-gi-rd-motion="stagger"].gi-rd-motion--inview > *:nth-child(12) {
	transition-delay: calc(var(--gi-rd-motion-stagger) * 11);
}

body.gi-redesign .gi-rd-page-hero--split {
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

body.gi-redesign .gi-rd-page-hero__split {
	display: grid;
	gap: 1.75rem;
	align-items: center;
}

@media (min-width: 960px) {
	body.gi-redesign .gi-rd-page-hero__split {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		gap: 2.25rem;
	}
}

body.gi-redesign .gi-rd-page-hero__copy {
	text-align: center;
}

@media (min-width: 960px) {
	body.gi-redesign .gi-rd-page-hero__copy {
		text-align: left;
	}
}

body.gi-redesign .gi-rd-page-hero__outcome {
	max-width: 38rem;
	margin: 0.75rem auto 0;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--gi-rd-muted);
}

@media (min-width: 960px) {
	body.gi-redesign .gi-rd-page-hero__outcome {
		margin-left: 0;
		margin-right: 0;
	}
}

body.gi-redesign .gi-rd-page-hero__ctas {
	margin-top: 1.25rem !important;
}

body.gi-redesign .gi-rd-service-bridge__grid {
	display: grid;
	gap: 1rem;
	margin-top: 0.5rem;
}

@media (min-width: 768px) {
	body.gi-redesign .gi-rd-service-bridge__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.gi-redesign .gi-rd-service-bridge__card {
	padding: 1.1rem 1rem;
	border-radius: var(--gi-rd-radius);
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.04);
}

body.gi-redesign .gi-rd-service-bridge__k {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #aeb6c5;
	margin-bottom: 0.35rem;
}

body.gi-redesign .gi-rd-service-bridge__v {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #e8e9ef;
}

body.gi-redesign .gi-rd-deliverables-grid {
	display: grid;
	gap: 1rem;
}

@media (min-width: 768px) {
	body.gi-redesign .gi-rd-deliverables-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	body.gi-redesign .gi-rd-deliverables-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

body.gi-redesign .gi-rd-deliverable-card {
	padding: 1.1rem 1rem;
	border-radius: var(--gi-rd-radius-lg);
	border: 1px solid var(--gi-rd-border);
	background: var(--gi-rd-surface);
	box-shadow: var(--gi-rd-shadow-sm);
	transition: border-color var(--gi-rd-motion-duration-fast) ease, box-shadow var(--gi-rd-motion-duration-fast) ease, transform var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease-out);
}

@media (hover: hover) and (pointer: fine) {
	body.gi-redesign .gi-rd-deliverable-card:hover {
		border-color: color-mix(in srgb, var(--gi-rd-primary) 28%, var(--gi-rd-border));
		box-shadow: var(--gi-rd-shadow-md);
		transform: translate3d(0, -3px, 0);
	}
}

body.gi-redesign .gi-rd-deliverable-card__title {
	margin: 0 0 0.4rem;
	font-size: 0.95rem;
	font-weight: 700;
}

body.gi-redesign .gi-rd-deliverable-card__body {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.45;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-quality-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

body.gi-redesign .gi-rd-quality-chips__chip {
	font-size: 0.8rem;
	font-weight: 600;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	border: 1px solid var(--gi-rd-border);
	background: #fff;
}

/* Direction product scenes */
body.gi-redesign .gi-rd-dir-scene {
	max-width: 28rem;
	margin-inline: auto;
}

@media (min-width: 960px) {
	body.gi-redesign .gi-rd-page-hero__split .gi-rd-dir-scene {
		margin-inline: 0;
		max-width: none;
	}
}

body.gi-redesign .gi-rd-dir-scene__caption {
	font-size: 0.78rem;
	color: var(--gi-rd-muted);
	margin: 0 0 0.5rem;
	line-height: 1.45;
}

body.gi-redesign .gi-rd-dir-scene__panel {
	border-radius: var(--gi-rd-radius-lg);
	border: 1px solid var(--gi-rd-border);
	background: linear-gradient(180deg, #fff 0%, #f7f7fb 100%);
	box-shadow: var(--gi-rd-shadow-sm);
	overflow: hidden;
}

body.gi-redesign .gi-rd-dir-scene__chrome {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.55rem;
	border-bottom: 1px solid var(--gi-rd-border);
	background: #fafafd;
}

body.gi-redesign .gi-rd-dir-scene__chrome span:nth-child(-n + 3) {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 999px;
	background: #d9d9e4;
}

body.gi-redesign .gi-rd-dir-scene__url {
	margin-left: auto;
	font-size: 0.65rem;
	color: var(--gi-rd-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

body.gi-redesign .gi-rd-dir-scene__body {
	padding: 0.65rem 0.7rem 0.75rem;
}

body.gi-redesign .gi-rd-dir-scene--compact .gi-rd-dir-scene__panel {
	border-radius: var(--gi-rd-radius);
}

body.gi-redesign .gi-rd-dir-scene__stack {
	display: flex;
	gap: 0.3rem;
	margin-bottom: 0.55rem;
}

body.gi-redesign .gi-rd-dir-scene__blk {
	flex: 1;
	height: 2.1rem;
	border-radius: 0.3rem;
	border: 1px solid var(--gi-rd-border);
	background: #fff;
}

body.gi-redesign .gi-rd-dir-scene__blk--accent {
	border-color: color-mix(in srgb, var(--gi-rd-primary) 40%, var(--gi-rd-border));
	background: color-mix(in srgb, var(--gi-rd-primary) 6%, #fff);
}

body.gi-redesign .gi-rd-dir-scene__path {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.68rem;
	font-weight: 700;
	color: var(--gi-rd-ink-2);
	margin-bottom: 0.45rem;
}

body.gi-redesign .gi-rd-dir-scene__path span {
	padding: 0.12rem 0.35rem;
	border-radius: 0.25rem;
	border: 1px solid var(--gi-rd-border);
	background: #fff;
}

body.gi-redesign .gi-rd-dir-scene__arrow {
	border: none !important;
	background: transparent !important;
	padding: 0 0.1rem !important;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-dir-scene__badges {
	display: flex;
	gap: 0.3rem;
}

body.gi-redesign .gi-rd-dir-scene__badge {
	font-size: 0.62rem;
	font-weight: 700;
	padding: 0.15rem 0.4rem;
	border-radius: 999px;
	background: var(--gi-rd-primary-soft);
	color: var(--gi-rd-primary-deep);
}

body.gi-redesign .gi-rd-dir-scene__clusters {
	display: flex;
	align-items: flex-end;
	gap: 0.25rem;
	height: 2.4rem;
	margin-bottom: 0.45rem;
}

body.gi-redesign .gi-rd-dir-scene__node {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--gi-rd-primary) 45%, #ccc);
}

body.gi-redesign .gi-rd-dir-scene__node--lg {
	width: 0.85rem;
	height: 0.85rem;
}

body.gi-redesign .gi-rd-dir-scene__audit {
	margin: 0 0 0.45rem;
	padding: 0;
	list-style: none;
	font-size: 0.68rem;
	font-weight: 600;
	color: var(--gi-rd-ink-2);
	display: grid;
	gap: 0.2rem;
}

body.gi-redesign .gi-rd-dir-scene__trend {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.65rem;
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-dir-scene__trend-bars {
	display: flex;
	align-items: flex-end;
	gap: 0.12rem;
	height: 1.5rem;
}

body.gi-redesign .gi-rd-dir-scene__trend-bars i {
	display: block;
	width: 0.28rem;
	border-radius: 2px;
	background: color-mix(in srgb, var(--gi-rd-primary) 55%, var(--gi-rd-border));
}

body.gi-redesign .gi-rd-dir-scene__trend-bars i:nth-child(1) {
	height: 35%;
}
body.gi-redesign .gi-rd-dir-scene__trend-bars i:nth-child(2) {
	height: 55%;
}
body.gi-redesign .gi-rd-dir-scene__trend-bars i:nth-child(3) {
	height: 45%;
}
body.gi-redesign .gi-rd-dir-scene__trend-bars i:nth-child(4) {
	height: 70%;
}

body.gi-redesign .gi-rd-dir-scene__pipeline {
	display: flex;
	gap: 0.25rem;
	margin-bottom: 0.45rem;
	font-size: 0.65rem;
	font-weight: 700;
}

body.gi-redesign .gi-rd-dir-scene__pipeline span {
	flex: 1;
	text-align: center;
	padding: 0.25rem 0.15rem;
	border-radius: 0.3rem;
	border: 1px solid var(--gi-rd-border);
	background: #fff;
}

body.gi-redesign .gi-rd-dir-scene__connectors {
	display: flex;
	gap: 0.3rem;
	margin-bottom: 0.35rem;
}

body.gi-redesign .gi-rd-dir-scene__wire {
	flex: 1;
	font-size: 0.62rem;
	font-weight: 700;
	text-align: center;
	padding: 0.2rem;
	border-radius: 0.25rem;
	background: var(--gi-rd-bg-alt);
	border: 1px dashed var(--gi-rd-border);
	color: var(--gi-rd-muted);
}

body.gi-redesign .gi-rd-dir-scene__statusrow {
	display: flex;
	gap: 0.35rem;
}

body.gi-redesign .gi-rd-dir-scene__status {
	font-size: 0.62rem;
	font-weight: 700;
	padding: 0.15rem 0.4rem;
	border-radius: 999px;
	background: rgba(22, 163, 123, 0.12);
	color: var(--gi-rd-success);
	border: 1px solid rgba(22, 163, 123, 0.35);
}

body.gi-redesign .gi-rd-dir-scene__status--idle {
	background: var(--gi-rd-bg-alt);
	color: var(--gi-rd-muted);
	border-color: var(--gi-rd-border);
}

/* Representative work */
body.gi-redesign .gi-rd-rep-work__label {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--gi-rd-muted);
	margin: 0.35rem 0 0;
}

body.gi-redesign .gi-rd-rep-work__grid {
	display: grid;
	gap: 1rem;
}

@media (min-width: 768px) {
	body.gi-redesign .gi-rd-rep-work__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	body.gi-redesign .gi-rd-rep-work__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.gi-redesign .gi-rd-rep-card {
	position: relative;
	padding: 1.1rem 1rem 1.2rem;
	border-radius: var(--gi-rd-radius-lg);
	border: 1px solid var(--gi-rd-border);
	background: var(--gi-rd-surface);
	box-shadow: var(--gi-rd-shadow-sm);
	transition: border-color var(--gi-rd-motion-duration-fast) ease, box-shadow var(--gi-rd-motion-duration-fast) ease, transform var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease-out);
}

@media (hover: hover) and (pointer: fine) {
	body.gi-redesign .gi-rd-rep-card:hover {
		border-color: color-mix(in srgb, var(--gi-rd-primary) 28%, var(--gi-rd-border));
		box-shadow: var(--gi-rd-shadow-md);
		transform: translate3d(0, -3px, 0);
	}
}

body.gi-redesign .gi-rd-rep-card--featured {
	grid-column: span 1;
}

@media (min-width: 768px) {
	body.gi-redesign .gi-rd-rep-card--featured {
		grid-column: span 2;
		display: grid;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: 1rem;
		align-items: start;
	}
}

@media (min-width: 1200px) {
	body.gi-redesign .gi-rd-rep-card--featured {
		grid-column: span 3;
		grid-template-columns: minmax(0, 0.55fr) minmax(0, 1.45fr);
	}
}

body.gi-redesign .gi-rd-rep-card__viz {
	border-radius: var(--gi-rd-radius);
	border: 1px solid var(--gi-rd-border);
	background: var(--gi-rd-bg-alt);
	padding: 0.55rem;
}

body.gi-redesign .gi-rd-rep-card__browser {
	border-radius: 0.35rem;
	border: 1px solid var(--gi-rd-border);
	background: #fff;
	overflow: hidden;
}

body.gi-redesign .gi-rd-rep-card__browser span:nth-child(-n + 3) {
	display: inline-block;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 999px;
	margin: 0.35rem 0.15rem 0.35rem 0.35rem;
	background: #ddd;
}

body.gi-redesign .gi-rd-rep-card__browser-body {
	display: flex;
	gap: 0.25rem;
	padding: 0.4rem;
	border-top: 1px solid var(--gi-rd-border);
}

body.gi-redesign .gi-rd-rep-card__blk {
	flex: 1;
	height: 2rem;
	border-radius: 0.25rem;
	border: 1px solid var(--gi-rd-border);
	background: #fafafa;
}

body.gi-redesign .gi-rd-rep-card__blk--accent {
	border-color: color-mix(in srgb, var(--gi-rd-primary) 45%, var(--gi-rd-border));
	background: color-mix(in srgb, var(--gi-rd-primary) 5%, #fff);
}

@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
	body.gi-redesign .gi-rd-rep-card--featured .gi-rd-rep-card__viz {
		transform: perspective(900px) rotateY(-4deg);
		transition: transform 0.35s var(--gi-rd-motion-ease-out);
	}

	body.gi-redesign .gi-rd-rep-card--featured:hover .gi-rd-rep-card__viz {
		transform: perspective(900px) rotateY(0deg);
	}
}

body.gi-redesign .gi-rd-rep-card__title {
	margin: 0 0 0.45rem;
	font-size: 1rem;
	font-weight: 700;
}

body.gi-redesign .gi-rd-rep-card__line,
body.gi-redesign .gi-rd-rep-card__deliv,
body.gi-redesign .gi-rd-rep-card__risk {
	font-size: 0.86rem;
	line-height: 1.45;
	color: var(--gi-rd-ink-2);
	margin: 0 0 0.4rem;
}

body.gi-redesign .gi-rd-rep-card__cta {
	margin-top: 0.5rem;
}

body.gi-redesign .gi-rd-child-scene-wrap {
	max-width: 36rem;
	margin-inline: auto;
}

body.gi-redesign .gi-rd-child-milestones {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: gi-mile;
	display: grid;
	gap: 0.5rem;
}

body.gi-redesign .gi-rd-child-milestones li {
	counter-increment: gi-mile;
	position: relative;
	padding: 0.65rem 0.75rem 0.65rem 2.4rem;
	border-radius: var(--gi-rd-radius-sm);
	border: 1px solid var(--gi-rd-border);
	background: var(--gi-rd-surface);
	font-size: 0.9rem;
	line-height: 1.45;
}

body.gi-redesign .gi-rd-child-milestones li::before {
	content: counter(gi-mile, decimal-leading-zero);
	position: absolute;
	left: 0.65rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.72rem;
	font-weight: 800;
	color: var(--gi-rd-primary-deep);
}

/* Blog / archive / search surface */
body.gi-rd-blog-surface .gi-rd-archive__intro {
	padding: clamp(1.5rem, 3vw, 2.5rem) 0 1.25rem;
	border-bottom: 1px solid var(--gi-rd-border, #e8e8ef);
	background: linear-gradient(180deg, #fafbfd 0%, #fff 100%);
}

body.gi-rd-blog-surface .gi-rd-archive__h1 {
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	font-weight: 700;
	margin: 0.35rem 0 0;
	letter-spacing: -0.02em;
}

body.gi-rd-blog-surface .gi-rd-archive__desc {
	margin: 0.5rem 0 0;
	max-width: 40rem;
	color: var(--gi-rd-muted, #5c6470);
	line-height: 1.55;
}

body.gi-rd-blog-surface .gi-rd-archive__main {
	padding: 1.5rem 0 3rem;
}

body.gi-rd-blog-surface .gi-rd-archive__grid:not(.gi-rd-blog-grid) {
	display: grid;
	grid-auto-flow: row;
	gap: 1rem;
}

@media (min-width: 640px) {
	body.gi-rd-blog-surface .gi-rd-archive__grid:not(.gi-rd-blog-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	body.gi-rd-blog-surface .gi-rd-archive__grid:not(.gi-rd-blog-grid) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.gi-rd-blog-surface .gi-rd-archive-card {
	border-radius: var(--gi-rd-radius-lg, 0.75rem);
	border: 1px solid var(--gi-rd-border, #e4e4ec);
	box-shadow: var(--gi-rd-shadow-sm, 0 1px 2px rgba(15, 15, 25, 0.05));
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s var(--gi-rd-motion-ease-out, ease);
}

@media (hover: hover) and (pointer: fine) {
	body.gi-rd-blog-surface .gi-rd-archive-card:hover {
		border-color: color-mix(in srgb, var(--gi-rd-primary, #5423e7) 25%, var(--gi-rd-border, #e4e4ec));
		box-shadow: var(--gi-rd-shadow-md, 0 8px 24px rgba(15, 15, 25, 0.08));
		transform: translate3d(0, -2px, 0);
	}
}

body.gi-rd-blog-surface .gi-rd-archive__empty {
	text-align: center;
	padding: 2.5rem 1rem;
	border-radius: var(--gi-rd-radius-lg, 0.75rem);
	border: 1px dashed var(--gi-rd-border, #e4e4ec);
	background: var(--gi-rd-bg-alt, #f7f7fb);
}

body.gi-rd-blog-surface .gi-rd-archive__empty-title {
	font-weight: 700;
	margin: 0 0 0.35rem;
}

body.gi-rd-blog-surface .gi-rd-archive__empty-text {
	margin: 0 0 1rem;
	color: var(--gi-rd-muted, #5c6470);
}

body.gi-rd-blog-surface .gi-rd-search__empty-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
}

body.gi-rd-blog-surface nav.gi-rd-archive__pagination,
body.gi-rd-blog-surface .navigation.pagination {
	margin-top: 2rem;
	display: flex;
	justify-content: center;
	gap: 0.35rem;
	flex-wrap: wrap;
}

body.gi-rd-blog-surface .nav-links a,
body.gi-rd-blog-surface .nav-links span {
	display: inline-flex;
	min-width: 2.5rem;
	min-height: 2.5rem;
	align-items: center;
	justify-content: center;
	padding: 0 0.65rem;
	border-radius: 0.45rem;
	border: 1px solid var(--gi-rd-border, #e4e4ec);
	font-weight: 600;
	font-size: 0.88rem;
	text-decoration: none;
}

body.gi-rd-blog-surface .nav-links a:hover,
body.gi-rd-blog-surface .nav-links a:focus-visible {
	border-color: color-mix(in srgb, var(--gi-rd-primary, #5423e7) 35%, var(--gi-rd-border, #e4e4ec));
}

body.gi-rd-blog-surface .nav-links .current {
	background: var(--gi-rd-primary-soft, #ede9fe);
	border-color: transparent;
}

body.gi-rd-blog-surface .navigation.pagination .page-numbers,
body.gi-rd-blog-surface nav.gi-rd-archive__pagination .page-numbers {
	display: inline-flex;
	min-width: 2.5rem;
	min-height: 2.5rem;
	align-items: center;
	justify-content: center;
	padding: 0 0.65rem;
	border-radius: 0.45rem;
	border: 1px solid var(--gi-rd-border, #e4e4ec);
	font-weight: 600;
	font-size: 0.88rem;
	text-decoration: none;
}

body.gi-rd-blog-surface .navigation.pagination a.page-numbers:hover,
body.gi-rd-blog-surface .navigation.pagination a.page-numbers:focus-visible,
body.gi-rd-blog-surface nav.gi-rd-archive__pagination a.page-numbers:hover,
body.gi-rd-blog-surface nav.gi-rd-archive__pagination a.page-numbers:focus-visible {
	border-color: color-mix(in srgb, var(--gi-rd-primary, #5423e7) 35%, var(--gi-rd-border, #e4e4ec));
}

body.gi-rd-blog-surface .navigation.pagination .page-numbers.current,
body.gi-rd-blog-surface nav.gi-rd-archive__pagination .page-numbers.current {
	background: var(--gi-rd-primary-soft, #ede9fe);
	border-color: transparent;
}

/* Legal readability */
body.gi-redesign .gi-rd-legal-page__h1 {
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	font-weight: 700;
	margin: 0.35rem 0 0;
}

body.gi-redesign .gi-rd-legal-page__section {
	padding: clamp(1.25rem, 2vw, 2rem) 0 3rem;
}

body.gi-redesign .gi-rd-legal-page__content {
	max-width: 48rem;
	margin: 0 auto;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--gi-rd-ink-2, #2b3140);
}

body.gi-redesign .gi-rd-legal-page__content h2 {
	font-size: 1.15rem;
	margin: 1.75rem 0 0.65rem;
}

body.gi-redesign .gi-rd-legal-page__content ul,
body.gi-redesign .gi-rd-legal-page__content ol {
	padding-left: 1.2rem;
}

/* Nav micro-rail (desktop) */
@media (min-width: 1024px) {
	body.gi-redesign .site-navigation > ul > li > a {
		position: relative;
		transition: color 0.18s ease;
	}

	body.gi-redesign .site-navigation > ul > li > a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -0.35rem;
		height: 2px;
		border-radius: 999px;
		background: color-mix(in srgb, var(--gi-rd-primary) 70%, transparent);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.22s var(--gi-rd-motion-ease-out);
	}

	body.gi-redesign .site-navigation > ul > li:hover > a::after,
	body.gi-redesign .site-navigation > ul > li:focus-within > a::after,
	body.gi-redesign .site-navigation > ul > li.current-menu-item > a::after,
	body.gi-redesign .site-navigation > ul > li.current-menu-ancestor > a::after {
		transform: scaleX(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.gi-redesign .site-navigation > ul > li > a::after {
		transition: none;
		transform: scaleX(0);
	}

	body.gi-redesign .site-navigation > ul > li.current-menu-item > a::after,
	body.gi-redesign .site-navigation > ul > li.current-menu-ancestor > a::after {
		transform: scaleX(1);
	}
}

/* -----------------------------------------------------------------
 * Services page motion polish (/uslugi/)
 * ----------------------------------------------------------------- */
body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-diagnosis__logic article,
body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-deliverables__card,
body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__case,
body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__cards article {
	transition: transform var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease-out),
		box-shadow var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease-out),
		border-color var(--gi-rd-motion-duration-fast) ease;
}

@media (hover: hover) and (pointer: fine) {
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-diagnosis__logic article:hover,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-deliverables__card:hover,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__case:hover,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__cards article:hover {
		transform: translate3d(0, -3px, 0);
		border-color: color-mix(in srgb, var(--gi-rd-primary) 30%, var(--gi-rd-border));
		box-shadow: var(--gi-rd-shadow-md);
	}
}

body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__filters button,
body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__switch button {
	transition: transform var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease-out),
		background-color var(--gi-rd-motion-duration-fast) ease,
		border-color var(--gi-rd-motion-duration-fast) ease,
		color var(--gi-rd-motion-duration-fast) ease;
}

body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__filters button:hover,
body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__filters button:focus-visible,
body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__switch button:hover,
body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__switch button:focus-visible {
	transform: translate3d(0, -1px, 0);
}

body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__cases {
	transition: opacity var(--gi-rd-motion-duration-fast) ease;
}

body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof.gi-rd-services-proof--switching .gi-rd-services-proof__cases {
	opacity: 0.72;
}

body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__decision {
	transition: opacity var(--gi-rd-motion-duration-fast) ease, transform var(--gi-rd-motion-duration-fast) var(--gi-rd-motion-ease-out);
}

body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__estimator.gi-rd-services-budget--switching .gi-rd-services-budget__decision {
	opacity: 0.72;
	transform: translate3d(0, 3px, 0);
}

body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-poland__score-track span {
	transform-origin: left center;
	transform: scaleX(0);
	transition: transform 0.9s var(--gi-rd-motion-ease-out);
}

body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-poland__checklist.gi-rd-motion--inview .gi-rd-services-poland__score-track span {
	transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-diagnosis__logic article,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-deliverables__card,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__case,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__cards article,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__filters button,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__switch button,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-proof__cases,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-budget__decision,
	body.gi-redesign .gi-marketing-page--uslugi .gi-rd-services-poland__score-track span {
		transition: none !important;
		animation: none !important;
		transform: none !important;
		opacity: 1 !important;
	}
}

/* -----------------------------------------------------------------
 * Website development: SVG path draw (scoped)
 * ----------------------------------------------------------------- */
body.gi-redesign .gi-marketing-page--website-development .gi-rd-webdev-sitemap-motion__path {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 1.05s var(--gi-rd-motion-ease-out);
}

body.gi-redesign .gi-marketing-page--website-development .gi-rd-webdev-sitemap-motion.gi-rd-motion--inview .gi-rd-webdev-sitemap-motion__path {
	stroke-dashoffset: 0;
}

@media (prefers-reduced-motion: reduce) {
	body.gi-redesign .gi-marketing-page--website-development .gi-rd-webdev-sitemap-motion__path {
		transition: none !important;
		stroke-dashoffset: 0 !important;
	}
}


