:root {
	--azul-blue: #0078CF;
	--azul-blue-dark: #005FA3;
	--azul-sky: #A1D9FE;
	--azul-sand: #FEE7B1;
	--azul-ink: #1A1A1A;
	--azul-muted: #4A5560;
}

img {border:none;}
a {text-decoration:none; color:var(--azul-ink);}
a:hover {text-decoration:none; color:var(--azul-blue);}
a:visited {text-decoration:none;}
a:focus {text-decoration:none;}
a {outline:none;}
a img {border:none;}
img {max-width:100%;}
b,strong {font-weight:700;}
body {overflow-x:hidden;}
* {box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
html,body {margin:0;padding:0;height:100%;font-family: "Montserrat", sans-serif;font-weight:300;color:var(--azul-ink);background:#fff;}
.flex {display:flex;justify-content:space-between;flex-wrap:wrap;}
.flexStart {justify-content:flex-start;}
.flexEnd {justify-content:flex-end;}
.flexCenter {justify-content:center;}
.flexVcenter {align-items:center;}
.flexVend {align-items:flex-end;}
.flexAround {justify-content:space-around;}
#wrapper {min-height:100%;position:relative;}

/* —— Hero —— */
#header {
	background:url('images/hero.jpg') center center / cover no-repeat;
	height:100vh;
	position:relative;
	color:#fff;
}
#header .header-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(105deg, rgba(0,40,80,0.72) 0%, rgba(0,120,207,0.35) 55%, rgba(0,0,0,0.15) 100%);
	pointer-events:none;
}
#header .box {height:100%;position:relative;z-index:1;}
#header .header {max-width:720px;padding:120px 0 60px;}
#header .inline {
	font-size:clamp(28px, 4.5vw, 52px);
	letter-spacing:1px;
	margin-bottom:16px;
	font-weight:500;
	line-height:1.15;
	text-transform:none;
}
#header .hero-lead {
	font-size:clamp(16px, 1.6vw, 20px);
	font-weight:300;
	line-height:1.5;
	max-width:28em;
	margin:0 0 32px;
	color:rgba(255,255,255,0.92);
}
#header .hero-cta {display:flex;flex-wrap:wrap;gap:14px;}

#menu ul {margin:0;padding:0;font-size:17px;}
#menu ul li {list-style:none;text-align:center;padding:10px 16px;display:inline-block;}
#menu ul li a {padding:10px 0;color:var(--azul-ink);position:relative;font-weight:400;transition:color .3s;}
#menu ul li a:hover {color:var(--azul-blue);}
#menu ul li a:after {
	content:'';
	position:absolute;
	bottom:0;
	right:0;
	width:0;
	height:2px;
	background:var(--azul-blue);
	transition:width .3s ease-in-out, background .3s;
}
#menu ul li a:hover:after {left:0;width:100%;}

/* Na starcie nad hero — białe menu; po scrollu (tło) — ciemne */
body.home #topbar:not(.fixedHeader) #menu.desktop ul li a,
body.page-template-template-main-php #topbar:not(.fixedHeader) #menu.desktop ul li a {
	color:#fff;
}
body.home #topbar:not(.fixedHeader) #menu.desktop ul li a:hover,
body.page-template-template-main-php #topbar:not(.fixedHeader) #menu.desktop ul li a:hover {
	color:#fff;
}
body.home #topbar:not(.fixedHeader) #menu.desktop ul li a:after,
body.page-template-template-main-php #topbar:not(.fixedHeader) #menu.desktop ul li a:after {
	background:#fff;
}
#topbar.fixedHeader #menu.desktop ul li a {color:var(--azul-ink);}
#topbar.fixedHeader #menu.desktop ul li a:hover {color:var(--azul-blue);}
#topbar.fixedHeader #menu.desktop ul li a:after {background:var(--azul-blue);}

