/*
 * Moderní vizuální vrstva webu Laboratoře fotogrammetrie.
 * Původní obsah, pořadí stránek a víceúrovňové rozložení menu zůstávají zachovány.
 */

:root {
	--lfgm-blue: #0065bd;
	--lfgm-blue-dark: #004b8d;
	--lfgm-cyan: #20a9e0;
	--lfgm-ink: #17212b;
	--lfgm-muted: #647180;
	--lfgm-surface: #f4f7fa;
	--lfgm-line: #dce2e7;
	--lfgm-radius: 12px;
	--lfgm-shadow: 0 16px 45px rgba(20, 48, 72, .09);
}

html { scroll-behavior: smooth; }

body {
	color: var(--lfgm-ink);
	background: #f7f9fb;
	font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
}

#wrapper {
	background: #fff;
	box-shadow: none;
}

#header {
	position: relative;
	z-index: 100;
	border-bottom: 1px solid var(--lfgm-line);
	box-shadow: 0 8px 30px rgba(19, 40, 61, .07);
}

#header-wrap {
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

#logo img {
	max-height: 92px;
	max-width: min(620px, 70vw);
	width: auto;
	object-fit: contain;
}

#logo { height: auto; padding: 12px 0; }
#logo .standard-logo img, #logo .retina-logo img { height: auto; }

.top-links {
	background: #10283d;
	border-bottom: 0;
}

.top-links-item > a {
	color: rgba(255, 255, 255, .8);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .025em;
}

.top-links-item:hover > a {
	color: #fff;
	background: rgba(255, 255, 255, .07);
}

.menu-container {
	align-items: center;
}

.menu-link {
	color: #253343;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .01em;
	text-transform: none;
	transition: color .2s ease;
}

.menu-item:hover > .menu-link,
.menu-item.current > .menu-link,
.sub-menu-container .menu-item:hover > .menu-link {
	color: var(--lfgm-blue);
}

.sub-menu-container {
	padding: 8px;
	border: 1px solid rgba(208, 218, 226, .8);
	border-top: 3px solid var(--lfgm-blue);
	border-radius: 0 0 10px 10px;
	box-shadow: 0 12px 32px rgba(20, 42, 64, .13);
	background: rgba(255, 255, 255, .98);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.sub-menu-container .sub-menu-container {
	border-top-width: 1px;
	border-left: 3px solid var(--lfgm-blue);
	border-radius: 10px;
}

.sub-menu-container .menu-link {
	padding: 10px 12px;
	border-radius: 6px;
	line-height: 1.35;
}

.sub-menu-container .menu-item:hover > .menu-link {
	background: #eef6fb;
}

#page-title {
	position: relative;
	overflow: hidden;
	padding: 54px 0;
	background:
		radial-gradient(circle at 85% 20%, rgba(32, 169, 224, .16), transparent 28%),
		linear-gradient(135deg, #f4f8fb 0%, #e5f0f7 100%);
	border-bottom: 1px solid #d9e3eb;
}

/* Jednotná titulní lišta na všech obsahových stránkách. */
#page-title,
#page-title.page-title-center,
#page-title.page-title-mini {
	padding: 54px 0 !important;
	background:
		radial-gradient(circle at 85% 20%, rgba(32, 169, 224, .16), transparent 28%),
		linear-gradient(135deg, #f4f8fb 0%, #e5f0f7 100%) !important;
	border-top: 0 !important;
	border-bottom: 1px solid #d9e3eb !important;
}

#page-title .container,
#page-title .container.clearfix {
	text-align: left !important;
}

#page-title h1,
#page-title h1 a {
	margin: 0 !important;
	color: #13283b !important;
	text-align: left !important;
	text-transform: none !important;
}

#page-title::after {
	content: "";
	position: absolute;
	top: 0;
	right: 8%;
	width: 180px;
	height: 100%;
	background-image: linear-gradient(rgba(0, 101, 189, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 101, 189, .08) 1px, transparent 1px);
	background-size: 24px 24px;
	transform: skewX(-12deg);
	pointer-events: none;
}

#page-title h1 {
	color: #13283b;
	font-size: clamp(32px, 4vw, 50px);
	font-weight: 750;
	letter-spacing: -.035em;
	text-align: left !important;
	text-transform: none;
}

