:root{--blue:#3f74b2;--blue-dark:#174c7c;--sky:#0aa3e6;--green:#6bb156;--green-dark:#356f2f;--yellow:#f2db54;--text:#17212b;--muted:#53616d;--border:#d7e1e8;--soft:#f4fafd;--white:#fff;--radius:16px;--shadow:0 14px 35px rgba(23,76,124,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--blue-dark);text-underline-offset:.2em}a:hover{color:var(--green-dark)}h1,h2,h3{color:var(--blue-dark);line-height:1.18}h1{font-size:clamp(2.25rem,5vw,4.4rem)}h2{font-size:clamp(1.7rem,3vw,2.6rem)}.container{width:min(1200px,calc(100% - 2rem));margin-inline:auto}.content-container{max-width:820px}.section{padding:clamp(3rem,7vw,5.5rem) 0}.section--soft{background:linear-gradient(135deg,#f4fafd,#f6fbf2)}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus,.skip-link:focus{clip:auto!important;width:auto;height:auto;margin:0;padding:.8rem 1rem;top:.75rem;left:.75rem;background:#fff;color:#111;border:2px solid #111;z-index:99999}.skip-link{position:fixed}.site-header{position:relative;z-index:1000;background:#fff;border-top:6px solid transparent;border-image:linear-gradient(90deg,var(--blue),var(--sky),var(--green),var(--yellow)) 1;border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:96px}.site-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.site-brand__mark{width:72px}.site-brand__text{display:flex;flex-direction:column}.site-brand__text strong{font-size:1.35rem;color:var(--blue)}.site-brand__text small{color:var(--muted);font-weight:600}.main-navigation{margin-left:auto}.primary-menu,.primary-menu ul{list-style:none;margin:0;padding:0}.primary-menu{display:flex;align-items:center;gap:.25rem 1.2rem}.primary-menu li{position:relative}.primary-menu a{display:flex;align-items:center;min-height:44px;padding:.55rem .15rem;font-weight:700;text-decoration:none}.primary-menu .current-menu-item>a,.primary-menu a:hover{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:3px}.primary-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;padding:.5rem;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}.primary-menu .sub-menu a{padding:.7rem}.menu-toggle{display:none;min-height:44px;padding:.6rem .9rem;border:2px solid var(--blue-dark);border-radius:8px;background:#fff;color:var(--blue-dark);font:inherit;font-weight:700}.hero{padding:clamp(3rem,7vw,6rem) 0;background:radial-gradient(circle at 85% 20%,rgba(242,219,84,.3),transparent 25%),radial-gradient(circle at 70% 80%,rgba(107,177,86,.2),transparent 30%),linear-gradient(135deg,#eef8fd,#f8fcf3)}.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2rem,6vw,5rem)}.hero__lead{font-size:1.3rem;max-width:62ch}.hero__visual{padding:1.5rem;background:#fff;border-radius:24px;box-shadow:var(--shadow)}.hero__visual img{display:block;margin:auto}.eyebrow{margin:0 0 .5rem;color:var(--green-dark);font-size:.92rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.button-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.2rem;border:2px solid var(--blue-dark);border-radius:8px;background:var(--blue-dark);color:#fff;font-weight:800;text-decoration:none}.button:hover{background:#103b62;color:#fff}.button--secondary{border-color:var(--green-dark);background:var(--green-dark)}.button--light{background:#fff;color:var(--blue-dark);border-color:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.section-heading h2{margin:.2rem 0}.text-link,.card-link{font-weight:800}.news-grid,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.news-card,.project-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.news-card__media,.project-card__media{display:block;background:var(--soft)}.news-card__image{display:block;width:100%;aspect-ratio:760/500;object-fit:cover}.project-card__image{display:block;width:100%;aspect-ratio:380/270;object-fit:cover}.card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:380/270;padding:2rem;background:#fff}.card-placeholder img{max-width:48%;max-height:70%}.news-card__body,.project-card__body{display:flex;flex:1;flex-direction:column;padding:1.35rem}.news-card__meta,.project-card__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.9rem}.news-card__title,.project-card__title{font-size:1.35rem;margin:.8rem 0}.news-card__title a,.project-card__title a{text-decoration:none}.news-card__excerpt,.project-card__excerpt{flex:1}.news-card__excerpt p,.project-card__excerpt p{margin-top:0}.project-status{display:inline-flex;padding:.25rem .55rem;border-radius:99px;background:#e9f4ff;color:var(--blue-dark);font-weight:800}.project-status--ongoing{background:#eaf6e7;color:var(--green-dark)}.project-status--completed{background:#edf1f4;color:#46535f}.project-status--paused{background:#fff4cf;color:#755c00}.project-card__area{color:var(--muted)}.page-hero{padding:clamp(3rem,7vw,5rem) 0;background:radial-gradient(circle at 90% 10%,rgba(242,219,84,.28),transparent 25%),linear-gradient(135deg,#eff9ff,#f6fbf2)}.page-hero h1{margin:.2rem 0}.page-hero p{max-width:70ch;font-size:1.15rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.feature-list{display:grid;gap:1rem}.feature-list>div{display:grid;padding:1.25rem;border-left:5px solid var(--green);background:var(--soft);border-radius:8px}.contact-cta{background:linear-gradient(120deg,var(--blue-dark),var(--blue),var(--green-dark));color:#fff}.contact-cta h2,.contact-cta .eyebrow{color:#fff}.contact-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}.project-single-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3rem;align-items:start}.project-details{padding:1.5rem;background:var(--soft);border-radius:var(--radius);border:1px solid var(--border)}.project-details h2{font-size:1.35rem}.project-details dl{margin:0 0 1.5rem}.project-details dl>div{padding:.8rem 0;border-bottom:1px solid var(--border)}.project-details dt{font-weight:800;color:var(--blue-dark)}.project-details dd{margin:0}.entry-header{margin-bottom:2rem}.entry-meta{color:var(--muted)}.entry-content{max-width:75ch}.entry-content img{height:auto}.nav-links,.page-numbers{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:2rem}.page-numbers a,.page-numbers span,.nav-links a,.nav-links span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.4rem .7rem;border:1px solid var(--border);border-radius:6px;text-decoration:none}.page-numbers .current{background:var(--blue-dark);color:#fff}.site-footer{padding:4rem 0 1.5rem;background:#102d49;color:#fff}.site-footer a{color:#fff}.site-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.site-footer__title,.site-footer__heading{color:#fff;font-size:1.25rem}.footer-menu{list-style:none;padding:0}.site-footer__bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.25)}:where(a,button,input,select,textarea):focus-visible{outline:3px solid #111;outline-offset:3px;box-shadow:0 0 0 3px #fff}
@media(max-width:900px){.news-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__grid,.about-grid,.project-single-grid{grid-template-columns:1fr}.hero__visual{order:-1;max-width:480px}.site-footer__grid{grid-template-columns:1fr 1fr}.menu-toggle{display:inline-flex}.primary-menu{display:none;position:absolute;left:1rem;right:1rem;top:calc(100% + 1px);flex-direction:column;align-items:stretch;padding:1rem;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}.main-navigation.is-open .primary-menu{display:flex}.primary-menu .sub-menu{position:static;display:block;box-shadow:none;border:0;padding-left:1rem}}
@media(max-width:620px){body{font-size:16px}.news-grid,.project-grid,.site-footer__grid{grid-template-columns:1fr}.site-brand__text{display:none}.site-footer__bottom,.section-heading,.contact-cta__inner{align-items:flex-start;flex-direction:column}.hero__visual{padding:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.site-footer__widget .menu-item-object-page {
    list-style: none;
    margin-left: -35px;
}


/* =========================================================
   POZIOMA LISTA AKTUALNOŚCI
   ========================================================= */

.news-page-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(
			circle at 88% 18%,
			rgba(242, 219, 84, 0.28) 0,
			rgba(242, 219, 84, 0) 18rem
		),
		linear-gradient(
			135deg,
			#eef8fd 0%,
			#f3faf2 100%
		);
	border-bottom: 1px solid #d7e4ea;
}

.news-page-hero::after {
	content: "";
	position: absolute;
	right: max(1rem, calc((100vw - 1200px) / 2));
	bottom: -3rem;
	width: 220px;
	height: 170px;
	background-image: url("assets/images/logo-cil-symbol.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.08;
	pointer-events: none;
}

.news-page-hero .container {
	position: relative;
	z-index: 1;
	padding-top: clamp(3rem, 7vw, 5rem);
	padding-bottom: clamp(3rem, 7vw, 5rem);
}

.page-hero__lead {
	max-width: 720px;
	margin-bottom: 0;
	color: #445461;
	font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.news-archive {
	padding-top: clamp(3rem, 6vw, 5rem);
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

.news-list {
	display: grid;
	gap: 1.75rem;
}

.news-list-item {
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	min-height: 240px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #d6e1e7;
	border-radius: 0.9rem;
	box-shadow: 0 10px 28px rgba(13, 53, 86, 0.08);
	transition:
		transform 160ms ease,
		box-shadow 160ms ease,
		border-color 160ms ease;
}

.news-list-item:hover {
	transform: translateY(-2px);
	border-color: #a8c8d9;
	box-shadow: 0 16px 34px rgba(13, 53, 86, 0.13);
}

.news-list-item__media {
	width: 360px;
	height: 240px;
	overflow: hidden;
	background:
		linear-gradient(
			135deg,
			#eef8fd 0%,
			#f2faf0 100%
		);
}

.news-list-item__image-link {
	display: block;
	width: 100%;
	height: 100%;
}

.news-list-item__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 220ms ease;
}

.news-list-item:hover .news-list-item__image {
	transform: scale(1.025);
}

.news-list-item__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 2.5rem;
}

.news-list-item__placeholder img {
	display: block;
	width: min(150px, 55%);
	height: auto;
}

.news-list-item__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.35rem, 3vw, 2rem);
}

.news-list-item__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-bottom: 0.65rem;
	color: #596975;
	font-size: 0.9rem;
	font-weight: 650;
}

