/*
Theme Name: Dajlidzienko Child
Description: Lekki motyw potomny GeneratePress dla dajlidzienko.pl
Author: Securplan
Template: generatepress
Version: 0.1.0
Text Domain: dajlidzienko-child
*/

body,
button,
input,
textarea,
select {
	font-family: Arial, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: Arial, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* HERO TEST */
.home .dl-hero {
	background: #111820;
	color: #fff;
	padding: 90px 60px;
}

.home .dl-hero h1 {
	color: #fff;
	font-size: 64px;
	line-height: 1.05;
	margin: 0 0 24px;
}

.home .dl-hero p {
	color: #c7d0d8;
}

.home .dl-hero .wp-block-buttons {
	display: flex;
	gap: 12px;
}


/* COUNTERS */
.home .dl-counters {
	background: #111820;
	color: #fff;
	padding: 80px 60px;
	margin-top: 70px;
	margin-bottom: 70px;
}

.home .dl-counters h2 {
	color: #fff;
}

.home .dl-counters > h2 {
	font-size: 40px;
	margin-bottom: 36px;
}

.home .dl-counters .wp-block-columns {
	gap: 18px;
	margin: 0;
}

.home .dl-counters .wp-block-column {
	background: #18212b;
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 18px;
	padding: 28px 24px;
}

.home .dl-counters .wp-block-column h2 {
	font-size: 54px;
	line-height: 1;
	margin: 0 0 12px;
}

.home .dl-counters .wp-block-column p {
	color: #b8c2cc;
	margin: 0;
	line-height: 1.45;
}

@media (max-width: 768px) {
	.home .dl-counters {
		padding: 55px 22px;
	}

	.home .dl-counters .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0,1fr));
	}

	.home .dl-counters .wp-block-column {
		padding: 22px 18px;
	}

	.home .dl-counters .wp-block-column h2 {
		font-size: 42px;
	}
}

/* =========================================================
   DAJLIDZIENKO — FINAL POLISH
   ========================================================= */

:root {
	--dl-dark: #111820;
	--dl-dark-2: #18212b;
	--dl-text: #17202a;
	--dl-muted: #66717d;
	--dl-line: #e6eaee;
	--dl-soft: #f5f7f9;
	--dl-accent: #243d52;
	--dl-radius: 18px;
	--dl-max: 1180px;
}

/* ---------- GLOBAL ---------- */

html {
	scroll-behavior: smooth;
}

body {
	background: #fff;
	color: var(--dl-text);
	-webkit-font-smoothing: antialiased;
}

.site-content {
	padding-top: 0;
}

.inside-article {
	padding-top: 0;
}

.entry-content {
	margin-top: 0;
}

.wp-block-button__link {
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

@media (hover:hover) {
	.wp-block-button__link:hover {
		transform: translateY(-2px);
	}
}

/* =========================================================
   HEADER
   ========================================================= */

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255,255,255,.96);
	border-bottom: 1px solid rgba(15,25,35,.08);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.inside-header {
	max-width: var(--dl-max);
	margin: 0 auto;
	padding: 14px 24px;
	min-height: 72px;
}

.site-branding .main-title a {
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -.04em;
	color: var(--dl-text);
	text-decoration: none;
}

.main-navigation .main-nav ul li a {
	font-size: 15px;
	font-weight: 700;
	color: #2f3a44;
	padding-left: 16px;
	padding-right: 16px;
}

.main-navigation .main-nav ul li a:hover {
	color: #000;
}

/* =========================================================
   HERO — polish
   ========================================================= */

.home .dl-hero {
	position: relative;
	overflow: hidden;
	border-radius: 0;
}

.home .dl-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -180px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.05);
	box-shadow:
		0 0 0 70px rgba(255,255,255,.018),
		0 0 0 140px rgba(255,255,255,.012);
	pointer-events: none;
}

.home .dl-hero > * {
	position: relative;
	z-index: 1;
}

.home .dl-hero > p:first-child {
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: 13px;
	font-weight: 700;
	color: #8fa9bc;
}

.home .dl-hero h1 {
	max-width: 900px;
	letter-spacing: -.05em;
}

.home .dl-hero h1 + p {
	max-width: 700px;
	color: #c3ced7;
}

.home .dl-hero .wp-block-button__link {
	border-radius: 10px;
	font-weight: 700;
	min-height: 50px;
	padding: 0 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.home .dl-hero .wp-block-button:first-child .wp-block-button__link {
	background: #fff;
	color: #111820;
	box-shadow: 0 8px 24px rgba(0,0,0,.14);
}

.home .dl-hero .wp-block-button:nth-child(2) .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,.35);
}

@media (hover:hover) {
	.home .dl-hero .wp-block-button:nth-child(2) .wp-block-button__link:hover {
		border-color: #fff;
		background: rgba(255,255,255,.06);
	}
}

/* =========================================================
   SERVICES
   ========================================================= */

.home .dl-services {
	padding: 90px 24px;
	max-width: var(--dl-max);
	margin: 0 auto;
}

.home .dl-services > h2 {
	font-size: clamp(2.2rem, 4vw, 3.25rem);
	margin: 0 0 16px;
	letter-spacing: -.045em;
}

