:root {
	--pk2-navy: #06131d;
	--pk2-navy-soft: #0a1d2a;
	--pk2-cyan: #0fa9d4;
	--pk2-cyan-light: #42c9e9;
	--pk2-blue: #0a739d;
	--pk2-ink: #111920;
	--pk2-muted: #5c6973;
	--pk2-line: #d7e0e6;
	--pk2-cloud: #f5f7f8;
	--pk2-shell: min(1180px, calc(100% - 48px));
}

.pk2-shell {
	width: var(--pk2-shell);
	margin-inline: auto;
}

.pk2-icon {
	width: 1.3em;
	height: 1.3em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex: 0 0 auto;
}

.pk2-topbar {
	position: relative;
	z-index: 30;
	background: #07141e;
	border-bottom: 1px solid rgba(74, 183, 220, .24);
	color: #d7e0e6;
	font-size: 13px;
}

.pk2-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 40px;
	gap: 24px;
}

.pk2-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.pk2-topbar__item .pk2-icon { color: var(--pk2-cyan-light); }
.pk2-topbar__phone { color: #fff !important; font-weight: 850; }

.pk2-header {
	position: absolute;
	z-index: 25;
	top: 40px;
	left: 0;
	right: 0;
	color: #fff;
}

.admin-bar .pk2-header { top: 72px; }

.pk2-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 92px;
	gap: 32px;
}

.pk2-logo {
	display: inline-flex;
	width: 185px;
	flex: 0 0 auto;
}

.pk2-logo img { width: 100%; height: auto; }

.pk2-nav {
	display: flex;
	align-items: center;
	gap: clamp(25px, 3vw, 42px);
	margin-left: auto;
}

.pk2-nav a:not(.pk2-button) {
	position: relative;
	color: rgba(255,255,255,.92);
	font-size: 14px;
	font-weight: 760;
}

.pk2-nav a:not(.pk2-button)::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -7px;
	width: 0;
	height: 2px;
	background: var(--pk2-cyan);
	transition: width 180ms ease;
}

.pk2-nav a:hover::after,
.pk2-nav a:focus-visible::after { width: 100%; }

.pk2-menu-toggle {
	position: relative;
	display: none;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 7px;
	background: rgba(255,255,255,.06);
	color: #fff;
	cursor: pointer;
}
.pk2-menu-toggle > span:not(.screen-reader-text) {
	position: absolute;
	left: 10px;
	width: 22px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transition: top 180ms ease, transform 180ms ease, opacity 180ms ease;
}
.pk2-menu-toggle > span:nth-child(1) { top: 13px; }
.pk2-menu-toggle > span:nth-child(2) { top: 21px; }
.pk2-menu-toggle > span:nth-child(3) { top: 29px; }
.pk2-menu-toggle[aria-expanded="true"] > span:nth-child(1) { top: 21px; transform: rotate(45deg); }
.pk2-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.pk2-menu-toggle[aria-expanded="true"] > span:nth-child(3) { top: 21px; transform: rotate(-45deg); }

.pk2-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 51px;
	padding: 0 26px;
	border: 1px solid transparent;
	border-radius: 5px;
	background: linear-gradient(135deg, #16afd8, #087da7);
	box-shadow: 0 12px 28px rgba(8, 151, 195, .22);
	color: #fff !important;
	font-size: 13px;
	font-weight: 850;
	letter-spacing: .015em;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.pk2-button:hover,
.pk2-button:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(8, 151, 195, .33);
}

.pk2-button--outline {
	border-color: rgba(255,255,255,.68);
	background: rgba(5, 18, 27, .4);
	box-shadow: none;
}

.pk2-button--outline:hover,
.pk2-button--outline:focus-visible { background: rgba(255,255,255,.1); box-shadow: none; }

.pk2-hero {
	position: relative;
	min-height: 680px;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(5,16,25,1) 0%, rgba(5,16,25,.98) 30%, rgba(5,16,25,.75) 49%, rgba(5,16,25,.15) 72%, rgba(5,16,25,.02) 100%),
		image-set(url("images/hero-programmers-key-v3.avif") type("image/avif"), url("images/hero-programmers-key-v3.webp") type("image/webp"), url("images/hero-programmers-key-v3.png") type("image/png")) center right / cover no-repeat;
	color: #fff;
}

