:root {
	--pk7-navy: #06131d;
	--pk7-navy-soft: #0a1d2a;
	--pk7-cyan: #0fa9d4;
	--pk7-cyan-light: #42c9e9;
	--pk7-ink: #111920;
	--pk7-muted: #5f6c76;
	--pk7-line: #d9e2e7;
	--pk7-cloud: #f3f7f9;
}

.pk-service-seo {
	background: #fff;
	color: var(--pk7-ink);
}

.pk7-skip-link {
	position: fixed;
	z-index: 9999;
	top: 12px;
	left: 12px;
	transform: translateY(-160%);
	padding: 12px 18px;
	border-radius: 5px;
	background: #fff;
	color: var(--pk7-navy) !important;
	font-weight: 800;
}

.pk7-skip-link:focus { transform: none; }

.pk7-header { border-bottom: 1px solid rgba(255,255,255,.09); }

.pk7-hero {
	position: relative;
	min-height: 690px;
	overflow: hidden;
	background: var(--pk7-navy);
	color: #fff;
}

.pk7-hero__background {
	position: absolute;
	inset: 0 0 0 auto;
	width: 64%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.pk-service-seo--naprawy-immobilizera-3 .pk7-hero__background { object-position: 50% 58%; }
.pk-service-seo--naprawa-stacyjek .pk7-hero__background { object-position: 60% 50%; }

.pk7-hero__shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(4,16,25,1) 0%, rgba(4,16,25,.98) 37%, rgba(4,16,25,.81) 54%, rgba(4,16,25,.30) 77%, rgba(4,16,25,.13) 100%),
		linear-gradient(0deg, rgba(4,16,25,.58), transparent 42%);
}

.pk7-hero__shade::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: .11;
	background-image:
		linear-gradient(30deg, transparent 49%, rgba(65,199,234,.7) 50%, transparent 51%),
		linear-gradient(150deg, transparent 49%, rgba(65,199,234,.5) 50%, transparent 51%);
	background-size: 110px 64px;
	mask-image: linear-gradient(90deg, #000, transparent 58%);
}

.pk7-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	min-height: 690px;
	padding: 150px 0 70px;
}

.pk7-hero__copy {
	position: relative;
	z-index: 2;
	width: min(660px, 62%);
}

.pk7-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 34px;
	color: rgba(255,255,255,.63);
	font-size: 12px;
	font-weight: 720;
	letter-spacing: .055em;
	text-transform: uppercase;
}

.pk7-breadcrumbs a { color: var(--pk7-cyan-light) !important; }
.pk7-breadcrumbs strong { color: rgba(255,255,255,.82); }

.pk7-eyebrow,
.pk7-kicker {
	margin: 0 0 13px;
	color: var(--pk7-cyan-light);
	font-size: 13px;
	font-weight: 850;
	letter-spacing: .09em;
	text-transform: uppercase;
}

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

.pk7-lead {
	max-width: 610px;
	margin: 25px 0 0;
	color: rgba(255,255,255,.83);
	font-size: 18px;
	line-height: 1.58;
}

.pk7-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 13px;
	margin-top: 32px;
}

.pk7-hero__product {
	position: absolute;
	z-index: 3;
	right: 1.5%;
	bottom: 2%;
	width: min(29vw, 385px);
	height: auto;
	filter: drop-shadow(0 22px 26px rgba(0,0,0,.45));
}

.pk-service-seo--naprawy-immobilizera-3 .pk7-hero__product,
.pk-service-seo--klucze-zamki-do-hakow-holowniczych .pk7-hero__product { width: min(25vw, 340px); }

.pk7-facts {
	position: relative;
	z-index: 4;
	background: #071620;
	color: #fff;
}

.pk7-facts__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	min-height: 106px;
}

.pk7-facts__grid > div {
	display: flex;
	align-items: center;
	gap: 17px;
	padding: 22px 34px;
	border-right: 1px solid rgba(255,255,255,.12);
}