.home .dl-services > p {
	max-width: 780px;
	font-size: 18px;
	color: var(--dl-muted);
	margin-bottom: 42px;
}

.home .dl-services .wp-block-columns {
	gap: 22px;
}

.home .dl-services .wp-block-column {
	position: relative;
	padding: 34px;
	border: 1px solid var(--dl-line);
	border-radius: var(--dl-radius);
	background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
	box-shadow: 0 10px 28px rgba(20,30,40,.04);
	transition: transform .2s ease, box-shadow .2s ease;
}

.home .dl-services .wp-block-column::before {
	content: "";
	display: block;
	width: 42px;
	height: 4px;
	border-radius: 999px;
	background: var(--dl-accent);
	margin-bottom: 26px;
}

.home .dl-services h3 {
	font-size: 27px;
	margin: 0 0 16px;
	letter-spacing: -.035em;
}

.home .dl-services p {
	color: #5f6d79;
	line-height: 1.7;
}

@media (hover:hover) {
	.home .dl-services .wp-block-column:hover {
		transform: translateY(-5px);
		box-shadow: 0 16px 40px rgba(20,30,40,.08);
	}
}

/* =========================================================
   COUNTERS — polish
   ========================================================= */

.home .dl-counters {
	border-radius: 0;
}

.home .dl-counters > h2 {
	letter-spacing: -.04em;
}

.home .dl-counters .wp-block-column {
	transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

@media (hover:hover) {
	.home .dl-counters .wp-block-column:hover {
		transform: translateY(-4px);
		border-color: rgba(255,255,255,.22);
		background: #1d2833;
	}
}

/* =========================================================
   GALLERY
   ========================================================= */

.home .dl-gallery {
	max-width: var(--dl-max);
	margin: 0 auto;
	padding: 90px 24px;
}

.home .dl-gallery > h2 {
	font-size: clamp(2.2rem, 4vw, 3.25rem);
	margin-bottom: 14px;
	letter-spacing: -.045em;
}

.home .dl-gallery > p {
	max-width: 760px;
	font-size: 18px;
	color: var(--dl-muted);
	margin-bottom: 34px;
}

.home .dl-gallery .wp-block-gallery {
	gap: 12px !important;
}

.home .dl-gallery figure {
	overflow: hidden;
	border-radius: 14px;
	background: #edf1f4;
}

.home .dl-gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .35s ease;
}

@media (hover:hover) {
	.home .dl-gallery figure:hover img {
		transform: scale(1.03);
	}
}

/* =========================================================
   TRUST
   ========================================================= */

.home .dl-trust {
	max-width: var(--dl-max);
	margin: 0 auto;
	padding: 80px 24px;
	border-top: 1px solid var(--dl-line);
}

.home .dl-trust h2 {
	font-size: clamp(2rem, 3.5vw, 3rem);
	letter-spacing: -.04em;
	margin-bottom: 20px;
}

.home .dl-trust p {
	max-width: 860px;
	font-size: 18px;
	line-height: 1.75;
	color: #5f6d79;
}

/* =========================================================
   CONTACT
   ========================================================= */

.home .dl-contact {
	max-width: var(--dl-max);
	margin: 0 auto 80px;
	padding: 54px;
	border-radius: 24px;
	background:
		linear-gradient(135deg, #edf2f5 0%, #f8fafb 100%);
	border: 1px solid #e4e9ed;
}

.home .dl-contact h2 {
	font-size: clamp(2rem, 3.5vw, 3rem);
	letter-spacing: -.04em;
	margin-bottom: 16px;
}

.home .dl-contact > p {
	max-width: 760px;
	font-size: 18px;
	color: #596672;
}

.home .dl-contact .wp-block-buttons {
	margin-top: 26px;
	gap: 12px;
}

.home .dl-contact .wp-block-button__link {
	background: var(--dl-dark);
	color: #fff;
	border-radius: 10px;
	min-height: 50px;
	padding: 0 22px;
	display: inline-flex;
	align-items: center;
}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
	background: var(--dl-dark);
	color: #aeb8c1;
	border-top: 0;
}

