/* Prozori landing — front page only */

html {
	scroll-behavior: smooth;
}

body.is-landing {
	margin: 0;
	background: #070D1A;
}

.lp {
	--accent: #4F9BED;
	--mono: 'IBM Plex Mono', monospace;
	position: relative;
	overflow: hidden;
	font-family: 'IBM Plex Sans', 'Helvetica Neue', sans-serif;
	color: #E6EDF7;
	background-color: #070D1A;
	line-height: 1.5;
}

.lp a { color: #8CC0F5; }
.lp a:hover { color: #B9D8FA; }

.lp img { border: 0; }

.lp .gridbg,
.lp.gridbg {
	background-image: linear-gradient(rgba(140,192,245,0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(140,192,245,0.07) 1px, transparent 1px);
	background-size: 48px 48px;
}

.lp-mono { font-family: var(--mono); }
.lp-accent { color: var(--accent); }

.lp-glow {
	position: absolute;
	top: -260px;
	right: -200px;
	width: 900px;
	height: 900px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(79,155,237,0.28) 0%, rgba(79,155,237,0.08) 40%, rgba(7,13,26,0) 70%);
	pointer-events: none;
}

/* ---------- animations (from design) ---------- */
.flow line { stroke-dasharray: 6 14; animation: flow 1.8s linear infinite; }
@keyframes flow { to { stroke-dashoffset: -40; } }
.pulse { transform-box: fill-box; transform-origin: center; animation: pulse 2.6s ease-out infinite; }
@keyframes pulse { 0% { opacity: .7; transform: scale(1); } 100% { opacity: 0; transform: scale(1.9); } }
.pulse-dot { animation: blink 2s ease-in-out infinite; }
@keyframes blink { 50% { opacity: .35; } }
.tile-lift { transition: transform .2s ease, box-shadow .2s ease; }
.tile-lift:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(7,13,26,.14); }
.scan { animation: scan 3s ease-in-out infinite alternate; }
@keyframes scan { to { transform: translateY(96px); } }
.logo-tile img { opacity: .8; transition: opacity .2s ease; }
.logo-tile:hover img { opacity: 1; }

.marquee {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track { animation: marq 40s linear infinite; }
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track { animation-play-state: paused; }
@keyframes marq { to { transform: translateX(calc(-50% - 10px)); } }
.init-card { transition: border-color .2s ease, transform .2s ease; }
.init-card:hover { transform: translateY(-4px); border-color: #8CC0F5 !important; }

.tl-wipe { clip-path: inset(0 100% 0 0); transition: clip-path .6s cubic-bezier(.3,.7,.2,1); }
.tl-long { transition-duration: 1.1s; }
.tl-clip { clip-path: inset(0 0 100% 0); transition: clip-path .6s ease; }
.tl-fade { display: inline-block; opacity: 0; transform: translateY(6px); transition: opacity .45s ease, transform .45s ease; }
div.tl-fade { display: block; }
.tl-on .tl-wipe,
.tl-on .tl-clip { clip-path: inset(0); }
.tl-on .tl-fade { opacity: 1; transform: none; }
.tl-d1 { transition-delay: 0s; } .tl-d2 { transition-delay: .45s; } .tl-d3 { transition-delay: .9s; } .tl-d4 { transition-delay: 1.35s; } .tl-d5 { transition-delay: 2s; }
.tl-y1 { transition-delay: 2.25s; } .tl-y2 { transition-delay: 2.5s; } .tl-y3 { transition-delay: 2.75s; } .tl-y4 { transition-delay: 3s; }
.tl-shine { position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent); transform: translateX(-100%); pointer-events: none; }
.tl-on .tl-shine { animation: tlshine 3.2s ease-in-out 3.4s infinite; }
@keyframes tlshine { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } }

.doc-stack .ds-card,
.doc-stack .ds-main { transition: transform .75s cubic-bezier(.2,.8,.2,1), opacity .45s ease; }
.doc-stack:not(.ds-on) .ds-main { transform: translateY(40px) rotate(0deg) !important; opacity: 0; }
.doc-stack:not(.ds-on) .ds-card { opacity: 0; }
.doc-stack:not(.ds-on) .ds-c1 { transform: translate(190px,20px) rotate(3deg) !important; }
.doc-stack:not(.ds-on) .ds-c2 { transform: translate(150px,20px) rotate(3deg) !important; }
.doc-stack:not(.ds-on) .ds-c3 { transform: translate(100px,20px) rotate(3deg) !important; }
.doc-stack:not(.ds-on) .ds-c4 { transform: translate(60px,20px) rotate(3deg) !important; }
.ds-c4 { transition-delay: .35s !important; } .ds-c3 { transition-delay: .5s !important; } .ds-c2 { transition-delay: .65s !important; } .ds-c1 { transition-delay: .8s !important; }
.ds-list > div { transition: opacity .4s ease, transform .4s ease; }
.ds-list > div svg { transition: transform .35s cubic-bezier(.3,1.6,.5,1); }
.doc-stack:not(.ds-on) .ds-list > div { opacity: 0; transform: translateX(-10px); }
.doc-stack:not(.ds-on) .ds-list > div svg { transform: scale(0); }
.ds-list > div:nth-child(1), .ds-list > div:nth-child(1) svg { transition-delay: 1.2s; }
.ds-list > div:nth-child(2), .ds-list > div:nth-child(2) svg { transition-delay: 1.45s; }
.ds-list > div:nth-child(3), .ds-list > div:nth-child(3) svg { transition-delay: 1.7s; }
.ds-list > div:nth-child(4), .ds-list > div:nth-child(4) svg { transition-delay: 1.95s; }
.ds-list > div:nth-child(5), .ds-list > div:nth-child(5) svg { transition-delay: 2.2s; }
.ds-list > div:nth-child(6), .ds-list > div:nth-child(6) svg { transition-delay: 2.45s; }
.ds-list > div:nth-child(7), .ds-list > div:nth-child(7) svg { transition-delay: 2.7s; }
.ds-list > div:nth-child(n+8), .ds-list > div:nth-child(n+8) svg { transition-delay: 2.95s; }
.ds-on .ds-main { animation: dsfloat 5s ease-in-out 3.2s infinite; }
@keyframes dsfloat { 50% { translate: 0 -8px; } }

/* ---------- buttons ---------- */
.lp .btn-p {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 26px;
	background: var(--accent);
	color: #070D1A;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	border-radius: 4px;
	box-shadow: 0 8px 32px rgba(79,155,237,0.35);
}
.lp .btn-p--sm {
	min-height: 44px;
	padding: 0 20px;
	font-size: 15px;
	box-shadow: none;
}
.lp .btn-o {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 26px;
	border: 1.5px solid rgba(230,237,247,0.6);
	color: #FFFFFF;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	border-radius: 4px;
}
.lp .btn-p,
.lp .btn-o,
.lp .btn-row,
.lp .lp-tab { transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.lp .btn-p:hover,
.lp .btn-p:focus-visible { background: #8CC0F5; color: #070D1A; box-shadow: 0 8px 32px rgba(140,192,245,0.45); }
.lp .btn-o:hover,
.lp .btn-o:focus-visible { background: #FFFFFF; color: #070D1A; border-color: #FFFFFF; }

/* ---------- shared ---------- */
.lp-sec { border-top: 1px solid rgba(140,192,245,0.12); color: #E6EDF7; }
.lp-in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 32px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.lp-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
}
.lp-h2 {
	margin: 0;
	font-size: 44px;
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: -0.025em;
}
.lp-eyebrow {
	font-family: var(--mono);
	font-size: 13px;
	color: #8CC0F5;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.lp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-chip {
	padding: 6px 12px;
	border: 1px solid rgba(140,192,245,0.28);
	border-radius: 999px;
	font-family: var(--mono);
	font-size: 12px;
	color: #C9D6EA;
}

/* ---------- header ---------- */
.lp-header {
	position: relative;
	z-index: 5;
	border-bottom: 1px solid rgba(140,192,245,0.14);
}
.lp-header__in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px 32px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.lp-header__logo { display: flex; align-items: center; text-decoration: none; }
.lp-header__logo img { display: block; height: 46px; width: auto; }
.lp-nav { display: flex; font-size: 15px; font-weight: 400; }
.lp-nav__list { display: flex; flex-wrap: wrap; gap: 28px; margin: 0; padding: 0; list-style: none; }
.lp-nav__list li { margin: 0; padding: 0; }
.lp .lp-nav a { color: #C9D6EA; text-decoration: none; }
.lp .lp-nav a:hover { color: #FFFFFF; }
.lp-header__actions { display: flex; align-items: center; gap: 16px; }
.lp-langmenu { margin: 0; padding: 0; list-style: none; }
.lp-langmenu li { margin: 0; padding: 0; }
.lp .lp-langmenu .pll-parent-menu-item > a { display: none; }
.lp-langmenu .sub-menu {
	display: flex;
	gap: 2px;
	margin: 0;
	padding: 2px;
	list-style: none;
	border: 1px solid rgba(140,192,245,0.22);
	border-radius: 6px;
}
.lp .lp-langmenu .sub-menu a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 4px;
	font-family: var(--mono);
	font-size: 13px;
	font-weight: 500;
	color: #8A9BB5;
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s ease, background-color .15s ease;
}
.lp .lp-langmenu .sub-menu a:hover { color: #FFFFFF; background: rgba(79,155,237,0.12); }
.lp .lp-langmenu .sub-menu .current-lang > a { color: #FFFFFF; background: rgba(79,155,237,0.22); cursor: default; }
.lp-langmenu .pll-switcher-flag { width: 16px !important; border-radius: 2px !important; }
.lp-langmenu .pll-switcher-label { margin-inline-start: 0 !important; }
.lp-burger {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(140,192,245,0.3);
	border-radius: 4px;
	background: transparent;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
}
.lp-burger span { display: block; width: 18px; height: 2px; background: #E6EDF7; transition: transform .2s ease, opacity .2s ease; }
.lp-header.is-open .lp-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.lp-header.is-open .lp-burger span:nth-child(2) { opacity: 0; }
.lp-header.is-open .lp-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- hero ---------- */
.lp-hero {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 32px 56px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr));
	gap: 48px;
	align-items: center;
}
.lp-hero__text { display: flex; flex-direction: column; gap: 28px; }
.lp-badge {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	border: 1px solid rgba(140,192,245,0.3);
	border-radius: 999px;
	font-family: var(--mono);
	font-size: 13px;
	color: #C9D6EA;
	letter-spacing: 0.04em;
}
.lp-badge__dot { width: 8px; height: 8px; border-radius: 50%; background: #5FD39A; flex: 0 0 auto; }
.lp-h1 {
	margin: 0;
	font-size: 76px;
	line-height: 1.02;
	font-weight: 700;
	letter-spacing: -0.04em;
	color: #FFFFFF;
}
.lp-hero__lead { margin: 0; font-size: 21px; color: #B7C5DA; max-width: 600px; }
.lp-btns { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 8px; }
.lp-hero__svg { width: 100%; height: auto; max-width: 560px; justify-self: center; }

.lp-stats-wrap { position: relative; max-width: 1280px; margin: 0 auto; padding: 0 32px 72px; }
.lp-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	border-top: 1px solid rgba(140,192,245,0.18);
}
.lp-stat { padding: 24px 24px 0 0; }
.lp-stat__v { font-size: 36px; font-weight: 700; letter-spacing: -0.03em; color: #FFFFFF; }
.lp-stat__l { font-family: var(--mono); font-size: 13px; color: #9FB2CC; }

/* ---------- impact ---------- */
.lp-impact__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 1px;
	background: rgba(140,192,245,0.16);
	border: 1px solid rgba(140,192,245,0.16);
	border-radius: 10px;
	overflow: hidden;
}
.lp-impact__cell {
	background: #070D1A;
	padding: 32px 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 200px;
}
.lp-impact__tag { font-family: var(--mono); font-size: 12px; color: #8CC0F5; text-transform: uppercase; letter-spacing: 0.06em; }
.lp-impact__num {
	font-size: clamp(32px, 3.6vw, 52px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: #FFFFFF;
	font-variant-numeric: tabular-nums;
}
.lp-impact__num--accent { color: var(--accent); }
.lp-impact__txt { font-size: 15px; line-height: 1.45; color: #9FB2CC; }

/* ---------- clients ---------- */
.lp-in--clients { padding: 72px 32px 88px; gap: 32px; }
.lp-head--sm { gap: 16px; }
.lp-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 16px 40px;
}
.logo-tile {
	height: 88px;
	padding: 12px 24px;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
.logo-tile img { display: block; max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain; }
.logo-tile--tall { height: 132px; }
.logo-tile--tall img { max-height: 112px; }

/* ---------- lifecycle ---------- */
.lp-in--life { gap: 56px; }
.lp-life__head { display: flex; flex-direction: column; gap: 16px; }
.lp-life__head .lp-h2 { max-width: 860px; }
.lp-tl-scroll { overflow-x: auto; }
.tl {
	min-width: 760px;
	display: grid;
	grid-template-columns: 21fr 21fr 58fr;
	row-gap: 12px;
}
.tl__note {
	border-right: 2px dashed #C9D6EA;
	padding: 0 14px 10px 0;
	text-align: right;
	font-family: var(--mono);
	font-size: 13px;
	color: #9FB2CC;
}
.tl__stay {
	padding: 0 0 10px 16px;
	font-family: var(--mono);
	font-size: 13px;
	color: #8CC0F5;
	font-weight: 500;
	align-self: end;
}
.tl__bar {
	height: 76px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 2px;
	padding: 0 16px;
	font-weight: 600;
}
.tl__bar small { font-family: var(--mono); font-size: 12px; font-weight: 400; color: #9FB2CC; }
.tl__bar--design { background: #1C2C47; border-radius: 6px 0 0 6px; }
.tl__bar--launch { background: #2A4268; color: #FFFFFF; }
.tl__bar--support {
	position: relative;
	overflow: hidden;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 0 24px;
	background: linear-gradient(90deg, var(--accent), #8CC0F5);
	border-radius: 0 6px 6px 0;
	color: #FFFFFF;
	font-size: 18px;
}
.tl__years { position: relative; font-family: var(--mono); font-size: 14px; font-weight: 500; }
.lp-pillars {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 24px;
}
.lp-pillar { display: flex; gap: 18px; align-items: flex-start; }
.lp-pillar svg { flex: 0 0 auto; }
.lp-pillar__t { font-weight: 600; font-size: 22px; }
.lp-pillar__d { color: #9FB2CC; }

/* ---------- directions ---------- */
.lp-directions {
	border-top: 1px solid rgba(140,192,245,0.12);
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 32px;
	display: flex;
	flex-direction: column;
	gap: 48px;
}
.lp-dir {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 48px;
	align-items: start;
}
.lp-dir__tabs { display: flex; flex-direction: column; gap: 4px; }
.lp .lp-tab {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	width: 100%;
	display: flex;
	gap: 20px;
	align-items: center;
	padding: 26px 24px;
	border-left: 3px solid rgba(140,192,245,0.14);
}
.lp .lp-tab.is-active {
	border-left-color: var(--accent);
	background: linear-gradient(90deg, rgba(79,155,237,0.14), rgba(79,155,237,0));
}
.lp .lp-tab:not(.is-active):hover,
.lp .lp-tab:not(.is-active):focus-visible {
	background: rgba(79,155,237,0.08);
	border-left-color: #5A76A6;
}
.lp-tab__ico {
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: #0D1729;
	border: 1px solid rgba(140,192,245,0.22);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
.lp-tab__ico svg { stroke: #8496B2; }
.lp-tab.is-active .lp-tab__ico {
	background: var(--accent);
	border: 0;
	box-shadow: 0 0 24px rgba(79,155,237,0.35);
}
.lp-tab.is-active .lp-tab__ico svg { stroke: #070D1A; }
.lp-tab__txt { display: flex; flex-direction: column; gap: 6px; }
.lp-tab__title { font-size: 26px; line-height: 1.2; font-weight: 600; color: #8496B2; }
.lp-tab:not(.is-active):hover .lp-tab__title { color: #C9D6EA; }
.lp-tab.is-active .lp-tab__title { color: #FFFFFF; }
.lp-tab__sub { display: none; font-size: 15px; color: #B7C5DA; }
.lp-tab.is-active .lp-tab__sub { display: block; }

.lp-panel { display: flex; flex-direction: column; gap: 24px; }
.lp-panel[hidden] { display: none; }
.lp-panel__text { margin: 0; font-size: 17px; color: #B7C5DA; max-width: 620px; }
.lp-mock {
	border: 1px solid rgba(140,192,245,0.22);
	border-radius: 10px;
	background: #0A1426;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0,0,0,0.45), 0 0 0 1px rgba(79,155,237,0.06);
}
.lp-mock__bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border-bottom: 1px solid rgba(140,192,245,0.14);
	background: #0D1729;
}
.lp-mock__dot { width: 10px; height: 10px; border-radius: 50%; background: #2A4268; }
.lp-mock__url {
	margin-left: 12px;
	flex: 1;
	padding: 4px 12px;
	border-radius: 4px;
	background: #070D1A;
	font-family: var(--mono);
	font-size: 12px;
	color: #9FB2CC;
}
.lp-mock__body { padding: 24px; }

.les {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 13px;
	transition: background-color .45s ease, color .45s ease;
	background: transparent;
	color: #5A76A6;
}
.les.is-done { color: #9FB2CC; }
.les.is-active { background: rgba(79,155,237,0.16); color: #FFFFFF; }
.les__ico { display: none; flex: 0 0 auto; }
.les.is-done .les__ico--done,
.les.is-active .les__ico--active,
.les.is-todo .les__ico--todo { display: block; }
.les__ring { width: 14px; height: 14px; border-radius: 50%; border: 2px solid #2A4268; box-sizing: border-box; }
.les__ico--active { border-color: var(--accent); }
.les-prev {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(1);
	transition: opacity .7s ease, transform 2.8s ease-out;
}
.les-prev.is-active { opacity: 1; transform: scale(1.04); }

/* ---------- cases ---------- */
.lp .lp-link { font-weight: 600; color: #8CC0F5; }
.lp-cases__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr));
	gap: 20px;
}
.lp .lp-case {
	background: #0D1729;
	border: 1px solid rgba(140,192,245,0.18);
	border-radius: 10px;
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	color: #E6EDF7;
	text-decoration: none;
}
.lp .lp-case:hover {
	background: linear-gradient(180deg, rgba(79,155,237,0.12), rgba(79,155,237,0) 55%), #0D1729;
	border-color: var(--accent);
}
.lp-case__top { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 48px; }
.lp-case__top img { display: block; height: 44px; width: auto; max-width: 100%; }
.lp-case__top img.is-small { height: 30px; }
.lp-case__body { display: flex; flex-direction: column; gap: 8px; }
.lp-case__body h3 { margin: 0; font-size: 26px; line-height: 1.2; font-weight: 600; color: #FFFFFF; }
.lp-case__body p { margin: 0; font-size: 15px; color: #B7C5DA; }
.lp-case__more { font-weight: 600; color: #8CC0F5; margin-top: auto; }
.lp-note { margin: 0; color: #9FB2CC; font-family: var(--mono); font-size: 13px; }

/* ---------- donors ---------- */
.lp-donors { position: relative; overflow: hidden; color: #E8EEEC; }
.lp-in--donors { position: relative; padding: 104px 32px; gap: 48px; }
.donor-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
	gap: 56px;
	align-items: center;
}
.lp-donors__text { display: flex; flex-direction: column; gap: 22px; }
.lp-donors__h2 { margin: 0; font-size: 48px; line-height: 1.08; font-weight: 700; letter-spacing: -0.03em; color: #FFFFFF; }
.lp-donors__lead { margin: 0; font-size: 19px; color: #C3CFCC; }
.lp-donors__cta { padding-top: 6px; }
.doc-stack { position: relative; width: 540px; height: 470px; justify-self: center; }
.ds-card {
	position: absolute;
	width: 300px;
	height: 380px;
	transform-origin: bottom center;
	background: #111D33;
	border: 1px solid rgba(140,192,245,0.22);
	border-radius: 12px;
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: 0 18px 40px rgba(0,0,0,0.35);
}
.ds-c1 { left: 0; top: 40px; transform: rotate(-14deg); }
.ds-c2 { left: 40px; top: 20px; transform: rotate(-7deg); }
.ds-c3 { left: 90px; top: 8px; transform: rotate(4deg); }
.ds-c4 { left: 130px; top: 30px; transform: rotate(11deg); }
.ds-card__type { font-family: var(--mono); font-size: 11px; color: #8CC0F5; text-transform: uppercase; letter-spacing: 0.06em; }
.ds-card__t { font-size: 17px; font-weight: 600; color: #FFFFFF; }
.ds-card__d { font-size: 13px; color: #9FB2CC; }
.ds-line { height: 6px; width: 80%; border-radius: 3px; background: #1C2C47; }
.ds-line:nth-of-type(4) { margin-top: 10px; }
.ds-line--2 { width: 65%; }
.ds-line--3 { width: 72%; }
.ds-main {
	position: absolute;
	left: 190px;
	top: 0;
	width: 330px;
	min-height: 440px;
	transform: rotate(3deg);
	background: linear-gradient(180deg, #16325C, #0D1729 55%);
	border: 1px solid var(--accent);
	border-radius: 14px;
	padding: 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: 0 30px 70px rgba(0,0,0,0.5), 0 0 40px rgba(79,155,237,0.25);
}
.ds-main__top { display: flex; justify-content: space-between; align-items: center; font-family: var(--mono); font-size: 11px; }
.ds-main__by { color: var(--accent); text-transform: uppercase; letter-spacing: 0.06em; }
.ds-main__lang { color: #9FB2CC; }
.ds-main__t { font-size: 22px; line-height: 1.2; font-weight: 700; color: #FFFFFF; }
.ds-list { display: flex; flex-direction: column; padding-top: 6px; }
.ds-list > div {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	border-top: 1px solid rgba(140,192,245,0.12);
	font-size: 14px;
	color: #E6EDF7;
}
.ds-list svg { flex: 0 0 auto; }
.lp-pills { display: flex; flex-wrap: wrap; gap: 12px; }
.lp-pill {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 22px;
	border: 1px solid rgba(140,192,245,0.16);
	border-radius: 999px;
	background: rgba(13,23,41,0.7);
}
.lp-pill svg { flex: 0 0 auto; }
.lp-pill__txt { display: flex; flex-direction: column; }
.lp-pill__t { font-weight: 600; font-size: 16px; color: #FFFFFF; }
.lp-pill__d { font-size: 13px; color: #9FB2CC; }

/* ---------- team ---------- */
.lp-team {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 24px;
}
.lp-member { display: flex; flex-direction: column; gap: 12px; }
.lp-member img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center top;
	background: #16243D;
	border-radius: 4px;
}
.lp-member__name { font-weight: 600; font-size: 18px; }
.lp-member__role { font-size: 14px; color: #9FB2CC; }

/* ---------- faq ---------- */
.lp-faq {
	border-top: 1px solid rgba(140,192,245,0.12);
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 32px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	gap: 48px;
	align-items: start;
}
.lp-faq__list { display: flex; flex-direction: column; border-top: 2px solid rgba(230,237,247,0.7); }
.faq { border-bottom: 1px solid rgba(140,192,245,0.18); }
.faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 22px 0;
	cursor: pointer;
	list-style: none;
	font-size: 19px;
	font-weight: 600;
	color: #FFFFFF;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::marker { content: ""; }
.faq .chev { flex: 0 0 auto; transition: transform .2s ease; }
.faq[open] .chev { transform: rotate(180deg); }
.faq summary:hover { color: #8CC0F5; }
.faq summary:focus-visible { outline: 2px solid #8CC0F5; outline-offset: 4px; border-radius: 2px; }
.faq__a { padding: 0 36px 24px 0; display: flex; flex-direction: column; gap: 12px; }
.faq__a p { margin: 0; color: #B7C5DA; }
.faq__docs { display: flex; flex-direction: column; gap: 8px; }
.lp .btn-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 0 16px;
	background: #0D1729;
	border: 1px solid rgba(140,192,245,0.18);
	border-radius: 4px;
	color: #FFFFFF;
	text-decoration: none;
	font-size: 15px;
}
.lp .btn-row:hover,
.lp .btn-row:focus-visible { background: #16243D; border-color: #8CC0F5; color: #FFFFFF; }
.btn-row__ext { font-family: var(--mono); font-size: 12px; color: #8CC0F5; white-space: nowrap; }

/* ---------- initiatives ---------- */
.lp-init__head {
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 32px 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
}
.lp-init__intro { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.lp-init__intro p { margin: 0; font-size: 17px; color: #B7C5DA; }
.lp-init__marquee { padding: 0 0 104px; }
.marquee-track { display: flex; gap: 20px; width: max-content; padding: 4px 0; }
.lp .init-card {
	flex: 0 0 auto;
	width: 300px;
	background: #0D1729;
	border: 1px solid rgba(140,192,245,0.18);
	border-radius: 14px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: #E6EDF7;
	text-decoration: none;
}
.lp .init-card--accent { border-color: var(--accent); }
.init-logo {
	height: 72px;
	border-radius: 8px;
	border: 1px dashed rgba(140,192,245,0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mono);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: #E6EDF7;
}
.init-card__name { font-size: 18px; font-weight: 700; color: #FFFFFF; }
.init-card__role {
	align-self: flex-start;
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid rgba(140,192,245,0.28);
	color: #C9D6EA;
	font-family: var(--mono);
	font-size: 12px;
}
.init-card__role--hl { background: rgba(79,155,237,0.16); border-color: rgba(79,155,237,0.45); color: #8CC0F5; }

/* ---------- contact ---------- */
.lp-contact {
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 32px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: 64px;
}
.lp-contact__text { display: flex; flex-direction: column; gap: 20px; }
.lp-contact__lead { margin: 0; font-size: 18px; color: #B7C5DA; }
.lp-contact__links { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; font-family: var(--mono); font-size: 14px; }
.lp .lp-contact__links a { color: #FFFFFF; }

/* Gravity Forms in design styles */
.lp-form .gform_wrapper,
.lp-form .gform_wrapper.gravity-theme,
.lp-form .gform_wrapper.gform-theme { margin: 0; font-family: inherit; }
.lp-form .gform_heading,
.lp-form .gform_required_legend { display: none; }
.lp-form .gform_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px !important;
	grid-column-gap: 16px !important;
	grid-row-gap: 16px !important;
}
.lp-form .gform_wrapper .gfield { grid-column: 1 / -1 !important; margin: 0 !important; padding: 0 !important; }
.lp-form .gform_wrapper .gfield.half,
.lp-form .gform_wrapper .gfield--width-half,
.lp-form .gform_wrapper .gfield--type-text,
.lp-form .gform_wrapper .gfield--type-email,
.lp-form .gform_wrapper .gfield--type-phone { grid-column: span 1 !important; }.lp-form .gform_wrapper .gfield_label,
.lp-form .gform_wrapper .gform-field-label {
	display: block !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	color: #E6EDF7 !important;
}
.lp-form .gform_wrapper .gfield_required { display: none !important; }
.lp-form .gform_wrapper input[type="text"],
.lp-form .gform_wrapper input[type="email"],
.lp-form .gform_wrapper input[type="tel"],
.lp-form .gform_wrapper textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 48px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 1px solid #5A76A6 !important;
	border-radius: 4px !important;
	background: #0D1729 !important;
	box-shadow: none !important;
	color: #FFFFFF !important;
	font: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	outline: none;
}
.lp-form .gform_wrapper textarea {
	min-height: 0 !important;
	height: calc(4 * 1.5em + 24px) !important;
	padding: 12px 14px !important;
	resize: vertical;
}
.lp-form .gform_wrapper input:focus,
.lp-form .gform_wrapper textarea:focus { border-color: #8CC0F5 !important; }
.lp-form .gform_wrapper .gfield_description,
.lp-form .gform_wrapper .validation_message,
.lp-form .gform_wrapper .gfield_validation_message { display: none !important; }
.lp-form .gform_wrapper .gform_validation_errors {
	margin: 0 0 16px !important;
	padding: 12px 16px !important;
	border: 1px solid rgba(255,138,128,.5) !important;
	border-radius: 4px !important;
	background: rgba(255,138,128,.08) !important;
	box-shadow: none !important;
}
.lp-form .gform_wrapper .gform_validation_errors h2 { margin: 0 !important; font-size: 14px !important; color: #FF8A80 !important; }
.lp-form .gform_wrapper .gfield_error input,
.lp-form .gform_wrapper .gfield_error textarea { border-color: #FF8A80 !important; }
.lp-form .gform_wrapper .gform_footer,
.lp-form .gform_wrapper .gform_page_footer { margin: 16px 0 0 !important; padding: 0 !important; }
.lp-form .gform_wrapper .gform_footer input[type="submit"],
.lp-form .gform_wrapper .gform_footer button,
.lp-form .gform_wrapper .gform_button {
	-webkit-appearance: none;
	appearance: none;
	min-height: 52px !important;
	height: auto !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: var(--accent) !important;
	color: #070D1A !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-color .2s ease, box-shadow .2s ease;
}
.lp-form .gform_wrapper .gform_footer input[type="submit"]:hover,
.lp-form .gform_wrapper .gform_button:hover { background: #8CC0F5 !important; box-shadow: 0 8px 32px rgba(140,192,245,0.45) !important; }
.lp-form .gform_confirmation_message { font-size: 18px; color: #E6EDF7; }
.lp-form .gform_ajax_spinner { margin-left: 12px; }

/* ---------- footer ---------- */
.lp-footer { color: #9FB2CC; border-top: 1px solid rgba(140,192,245,0.12); }
.lp-footer__in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 40px 32px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
	font-size: 14px;
}
.lp-footer__social { display: flex; gap: 24px; }
.lp .lp-footer__social a { color: #E8EEEC; }

/* ---------- case studies archive ---------- */
.lp .lp-nav a[aria-current="page"] { color: #FFFFFF; font-weight: 600; }

.fade-up { animation: lp-fadeup .6s ease both; }
@keyframes lp-fadeup { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.stagger > * { opacity: 0; transform: translateX(-32px); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); }
.stagger.on > * { opacity: 1; transform: none; }
.stagger.on > *:nth-child(2) { transition-delay: .12s; }
.stagger.on > *:nth-child(3) { transition-delay: .24s; }
.stagger.on > *:nth-child(4) { transition-delay: .36s; }
.stagger.on > *:nth-child(5) { transition-delay: .48s; }
.stagger.on > *:nth-child(n+6) { transition-delay: .6s; }
.stagger.on > .tile-lift { transition: opacity .55s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease; }

.cs-hero { position: relative; overflow: hidden; }
.cs-hero__glow {
	position: absolute;
	right: -160px;
	top: -220px;
	width: 640px;
	height: 640px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(79,155,237,0.22), rgba(79,155,237,0) 65%);
	pointer-events: none;
}
.cs-hero__in {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 88px 32px 72px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.lp .cs-hero__title { max-width: 980px; }
.lp .cs-hero__title span { color: var(--accent); }
.cs-hero__desc { margin: 0; font-size: 20px; color: #B7C5DA; max-width: 720px; }

.cs-list {
	max-width: 1280px;
	margin: 0 auto;
	padding: 72px 32px 96px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.lp .cs-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 96px;
	padding: 28px 32px;
	background: #0D1729;
	border: 1px solid rgba(140,192,245,0.18);
	border-radius: 10px;
	color: #FFFFFF;
	text-decoration: none;
}
.lp .cs-card.tile-lift:hover { box-shadow: 0 16px 40px rgba(0,0,0,0.35); border-color: #8CC0F5; }
.cs-card__main { display: flex; align-items: center; gap: 28px; min-width: 0; }
.cs-card__logo { display: flex; align-items: center; flex: 0 0 180px; }
.cs-card__logo img { display: block; height: 64px; width: auto; max-width: 180px; object-fit: contain; border-radius: 4px; }
.cs-card__logo img.is-logo { height: 44px; border-radius: 0; }
.cs-card__title { font-size: 26px; line-height: 1.2; font-weight: 600; }
.cs-card__more { flex: 0 0 auto; font-size: 24px; color: #8CC0F5; transition: color .2s ease; }
.lp .cs-card:hover .cs-card__more { color: #FFFFFF; }

.cs-promo { border-top: 1px solid rgba(140,192,245,0.12); padding: 96px 32px; }
.cs-promo__box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	padding: 56px;
	border: 1px solid var(--accent);
	border-radius: 16px;
	background: linear-gradient(135deg, #16325C, #0D1729 60%);
}
.cs-promo__text { display: flex; flex-direction: column; gap: 16px; max-width: 720px; }
.lp .cs-promo__title { color: #FFFFFF; }
.cs-promo__desc { margin: 0; font-size: 18px; color: #B7C5DA; }
.cs-promo__btns { display: flex; flex-wrap: wrap; gap: 12px; }

.cs-contacts {
	max-width: 1280px;
	margin: 0 auto;
	padding: 72px 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	font-family: var(--mono);
	font-size: 15px;
}
.cs-contacts__item { display: flex; flex-direction: column; gap: 6px; }
.cs-contacts__label { font-size: 12px; color: #8CC0F5; text-transform: uppercase; letter-spacing: 0.06em; }
.lp .cs-contacts__item a, .cs-contacts__item span:not(.cs-contacts__label) { color: #FFFFFF; text-decoration: none; }

/* ---------- case study single ---------- */
.stagger-up > * { opacity: 0; transform: translateY(20px) scale(.96); transition: opacity .45s ease, transform .45s cubic-bezier(.2,.7,.2,1); }
.stagger-up.on > * { opacity: 1; transform: none; }
.stagger-up.on > *:nth-child(2) { transition-delay: .08s; }
.stagger-up.on > *:nth-child(3) { transition-delay: .16s; }
.stagger-up.on > *:nth-child(4) { transition-delay: .24s; }
.stagger-up.on > *:nth-child(5) { transition-delay: .32s; }
.stagger-up.on > *:nth-child(6) { transition-delay: .40s; }
.stagger-up.on > *:nth-child(7) { transition-delay: .48s; }
.stagger-up.on > *:nth-child(8) { transition-delay: .56s; }
.stagger-up.on > *:nth-child(n+9) { transition-delay: .64s; }
.reveal-up { opacity: 0; transform: translateY(36px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.reveal-up.on { opacity: 1; transform: none; }
.reveal-up.d2 { transition-delay: .12s; }
.play-pulse { animation: lp-playpulse 2s ease-out infinite; }
@keyframes lp-playpulse {
	0% { box-shadow: 0 0 0 0 rgba(79,155,237,0.6), 0 0 40px rgba(79,155,237,0.45); transform: scale(1); }
	50% { transform: scale(1.06); }
	70% { box-shadow: 0 0 0 22px rgba(79,155,237,0), 0 0 40px rgba(79,155,237,0.45); }
	100% { box-shadow: 0 0 0 0 rgba(79,155,237,0), 0 0 40px rgba(79,155,237,0.45); transform: scale(1); }
}

.cs-single-hero {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 72px 32px 80px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
	gap: 56px;
	align-items: center;
}
.cs-single-hero__visual { max-width: 600px; width: 100%; justify-self: start; }
.cs-single-hero__visual img { display: block; width: 100%; height: auto; }
.cs-single-hero__content { display: flex; flex-direction: column; align-items: flex-end; gap: 24px; text-align: right; }
.cs-single-hero__logo { display: flex; align-items: center; min-height: 56px; }
.cs-single-hero__logo img { display: block; height: 48px; width: auto; max-width: 260px; object-fit: contain; }
.cs-single-hero__title { margin: 0; font-size: clamp(40px, 4.4vw, 64px); line-height: 1.04; font-weight: 700; letter-spacing: -0.035em; color: #FFFFFF; }
.cs-single-hero__title span { color: inherit; }
.cs-single-hero__desc { margin: 0; font-size: 20px; color: #B7C5DA; max-width: 560px; }

.cs-sec { max-width: 1280px; margin: 0 auto; padding: 96px 32px; display: flex; flex-direction: column; gap: 40px; }

/* WYSIWYG content */
.cs-rich { display: flex; flex-direction: column; gap: 18px; font-size: 16px; line-height: 1.6; color: #B7C5DA; min-width: 0; }
.cs-rich > * { margin: 0; }
.cs-rich p { margin: 0; }
.cs-rich strong, .cs-rich b { color: #FFFFFF; font-weight: 600; }
.cs-rich h2, .cs-rich h3, .cs-rich h4 { margin: 0; font-size: 22px; line-height: 1.25; font-weight: 600; color: #FFFFFF; }
.cs-rich img { max-width: 100%; height: auto; border-radius: 8px; }
.cs-rich ul, .cs-rich ol { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.cs-rich li { position: relative; padding-left: 22px; }
.cs-rich ul li::before { content: ''; position: absolute; left: 0; top: 8px; width: 10px; height: 10px; background: var(--accent); transform: rotate(45deg); }
.cs-rich ol { counter-reset: cs-ol; }
.cs-rich ol li { counter-increment: cs-ol; padding-left: 28px; }
.cs-rich ol li::before { content: counter(cs-ol) '.'; position: absolute; left: 0; color: #8CC0F5; font-family: var(--mono); }
.cs-rich blockquote { margin: 0; padding: 0 0 0 20px; border-left: 2px solid var(--accent); display: flex; flex-direction: column; gap: 10px; color: #E6EDF7; font-size: 16px; line-height: 1.6; }
.cs-rich blockquote p:last-child:not(:first-child) { font-size: 15px; color: #9FB2CC; }
.cs-rich table { width: 100% !important; border-collapse: collapse !important; }
.cs-rich caption { caption-side: top !important; text-align: left !important; font-size: 22px !important; line-height: 1.25; font-weight: 600 !important; color: #FFFFFF; margin: 0 0 20px !important; }
.cs-rich th, .cs-rich td { padding: 14px 16px !important; border: 1px solid rgba(140,192,245,0.22) !important; font-size: 15px; text-align: left; vertical-align: middle; }
.cs-rich th { font-weight: 600; color: #FFFFFF; }
.cs-rich td { color: #C9D6EA; }
.cs-rich em { color: #9FB2CC; }
.cs-rich .wp-video, .cs-rich .wp-video-shortcode, .cs-rich video { width: 100% !important; max-width: 100%; height: auto; }
.cs-rich .wp-video { border-radius: 12px; overflow: hidden; }
.cs-rich .mejs-container { background: #0A1426; }
.cs-rich iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 12px; }

.cs-project { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 48px; align-items: start; }
.cs-project__content { gap: 20px; font-size: 18px; }
.cs-project__content > p:first-child { font-size: 19px; }
.cs-project__media img { display: block; width: 100%; height: auto; border-radius: 12px; }

.cs-video { position: relative; aspect-ratio: 16 / 9; width: 100%; border-radius: 12px; overflow: hidden; border: 1px solid rgba(140,192,245,0.22); background: linear-gradient(135deg, #111D33, #0A1426); }
.cs-video video, .cs-video iframe { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; }
.cs-video__play { all: unset; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; background: rgba(7,13,26,0.25); }
.cs-video.is-playing .cs-video__play { display: none; }
.cs-play { width: 72px; height: 72px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 40px rgba(79,155,237,0.45); }

.cs-tasks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.cs-task { background: #0D1729; border: 1px solid rgba(140,192,245,0.16); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.cs-task__head { padding: 24px 28px; background: linear-gradient(135deg, var(--accent), #2A4268); }
.cs-task__num { font-size: 48px; line-height: 1; font-weight: 700; letter-spacing: -0.03em; color: #FFFFFF; }
.cs-task__body { padding: 24px 28px; }
.cs-task__body p { margin: 0; font-size: 16px; line-height: 1.6; color: #B7C5DA; }
.cs-task__body strong { color: #FFFFFF; font-weight: 600; }

.cs-icon { flex: 0 0 48px; width: 48px; height: 48px; box-sizing: border-box; border-radius: 10px; background: rgba(79,155,237,0.12); border: 1px solid rgba(140,192,245,0.22); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.lp .cs-icon img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }

.cs-challenges { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 40px 48px; }
.cs-challenge { display: flex; flex-direction: column; gap: 18px; }
.cs-challenge p { margin: 0; font-size: 17px; line-height: 1.6; color: #B7C5DA; }
.cs-challenge strong { color: #FFFFFF; font-weight: 600; }

.cs-solutions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 48px; align-items: start; }
.cs-solutions__tabs { display: flex; flex-direction: column; gap: 16px; }
.lp .cs-tab {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 64px;
	padding: 18px 24px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 17px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	background: transparent;
	color: #FFFFFF;
	border: 1px solid rgba(230,237,247,0.6);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.lp .cs-tab:hover, .lp .cs-tab:focus-visible { border-color: #FFFFFF; background: rgba(255,255,255,0.06); }
.lp .cs-tab.is-active { background: #FFFFFF; color: #1F4FD1; border-color: #FFFFFF; }
.cs-tab__icon { flex: 0 0 28px; display: none; }
.cs-tab.is-active .cs-tab__icon { display: block; }
.cs-panel { gap: 20px; }
.cs-panel[hidden] { display: none; }

.cs-tech { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); gap: 12px; }
.cs-tech__item { display: flex; flex-direction: column; align-items: center; gap: 14px; min-height: 150px; padding: 20px; background: #0D1729; border: 1px solid rgba(140,192,245,0.18); border-radius: 10px; }
.cs-tech__logo { display: flex; align-items: center; justify-content: center; flex: 0 0 64px; width: 100%; max-width: 170px; height: 64px; padding: 8px 12px; box-sizing: border-box; background: #FFFFFF; border-radius: 6px; }
.cs-tech__logo img { display: block; margin: 0 auto; max-height: 48px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.cs-tech__name { font-weight: 600; font-size: 15px; color: #E6EDF7; text-align: center; }

.cs-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 20px; }
.cs-result { background: #0D1729; border: 1px solid rgba(140,192,245,0.22); border-radius: 12px; padding: 32px; }
.cs-result > div[style*="overflow"] { overflow-x: auto; }

.cs-contact__aside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.lp-contact__office { color: #9FB2CC; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
	.lp-h1 { font-size: 64px; }
}

@media (max-width: 960px) {
	.lp-burger { display: inline-flex; }
	.lp-header__logo { margin-right: auto; }
	.lp-nav {
		display: none;
		order: 3;
		width: 100%;
		flex-direction: column;
		gap: 0;
		padding-top: 8px;
	}
	.lp-nav__list { flex-direction: column; flex-wrap: nowrap; gap: 0; width: 100%; }
	.lp-nav a { display: block; padding: 12px 0; border-top: 1px solid rgba(140,192,245,0.12); }
	.lp-header.is-open .lp-nav { display: flex; }
	.donor-grid { grid-template-columns: minmax(0, 1fr); }
	.lp-h2 { font-size: 38px; }
	.lp-donors__h2 { font-size: 40px; }
}

@media (max-width: 720px) {
	.lp-in,
	.lp-directions,
	.lp-faq,
	.lp-contact { padding-top: 72px; padding-bottom: 72px; }
	.lp-in--clients { padding-top: 56px; padding-bottom: 64px; }
	.lp-init__head { padding-top: 72px; }
	.lp-init__marquee { padding-bottom: 72px; }
	.lp-hero { padding-top: 56px; gap: 32px; }
	.lp-h1 { font-size: 46px; }
	.lp-hero__lead { font-size: 18px; }
	.lp-h2,
	.lp-donors__h2 { font-size: 32px; }
	.lp-tab__title { font-size: 21px; }
	.lp .lp-tab { padding: 20px 16px; gap: 16px; }
	.lp-case__body h3 { font-size: 22px; }
	.lp .lp-case { padding: 24px; }
	.lp-form .gform_wrapper .gform_fields { grid-template-columns: 1fr !important; }
	.lp-form .gform_wrapper .gfield.half,
	.lp-form .gform_wrapper .gfield--width-half,
	.lp-form .gform_wrapper .gfield--type-text,
	.lp-form .gform_wrapper .gfield--type-email,
	.lp-form .gform_wrapper .gfield--type-phone { grid-column: 1 / -1 !important; }
	.lp-mock__body > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
	.cs-hero__in { padding-top: 56px; padding-bottom: 56px; }
	.cs-hero__desc { font-size: 18px; }
	.cs-list { padding-top: 48px; padding-bottom: 64px; }
	.lp .cs-card { padding: 20px; gap: 16px; }
	.cs-card__main { flex-direction: column; align-items: flex-start; gap: 16px; }
	.cs-card__logo { flex-basis: auto; }
	.cs-card__logo img { height: 52px; }
	.cs-card__title { font-size: 21px; }
	.cs-promo { padding: 64px 0; }
	.cs-promo__box { padding: 32px 24px; }
	.cs-promo__desc { font-size: 16px; }
	.cs-contacts { padding-top: 56px; padding-bottom: 56px; gap: 28px; }
	.cs-single-hero { padding-top: 48px; padding-bottom: 56px; gap: 32px; }
	.cs-single-hero__content { align-items: flex-start; text-align: left; }
	.cs-single-hero__desc { font-size: 18px; }
	.cs-sec { padding-top: 72px; padding-bottom: 72px; gap: 28px; }
	.cs-project__content { font-size: 16px; }
	.cs-project__content > p:first-child { font-size: 17px; }
	.cs-result { padding: 24px 20px; }
	.lp .cs-tab { font-size: 15px; padding: 16px 18px; }
	.cs-tech { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.lp-header__in,
	.lp-hero,
	.lp-stats-wrap,
	.lp-in,
	.lp-directions,
	.lp-faq,
	.lp-init__head,
	.lp-contact,
	.cs-hero__in,
	.cs-list,
	.cs-contacts,
	.cs-single-hero,
	.cs-sec,
	.lp-footer__in { padding-left: 20px; padding-right: 20px; }
	.lp-header .btn-p--sm { display: none; }
	.lp-header__logo img { height: 38px; }
	.lp-h1 { font-size: 40px; }
	.doc-stack { transform: scale(0.6); transform-origin: top left; height: 290px; margin-bottom: -10px; justify-self: start; }
	.lp-pill { border-radius: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.flow line, .pulse, .pulse-dot, .scan { animation: none; }
	.tile-lift { transition: none; }
	.tile-lift:hover { transform: none; }
	.fade-up { animation: none; }
	.stagger > *, .stagger-up > *, .reveal-up { opacity: 1; transform: none; transition: none !important; }
	.play-pulse { animation: none; }
	.lp .cs-tab { transition: none; }
	.marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
	.marquee-track { animation: none; }
	.init-card { transition: none; }
	.init-card:hover { transform: none; }
	.tl-wipe, .tl-clip { clip-path: none; transition: none; }
	.tl-fade { opacity: 1; transform: none; transition: none; }
	.tl-shine { display: none; }
	.doc-stack .ds-card, .doc-stack .ds-main, .ds-list > div, .ds-list > div svg { transition: none !important; }
	.ds-on .ds-main { animation: none; }
	.faq .chev { transition: none; }
	.lp .btn-p, .lp .btn-o, .lp .btn-row, .lp .lp-tab { transition: none; }
}