.content-wrap { padding: 72px 0; }

#content p,
#content li {
	color: #3f4d5a;
	font-size: 16px;
	line-height: 1.78;
}

#content p { max-width: 1000px; }

h1, h2, h3, h4, h5, h6,
.heading-block h1,
.heading-block h2,
.heading-block h3 {
	color: #17293a;
	font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.25;
	text-transform: none;
}

.heading-block {
	margin-bottom: 28px;
}

.heading-block::after {
	width: 48px;
	border-top: 3px solid var(--lfgm-blue);
}

a { color: var(--lfgm-blue); }
a:hover { color: var(--lfgm-blue-dark); }

.button,
button,
input[type="submit"] {
	border-radius: 7px;
	background-color: var(--lfgm-blue);
	box-shadow: none;
	font-weight: 600;
	text-shadow: none;
	text-transform: none;
	transition: background-color .2s ease, transform .2s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover {
	background-color: var(--lfgm-blue-dark);
	transform: translateY(-1px);
}

/* CI ČVUT: veškeré akcenty webu používají modrou paletu fakulty. */
.color, .text-theme, .portfolio-filter li.activeFilter a,
.grid-filter li.activeFilter a { color: var(--lfgm-blue) !important; }
.bgcolor, .bg-theme, .button.button-3d,
.portfolio-overlay a:hover { background-color: var(--lfgm-blue) !important; }
.button.button-3d { border-color: var(--lfgm-blue-dark) !important; }

/* Aktivní filtry starší projektové šablony nesmí přebírat oranžovou barvu Canvasu. */
.grid-filter li.activeFilter > a,
.portfolio-filter li.activeFilter > a,
.grid-filter li.activeFilter:hover > a,
.portfolio-filter li.activeFilter:hover > a {
	border-color: var(--lfgm-blue) !important;
	background: var(--lfgm-blue) !important;
	background-color: var(--lfgm-blue) !important;
	color: #fff !important;
}

.portfolio-item,
.team,
.feature-box,
.card {
	overflow: hidden;
	border-radius: var(--lfgm-radius);
}

.portfolio-image img,
.team-image img,
#content img {
	max-width: 100%;
	height: auto;
}

#content figure,
#content .entry-image,
#content .portfolio-image {
	max-width: 100%;
}

#content iframe,
#content video {
	max-width: 100%;
}

.portfolio-image img,
.team-image img {
	transition: transform .35s ease;
}

.portfolio-item:hover .portfolio-image img,
.team:hover .team-image img {
	transform: scale(1.025);
}

.form-control {
	min-height: 46px;
	border: 1px solid #cdd6de;
	border-radius: 8px;
	background: #fff;
}

.form-control:focus {
	border-color: var(--lfgm-blue);
	box-shadow: 0 0 0 3px rgba(0, 101, 189, .12);
}

#footer {
	background: linear-gradient(145deg, #14283a, #0e1d2a);
	border-top: 4px solid var(--lfgm-blue);
	color: #d5dde4;
}

#footer h1, #footer h2, #footer h3, #footer h4,
#footer a { color: #fff; }

#footer a:hover { color: #79bff2; }

#copyrights {
	background: #101d29;
	color: #aebac4;
}

/* Domovský slider: původní snímky a texty, čistší moderní prezentace */
#slider {
	position: relative;
	height: clamp(500px, 62vh, 620px);
	min-height: 0 !important;
	background: #102233;
	border-bottom: 6px solid var(--lfgm-blue);
}

#slider .swiper-container,
#slider .swiper-wrapper,
#slider .swiper-slide {
	height: 100%;
	min-height: 0;
}

#slider::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: linear-gradient(90deg, #000, transparent 76%);
	mask-image: linear-gradient(90deg, #000, transparent 76%);
	pointer-events: none;
}

#slider .swiper-slide::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(0deg, rgba(6, 20, 32, .75) 0%, transparent 48%),
		linear-gradient(90deg, rgba(6, 20, 32, .82) 0%, rgba(6, 20, 32, .42) 48%, rgba(6, 20, 32, .08) 82%);
	pointer-events: none;
}