.site-footer a {
	color: #fff;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

	.inside-header {
		min-height: 64px;
		padding: 10px 20px;
	}

	.home .dl-services,
	.home .dl-gallery,
	.home .dl-trust {
		padding: 60px 20px;
	}

	.home .dl-services .wp-block-columns {
		gap: 16px;
	}

	.home .dl-services .wp-block-column {
		padding: 28px;
	}

	.home .dl-contact {
		margin: 0 20px 60px;
		padding: 34px 24px;
	}

	.home .dl-gallery img {
		aspect-ratio: 1 / 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	* {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}


/* =========================================================
   DAJLIDZIENKO — EXTRA POLISH
   ========================================================= */

/* HERO jako elegancki panel */
.home .dl-hero {
	border-radius: 22px;
	margin-top: 26px;
	margin-bottom: 34px;
	box-shadow: 0 18px 50px rgba(11,17,24,.14);
}

/* Więcej oddechu między sekcjami */
.home .dl-services {
	padding-top: 78px;
	padding-bottom: 88px;
}

.home .dl-counters {
	margin-top: 20px;
	margin-bottom: 30px;
	box-shadow: 0 20px 55px rgba(11,17,24,.10);
}

.home .dl-gallery {
	padding-top: 82px;
	padding-bottom: 88px;
}

/* subtelniejsze karty oferty */
.home .dl-services .wp-block-column {
	border-color: #e7ebee;
}

.home .dl-services .wp-block-column h3 {
	font-weight: 750;
}

/* bardziej eleganckie liczniki */
.home .dl-counters .wp-block-column {
	box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

/* kontakt trochę bardziej premium */
.home .dl-contact {
	box-shadow: 0 16px 44px rgba(20,30,40,.06);
}

/* lepsze przyciski */
.home .wp-block-button__link {
	font-weight: 700;
	letter-spacing: -.01em;
}

/* Desktop */
@media (min-width: 769px) {
	.home .dl-hero {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 1180px;
	}

	.home .dl-counters {
		max-width: 1180px;
		margin-left: auto;
		margin-right: auto;
		border-radius: 22px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.home .dl-hero {
		margin: 12px 14px 24px !important;
		border-radius: 18px;
	}

	.home .dl-counters {
		margin: 16px 14px 26px;
		border-radius: 18px;
	}

	.home .dl-contact {
		border-radius: 18px;
	}
}


/* =========================================================
   HERO — REAL PHOTO
   ========================================================= */

.home .dl-hero {
	position: relative;
	isolation: isolate;
	min-height: 620px;
	padding: 92px 64px;

	background:
		linear-gradient(
			90deg,
			rgba(9,15,21,.96) 0%,
			rgba(9,15,21,.91) 34%,
			rgba(9,15,21,.68) 57%,
			rgba(9,15,21,.24) 82%,
			rgba(9,15,21,.10) 100%
		),
		url('/wp-content/uploads/hero-candidates/dajlidzienkohero-1400.webp');

	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;

	border-radius: 22px;
	overflow: hidden;
}

.home .dl-hero > * {
	position: relative;
	z-index: 2;
	max-width: 720px;
}

.home .dl-hero h1 {
	max-width: 760px;
	text-shadow: 0 2px 24px rgba(0,0,0,.24);
}

@media (max-width: 768px) {
	.home .dl-hero {
		min-height: 600px;
		padding: 60px 28px;

		background:
			linear-gradient(
				180deg,
				rgba(9,15,21,.68) 0%,
				rgba(9,15,21,.82) 52%,
				rgba(9,15,21,.96) 100%
			),
			url('/wp-content/uploads/hero-candidates/dajlidzienkohero-1400.webp');

		background-size: cover;
		background-position: 67% center;
	}
}


/* =========================================================
   SERVICES — 5 CARDS POLISH
   ========================================================= */

.home .dl-services .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.home .dl-services .wp-block-column {
	margin: 0 !important;
	min-width: 0;
	padding: 28px 24px;
	border: 1px solid #e5e9ed;
	border-radius: 18px;
	background: linear-gradient(180deg, #ffffff 0%, #fafcfd 100%);
	box-shadow: 0 10px 28px rgba(20,30,40,.04);
}

.home .dl-services .wp-block-column::before {
	content: "";
	display: block;
	width: 38px;
	height: 4px;
	margin-bottom: 22px;
	border-radius: 999px;
	background: #243d52;
}

.home .dl-services .wp-block-column h3 {
	font-size: 23px;
	line-height: 1.15;
	margin: 0 0 14px;
}

.home .dl-services .wp-block-column p {
	font-size: 15px;
	line-height: 1.65;
	color: #5f6d79;
	margin: 0;
}

@media (max-width: 1100px) {
	.home .dl-services .wp-block-columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.home .dl-services .wp-block-columns {
		grid-template-columns: 1fr;
	}

	.home .dl-services .wp-block-column {
		padding: 24px 22px;
	}
}


/* SERVICES — 3 + 2 LAYOUT */
.home .dl-services .wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 20px;
}

.home .dl-services .wp-block-column {
	grid-column: span 2;
}

/* dwa ostatnie kafle wycentrowane */
.home .dl-services .wp-block-column:nth-child(4) {
	grid-column: 2 / span 2;
}

.home .dl-services .wp-block-column:nth-child(5) {
	grid-column: 4 / span 2;
}

@media (max-width: 900px) {
	.home .dl-services .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home .dl-services .wp-block-column,
	.home .dl-services .wp-block-column:nth-child(4),
	.home .dl-services .wp-block-column:nth-child(5) {
		grid-column: auto;
	}
}

@media (max-width: 620px) {
	.home .dl-services .wp-block-columns {
		grid-template-columns: 1fr;
	}
}

/* SERVICES — EQUAL HEIGHT CARDS */

.home .dl-services .wp-block-columns {
	align-items: stretch !important;
}

.home .dl-services .wp-block-column {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 290px;
}

.home .dl-services .wp-block-column h3 {
	min-height: 56px;
	display: flex;
	align-items: flex-start;
}

.home .dl-services .wp-block-column p {
	flex: 1;
}

@media (max-width: 900px) {
	.home .dl-services .wp-block-column {
		min-height: 260px;
	}
}

@media (max-width: 620px) {
	.home .dl-services .wp-block-column {
		min-height: auto;
	}

	.home .dl-services .wp-block-column h3 {
		min-height: auto;
	}
}

/* SERVICES — LOCAL SVG ICONS */

.home .dl-services .wp-block-column::before {
	width: 52px;
	height: 52px;
	margin-bottom: 24px;
	border-radius: 14px;
	background-color: #eef3f6;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 27px 27px;
}

.home .dl-services .service-cctv::before {
	background-image: url('assets/icons/cctv.svg');
}

.home .dl-services .service-alarm::before {
	background-image: url('assets/icons/alarm.svg');
}

.home .dl-services .service-access::before {
	background-image: url('assets/icons/access.svg');
}

.home .dl-services .service-gate::before {
	background-image: url('assets/icons/gate.svg');
}

.home .dl-services .service-service::before {
	background-image: url('assets/icons/service.svg');
}

@media (hover:hover) {
	.home .dl-services .wp-block-column:hover::before {
		transform: scale(1.04);
	}
}


/* =========================================================
   SERVICES — ICON LEFT + H3 RIGHT
   ========================================================= */

/* przygotowanie kafla */
.home .dl-services .wp-block-column {
	position: relative;
	padding-top: 28px;
}

/* usuń stary kwadrat/pasek nad kaflem */
.home .dl-services .wp-block-column::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 24px;

	width: 46px;
	height: 46px;
	margin: 0;

	border-radius: 12px;
	background-color: #eef3f6;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 26px 26px;

	transform: none;
}

/* zostaw miejsce na ikonę */
.home .dl-services .wp-block-column h3 {
	min-height: 46px;
	margin: 0 0 18px 62px;
	display: flex;
	align-items: center;

	font-size: 23px;
	line-height: 1.18;
}

/* ikony */
.home .dl-services .service-cctv::before {
	background-image: url('/wp-content/themes/dajlidzienko-child/assets/icons/cctv.svg');
}

.home .dl-services .service-alarm::before {
	background-image: url('/wp-content/themes/dajlidzienko-child/assets/icons/alarm.svg');
}

.home .dl-services .service-access::before {
	background-image: url('/wp-content/themes/dajlidzienko-child/assets/icons/access.svg');
}

.home .dl-services .service-gate::before {
	background-image: url('/wp-content/themes/dajlidzienko-child/assets/icons/gate.svg');
}

.home .dl-services .service-service::before {
	background-image: url('/wp-content/themes/dajlidzienko-child/assets/icons/service.svg');
}

/* subtelny hover */
@media (hover:hover) {
	.home .dl-services .wp-block-column:hover::before {
		transform: scale(1.05);
	}
}

/* mobile */
@media (max-width: 620px) {
	.home .dl-services .wp-block-column::before {
		left: 20px;
		top: 20px;
		width: 42px;
		height: 42px;
		background-size: 24px 24px;
	}

	.home .dl-services .wp-block-column h3 {
		margin-left: 56px;
		min-height: 42px;
	}
}


/* =========================================================
   HEADER — GLASS / STICKY / CLEAN
   ========================================================= */

.site-header {
	position: sticky;
	top: 0;
	z-index: 1200;

	background: rgba(255,255,255,.10);
	border-bottom: 1px solid rgba(255,255,255,.10);

	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);

	box-shadow: none;
}

.inside-header {
	max-width: 1200px;
	margin: 0 auto;
	padding: 14px 20px;
	min-height: 70px;
}

/* logo */
.site-branding .main-title a {
	color: #111820;
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -.045em;
	text-decoration: none;
}

/* usuń białe tło samej nawigacji */
.main-navigation,
.main-navigation .inside-navigation,
.main-navigation .main-nav,
.main-navigation .main-nav ul {
	background: transparent !important;
}

/* linki */
.main-navigation .main-nav ul {
	display: flex;
	align-items: center;
	gap: 6px;
}

.main-navigation .main-nav ul li a {
	background: transparent !important;
	color: #26313b;
	font-size: 15px;
	font-weight: 700;

	padding: 0 13px;
	line-height: 42px;

	border-radius: 8px;
	transition:
		color .18s ease,
		background .18s ease,
		transform .18s ease;
}

@media (hover:hover) {
	.main-navigation .main-nav ul li a:hover {
		color: #111820;
		background: rgba(17,24,32,.055) !important;
		transform: translateY(-1px);
	}
}

/* aktywny link bez ciężkiego tła */
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current_page_item > a {
	color: #111820;
	background: transparent !important;
}

/* TELEFON — ostatni element */
.main-navigation .main-nav ul li:last-child a {
	position: relative;

	margin-left: 10px;
	padding: 0 18px 0 43px;

	min-height: 42px;
	display: inline-flex;
	align-items: center;

	background: #22a447 !important;
	color: #fff !important;

	border-radius: 999px;
	box-shadow: 0 8px 22px rgba(34,164,71,.20);

	font-weight: 800;
	letter-spacing: -.01em;
}

/* ikonka słuchawki bez biblioteki */
.main-navigation .main-nav ul li:last-child a::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);

	width: 18px;
	height: 18px;

	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

@media (hover:hover) {
	.main-navigation .main-nav ul li:last-child a:hover {
		background: #1b913d !important;
		transform: translateY(-2px);
		box-shadow: 0 10px 26px rgba(34,164,71,.26);
	}
}

/* kotwice — elegancki dystans pod sticky headerem */
#oferta,
#realizacje,
#o-nas,
#kontakt {
	scroll-margin-top: 110px;
}