.news-list-item__category {
	color: #286d31;
	text-decoration: none;
}

.news-list-item__category:hover {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.news-list-item__title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.4rem, 2.5vw, 1.85rem);
	line-height: 1.22;
}

.news-list-item__title a {
	color: #123e64;
	text-decoration: none;
}

.news-list-item__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.18em;
}

.news-list-item__excerpt {
	max-width: 70ch;
	margin: 0 0 1.2rem;
	color: #3f4d59;
	line-height: 1.65;
}

.news-list-item__more {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: auto;
	padding: 0.15rem 0;
	color: #185387;
	font-weight: 750;
	text-decoration: none;
}

.news-list-item__more:hover {
	color: #1e5d21;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Paginacja */

.news-pagination {
	margin-top: 3rem;
}

.news-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.news-pagination a,
.news-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.5rem 0.8rem;
	border: 1px solid #cbd8df;
	border-radius: 0.45rem;
	color: #123e64;
	font-weight: 700;
	text-decoration: none;
}

.news-pagination a:hover {
	background: #eef8fd;
	border-color: #3f74b2;
}

.news-pagination .current {
	background: #185387;
	border-color: #185387;
	color: #fff;
}

/* Tablet */

@media (max-width: 900px) {
	.news-list-item {
		grid-template-columns: 290px minmax(0, 1fr);
		min-height: 220px;
	}

	.news-list-item__media {
		width: 290px;
		height: 220px;
	}
}