body.home #topbar:not(.fixedHeader) #nav-icon span,
body.page-template-template-main-php #topbar:not(.fixedHeader) #nav-icon span {
	background:#fff;
}
#topbar.fixedHeader #nav-icon span {background:var(--azul-ink);}
#mobile-menu #menu ul li a {color:var(--azul-ink);}
#mobile-menu #menu ul li a:hover {color:var(--azul-blue);}
#mobile-menu #menu ul li a:after {background:var(--azul-blue);}
.mobile {display:none;}
#topbar {z-index:999;position:fixed;top:0;right:0;left:0;padding:10px 0;}
#topbar .box {padding:12px 20px;border:0 solid rgba(255,255,255,0);}
#topbar .flex {align-items:center;}
.logo {width:150px;}
.logo img {width:100%;height:auto;display:block;}
#topbar.fixedHeader .logo {width:50px;}
#topbar.fixedHeader {padding:8px 0;}
#topbar.fixedHeader .box {
	padding:8px 20px;
	background:rgba(255,255,255,0.88);
	border-radius:16px;
	box-shadow:0 4px 30px rgba(0,0,0,0.08);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	border:1px solid rgba(255,255,255,0.5);
}
#mobile-menu {
	background:rgba(255,255,255,0.92);
	z-index:998;
	position:fixed;
	top:0;bottom:0;right:0;
	text-align:center;
	padding:130px 10% 0 0;
	width:70%;
	transform:translateX(100%);
	transition:transform 0.5s cubic-bezier(.48,.15,.58,.94);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	border:1px solid rgba(255,255,255,0.3);
}
#mobile-menu.open {transform:translateX(0%);}
#mobile-menu #menu ul li {width:100%;padding:15px 10px;font-weight:300;text-align:right;}
#mobile-menu #menu ul li a {padding:3px 0;}
#nav-icon {width:40px;height:27px;position:relative;margin:10px auto;cursor:pointer;}
#nav-icon span {
	display:block;position:absolute;height:2px;width:100%;
	background:var(--azul-ink);border-radius:9px;opacity:1;left:0;
	transition:.25s ease-in-out;
}
#nav-icon span:nth-child(1) {top:0;}
#nav-icon span:nth-child(2) {top:10px;}
#nav-icon span:nth-child(3) {top:20px;}
#nav-icon.open span:nth-child(1) {transform:rotate(45deg);top:-3px;left:8px;}
#nav-icon.open span:nth-child(2) {width:0%;opacity:0;}
#nav-icon.open span:nth-child(3) {transform:rotate(-45deg);top:25px;left:8px;}

.alignRight {text-align:right;}
.alignCenter {text-align:center;}

.button {
	cursor:pointer;
	display:inline-block;
	padding:12px 48px 12px 24px;
	background:var(--azul-blue);
	border:1px solid var(--azul-blue);
	color:#fff;
	border-radius:14px;
	position:relative;
	font-weight:500;
}
.button:after {
	content:'';
	background:url('images/more.svg') center / contain no-repeat;
	position:absolute;
	right:22px;top:50%;
	transform:translateY(-50%);
	width:12px;height:12px;
	transition:all 0.3s;
	filter:brightness(0) invert(1);
}
.button:hover {
	background:var(--azul-blue-dark);
	border-color:var(--azul-blue-dark);
	color:#fff;
	box-shadow:0 8px 24px rgba(0,120,207,0.35);
}
.button:hover:after {transform:translateY(-50%) rotate(270deg);}
.button-ghost {
	background:transparent;
	border-color:rgba(255,255,255,0.85);
	color:#fff;
}
.button-ghost:after {filter:brightness(0) invert(1);}
.button-ghost:hover {
	background:#fff;
	border-color:#fff;
	color:var(--azul-blue);
}
.button-ghost:hover:after {filter:none;transform:translateY(-50%) rotate(270deg);}
.usluga-page .button-ghost,
.normalPage .button-ghost {
	border-color:var(--azul-blue);
	color:var(--azul-blue);
}
.usluga-page .button-ghost:after,
.normalPage .button-ghost:after {filter:none;}
.usluga-page .button-ghost:hover,
.normalPage .button-ghost:hover {
	background:var(--azul-blue);
	color:#fff;
}
.usluga-page .button-ghost:hover:after,
.normalPage .button-ghost:hover:after {filter:brightness(0) invert(1);}