/* mobile */
@media (max-width: 768px) {

	.site-header {
		background: rgba(255,255,255,.82);
	}

	.inside-header {
		min-height: 64px;
		padding: 10px 16px;
	}

	.site-branding .main-title a {
		font-size: 22px;
	}

	.main-navigation .menu-toggle {
		background: transparent !important;
		color: #111820;
	}

	.main-navigation.toggled .main-nav {
		margin-top: 10px;
		padding: 12px;
		border-radius: 16px;

		background: rgba(255,255,255,.96) !important;
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);

		box-shadow: 0 18px 45px rgba(20,30,40,.12);
	}

	.main-navigation .main-nav ul {
		display: block;
	}

	.main-navigation .main-nav ul li a {
		display: block;
		padding: 11px 14px;
		line-height: 1.4;
	}

	.main-navigation .main-nav ul li:last-child a {
		margin: 10px 0 2px;
		justify-content: center;
		padding-left: 44px;
		min-height: 46px;
	}
}


/* HEADER — stronger navigation contrast */
.main-navigation .main-nav ul li a {
	color: #0b0f14 !important;
	font-weight: 750;
}

.main-navigation .main-nav ul li a:hover {
	color: #000 !important;
	background: rgba(0,0,0,.045) !important;
}

/* phone CTA stays white on green */
.main-navigation .main-nav ul li:last-child a {
	color: #fff !important;
}