/* Telefon */

@media (max-width: 680px) {
	.news-list-item {
		display: block;
		min-height: 0;
	}

	.news-list-item__media {
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
	}

	.news-list-item__content {
		padding: 1.3rem;
	}

	.news-list-item__title {
		font-size: 1.4rem;
	}

	.news-page-hero::after {
		width: 150px;
		height: 120px;
	}
}

/* Ograniczenie animacji */

@media (prefers-reduced-motion: reduce) {
	.news-list-item,
	.news-list-item__image {
		transition: none;
	}

	.news-list-item:hover,
	.news-list-item:hover .news-list-item__image {
		transform: none;
	}
}

.news-list-item__media {
	width: 360px;
	height: 240px;
	overflow: hidden;
}

.news-list-item__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* =========================================================
   STRONA KONTAKT
   ========================================================= */

.contact-page {
	padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

.contact-page__intro {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 7vw, 5rem)
		max(1rem, calc((100% - 1200px) / 2));
	background:
		radial-gradient(
			circle at 88% 18%,
			rgba(242, 219, 84, 0.3) 0,
			rgba(242, 219, 84, 0) 18rem
		),
		linear-gradient(
			135deg,
			#eef8fd 0%,
			#f2faf0 100%
		);
	border-bottom: 1px solid #d7e4ea;
}