#slider .container,
#slider .slider-caption {
	z-index: 3;
}

#slider .swiper-slide-bg,
#slider .video-wrap {
	transition: transform 7s ease;
}

#slider .swiper-slide[data-project="Svatý Václav"] {
	background: #102233;
}

#slider .swiper-slide[data-project="Svatý Václav"] .swiper-slide-bg {
	background-color: #102233;
	background-size: contain;
	background-repeat: no-repeat;
}

#slider .swiper-slide-active .swiper-slide-bg,
#slider .swiper-slide-active .video-wrap {
	transform: scale(1.025);
}

#slider .slider-caption {
	display: flex;
	align-items: center;
	width: min(1180px, 92%);
	max-width: none;
	height: 100%;
}

#slider .slider-caption.slider-caption-right {
	justify-content: flex-end;
}

#slider .slider-caption > div {
	position: relative;
	max-width: 690px;
	padding: 34px 38px 36px 42px;
	border: 1px solid rgba(255, 255, 255, .24);
	border-left: 4px solid var(--lfgm-cyan);
	border-radius: 3px 16px 16px 3px;
	background: linear-gradient(135deg, rgba(9, 33, 52, .78), rgba(9, 33, 52, .52));
	box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
	backdrop-filter: blur(14px) saturate(125%);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
}

#slider .slider-caption > div::before {
	content: "VYBRANÝ PROJEKT";
	display: block;
	margin-bottom: 16px;
	color: #72d4f5;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
}

#slider .slider-caption h2 {
	color: #fff;
	font-size: clamp(34px, 4.2vw, 60px);
	font-weight: 750;
	letter-spacing: -.045em;
	line-height: 1.02;
	text-shadow: none;
	text-transform: none;
}

#slider .slider-caption p {
	max-width: 560px;
	margin: 18px 0 0;
	padding-top: 17px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	color: rgba(255, 255, 255, .84);
	font-size: 16px;
	line-height: 1.65;
	text-shadow: none;
}

.slider-arrow-left,
.slider-arrow-right {
	top: auto;
	bottom: 28px;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 8px;
	background: rgba(11, 31, 48, .72);
	backdrop-filter: blur(8px);
	transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.slider-arrow-left {
	left: auto;
	right: 92px;
}

.slider-arrow-right {
	right: 28px;
}

.slider-arrow-left:hover,
.slider-arrow-right:hover {
	border-color: var(--lfgm-cyan);
	background: var(--lfgm-blue);
	transform: translateY(-2px);
}

#slider .swiper-pagination {
	right: auto;
	bottom: 42px;
	left: max(4vw, calc((100vw - 1180px) / 2));
	width: auto;
	text-align: left;
}

#slider .swiper-pagination-bullet {
	width: 34px;
	height: 4px;
	margin: 0 5px;
	border-radius: 2px;
	background: rgba(255, 255, 255, .55);
	opacity: 1;
	transition: width .25s ease, background-color .25s ease;
}

#slider .swiper-pagination-bullet-active {
	width: 58px;
	background: var(--lfgm-cyan);
}

/* Články a obsahové bloky */
#posts {
	gap: 24px 0;
}

#posts .entry {
	margin: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

#posts .grid-inner {
	overflow: hidden;
	padding: 22px;
	border: 1px solid #e1e7ec;
	border-radius: var(--lfgm-radius);
	background: #fff;
	box-shadow: 0 8px 30px rgba(24, 51, 74, .06);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

#posts .grid-inner:hover {
	border-color: #cbdbe7;
	box-shadow: var(--lfgm-shadow);
	transform: translateY(-3px);
}

#posts .entry-image {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	border-radius: 9px;
	background: #fff;
	border: 1px solid #e5ebef;
}

#posts .entry-image img {
	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 8px;
	background: #fff;
	object-fit: contain;
	transition: transform .4s ease;
}

#posts .grid-inner:hover .entry-image img {
	transform: none;
}

.entry-title h2 {
	font-size: clamp(21px, 2vw, 28px);
	line-height: 1.25;
}

.entry-meta {
	margin: 8px 0 16px;
	color: var(--lfgm-muted);
}