.site-header {
	background: rgba(255,255,255,.72);
}


.site-header {
	background: rgba(255,255,255,.72) !important;
	backdrop-filter: blur(16px) saturate(140%);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	border-bottom: 1px solid rgba(15,25,35,.08);
}

.main-navigation .main-nav ul li a {
	color: #05080b !important;
	font-weight: 750;
}

.main-navigation .main-nav ul li:last-child a {
	color: #fff !important;
}


/* =========================================================
   REALIZACJE — PREMIUM GRID
   ========================================================= */

.home .dl-gallery {
	max-width: 1200px;
	margin: 0 auto;
	padding: 92px 24px;
}

.home .dl-gallery > h2 {
	margin: 0 0 14px;
	font-size: clamp(38px, 4vw, 54px);
	line-height: 1.05;
	letter-spacing: -.045em;
	font-weight: 800;
	color: #111820;
}

.home .dl-gallery > p {
	max-width: 680px;
	margin: 0 0 38px;
	font-size: 18px;
	line-height: 1.65;
	color: #66717d;
}

.home .dl-gallery .wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: 210px;
	gap: 14px !important;
}

.home .dl-gallery .wp-block-gallery > figure {
	width: auto !important;
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	border-radius: 18px;
	background: #eef1f3;
}

.home .dl-gallery .wp-block-gallery > figure:nth-child(1) {
	grid-column: span 5;
	grid-row: span 2;
}

.home .dl-gallery .wp-block-gallery > figure:nth-child(2) {
	grid-column: span 4;
	grid-row: span 2;
}

.home .dl-gallery .wp-block-gallery > figure:nth-child(3) {
	grid-column: span 3;
	grid-row: span 2;
}

.home .dl-gallery .wp-block-gallery > figure:nth-child(n+4) {
	grid-column: span 6;
	grid-row: span 2;
}

.home .dl-gallery .wp-block-gallery img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
	transition: transform .45s cubic-bezier(.2,.7,.2,1);
}

.home .dl-gallery .wp-block-gallery figure::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		transparent 58%,
		rgba(7,12,17,.18) 100%
	);
	opacity: 0;
	transition: opacity .3s ease;
}

@media (hover:hover) {
	.home .dl-gallery .wp-block-gallery figure:hover img {
		transform: scale(1.035);
	}

	.home .dl-gallery .wp-block-gallery figure:hover::after {
		opacity: 1;
	}
}

@media (max-width: 800px) {
	.home .dl-gallery {
		padding: 68px 20px;
	}

	.home .dl-gallery .wp-block-gallery {
		grid-template-columns: repeat(2, minmax(0,1fr));
		grid-auto-rows: 220px;
	}

	.home .dl-gallery .wp-block-gallery > figure,
	.home .dl-gallery .wp-block-gallery > figure:nth-child(1),
	.home .dl-gallery .wp-block-gallery > figure:nth-child(2),
	.home .dl-gallery .wp-block-gallery > figure:nth-child(3),
	.home .dl-gallery .wp-block-gallery > figure:nth-child(n+4) {
		grid-column: span 1;
		grid-row: span 1;
	}

	.home .dl-gallery .wp-block-gallery > figure:first-child {
		grid-column: span 2;
	}
}