.contact-page__intro::after {
	content: "";
	position: absolute;
	right: max(1rem, calc((100vw - 1200px) / 2));
	bottom: -2.5rem;
	width: 210px;
	height: 160px;
	background-image: url("assets/images/logo-cil-symbol.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.07;
	pointer-events: none;
}

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

.contact-page__intro .eyebrow {
	margin: 0 0 0.65rem;
	color: #286d31;
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.contact-page__intro h1 {
	max-width: 800px;
	margin: 0 0 1rem;
	color: #123e64;
	font-size: clamp(2.4rem, 6vw, 4rem);
	line-height: 1.1;
}

.contact-page__lead {
	
	margin: 0 auto;
	color: #445461;
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	line-height: 1.65;
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr);
	gap: clamp(2rem, 5vw, 4rem);
	width: min(1200px, calc(100% - 2rem));
	margin: clamp(3rem, 7vw, 5rem) auto 0;
	align-items: start;
}

/* Dane kontaktowe */

.contact-details {
	display: grid;
	gap: 1.4rem;
}

.contact-details__card {
	padding: clamp(1.5rem, 4vw, 2rem);
	background: #f5fafc;
	border: 1px solid #d7e4ea;
	border-radius: 0.9rem;
}

.contact-details__card:nth-child(2) {
	background: #f3faf2;
	border-color: #d5e6d2;
}

.contact-details__card h2 {
	margin: 0 0 1rem;
	color: #123e64;
	font-size: 1.35rem;
	line-height: 1.3;
}

.contact-details__card p {
	margin: 0;
	color: #3f4d59;
	line-height: 1.7;
}

.contact-details__card address {
	font-style: normal;
}

.contact-details__card a {
	color: #185387;
	font-weight: 700;
	text-underline-offset: 0.18em;
}

.contact-details__accent {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 190px;
	padding: 2rem;
	overflow: hidden;
	background:
		linear-gradient(
			135deg,
			rgba(63, 116, 178, 0.09),
			rgba(107, 177, 86, 0.11)
		);
	border-radius: 0.9rem;
}

.contact-details__accent img {
	display: block;
	width: min(190px, 65%);
	height: auto;
}

/* Karta formularza */

.contact-form-card {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background: #fff;
	border: 1px solid #d6e1e7;
	border-radius: 1rem;
	box-shadow: 0 16px 40px rgba(13, 53, 86, 0.1);
}

.contact-form-card > h2 {
	margin: 0 0 0.5rem;
	color: #123e64;
	font-size: clamp(1.6rem, 3vw, 2rem);
}

.contact-form-card__intro {
	margin: 0 0 1.75rem;
	color: #566570;
}

/* Formularze ogólne oraz Contact Form 7 */

.contact-form-card form,
.contact-form-card .wpcf7-form {
	display: grid;
	gap: 1.25rem;
}

.contact-form-card p,
.contact-form-card .wpcf7-form p {
	margin: 0;
}

.contact-form-card label {
	display: block;
	margin-bottom: 0.45rem;
	color: #263846;
	font-weight: 750;
}

.contact-form-card input[type="text"],
.contact-form-card input[type="email"],
.contact-form-card input[type="tel"],
.contact-form-card input[type="url"],
.contact-form-card input[type="number"],
.contact-form-card select,
.contact-form-card textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 0.78rem 0.9rem;
	color: #17212b;
	background: #fff;
	border: 2px solid #7a8994;
	border-radius: 0.45rem;
	font: inherit;
	line-height: 1.4;
	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

.contact-form-card textarea {
	min-height: 180px;
	resize: vertical;
}

.contact-form-card input:hover,
.contact-form-card select:hover,
.contact-form-card textarea:hover {
	border-color: #3f74b2;
}

.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus {
	outline: 3px solid rgba(63, 116, 178, 0.22);
	outline-offset: 2px;
	border-color: #185387;
	box-shadow: none;
}

/* Checkbox polityki prywatności */

.contact-form-card .wpcf7-acceptance label,
.contact-form-card .contact-consent label {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 0.7rem;
	align-items: start;
	font-weight: 500;
	line-height: 1.55;
	cursor: pointer;
}

.contact-form-card input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0.15rem 0 0;
	accent-color: #185387;
}