.entry-meta li {
	font-size: 12px !important;
	letter-spacing: .03em;
}

.entry-content .button {
	margin-top: 16px;
	border-color: var(--lfgm-blue);
	color: var(--lfgm-blue);
}

.entry-content .button:hover {
	color: #fff;
}

#content .section {
	background-color: var(--lfgm-surface);
}

#content .footer-stick img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	object-fit: contain;
}

#content .section.footer-stick,
#content .footer-stick .container,
#content .footer-stick .row,
#content .footer-stick [class*="col-"] {
	background-color: #fff !important;
}

#content:has(.footer-stick),
#content .content-wrap:has(.footer-stick) {
	background-color: #fff !important;
}

#content .content-wrap:has(.footer-stick) {
	padding-bottom: 0 !important;
}

#content .content-wrap:has(.footer-stick) > .line {
	margin-bottom: 0 !important;
	border-top-color: #fff;
}

#content .section.footer-stick {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 32px !important;
	padding-bottom: 0 !important;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
}

#content .footer-stick .row {
	align-items: flex-end;
}

#content .footer-stick [class*="col-"] {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-top: 0;
	padding-bottom: 0;
}

.team {
	border: 1px solid var(--lfgm-line);
	background: #fff;
	box-shadow: 0 8px 28px rgba(20, 48, 72, .07);
}

.team-desc {
	padding: 20px;
}

blockquote {
	padding: 20px 24px;
	border-left: 4px solid var(--lfgm-blue);
	border-radius: 0 8px 8px 0;
	background: var(--lfgm-surface);
}

table {
	overflow: hidden;
	border-radius: 8px;
}

table th {
	background: #eaf2f8;
	color: #19354c;
}

/* Nový samostatný slider na domovské stránce */
#slider.project-slider {
	position: relative;
	overflow: hidden;
	height: clamp(460px, 56vh, 580px);
	min-height: 0 !important;
	border-bottom: 5px solid var(--lfgm-blue);
	background: #0d2234;
	isolation: isolate;
}

#slider.project-slider::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 4;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 64px 64px;
	-webkit-mask-image: linear-gradient(90deg, #000, transparent 70%);
	mask-image: linear-gradient(90deg, #000, transparent 70%);
	pointer-events: none;
}

.project-slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity .7s ease, visibility .7s;
}

.project-slide.is-active {
	z-index: 1;
	visibility: visible;
	opacity: 1;
}

.project-slide > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	background: #0d2234;
	object-fit: cover;
	transform: scale(1.015);
	transition: transform 7s ease;
}

.project-slide.is-active > img {
	transform: scale(1.045);
}

.project-slide > img.project-slide-contain {
	right: 0;
	left: auto;
	width: 62%;
	object-fit: contain;
	object-position: center;
}

.project-slide-shade {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(0deg, rgba(5, 18, 29, .68), transparent 48%),
		linear-gradient(90deg, rgba(5, 18, 29, .94) 0%, rgba(5, 18, 29, .68) 43%, rgba(5, 18, 29, .12) 78%);
}

.project-slide-content {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	height: 100%;
}

.project-slide-content-right {
	justify-content: flex-start;
}

.project-slide-copy {
	max-width: 650px;
	padding: 30px 34px 32px 38px;
	border-left: 4px solid var(--lfgm-cyan);
	background: rgba(8, 29, 46, .64);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.project-slide-copy span {
	display: block;
	margin-bottom: 14px;
	color: #7bdcff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.project-slide-copy h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(34px, 4vw, 56px);
	font-weight: 750;
	letter-spacing: -.045em;
	line-height: 1.04;
	text-transform: none;
}

.project-slide-copy p {
	max-width: 550px;
	margin: 17px 0 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, .2);
	color: rgba(255, 255, 255, .86);
	font-size: 16px;
	line-height: 1.6;
}

.project-slider-controls {
	position: absolute;
	right: max(4vw, calc((100vw - 1180px) / 2));
	bottom: 24px;
	left: max(4vw, calc((100vw - 1180px) / 2));
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
}

.project-slider-dots,
.project-slider-arrows {
	display: flex;
	align-items: center;
	gap: 8px;
	pointer-events: auto;
}