@media (max-width: 520px) {
	.home .dl-gallery .wp-block-gallery {
		grid-template-columns: 1fr;
		grid-auto-rows: 250px;
	}

	.home .dl-gallery .wp-block-gallery > figure,
	.home .dl-gallery .wp-block-gallery > figure:first-child {
		grid-column: 1;
	}
}


/* =========================================================
   O NAS — PREMIUM
   ========================================================= */

.home .dl-trust {
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 24px 92px;
}

.home .dl-trust > p:first-child {
	margin: 0 0 16px;
	color: #61798c;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.home .dl-trust > h2 {
	max-width: 800px;
	margin: 0 0 32px;
	color: #111820;
	font-size: clamp(40px, 4.5vw, 58px);
	line-height: 1.04;
	font-weight: 800;
	letter-spacing: -.05em;
}

.home .dl-trust > h2 ~ p {
	max-width: 900px;
	margin-bottom: 18px;
	color: #5c6974;
	font-size: 18px;
	line-height: 1.75;
}

.home .dl-trust .wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 16px;
	margin-top: 48px;
}

.home .dl-trust .wp-block-column {
	min-width: 0;
	padding: 26px 24px;
	border: 1px solid #e5e9ed;
	border-radius: 18px;
	background: #f8fafb;
}

.home .dl-trust .wp-block-column h3 {
	margin: 0 0 10px;
	color: #111820;
	font-size: 22px;
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -.03em;
}

.home .dl-trust .wp-block-column p {
	margin: 0;
	color: #66717d;
	font-size: 15px;
	line-height: 1.55;
}

@media (hover:hover) {
	.home .dl-trust .wp-block-column {
		transition: transform .2s ease, box-shadow .2s ease;
	}

	.home .dl-trust .wp-block-column:hover {
		transform: translateY(-3px);
		box-shadow: 0 12px 32px rgba(20,30,40,.06);
	}
}

/* =========================================================
   KONTAKT — PREMIUM CTA
   ========================================================= */

.home .dl-contact {
	position: relative;
	overflow: hidden;

	max-width: 1152px;
	margin: 20px auto 90px;
	padding: 58px 60px;

	border: 0;
	border-radius: 24px;

	background:
		radial-gradient(circle at 90% 20%, rgba(70,110,140,.22), transparent 32%),
		linear-gradient(125deg, #101820, #182733);

	color: #fff;
	box-shadow: 0 20px 55px rgba(11,17,24,.12);
}

.home .dl-contact::after {
	content: "";
	position: absolute;
	right: -100px;
	bottom: -190px;
	width: 400px;
	height: 400px;
	border: 1px solid rgba(255,255,255,.07);
	border-radius: 50%;
	box-shadow:
		0 0 0 60px rgba(255,255,255,.018),
		0 0 0 120px rgba(255,255,255,.012);
	pointer-events: none;
}

.home .dl-contact > * {
	position: relative;
	z-index: 1;
}

.home .dl-contact h2 {
	max-width: 720px;
	margin: 0 0 16px;
	color: #fff;
	font-size: clamp(38px,4vw,54px);
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -.045em;
}

.home .dl-contact > p {
	max-width: 720px;
	margin-bottom: 28px;
	color: #c2ccd4;
	font-size: 18px;
	line-height: 1.65;
}

.home .dl-contact .wp-block-buttons {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.home .dl-contact .wp-block-button__link {
	min-height: 50px;
	padding: 0 23px;
	display: inline-flex;
	align-items: center;

	border-radius: 10px;
	background: #fff;
	color: #111820;

	font-weight: 800;
}

.home .dl-contact .wp-block-button:nth-child(2) .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,.35);
}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
	background: #0c1218;
	color: #9da9b3;
	border: 0;
}

.site-footer .inside-site-info {
	max-width: 1200px;
	margin: 0 auto;
	padding: 28px 24px;
}

.site-footer .copyright-bar {
	font-size: 14px;
}

.site-footer a {
	color: #fff;
	text-decoration: none;
}

/* =========================================================
   RESPONSIVE — O NAS / CONTACT
   ========================================================= */

@media (max-width: 900px) {
	.home .dl-trust .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
}

@media (max-width: 620px) {
	.home .dl-trust {
		padding: 72px 20px;
	}

	.home .dl-trust > h2 {
		font-size: 40px;
	}

	.home .dl-trust > h2 ~ p {
		font-size: 17px;
	}

	.home .dl-trust .wp-block-columns {
		grid-template-columns: 1fr;
	}

	.home .dl-contact {
		margin: 10px 14px 50px;
		padding: 40px 26px;
		border-radius: 20px;
	}

	.home .dl-contact .wp-block-buttons {
		flex-direction: column;
	}

	.home .dl-contact .wp-block-button,
	.home .dl-contact .wp-block-button__link {
		width: 100%;
		justify-content: center;
	}
}


/* =========================================================
   CTA — PHONE STYLE
   ========================================================= */

.home .dl-contact .wp-block-button:first-child .wp-block-button__link,
.home .dl-hero .wp-block-button.phone-cta .wp-block-button__link {
	position: relative;
	padding-left: 46px;

	background: #22a447 !important;
	color: #fff !important;
	border-color: #22a447 !important;

	box-shadow: 0 8px 22px rgba(34,164,71,.20);
}