#Onas {height:auto;}
#Onas .flex {height:auto;align-items:flex-start;}
.omnie1 {
	width:40%;
	height:100vh;
	position:sticky;
	top:0;
	align-self:flex-start;
	background:url('images/o-nas.jpg') center center / cover no-repeat;
	background-attachment:scroll;
}
.omnie1 img,.oferta1 img {display:block;}
.omnie2 {
	width:60%;
	padding:100px 8%;
	background:
		linear-gradient(180deg, rgba(254,231,177,0.18) 0%, rgba(255,255,255,0) 40%),
		#fff;
	display:block;
}
.omnie2 p,.dron2 p,.usluga-content p {
	text-align:justify;
	font-size:17px;
	font-weight:300;
	color:var(--azul-muted);
	line-height:1.85;
}
.stop {
	font-size:clamp(28px, 3.5vw, 44px);
	text-transform:uppercase;
	line-height:0.95;
	font-weight:200;
	margin:40px 0 40px 8%;
	color:var(--azul-blue);
	transition:all 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.stop:hover {letter-spacing:3px;}
.oferta2 {width:60%;padding:100px 8%;height:100%;}
.oferta1 {width:40%;}
.oferta1 img {width:100%;height:100%;object-fit:cover;min-height:520px;}
.nag {
	font-size:clamp(32px, 4vw, 50px);
	text-transform:uppercase;
	line-height:1;
	font-weight:200;
	margin:0 0 50px 0;
	color:var(--azul-ink);
}
.nag h1 {margin:0;font-weight:inherit;font-size:inherit;}

a.ofertaBlock,
.ofertaBlock {
	width:calc(50% - 15px);
	border:1px solid rgba(0,120,207,0.35);
	padding:22px 20px;
	transition:transform 0.3s ease, opacity 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
	background:#fff;
	z-index:1;
	position:relative;
	border-radius:14px;
	color:var(--azul-ink);
	display:block;
	font-size:15px;
	line-height:1.45;
}
a.ofertaBlock strong,
.ofertaBlock strong {
	display:block;
	font-size:17px;
	font-weight:600;
	margin-bottom:6px;
	color:var(--azul-blue);
}
.ofertaFlex {gap:30px;}
a.ofertaBlock:hover,
.ofertaBlock:hover {
	transform:scale(1.06);
	opacity:1 !important;
	z-index:2;
	box-shadow:0 12px 32px rgba(0,120,207,0.15);
	border-color:var(--azul-blue);
	color:var(--azul-ink);
}
.ofertaFlex:has(.ofertaBlock:hover) .ofertaBlock {opacity:0.45;}

#Blog {padding:100px 0;background:linear-gradient(180deg, #fff 0%, rgba(161,217,254,0.12) 100%);}
.blog-empty {width:100%;text-align:center;color:var(--azul-muted);font-size:18px;padding:40px 0;}

footer {
	background:linear-gradient(160deg, #005FA3 0%, #0078CF 55%, #0490E8 100%);
	color:#fff;
	padding:90px 0;
	text-align:center;
}
footer a {color:#fff;}
footer a:hover {color:var(--azul-sand);}
footer .footer-logo {
	filter:none;
	width:150px;
	height:auto;
	display:inline-block;
}
footer p {line-height:1.8;font-weight:300;}

.news {width:30%;margin-bottom:30px;}
.news p {font-size:13px;line-height:1.6;color:var(--azul-muted);}
.news .title {font-size:18px;margin:10px 0;font-weight:500;}
.news .more a {color:var(--azul-blue);font-weight:500;}
.newsImg {position:relative;overflow:hidden;border-radius:14px;background:rgba(161,217,254,0.25);}
.newsImg:after {content:'';padding-top:60%;display:block;}
.newsImg img {width:100%;height:100%;object-fit:cover;position:absolute;top:0;bottom:0;right:0;left:0;transition:transform 0.35s;}
.newsImg img:hover {transform:scale(1.08);}
#Onas,#Oferta {max-width:1920px;margin:0 auto;}

.gal-item {width:100%;margin-bottom:0;position:relative;overflow:hidden;border-radius:10px;}
.gal-item:after {content:'';padding-top:70%;display:block;}
.gal-item:empty {margin-bottom:0;}
.gal-item:hover img {transform:scale(1.08);}
.gal-item img {width:100%;height:100%;object-fit:cover;position:absolute;top:0;bottom:0;right:0;left:0;transition:transform 0.35s;}
.gal-flex {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:16px;
	justify-content:start;
	justify-items:stretch;
}
.realizacje-page .nag {margin-bottom:24px;}
.realizacje-nav {gap:10px;margin:30px 0 50px;justify-content:flex-start;}
.realizacje-pill {
	display:inline-block;
	padding:8px 16px;
	border:1px solid rgba(0,120,207,0.35);
	border-radius:999px;
	font-size:14px;
	font-weight:500;
	color:var(--azul-blue);
	background:#fff;
	transition:all 0.25s;
}
.realizacje-pill:hover {background:var(--azul-blue);color:#fff;border-color:var(--azul-blue);}
.realizacja-projekt {margin-bottom:70px;}
.realizacja-title {
	font-size:28px;
	font-weight:300;
	margin:0 0 24px;
	color:var(--azul-blue);
}

.normalPage {padding:200px 0 100px 0;}
.usluga-page .usluga-content {max-width:720px;margin-bottom:40px;}
.usluga-cta {display:flex;flex-wrap:wrap;gap:14px;margin-bottom:60px;}
.usluga-other {margin:40px 0 20px;}
.usluga-other .nag-small {font-size:28px;margin-bottom:24px;}
.usluga-visual {max-width:1620px;margin:0 auto;padding:0 10px 80px;}
.usluga-visual img {width:100%;max-height:480px;object-fit:cover;border-radius:16px;}

.entry {margin-top:0;}
.box {max-width:1620px;margin:0 auto;padding:0 10px;}
.transition,.logo,.button,.gal-item img,#topbar .box,.newsImg img {transition:all 0.3s;}

@media all and (min-width:2000px) {
	.omnie1 {background-size:cover;background-position:center center;}
}
@media all and (max-width:1300px) {
	#menu ul li {padding:10px 10px;}
	.stop,.nag {font-size:36px;}
}
@media all and (max-width:1020px) {
	.mobile {display:block;}
	.desktop {display:none;}
	.logo {width:120px;}
	#topbar.fixedHeader .logo {width:50px;}
	.news {width:100%;}
	#header {height:100svh;min-height:640px;}
	.omnie1,.omnie2,.oferta1,.oferta2 {width:100%;}
	.omnie1 {
		position:relative;
		top:auto;
		height:auto;
		min-height:320px;
		background-size:cover;
		background-position:center center;
	}
	.omnie1:after {content:'';padding-top:70%;display:block;}
	#Onas {height:auto;padding:0;}
	#Onas .flex {align-items:stretch;}
	.omnie2,.oferta2 {padding:50px 20px;}
	.oferta1 {text-align:center;order:2;}
	.omnie1 {order:2;}
	.oferta2,.omnie2 {order:1;}
	.oferta1 img {min-height:280px;}
	a.ofertaBlock:hover,.ofertaBlock:hover {transform:none;}
	.ofertaFlex:has(.ofertaBlock:hover) .ofertaBlock {opacity:1;}
	.gal-flex {grid-template-columns:repeat(2, 1fr);gap:12px;}
	.gal-item {width:100%;}
}
@media all and (max-width:750px) {
	#header .header {margin:160px 0 80px;padding:0 10px;}
	a.ofertaBlock,.ofertaBlock {width:100%;}
	.gal-flex {grid-template-columns:1fr;gap:12px;}
	.gal-item {width:100%;}
	.realizacje-nav {justify-content:center;}
}