.project-slider-dots button {
	width: 34px;
	height: 4px;
	padding: 0;
	border: 0;
	border-radius: 2px;
	background: rgba(255, 255, 255, .55);
	transform: none;
	transition: width .25s ease, background-color .25s ease;
}

.project-slider-dots button.is-active {
	width: 58px;
	background: var(--lfgm-cyan);
}

.project-slider-arrows button {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 8px;
	background: rgba(8, 29, 46, .76);
	color: #fff;
	font-size: 20px;
	transform: none;
	backdrop-filter: blur(8px);
}

.project-slider-arrows button:hover,
.project-slider-arrows button:focus-visible {
	border-color: var(--lfgm-cyan);
	background: var(--lfgm-blue);
	transform: translateY(-2px);
}

/* Domovská stránka: fotografie torz splývají s čistě bílým pozadím */
.home-page #content,
.home-page #content .content-wrap,
.home-page #content .footer-stick,
.home-page #content .footer-stick .container,
.home-page #content .footer-stick .row,
.home-page #content .footer-stick [class*="col-"] {
	background-color: #fff !important;
}

.home-page #content .content-wrap {
	padding-bottom: 0 !important;
}

/* Homepage: nadpis a karty novinek jsou uprostřed, obsah karet zůstává vlevo */
.home-page #page-title .container,
.home-page #page-title h1 {
	text-align: center !important;
}

.home-page #content .row.gutter-40.col-mb-80 {
	justify-content: center;
}

.home-page #content .postcontent {
	float: none;
	flex: 0 0 100%;
	width: 100%;
	max-width: 1080px !important;
	margin-right: auto;
	margin-left: auto;
}

.home-page #posts,
.home-page #posts .entry,
.home-page #posts .grid-inner {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.home-page #posts .grid-inner,
.home-page #posts .entry-title,
.home-page #posts .entry-meta,
.home-page #posts .entry-content {
	text-align: left;
}

@media (max-width: 991px) {
	#header { min-height: 72px; }
	#logo img {
		max-width: min(72vw, 410px);
		max-height: 54px;
	}
	.primary-menu { max-height: calc(100vh - 72px); overflow-y: auto; }
	.menu-container { padding: 8px 0 18px; }
	.menu-link { padding: 11px 4px; }
	.sub-menu-container {
		border-top: 0;
		border-left: 2px solid #dbe7ef;
		border-radius: 0;
		box-shadow: none;
		background: #f8fafb;
	}
	#page-title { padding: 32px 0; }
	.content-wrap { padding: 44px 0; }
	#slider .slider-caption > div {
		padding: 22px;
	}
	#posts .grid-inner {
		padding: 18px;
	}
	#slider.project-slider {
		height: 500px;
	}
	.project-slide-copy {
		max-width: 580px;
		padding: 26px 28px 28px 32px;
	}
}

@media (max-width: 991px) {
	.footer-stick,
	#content .content-wrap:has(.footer-stick) > .line {
		display: none !important;
	}
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}
	.top-links-sub-menu {
		right: 0 !important;
		left: auto !important;
	}
}