.pk2-hero::before {
	content: "";
	position: absolute;
	left: -50px;
	top: 130px;
	width: 610px;
	height: 360px;
	opacity: .2;
	background:
		radial-gradient(circle at 16% 31%, var(--pk2-cyan-light) 0 4px, transparent 5px),
		radial-gradient(circle at 57% 62%, var(--pk2-cyan-light) 0 4px, transparent 5px),
		radial-gradient(circle at 85% 28%, var(--pk2-cyan-light) 0 4px, transparent 5px),
		linear-gradient(0deg, transparent 48.8%, var(--pk2-cyan-light) 49.2% 49.7%, transparent 50.1%),
		linear-gradient(35deg, transparent 49%, var(--pk2-cyan-light) 49.3% 49.7%, transparent 50%);
}

.pk2-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 150px;
	background: linear-gradient(0deg, rgba(4,15,23,.65), transparent);
}

.pk2-hero__content {
	position: relative;
	z-index: 3;
	max-width: 585px;
	padding: 178px 0 68px;
}

.pk2-breadcrumbs {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 28px;
	padding: 7px 13px;
	border: 1px solid rgba(255,255,255,.14);
	background: rgba(4,17,26,.58);
	color: #d4dee4;
	font-size: 10px;
	font-weight: 760;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.pk2-hero__eyebrow {
	margin: 0 0 12px;
	color: var(--pk2-cyan-light);
	font-size: 14px;
	font-weight: 850;
	letter-spacing: .055em;
	text-transform: uppercase;
}

.pk2-hero h1 {
	max-width: 700px;
	margin: 0;
	color: #fff;
	font-size: clamp(46px, 5vw, 66px);
	font-weight: 900;
	letter-spacing: -.05em;
	line-height: .99;
}

.pk2-hero__location {
	display: block;
	margin-top: .14em;
	color: #fff;
	font-size: .56em;
	letter-spacing: -.035em;
	line-height: 1.08;
}

.pk2-hero__lead {
	max-width: 540px;
	margin: 16px 0 0;
	color: #d7e0e5;
	font-size: 18px;
	line-height: 1.56;
}

.pk2-hero__promise {
	margin: 13px 0 0;
	color: var(--pk2-cyan-light);
	font-size: clamp(19px,2vw,26px);
	font-weight: 820;
	letter-spacing: -.025em;
}

.pk2-hero__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 31px;
}

.pk2-section {
	padding: 64px 0;
}

.pk2-heading {
	margin: 0 0 27px;
}

.pk2-heading h2 {
	margin: 0;
	color: var(--pk2-ink);
	font-size: clamp(31px, 3.4vw, 43px);
	font-weight: 900;
	letter-spacing: -.045em;
	line-height: 1.08;
}

.pk2-heading h2::after {
	content: "";
	display: block;
	width: 43px;
	height: 3px;
	margin-top: 12px;
	background: var(--pk2-cyan);
}

.pk2-heading p {
	max-width: 760px;
	margin: 13px 0 0;
	color: var(--pk2-muted);
	font-size: 15px;
}

.pk2-evolution { background: #fff; }

.pk2-evolution__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 25px;
}

.pk2-key-stage {
	position: relative;
	text-align: center;
}

.pk2-key-stage::before {
	content: "";
	position: absolute;
	top: 38px;
	left: 50%;
	width: 1px;
	height: 18px;
	background: var(--pk2-cyan);
}

.pk2-key-stage::after {
	content: "";
	position: absolute;
	top: 54px;
	left: calc(50% - 3px);
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pk2-cyan);
}

.pk2-key-stage h3 {
	min-height: 38px;
	margin: 0;
	color: var(--pk2-ink);
	font-size: 15px;
	font-weight: 850;
	line-height: 1.2;
}

.pk2-key-stage__image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 180px;
	margin-top: 19px;
	overflow: hidden;
	border-radius: 9px;
	background: linear-gradient(145deg, #d6dcdf, #f5f7f8);
	box-shadow: inset 0 0 0 1px rgba(20,40,55,.08);
}