.home .dl-contact .wp-block-button:first-child .wp-block-button__link::before,
.home .dl-hero .wp-block-button.phone-cta .wp-block-button__link::before {
	content: "";
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);

	width: 18px;
	height: 18px;

	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

@media (hover:hover) {
	.home .dl-contact .wp-block-button:first-child .wp-block-button__link:hover,
	.home .dl-hero .wp-block-button.phone-cta .wp-block-button__link:hover {
		background: #1b913d !important;
		border-color: #1b913d !important;
		box-shadow: 0 10px 26px rgba(34,164,71,.26);
	}
}


/* =========================================================
   COUNTERS — PREMIUM FINAL POLISH
   ========================================================= */

.home .dl-counters {
	position: relative;
	overflow: hidden;

	background:
		radial-gradient(circle at 85% 20%, rgba(75,110,140,.16), transparent 28%),
		linear-gradient(135deg, #0f171f 0%, #121d27 100%);

	border-radius: 24px;
	box-shadow: 0 22px 60px rgba(11,17,24,.12);
}

.home .dl-counters::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -210px;

	width: 420px;
	height: 420px;

	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.05);

	box-shadow:
		0 0 0 60px rgba(255,255,255,.015),
		0 0 0 120px rgba(255,255,255,.01);

	pointer-events: none;
}

.home .dl-counters > * {
	position: relative;
	z-index: 1;
}

.home .dl-counters .wp-block-column {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: flex-start !important;

	min-height: 220px;
	padding: 30px 30px !important;

	background: rgba(255,255,255,.045);
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 18px;

	box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.home .dl-counters .wp-block-column h2 {
	margin: 0 0 12px !important;

	font-size: clamp(56px, 5vw, 72px) !important;
	line-height: .95 !important;
	letter-spacing: -.055em;

	color: #fff !important;
}

.home .dl-counters .wp-block-column p {
	margin: 0 !important;
	max-width: 180px;

	color: #b9c4cd !important;
	font-size: 17px;
	line-height: 1.45;
}

@media (hover:hover) {
	.home .dl-counters .wp-block-column {
		transition:
			transform .2s ease,
			background .2s ease,
			border-color .2s ease;
	}

	.home .dl-counters .wp-block-column:hover {
		transform: translateY(-4px);
		background: rgba(255,255,255,.065);
		border-color: rgba(255,255,255,.18);
	}
}

@media (max-width: 768px) {
	.home .dl-counters .wp-block-column {
		min-height: 180px;
		padding: 24px 20px !important;
	}

	.home .dl-counters .wp-block-column h2 {
		font-size: 48px !important;
	}

	.home .dl-counters .wp-block-column p {
		font-size: 15px;
	}
}


/* =========================================================
   FOOTER — FINAL
   ========================================================= */

.site-footer {
	background: #0b1117 !important;
	color: #9da9b3;
	border: 0;
}

.site-footer .inside-site-info {
	max-width: 1200px;
	margin: 0 auto;
	padding: 28px 24px;
}

.site-footer .site-info {
	background: transparent;
}

.site-footer .copyright-bar {
	width: 100%;
	font-size: 14px;
	line-height: 1.6;
	color: #9da9b3;
}

.site-footer a {
	color: #dce3e8;
	text-decoration: none;
	transition: color .18s ease;
}

.site-footer a:hover {
	color: #fff;
}

@media (max-width: 620px) {
	.site-footer .inside-site-info {
		padding: 24px 20px;
	}

	.site-footer .copyright-bar {
		font-size: 13px;
	}
}


/* =========================================================
   FOOTER — MINIMAL FINAL
   ========================================================= */

.site-footer,
.site-info {
	background: #0b1117 !important;
}

.site-footer .inside-site-info {
	max-width: 1200px;
	margin: 0 auto;
	padding: 26px 24px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	color: #929da6;
	font-size: 14px;
}

.dl-footer-links {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-left: 24px;
}

.dl-footer-links a {
	color: #cbd3d9;
	text-decoration: none;
	transition: color .18s ease;
}

.dl-footer-links a:hover {
	color: #fff;
}

@media (max-width: 620px) {
	.site-footer .inside-site-info {
		flex-direction: column;
		gap: 10px;
		text-align: center;
		padding: 24px 20px;
	}

	.dl-footer-links {
		margin-left: 0;
	}
}


/* =========================================================
   MOBILE POLISH — 390 PX
   ========================================================= */

@media (max-width: 768px) {

	/* HEADER */
	.site-header {
		background: rgba(255,255,255,.88) !important;
		backdrop-filter: blur(16px) saturate(140%);
		-webkit-backdrop-filter: blur(16px) saturate(140%);
	}

	.inside-header {
		min-height: 62px;
		padding: 9px 16px;
	}

	.site-branding .main-title a {
		font-size: 21px;
	}

	/* HERO */
	.home .dl-hero {
		margin: 12px 12px 28px !important;
		padding: 56px 24px !important;
		min-height: 560px;
		border-radius: 18px;
	}

	.home .dl-hero > p:first-child {
		font-size: 11px;
		letter-spacing: .12em;
	}

	.home .dl-hero h1 {
		font-size: clamp(42px, 11vw, 58px) !important;
		line-height: 1.02 !important;
	}

	.home .dl-hero h1 + p {
		font-size: 17px;
		line-height: 1.55;
	}

	.home .dl-hero .wp-block-buttons {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
	}

	.home .dl-hero .wp-block-button,
	.home .dl-hero .wp-block-button__link {
		width: 100%;
		justify-content: center;
	}

	/* SERVICES */
	.home .dl-services {
		padding: 58px 16px !important;
	}

	.home .dl-services > h2 {
		font-size: 38px;
	}

	.home .dl-services > p {
		font-size: 17px;
	}

	.home .dl-services .wp-block-columns {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.home .dl-services .wp-block-column,
	.home .dl-services .wp-block-column:nth-child(4),
	.home .dl-services .wp-block-column:nth-child(5) {
		grid-column: auto !important;
		min-height: auto !important;
		padding: 22px 20px !important;
	}

	/* COUNTERS */
	.home .dl-counters {
		margin: 12px 12px 28px !important;
		padding: 52px 18px !important;
		border-radius: 18px;
	}

	.home .dl-counters > h2 {
		font-size: 34px;
		margin-bottom: 28px;
	}

	.home .dl-counters .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0,1fr)) !important;
		gap: 12px !important;
	}

	.home .dl-counters .wp-block-column {
		min-height: 160px;
		padding: 20px 16px !important;
	}

	.home .dl-counters .wp-block-column h2 {
		font-size: 44px !important;
	}

	.home .dl-counters .wp-block-column p {
		font-size: 14px;
	}

	/* GALLERY */
	.home .dl-gallery {
		padding: 58px 16px !important;
	}

	.home .dl-gallery > h2 {
		font-size: 38px;
	}

	.home .dl-gallery .wp-block-gallery {
		grid-template-columns: 1fr !important;
		grid-auto-rows: 260px !important;
		gap: 10px !important;
	}

	.home .dl-gallery .wp-block-gallery > figure,
	.home .dl-gallery .wp-block-gallery > figure:first-child {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	/* O NAS */
	.home .dl-trust {
		padding: 64px 16px !important;
	}

	.home .dl-trust > h2 {
		font-size: 38px;
	}

	.home .dl-trust > h2 ~ p {
		font-size: 16px;
	}

	.home .dl-trust .wp-block-columns {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}

	/* CONTACT */
	.home .dl-contact {
		margin: 12px 12px 48px !important;
		padding: 38px 22px !important;
		border-radius: 18px;
	}

	.home .dl-contact h2 {
		font-size: 36px;
	}

	.home .dl-contact > p {
		font-size: 16px;
	}

	/* FOOTER */
	.site-footer .inside-site-info {
		padding: 22px 16px;
	}
}