@media (max-width: 575px) {
	body { font-size: 15px; }
	.container { padding-right: 20px; padding-left: 20px; }
	#page-title h1 { font-size: 30px; }
	.content-wrap { padding: 34px 0; }
	#content p, #content li { font-size: 15px; }
	table { display: block; max-width: 100%; overflow-x: auto; }
	iframe, video { max-width: 100%; }
	#slider .swiper-slide::after {
		background: linear-gradient(0deg, rgba(7, 24, 39, .78), rgba(7, 24, 39, .18));
	}
	#slider {
		height: 520px;
	}
	#slider.project-slider {
		height: 500px;
	}
	#slider .slider-caption {
		top: auto;
		right: 4%;
		bottom: 82px;
		left: 4%;
		width: 92%;
		height: auto;
	}
	#slider .slider-caption > div {
		width: 100%;
		padding: 22px;
		border-left-width: 3px;
		border-radius: 9px;
	}
	#slider .slider-caption > div::before {
		margin-bottom: 10px;
	}
	#slider .slider-caption h2 {
		font-size: clamp(30px, 10vw, 42px);
	}
	#slider .slider-caption p {
		font-size: 14px;
	}
	.slider-arrow-left,
	.slider-arrow-right {
		bottom: 18px;
		width: 44px;
		height: 44px;
	}
	.slider-arrow-left {
		right: 72px;
	}
	.slider-arrow-right {
		right: 18px;
	}
	#slider .swiper-pagination {
		bottom: 36px;
		left: 18px;
	}
	#slider .swiper-pagination-bullet {
		width: 22px;
	}
	#slider .swiper-pagination-bullet-active {
		width: 34px;
	}
	.project-slide > img.project-slide-contain {
		width: 100%;
		opacity: .72;
	}
	.project-slide-shade {
		background: linear-gradient(0deg, rgba(5, 18, 29, .94) 0%, rgba(5, 18, 29, .52) 72%, rgba(5, 18, 29, .2));
	}
	.project-slide-content {
		align-items: flex-end;
		padding-bottom: 94px;
	}
	.project-slide-copy {
		width: 100%;
		padding: 20px 20px 22px;
		border-left-width: 3px;
	}
	.project-slide-copy h2 {
		font-size: clamp(30px, 10vw, 42px);
	}
	.project-slide-copy p {
		font-size: 14px;
	}
	.project-slider-controls {
		right: 18px;
		bottom: 18px;
		left: 18px;
	}
	.project-slider-dots button {
		width: 22px;
	}
	.project-slider-dots button.is-active {
		width: 34px;
	}
	.project-slider-arrows button {
		width: 42px;
		height: 42px;
	}
	#posts .grid-inner {
		padding: 14px;
	}
	#posts .col-md-8 {
		padding-top: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
}
/* Top utility navigation and its opened dropdowns */
.top-links-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.top-links-container > .top-links-item > a { color: #fff; }
.top-links-container > .top-links-item:not(.top-links-admin):hover > a {
    background: #fff !important;
    color: #111 !important;
}
.top-links-container .top-links-sub-menu {
    background: #fff !important;
    border: 1px solid #172331 !important;
    border-radius: 0 0 7px 7px;
    box-shadow: 0 10px 25px rgba(19, 41, 60, .18);
    overflow: hidden;
}
.top-links-container .top-links-sub-menu .top-links-item,
.top-links-container .top-links-sub-menu .top-links-item > a {
    background: #fff !important;
    color: #111 !important;
}
.top-links-container .top-links-sub-menu .top-links-item > a:hover {
    background: #edf5fa !important;
    color: #000 !important;
}
.top-links-container [data-lang][aria-current="true"] { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.top-links-admin {
    position: absolute !important;
    right: 0;
    top: 0;
    margin-left: 0 !important;
}
.top-links-admin > a { background: #0b6fae; font-weight: 700; padding-inline: 16px !important; }
.top-links-admin > a:hover { background: #084f7c !important; color: #fff !important; }
.news-status { width: 100%; padding: 30px; text-align: center; color: #667581; }
.news-image-static { cursor: default; pointer-events: none; }
.content-page-heading {
    margin: 0 0 32px;
    color: #172331;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;
    line-height: 1.25;
}
.search-page { max-width: 980px; }
.site-search { margin-bottom: 36px; }
.site-search label { display: block; margin-bottom: 8px; color: #172331; font-weight: 700; }
.site-search-row { display: flex; gap: 10px; }
.site-search-row input { flex: 1; min-width: 0; padding: 12px 14px; border: 1px solid #aebdca; border-radius: 8px; font-size: 17px; }
.search-summary { color: #607080; }
.search-results { display: grid; gap: 16px; }
.search-result { padding: 22px 24px; border: 1px solid #dbe3ea; border-radius: 10px; background: #fff; box-shadow: 0 7px 22px rgba(22,45,67,.06); }
.search-result h2 { margin: 0 0 8px; font-size: 23px; }
.search-result p { margin: 0; }
@media (max-width: 575px) { .site-search-row { align-items: stretch; flex-direction: column; } }
@media (max-width: 767px) {
    .top-links-container { justify-content: flex-start; flex-wrap: wrap; }
    .top-links-admin { position: static !important; margin-left: auto !important; }
}