.pk7-facts__grid > div:first-child { padding-left: 0; }
.pk7-facts__grid > div:last-child { border-right: 0; }
.pk7-facts__grid span { color: var(--pk7-cyan-light); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.pk7-facts__grid strong { font-size: 16px; line-height: 1.3; }

.pk7-section { padding: 82px 0; }

.pk7-heading { max-width: 790px; margin-bottom: 36px; }
.pk7-heading > span { color: #0788b5; font-size: 12px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.pk7-heading h2,
.pk7-copy > h2 {
	margin: 9px 0 0;
	color: var(--pk7-ink);
	font-size: clamp(34px, 4vw, 52px);
	font-weight: 900;
	letter-spacing: -.038em;
	line-height: 1.04;
}
.pk7-heading h2::after,
.pk7-copy > h2::after {
	display: block;
	width: 52px;
	height: 3px;
	margin-top: 17px;
	background: var(--pk7-cyan);
	content: "";
}
.pk7-heading p { max-width: 730px; margin: 18px 0 0; color: var(--pk7-muted); font-size: 16px; line-height: 1.65; }

.pk7-scope { background: #fff; }
.pk7-scope__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pk7-scope__grid article {
	position: relative;
	min-height: 250px;
	padding: 36px 32px;
	overflow: hidden;
	border: 1px solid var(--pk7-line);
	border-radius: 12px;
	background: linear-gradient(155deg, #fff 0%, #fff 64%, #edf8fb 100%);
	box-shadow: 0 16px 40px rgba(8,34,50,.07);
}
.pk7-scope__grid article::after {
	content: "";
	position: absolute;
	right: -35px;
	bottom: -45px;
	width: 130px;
	height: 130px;
	border: 22px solid rgba(15,169,212,.08);
	border-radius: 50%;
}
.pk7-scope__grid article > span { display: inline-block; margin-bottom: 34px; color: #0787b3; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.pk7-scope__grid h3 { margin: 0; color: var(--pk7-ink); font-size: 22px; font-weight: 880; line-height: 1.18; }
.pk7-scope__grid p { position: relative; z-index: 1; margin: 13px 0 0; color: var(--pk7-muted); font-size: 15px; line-height: 1.55; }

.pk7-information { background: var(--pk7-cloud); }
.pk7-information__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr); align-items: start; gap: 64px; }
.pk7-copy { min-width: 0; }
.pk7-copy > h2 { margin-bottom: 34px; font-size: clamp(34px, 3.5vw, 48px); }
.pk7-copy > h3 { margin: 34px 0 12px; color: var(--pk7-ink); font-size: 25px; font-weight: 880; line-height: 1.2; }
.pk7-copy > p,
.pk7-copy > ul,
.pk7-copy > ol { margin: 0 0 18px; color: #43515c; font-size: 16px; line-height: 1.75; }
.pk7-copy > ul,
.pk7-copy > ol { padding-left: 24px; }
.pk7-copy a { color: #087fa9; font-weight: 760; text-decoration: underline; text-underline-offset: 3px; }

.pk7-contact-card {
	position: sticky;
	top: 24px;
	padding: 34px;
	border-radius: 12px;
	background: linear-gradient(145deg, #071b28, #0b3144);
	box-shadow: 0 20px 54px rgba(5,28,42,.2);
	color: rgba(255,255,255,.78);
}
.admin-bar .pk7-contact-card { top: 56px; }
.pk7-contact-card > span { color: var(--pk7-cyan-light); font-size: 12px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.pk7-contact-card h2 { margin: 13px 0 14px; color: #fff; font-size: 29px; font-weight: 900; letter-spacing: -.035em; line-height: 1.08; }
.pk7-contact-card p { margin: 0 0 24px; font-size: 14px; line-height: 1.65; }
.pk7-contact-card .pk2-button { width: 100%; }
.pk7-contact-card__phone { display: block; margin-top: 18px; color: #fff !important; font-size: 22px; font-weight: 900; text-align: center; }

.pk7-process { background: #fff; }
.pk7-process__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pk7-process__grid article { position: relative; min-height: 205px; padding: 30px 24px; border: 1px solid var(--pk7-line); border-radius: 10px; }
.pk7-process__grid article:not(:last-child)::after { content: "···"; position: absolute; z-index: 2; top: 91px; right: -17px; color: var(--pk7-cyan); font-size: 18px; font-weight: 900; letter-spacing: 2px; }
.pk7-process__grid span { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 27px; border-radius: 50%; background: #087ea7; color: #fff; font-size: 16px; font-weight: 900; }
.pk7-process__grid h3 { margin: 0; color: var(--pk7-ink); font-size: 19px; font-weight: 880; }
.pk7-process__grid p { margin: 10px 0 0; color: var(--pk7-muted); font-size: 14px; line-height: 1.55; }

.pk7-related { background: #081a26; color: #fff; }
.pk7-related .pk7-heading h2 { color: #fff; }
.pk7-related .pk7-heading p { color: rgba(255,255,255,.66); }
.pk7-related .pk7-heading > span { color: var(--pk7-cyan-light); }
.pk7-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pk7-related__grid a {
	display: flex;
	flex-direction: column;
	min-height: 174px;
	padding: 25px;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 9px;
	background: rgba(255,255,255,.035);
	color: #fff !important;
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}
.pk7-related__grid a:hover,
.pk7-related__grid a:focus-visible { transform: translateY(-3px); border-color: rgba(66,201,233,.65); background: rgba(15,169,212,.08); }
.pk7-related__grid span { color: var(--pk7-cyan-light); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.pk7-related__grid strong { margin-top: 13px; font-size: 18px; line-height: 1.25; }
.pk7-related__grid em { margin-top: auto; color: rgba(255,255,255,.68); font-size: 12px; font-style: normal; font-weight: 720; }

.pk7-locations { background:#071722; color:#fff; }
.pk7-locations .pk7-heading h2 { color:#fff; }
.pk7-locations .pk7-heading p { color:rgba(255,255,255,.68); }
.pk7-locations__links { display:flex; flex-wrap:wrap; gap:10px; }
.pk7-locations__links a { padding:11px 15px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.05); color:#fff; font-weight:760; }
.pk7-locations__links a:hover,.pk7-locations__links a:focus-visible { border-color:#40c9ec; color:#40c9ec; }
.pk7-locations__links .pk7-locations__all { border-color:#12a9d4; background:#087fa9; }

.pk7-faq { background: #fff; }
.pk7-faq__grid { display: grid; grid-template-columns: minmax(270px, .75fr) minmax(0, 1.35fr); gap: 68px; }
.pk7-faq .pk7-heading { margin-bottom: 0; }
.pk7-faq__items { border-top: 1px solid var(--pk7-line); }
.pk7-faq details { border-bottom: 1px solid var(--pk7-line); }
.pk7-faq summary { position: relative; padding: 23px 46px 23px 0; color: var(--pk7-ink); font-size: 17px; font-weight: 830; cursor: pointer; list-style: none; }
.pk7-faq summary::-webkit-details-marker { display: none; }
.pk7-faq summary::after { content: "+"; position: absolute; top: 18px; right: 5px; color: #0787b3; font-size: 27px; font-weight: 500; }
.pk7-faq details[open] summary::after { content: "−"; }
.pk7-faq details p { margin: -4px 45px 22px 0; color: var(--pk7-muted); font-size: 15px; line-height: 1.65; }

.pk7-cta { background: linear-gradient(110deg, #071824, #0a2b3c); color: #fff; }
.pk7-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 238px; padding-block: 42px; }
.pk7-cta__inner > div:first-child { max-width: 650px; }
.pk7-cta__inner > div:first-child > span { color: var(--pk7-cyan-light); font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.pk7-cta h2 { margin: 9px 0 7px; color: #fff; font-size: clamp(31px, 3.5vw, 48px); font-weight: 900; letter-spacing: -.04em; line-height: 1.05; }
.pk7-cta p { margin: 0; color: rgba(255,255,255,.7); }
.pk7-cta__inner > div:last-child { display: flex; flex-direction: column; gap: 10px; min-width: 285px; }

.pk7-footer { padding-top: 56px; }

@media (max-width: 1080px) {
	.pk7-hero__copy { width: min(640px, 69%); }
	.pk7-hero__product { width: min(27vw, 320px); }
	.pk7-information__grid { gap: 38px; }
	.pk7-process__grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
	.pk7-process__grid article:nth-child(2)::after { display: none; }
}

@media (max-width: 980px) {
	.pk7-header .pk2-menu-toggle { display: grid; }
	.pk7-header .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);
	}
	.pk7-header .pk2-nav.is-open { display: flex; }
	.pk7-header .pk2-nav a:not(.pk2-button) { padding: 13px 11px; }
	.pk7-header .pk2-nav .pk2-button { margin-top: 8px; }
}

@media (max-width: 840px) {
	.pk7-hero,
	.pk7-hero__inner { min-height: 720px; }
	.pk7-hero__background { width: 100%; opacity: .68; }
	.pk7-hero__shade { background: linear-gradient(90deg, rgba(4,16,25,.98), rgba(4,16,25,.76) 76%, rgba(4,16,25,.55)); }
	.pk7-hero__inner { padding-top: 155px; }
	.pk7-hero__copy { width: min(650px, 85%); }
	.pk7-hero h1 { font-size: clamp(43px, 8vw, 64px); }
	.pk7-hero__product { right: -4%; width: 230px; opacity: .82; }
	.pk7-facts__grid > div { padding-inline: 19px; }
	.pk7-scope__grid { grid-template-columns: 1fr 1fr; }
	.pk7-scope__grid article:last-child { grid-column: 1 / -1; min-height: 210px; }
	.pk7-information__grid { grid-template-columns: 1fr; }
	.pk7-contact-card { position: static; }
	.pk7-related__grid { grid-template-columns: 1fr 1fr; }
	.pk7-faq__grid { grid-template-columns: 1fr; gap: 36px; }
	.pk7-cta__inner { align-items: flex-start; flex-direction: column; }
	.pk7-cta__inner > div:last-child { width: min(100%, 440px); }
}

@media (max-width: 580px) {
	.pk7-header { top: 44px; }
	.pk7-hero { min-height: 820px; }
	.pk7-hero__inner { align-items: flex-start; min-height: 820px; padding: 142px 0 55px; }
	.pk7-hero__background { width: 100%; height: 440px; object-position: 62% center; }
	.pk7-hero__shade { background: linear-gradient(0deg, rgba(4,16,25,1) 0%, rgba(4,16,25,.99) 57%, rgba(4,16,25,.55) 76%, rgba(4,16,25,.28) 100%); }
	.pk7-hero__shade::after { display: none; }
	.pk7-hero__copy { display: flex; flex-direction: column; width: 100%; padding-top: 245px; }
	.pk7-breadcrumbs { order: 1; margin-bottom: 18px; font-size: 10px; }
	.pk7-eyebrow { order: 2; }
	.pk7-hero h1 { order: 3; font-size: clamp(38px, 11vw, 50px); }
	.pk7-lead { order: 4; margin-top: 19px; font-size: 15px; line-height: 1.55; }
	.pk7-hero__actions { order: 5; align-items: stretch; flex-direction: column; margin-top: 24px; }
	.pk7-hero__product { top: 165px; right: 2%; bottom: auto; width: 160px; max-height: 160px; object-fit: contain; }
	.pk7-facts__grid { grid-template-columns: 1fr; padding-block: 7px; }
	.pk7-facts__grid > div,
	.pk7-facts__grid > div:first-child { min-height: 66px; padding: 13px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
	.pk7-facts__grid > div:last-child { border-bottom: 0; }
	.pk7-section { padding: 56px 0; }
	.pk7-heading { margin-bottom: 28px; }
	.pk7-heading h2,
	.pk7-copy > h2 { font-size: 34px; }
	.pk7-heading p { font-size: 15px; }
	.pk7-scope__grid { grid-template-columns: 1fr; }
	.pk7-scope__grid article,
	.pk7-scope__grid article:last-child { grid-column: auto; min-height: 210px; padding: 29px 25px; }
	.pk7-scope__grid article > span { margin-bottom: 25px; }
	.pk7-information__grid { gap: 34px; }
	.pk7-copy > h2 { margin-bottom: 29px; }
	.pk7-copy > h3 { font-size: 22px; }
	.pk7-copy > p,
	.pk7-copy > ul,
	.pk7-copy > ol { font-size: 15px; }
	.pk7-contact-card { padding: 28px 24px; }
	.pk7-process__grid { grid-template-columns: 1fr; }
	.pk7-process__grid article { min-height: 180px; }
	.pk7-process__grid article::after { display: none !important; }
	.pk7-related__grid { grid-template-columns: 1fr; }
	.pk7-related__grid a { min-height: 152px; }
	.pk7-faq summary { font-size: 16px; }
	.pk7-faq details p { margin-right: 10px; }
	.pk7-cta__inner { min-height: 0; padding-block: 52px; }
	.pk7-cta__inner > div:last-child { min-width: 0; }
	.pk7-footer { padding-top: 48px; }
}

@media (max-width: 390px) {
	.pk7-hero { min-height: 875px; }
	.pk7-hero__inner { min-height: 875px; }
	.pk7-hero__copy { padding-top: 235px; }
	.pk7-hero__product { top: 158px; width: 142px; }
	.pk7-breadcrumbs strong { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.pk7-related__grid a { transition: none; }
}