/* Przycisk wysyłania */

.contact-form-card input[type="submit"],
.contact-form-card button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 180px;
	min-height: 48px;
	padding: 0.8rem 1.4rem;
	color: #fff;
	background: #185387;
	border: 2px solid #185387;
	border-radius: 0.45rem;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
	transition:
		background-color 150ms ease,
		border-color 150ms ease;
}

.contact-form-card input[type="submit"]:hover,
.contact-form-card button[type="submit"]:hover {
	background: #0d3556;
	border-color: #0d3556;
}

.contact-form-card input[type="submit"]:focus-visible,
.contact-form-card button[type="submit"]:focus-visible {
	outline: 3px solid #111;
	outline-offset: 3px;
	box-shadow: 0 0 0 3px #fff;
}

/* Komunikaty Contact Form 7 */

.contact-form-card .wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.4rem;
	color: #a52020;
	font-size: 0.92rem;
	font-weight: 700;
}

.contact-form-card .wpcf7-not-valid {
	border-color: #a52020;
}

.contact-form-card .wpcf7-response-output {
	margin: 1.25rem 0 0;
	padding: 1rem 1.15rem;
	border-radius: 0.45rem;
	line-height: 1.55;
}

.contact-form-card form.sent .wpcf7-response-output {
	color: #124c31;
	background: #edf8f2;
	border: 2px solid #176b42;
}

.contact-form-card form.invalid .wpcf7-response-output,
.contact-form-card form.failed .wpcf7-response-output,
.contact-form-card form.unaccepted .wpcf7-response-output {
	color: #7d1717;
	background: #fff2f2;
	border: 2px solid #a52020;
}

.contact-form-card .wpcf7-spinner {
	vertical-align: middle;
}

/* Usunięcie pustych odstępów generowanych przez formularz */

.contact-form-card br {
	display: none;
}

/* Tablet */

@media (max-width: 900px) {
	.contact-layout {
		grid-template-columns: 1fr;
	}

	.contact-details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contact-details__accent {
		grid-column: 1 / -1;
	}
}

/* Telefon */

@media (max-width: 640px) {
	.contact-layout {
		width: min(100% - 1.25rem, 1200px);
		gap: 1.5rem;
	}

	.contact-details {
		grid-template-columns: 1fr;
	}

	.contact-details__accent {
		grid-column: auto;
	}

	.contact-form-card {
		padding: 1.25rem;
	}

	.contact-form-card input[type="submit"],
	.contact-form-card button[type="submit"] {
		width: 100%;
	}

	.contact-page__intro::after {
		width: 145px;
		height: 110px;
	}
}

/* Ograniczenie animacji */

@media (prefers-reduced-motion: reduce) {
	.contact-form-card input,
	.contact-form-card select,
	.contact-form-card textarea,
	.contact-form-card button {
		transition: none;
	}
}

/* =========================================================
   ZREALIZOWANE PROJEKTY — STRONA GŁÓWNA
   Plik: template-parts/section-completed-projects.php
   ========================================================= */