/* =========================================================
   MOBILE — FINAL TYPOGRAPHY / WRAPPING
   ========================================================= */

@media (max-width: 520px) {

	/* HERO */
	.home .dl-hero h1 {
		font-size: 38px !important;
		line-height: 1.03 !important;
		letter-spacing: -.04em !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	/* SERVICES */
	.home .dl-services > h2 {
		font-size: 36px !important;
		line-height: 1.06 !important;
		letter-spacing: -.04em;
	}

	.home .dl-services .wp-block-column h3 {
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	/* COUNTERS */
	.home .dl-counters .wp-block-column {
		padding: 20px 14px !important;
	}

	.home .dl-counters .wp-block-column p {
		max-width: none !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	/* REALIZACJE */
	.home .dl-gallery > h2 {
		font-size: 36px !important;
		line-height: 1.06 !important;
	}

	/* O NAS */
	.home .dl-trust > h2 {
		font-size: 36px !important;
		line-height: 1.07 !important;
	}

	.home .dl-trust > h2 ~ p {
		font-size: 17px !important;
		line-height: 1.65 !important;
	}

	.home .dl-trust .wp-block-column h3 {
		font-size: 21px;
	}

	/* CONTACT */
	.home .dl-contact h2 {
		font-size: 34px !important;
		line-height: 1.08 !important;
	}

}


/* =========================================================
   COUNTERS — MOBILE TEXT FIX
   ========================================================= */

@media (max-width: 520px) {

	.home .dl-counters .wp-block-column {
		padding: 20px 16px !important;
		min-width: 0 !important;
		overflow: hidden;
	}

	.home .dl-counters .wp-block-column h2 {
		font-size: 42px !important;
		line-height: 1 !important;
		margin-bottom: 12px !important;
	}

	.home .dl-counters .wp-block-column p {
		width: 100%;
		max-width: none !important;

		font-size: 13px !important;
		line-height: 1.35 !important;

		word-break: normal !important;
		overflow-wrap: break-word !important;
		hyphens: none !important;

		margin: 0 !important;
	}

}


/* COUNTERS — MOBILE WORD WRAP FIX */

@media (max-width: 520px) {

	.home .dl-counters .wp-block-column p {
		word-break: keep-all !important;
		overflow-wrap: normal !important;
		hyphens: none !important;

		font-size: 12.5px !important;
		line-height: 1.35 !important;
		letter-spacing: -.01em;
	}

}