.pk2-key-stage__image img {
	width: 100%;
	height: 100%;
	padding: 15px;
	object-fit: contain;
}

.pk2-key-stage__image--photo img { padding: 0; object-fit: cover; }

.pk2-key-stage p {
	margin: 11px 0 0;
	color: #3e4b54;
	font-size: 12px;
	line-height: 1.35;
}

.pk2-price {
	margin-top: 42px;
	padding: 23px 27px 25px;
	border: 1px solid #afb9c0;
	border-radius: 18px;
	background: linear-gradient(135deg, #eef1f3, #dfe3e6 48%, #f5f7f8);
	box-shadow: 0 17px 40px rgba(9,29,42,.13);
}

.pk2-price h3 {
	margin: 0 0 15px;
	color: var(--pk2-ink);
	font-size: 25px;
	font-weight: 900;
	letter-spacing: -.03em;
	text-align: center;
}

.pk2-price-form {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	align-items: end;
	gap: 14px;
}

.pk2-field label {
	display: block;
	margin: 0 0 5px;
	font-size: 12px;
	font-weight: 850;
}

.pk2-field select {
	width: 100%;
	height: 49px;
	padding: 0 38px 0 13px;
	border: 1px solid #afb9c1;
	border-radius: 4px;
	background: #fff;
	color: #26343e;
	font-size: 13px;
}

.pk2-price__message {
	grid-column: 1 / -1;
	margin: 0;
	color: #56636d;
	font-size: 12px;
	text-align: center;
}

.pk2-stats {
	position: relative;
	overflow: hidden;
	background: linear-gradient(100deg, #06131d, #0a2231);
	color: #fff;
}

.pk2-stats::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: .13;
	background-image: linear-gradient(35deg, transparent 49.5%, #40c9e9 50%, transparent 50.5%);
	background-size: 140px 140px;
}

.pk2-stats__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 28px 0;
}

.pk2-stat {
	display: grid;
	grid-template-columns: 55px 1fr;
	align-items: center;
	gap: 14px;
	min-height: 74px;
	padding: 0 27px;
	border-right: 1px solid rgba(255,255,255,.24);
}

.pk2-stat:first-child { padding-left: 0; }
.pk2-stat:last-child { border-right: 0; }
.pk2-stat .pk2-icon { width: 50px; height: 50px; color: #fff; }
.pk2-stat strong { display: block; font-size: 34px; font-weight: 900; letter-spacing: -.03em; line-height: .95; }
.pk2-stat span { display: block; margin-top: 4px; font-size: 13px; font-weight: 750; line-height: 1.15; }

.pk2-trust { background: var(--pk2-cloud); }

.pk2-trust__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.pk2-trust-card {
	display: grid;
	grid-template-columns: 67px 1fr;
	align-items: center;
	gap: 18px;
	min-height: 150px;
	padding: 24px;
	border: 1px solid #cbd5db;
	border-radius: 8px;
	background: rgba(255,255,255,.66);
	box-shadow: 0 7px 20px rgba(15,38,52,.04);
}

.pk2-trust-card .pk2-icon {
	width: 61px;
	height: 61px;
	padding: 10px;
	border: 2px solid #1684b0;
	border-radius: 12px;
	color: #0b729b;
}

.pk2-trust-card h3 {
	margin: 0;
	color: var(--pk2-ink);
	font-size: 16px;
	font-weight: 880;
}

.pk2-trust-card p {
	margin: 7px 0 0;
	color: #41505a;
	font-size: 12px;
	line-height: 1.38;
}

.pk2-technology {
	position: relative;
	min-height: 620px;
	overflow: hidden;
	background:
		linear-gradient(90deg, #06131d 0%, rgba(6,19,29,.98) 39%, rgba(6,19,29,.62) 57%, rgba(6,19,29,.05) 82%),
		image-set(url("images/hero-programmers-v2.avif") type("image/avif"), url("images/hero-programmers-v2.webp") type("image/webp"), url("images/hero-programmers-v2.png") type("image/png")) center right / cover no-repeat;
	color: #fff;
}

.pk2-technology__content {
	position: relative;
	z-index: 2;
	max-width: 485px;
	padding: 67px 0 62px;
}

.pk2-technology h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(38px, 4vw, 50px);
	font-weight: 900;
	letter-spacing: -.045em;
	line-height: 1.03;
}

.pk2-technology h2::after {
	content: "";
	display: block;
	width: 43px;
	height: 3px;
	margin-top: 14px;
	background: var(--pk2-cyan);
}

.pk2-technology__lead { margin: 20px 0 0; color: #d4dee4; font-size: 15px; }

.pk2-tech-list {
	display: grid;
	gap: 22px;
	margin-top: 34px;
}

.pk2-tech-item {
	display: grid;
	grid-template-columns: 58px 1fr;
	align-items: center;
	gap: 14px;
}

.pk2-tech-item .pk2-icon { width: 54px; height: 54px; color: var(--pk2-cyan-light); }
.pk2-tech-item strong { display: block; font-size: 15px; }
.pk2-tech-item span { display: block; margin-top: 3px; color: #c7d4dc; font-size: 12px; line-height: 1.35; }

.pk2-process {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 48px 0 58px;
	border-block: 1px solid #e4edf2;
	background:
		radial-gradient(circle at 9% 0%, rgba(28,180,221,.1), transparent 27%),
		linear-gradient(180deg,#fff 0%,#f5f9fb 100%);
}

.pk2-process::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(9,112,151,.035) 1px, transparent 1px),
		linear-gradient(90deg,rgba(9,112,151,.035) 1px, transparent 1px);
	background-size: 32px 32px;
	mask-image: linear-gradient(90deg,#000,transparent 52%);
	pointer-events: none;
}

.pk2-process .pk2-heading {
	margin-bottom: 30px;
}

.pk2-process__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	counter-reset: steps;
}

.pk2-step {
	position: relative;
	min-height: 224px;
	overflow: visible;
	padding: 43px 26px 105px;
	border: 1px solid rgba(8,112,153,.2);
	border-radius: 18px;
	background:
		linear-gradient(135deg,rgba(255,255,255,.99),rgba(241,248,251,.96)),
		#fff;
	box-shadow:
		inset 0 3px 0 rgba(42,190,229,.2),
		0 18px 38px rgba(8,44,62,.1);
	counter-increment: steps;
}

.pk2-step::before {
	content: counter(steps);
	position: absolute;
	left: 20px;
	top: -25px;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border: 5px solid #f8fbfc;
	border-radius: 50%;
	background: linear-gradient(145deg,#17add5,#07557d 72%);
	box-shadow: 0 10px 24px rgba(6,94,132,.28);
	color: #fff;
	font-size: 19px;
	font-weight: 900;
}

.pk2-step:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -25px;
	top: 50%;
	z-index: 2;
	width: 25px;
	height: 4px;
	background: radial-gradient(circle,#18b4df 2px,transparent 2.5px) center / 9px 4px repeat-x;
	transform: translateY(-50%);
}

.pk2-step h3 { margin: 0; color: var(--pk2-ink); font-size: 18px; font-weight: 880; line-height: 1.17; letter-spacing: -.02em; }
.pk2-step p { max-width: 205px; margin: 10px 0 0; color: #4e606a; font-size: 13px; line-height: 1.42; }

.pk2-step__icon {
	position: absolute;
	right: 21px;
	bottom: 18px;
	display: grid;
	place-items: center;
	width: 82px;
	height: 82px;
	border: 1px solid rgba(91,218,247,.42);
	border-radius: 22px;
	background:
		radial-gradient(circle at 30% 20%,rgba(40,201,238,.25),transparent 42%),
		linear-gradient(145deg,#0b759b,#05283d 72%);
	box-shadow:
		inset 0 0 0 7px rgba(4,26,39,.2),
		0 14px 26px rgba(3,55,79,.24);
}

.pk2-step__icon::before {
	content: "";
	position: absolute;
	inset: 8px;
	border: 1px dashed rgba(112,225,251,.3);
	border-radius: 17px;
}

.pk2-step__icon--image {
	overflow: hidden;
	border-color: rgba(71,215,246,.58);
}

.pk2-step__icon--image::before { display: none; }

.pk2-step__icon-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pk2-step__icon .pk2-icon {
	position: relative;
	z-index: 1;
	width: 50px;
	height: 50px;
	color: #8be8ff;
	stroke-width: 1.9;
	filter: drop-shadow(0 0 7px rgba(45,205,243,.34));
}

.pk2-area {
	padding: 30px 0 20px;
	border-top: 1px solid var(--pk2-line);
	background: var(--pk2-cloud);
}

.pk2-area__heading {
	margin-bottom: 17px;
}

.pk2-area__heading h2 {
	font-size: clamp(27px, 2.1vw, 34px);
	letter-spacing: -.035em;
}

.pk2-area__heading h2::after {
	margin-top: 9px;
}

.pk2-area__grid {
	display: grid;
	grid-template-columns: .68fr 1.32fr;
	align-items: stretch;
	overflow: hidden;
	border-radius: 11px;
	background: #eaf6fa;
}

.pk2-area__copy {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	padding: 22px 30px;
	background: #fff;
	clip-path: polygon(0 0, 91% 0, 100% 50%, 91% 100%, 0 100%);
}

.pk2-area__copy p { max-width: 320px; margin: 0 0 15px; color: var(--pk2-muted); font-size: 14px; line-height: 1.45; }
.pk2-area__copy .pk2-button { min-height: 45px; padding-inline: 20px; font-size: 12px; }

.pk2-map {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	background: var(--pk2-navy);
}

.pk2-map__link {
	position: relative;
	display: block;
	height: 100%;
	color: #fff !important;
}

.pk2-map__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 310px;
	object-fit: cover;
	object-position: center;
}

.pk2-map__zoom {
	position: absolute;
	right: 14px;
	bottom: 14px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	padding: 8px 12px;
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 7px;
	background: rgba(6,19,29,.88);
	box-shadow: 0 8px 22px rgba(0,0,0,.24);
	color: #fff;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .035em;
	text-transform: uppercase;
	transition: background 180ms ease, border-color 180ms ease;
}

.pk2-map__zoom .pk2-icon { width: 15px; height: 15px; }
.pk2-map__link:hover .pk2-map__zoom,
.pk2-map__link:focus-visible .pk2-map__zoom { border-color: var(--pk2-cyan-light); background: rgba(6,19,29,.98); }
.pk2-map__link:focus-visible { outline: 3px solid var(--pk2-cyan-light); outline-offset: -3px; }

.pk2-reviews { padding: 24px 0 32px; background: var(--pk2-cloud); }
.pk2-reviews .pk2-heading { margin-bottom: 18px; }
.pk2-reviews .pk2-heading h2 { font-size: clamp(28px,2.4vw,36px); }
.pk2-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pk2-review { padding: 22px; border: 1px solid var(--pk2-line); border-radius: 9px; background: #fff; }
.pk2-review__head { display: flex; align-items: center; gap: 11px; }
.pk2-review__google { display: grid; flex: 0 0 36px; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(6,19,29,.13); }
.pk2-review__google img { display: block; width: 28px; height: 28px; }
.pk2-review__person { margin-right: auto; }
.pk2-review__person strong,.pk2-review__person span { display: block; }
.pk2-review__person strong { font-size: 14px; }
.pk2-review__person span { color: #8a959d; font-size: 10px; }
.pk2-stars { color: #f5a400; font-size: 14px; letter-spacing: 1px; white-space: nowrap; }
.pk2-review p { margin: 15px 0 0; color: #2c3942; font-size: 13px; }
.pk2-review p a { color: #087fa9; font-weight: 820; text-decoration: underline; text-underline-offset: 3px; }

.pk2-cta { background: linear-gradient(105deg,#071722,#0c2636); color: #fff; }
.pk2-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 120px; }
.pk2-cta h2 { margin: 0; color: #fff; font-size: clamp(28px,3.2vw,39px); font-weight: 900; letter-spacing: -.04em; }
.pk2-cta p { margin: 3px 0 0; color: #b9c8d1; }
.pk2-cta__actions { display: flex; gap: 12px; flex: 0 0 auto; }

.pk2-footer { padding: 40px 0 16px; background: #06131d; color: #b8c4cb; }
.pk2-footer__grid { display: grid; grid-template-columns: 1.2fr .85fr .85fr .75fr; gap: 40px; }
.pk2-footer__brand img { width: 165px; }
.pk2-footer__brand p { max-width: 270px; margin: 14px 0; font-size: 12px; }
.pk2-footer__phone { display: inline-flex; align-items: center; gap: 7px; color: #fff !important; font-size: 13px; font-weight: 850; }
.pk2-footer h3 { margin: 0 0 14px; color: #fff; font-size: 12px; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.pk2-footer ul { margin: 0; padding: 0; list-style: none; }
.pk2-footer li,.pk2-footer address,.pk2-footer p { font-size: 12px; font-style: normal; }
.pk2-footer li + li { margin-top: 5px; }
.pk2-footer a:hover,.pk2-footer a:focus-visible { color: var(--pk2-cyan-light); }
.pk2-footer__bottom { margin-top: 28px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.09); font-size: 10px; text-align: center; }

@media (max-width: 1020px) {
	.pk2-nav { gap: 20px; }
	.pk2-nav a:not(.pk2-button) { font-size: 13px; }
	.pk2-menu-toggle { display: grid; }
	.pk2-nav {
		position: absolute;
		top: 80px;
		left: 17px;
		right: 17px;
		display: none;
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		padding: 12px;
		border: 1px solid rgba(85,196,229,.2);
		border-radius: 10px;
		background: rgba(4,17,26,.98);
		box-shadow: 0 20px 45px rgba(0,0,0,.34);
	}
	.pk2-nav.is-open { display: flex; }
	.pk2-nav a:not(.pk2-button) { padding: 13px 11px; }
	.pk2-nav .pk2-button { margin-top: 8px; }
	.pk2-hero { background-position: 60% center; }
	.pk2-evolution__grid { gap: 14px; }
	.pk2-key-stage__image { height: 155px; }
	.pk2-trust__grid { grid-template-columns: repeat(2,1fr); }
	.pk2-stat { padding: 0 17px; }
	.pk2-stat strong { font-size: 29px; }
	.pk2-process__grid { grid-template-columns: repeat(2,1fr); gap: 34px 22px; }
	.pk2-step:nth-child(2)::after { display: none; }
}

@media (max-width: 840px) {
	:root { --pk2-shell: min(100% - 34px, 720px); }
	.pk2-menu-toggle { display: grid; }
	.pk2-nav {
		position: absolute;
		top: 80px;
		left: 17px;
		right: 17px;
		display: none;
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		padding: 12px;
		border: 1px solid rgba(80,188,222,.24);
		border-radius: 10px;
		background: rgba(4,17,26,.98);
		box-shadow: 0 20px 45px rgba(0,0,0,.34);
	}
	.pk2-nav.is-open { display: flex; }
	.pk2-nav a:not(.pk2-button) { padding: 13px 11px; }
	.pk2-nav .pk2-button { margin-top: 8px; }
	.pk2-hero { min-height: 650px; background-position: 67% center; }
	.pk2-hero::after { inset: 0; height: auto; background: linear-gradient(90deg,rgba(4,15,23,.96),rgba(4,15,23,.73) 64%,rgba(4,15,23,.34)); }
	.pk2-hero__content { padding-top: 160px; }
	.pk2-evolution__grid { grid-template-columns: repeat(3,1fr); row-gap: 30px; }
	.pk2-price-form { grid-template-columns: 1fr 1fr auto; }
	.pk2-stats__grid { grid-template-columns: repeat(2,1fr); gap: 20px 0; }
	.pk2-stat:nth-child(2) { border-right: 0; }
	.pk2-stat:nth-child(3) { padding-left: 0; }
	.pk2-trust__grid { grid-template-columns: 1fr 1fr; }
	.pk2-technology { background-position: 66% center; }
	.pk2-technology::after { content:""; position:absolute; inset:0; background:rgba(4,15,23,.35); }
	.pk2-area__grid { grid-template-columns: 1fr; }
	.pk2-area__copy { clip-path: none; }
	.pk2-reviews__grid { grid-template-columns: 1fr; }
	.pk2-footer__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 580px) {
	:root { --pk2-shell: calc(100% - 28px); }
	.admin-bar .pk2-header { top: 86px; }
	.pk2-topbar__inner { min-height: 44px; }
	.pk2-topbar__inner > span { max-width: 59%; font-size: 10px; }
	.pk2-topbar__phone { max-width: 39%; font-size: 11px; text-align: right; }
	.pk2-header { top: 44px; }
	.pk2-header__inner { min-height: 76px; }
	.pk2-logo { width: 144px; }
	.pk2-hero {
		min-height: 1010px;
		background-color: #041017;
		background-image: image-set(url("images/hero-programmers-key-v3-960.avif") type("image/avif"), url("images/hero-programmers-key-v3-960.webp") type("image/webp"), url("images/hero-programmers-key-v3.png") type("image/png"));
		background-position: 60% 112px;
		background-size: auto 430px;
		background-repeat: no-repeat;
	}
	.pk2-hero::after { background: linear-gradient(0deg,rgba(4,15,23,.99) 0%,rgba(4,15,23,.98) 40%,rgba(4,15,23,.35) 50%,rgba(4,15,23,.06) 62%); }
	.pk2-hero::before { display: none; }
	.pk2-hero__content { max-width: none; padding: 510px 0 50px; }
	.pk2-breadcrumbs { margin-bottom: 22px; }
	.pk2-hero h1 { max-width: 345px; font-size: clamp(39px,11vw,48px); }
	.pk2-hero__lead { max-width: 345px; font-size: 16px; }
	.pk2-hero__actions { align-items: stretch; flex-direction: column; max-width: 345px; }
	.pk2-section { padding: 52px 0; }
	.pk2-heading h2 { font-size: 32px; }
	.pk2-evolution__grid { grid-template-columns: repeat(2,1fr); gap: 28px 14px; }
	.pk2-key-stage:last-child { grid-column: 1 / -1; width: calc(50% - 7px); margin-inline: auto; }
	.pk2-key-stage__image { height: 145px; }
	.pk2-price { margin-top: 34px; padding: 23px 17px 25px; border-radius: 16px; }
	.pk2-price h3 { font-size: 24px; }
	.pk2-price-form { grid-template-columns: 1fr; }
	.pk2-stats__grid { gap: 14px 0; padding: 25px 0; }
	.pk2-stat { grid-template-columns: 39px 1fr; min-height: 65px; padding: 0 9px; }
	.pk2-stat .pk2-icon { width: 36px; height: 36px; }
	.pk2-stat strong { font-size: 22px; }
	.pk2-stat span { font-size: 10px; }
	.pk2-trust__grid { grid-template-columns: 1fr; }
	.pk2-trust-card { min-height: 125px; }
	.pk2-technology { min-height: 690px; background-position: 68% top; }
	.pk2-technology::after { background: linear-gradient(0deg,rgba(4,15,23,.98),rgba(4,15,23,.82) 76%,rgba(4,15,23,.42)); }
	.pk2-technology__content { padding: 52px 0; }
	.pk2-technology h2 { font-size: 39px; }
	.pk2-process { padding: 52px 0 56px; }
	.pk2-process .pk2-heading { margin-bottom: 36px; }
	.pk2-process__grid { grid-template-columns: 1fr; gap: 44px; }
	.pk2-step { min-height: 214px; padding: 42px 23px 101px; }
	.pk2-step__icon { right: 18px; bottom: 16px; width: 78px; height: 78px; }
	.pk2-step__icon .pk2-icon { width: 47px; height: 47px; }
	.pk2-step:not(:last-child)::after { display: none; }
	.pk2-map__image { height: auto; min-height: 0; object-fit: contain; }
	.pk2-map__zoom { right: 9px; bottom: 9px; min-height: 32px; padding: 7px 9px; font-size: 9px; }
	.pk2-cta__inner { align-items: flex-start; flex-direction: column; padding: 31px 0; }
	.pk2-cta__actions { width: 100%; flex-direction: column; }
	.pk2-footer__grid { grid-template-columns: 1fr; gap: 28px; }
}

@media (prefers-reduced-motion: reduce) {
	.pk2-button,
	.pk2-nav a::after { transition: none !important; }
}