.completed-projects-section {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background:
		radial-gradient(
			circle at 90% 10%,
			rgba(242, 219, 84, 0.22) 0,
			rgba(242, 219, 84, 0) 17rem
		),
		linear-gradient(
			180deg,
			#f5fafc 0%,
			#ffffff 100%
		);
	border-top: 1px solid #dce7ec;
	border-bottom: 1px solid #e1eaee;
}

/* Nagłówek sekcji */

.completed-projects-section__header {
	max-width: 760px;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
	text-align: center;
}

.completed-projects-section__header .eyebrow {
	margin: 0 0 0.65rem;
	color: #286d31;
	font-size: 0.88rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.completed-projects-section__header h2 {
	margin: 0 0 1rem;
	color: #123e64;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
}

.completed-projects-section__header > p:last-child {
	max-width: 680px;
	margin: 0 auto;
	color: #4a5a66;
	font-size: 1.08rem;
	line-height: 1.7;
}

/* Siatka */

.completed-projects-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 1.8rem);
}

/* Karta */

.completed-project-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #d5e1e7;
	border-radius: 0.95rem;
	box-shadow: 0 10px 28px rgba(13, 53, 86, 0.08);
	transition:
		transform 160ms ease,
		box-shadow 160ms ease,
		border-color 160ms ease;
}

.completed-project-card:hover {
	transform: translateY(-3px);
	border-color: #a7c7d8;
	box-shadow: 0 18px 38px rgba(13, 53, 86, 0.13);
}

/* Obraz */

.completed-project-card__image-link {
	display: block;
	overflow: hidden;
	background:
		linear-gradient(
			135deg,
			#eef8fd 0%,
			#f2faf0 100%
		);
}

.completed-project-card__image,
.completed-project-card__placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 380 / 270;
}

.completed-project-card__image {
	height: auto;
	object-fit: cover;
	object-position: center;
	transition: transform 220ms ease;
}

.completed-project-card:hover .completed-project-card__image {
	transform: scale(1.025);
}

.completed-project-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2.25rem;
}

.completed-project-card__placeholder img {
	display: block;
	width: min(150px, 52%);
	height: auto;
}

/* Treść karty */

.completed-project-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.5rem;
}

.completed-project-card__title {
	margin: 0 0 0.85rem;
	color: #123e64;
	font-size: 1.4rem;
	line-height: 1.3;
}

.completed-project-card__title a {
	color: inherit;
	text-decoration: none;
}

.completed-project-card__title a:hover,
.completed-project-card__title a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 0.09em;
	text-underline-offset: 0.18em;
}

.completed-project-card__excerpt {
	margin: 0 0 1.2rem;
	color: #43525e;
	line-height: 1.65;
}

/* Link */

.completed-project-card__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: auto;
	color: #185387;
	font-weight: 750;
	text-decoration: none;
}

.completed-project-card__link:hover,
.completed-project-card__link:focus-visible {
	color: #1e5d21;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Opcjonalna stopka sekcji */

.completed-projects-section__footer {
	margin-top: 2.5rem;
	text-align: center;
}

.completed-projects-section__footer .button,
.completed-projects-section__footer a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.3rem;
	color: #185387;
	background: #ffffff;
	border: 2px solid #185387;
	border-radius: 0.45rem;
	font-weight: 800;
	text-decoration: none;
}

.completed-projects-section__footer .button:hover,
.completed-projects-section__footer a:hover {
	color: #ffffff;
	background: #185387;
}

/* Tablet */

@media (max-width: 960px) {
	.completed-projects-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Telefon */

@media (max-width: 640px) {
	.completed-projects-section {
		padding: 3rem 0;
	}

	.completed-projects-section__header {
		margin-bottom: 2rem;
	}

	.completed-projects-grid {
		grid-template-columns: 1fr;
	}

	.completed-project-card__body {
		padding: 1.25rem;
	}

	.completed-project-card__title {
		font-size: 1.3rem;
	}
}

/* Dostępność — ograniczenie animacji */

@media (prefers-reduced-motion: reduce) {
	.completed-project-card,
	.completed-project-card__image {
		transition: none;
	}

	.completed-project-card:hover,
	.completed-project-card:hover .completed-project-card__image {
		transform: none;
	}
}