/* Genau Portfolio — clean frontend stylesheet */

.genau-portfolio,
.genau-portfolio *,
.genau-project,
.genau-project * {
	box-sizing: border-box;
}

.genau-portfolio,
.genau-project {
	--genau-primary: #0cadcf;
	--genau-primary-dark: #087c9f;
	--genau-primary-light: #78caed;
	--genau-navy: #0e1932;
	--genau-text: #263248;
	--genau-muted: #667188;
	--genau-line: #d9dfe5;
	--genau-soft: #eaf3fd;
	--genau-radius: 20px;
	color: var(--genau-text);
}

body.genau-portfolio-project-page,
body.genau-portfolio-project-page #page,
body.genau-portfolio-project-page .site,
body.genau-portfolio-project-page .site-main,
.genau-project {
	background: #fff !important;
}

.genau-project {
	padding: clamp(24px, 3.5vw, 46px) 20px clamp(60px, 7vw, 92px);
}

.genau-project__container {
	width: min(100%, 1290px);
	margin-inline: auto;
}

.genau-portfolio-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0 0 30px;
}

.genau-portfolio-filter {
	min-height: 38px;
	padding: 8px 15px;
	border: 1px solid rgba(14, 25, 50, .13);
	border-radius: 999px;
	background: rgba(255, 255, 255, .9);
	color: var(--genau-navy);
	font: inherit;
	font-size: 13px;
	font-weight: 750;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 5px 14px rgba(14, 25, 50, .045);
	transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.genau-portfolio-filter:hover {
	transform: translateY(-1px);
	border-color: rgba(12, 173, 207, .38);
	box-shadow: 0 8px 18px rgba(14, 25, 50, .07);
}

.genau-portfolio-filter.is-active {
	border-color: transparent;
	background: linear-gradient(135deg, var(--genau-primary), var(--genau-primary-dark));
	color: #fff;
	box-shadow: 0 9px 22px rgba(12, 173, 207, .2), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.genau-portfolio-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 32px);
}

.genau-portfolio-grid--1 { grid-template-columns: 1fr; }
.genau-portfolio-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.genau-portfolio-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.genau-portfolio-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.genau-portfolio-card[hidden] {
	display: none !important;
}

.genau-portfolio-card {
	min-width: 0;
	align-self: start;
}

.genau-portfolio-card__link {
	position: relative;
	display: flex;
	flex-direction: column;
	height: auto;
	color: inherit;
	text-decoration: none !important;
	transition: transform .24s cubic-bezier(.2, .8, .2, 1);
}

.genau-portfolio-card__media {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 10.4;
	overflow: visible;
	margin: 0 0 6px;
	padding: 0;
	isolation: isolate;
	transition: transform .28s cubic-bezier(.2, .8, .2, 1);
}

.genau-portfolio-card__media::before {
	content: "";
	position: absolute;
	inset: 25% 11% 7%;
	z-index: -1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(12, 173, 207, .34) 0%, rgba(120, 202, 237, .16) 44%, rgba(12, 173, 207, 0) 74%);
	opacity: .55;
	pointer-events: none;
	transition: opacity .22s ease;
}

.genau-portfolio-card__image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	filter: drop-shadow(0 0 11px rgba(12, 173, 207, .28));
	transform: scale(1);
	transition: transform .3s cubic-bezier(.2, .8, .2, 1), filter .22s ease;
}

.genau-portfolio-card__placeholder {
	position: relative;
	z-index: 1;
	width: 42%;
	aspect-ratio: 1;
	border-radius: 28px;
	background: linear-gradient(135deg, rgba(12, 173, 207, .3), rgba(14, 25, 50, .2));
	box-shadow: 0 0 24px rgba(12, 173, 207, .2);
}

.genau-portfolio-card__arrow {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, .62);
	border-radius: 12px;
	background: linear-gradient(145deg, rgba(14, 25, 50, .9), rgba(10, 95, 124, .82));
	color: #fff;
	font-size: 17px;
	box-shadow: 0 8px 18px rgba(14, 25, 50, .14), inset 0 1px 0 rgba(255, 255, 255, .16);
	opacity: 0;
	transform: translate(-3px, 3px);
	transition: opacity .22s ease, transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.genau-portfolio-card__body {
	position: relative;
	z-index: 1;
	overflow: visible;
	min-height: 82px;
	padding: 13px 15px 14px;
	border: 1px solid rgba(120, 202, 237, .42);
	border-radius: 15px;
	background: radial-gradient(circle at 78% 8%, rgba(120, 202, 237, .18), transparent 34%), linear-gradient(168deg, rgba(255, 255, 255, .9) 0%, rgba(243, 250, 255, .82) 52%, rgba(220, 239, 252, .74) 100%);
	box-shadow: 0 14px 30px rgba(14, 25, 50, .09), 0 4px 14px rgba(12, 173, 207, .06), inset 0 1px 0 rgba(255, 255, 255, .98);
	text-align: center;
	transition: transform .24s cubic-bezier(.2, .8, .2, 1), border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.genau-portfolio-card__body::before {
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: 13px;
	background: linear-gradient(168deg, rgba(255, 255, 255, .6) 0%, transparent 45%, rgba(12, 173, 207, .05) 100%);
	pointer-events: none;
}

.genau-portfolio-card__title,
.genau-portfolio-card__body .genau-portfolio-badges {
	position: relative;
	z-index: 1;
}

.genau-portfolio-card__title {
	margin: 0 0 9px !important;
	padding: 0 0 3px;
	overflow: visible;
	color: var(--genau-navy);
	font-size: clamp(18px, 1.8vw, 22px) !important;
	font-weight: 760;
	line-height: 1.3;
	letter-spacing: -.024em;
	transition: transform .22s ease;
}

.genau-portfolio-badges,
.genau-project-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.genau-portfolio-card__body .genau-portfolio-badges {
	justify-content: center;
}

.genau-portfolio-badge,
.genau-project-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 5px 10px;
	border: 1px solid rgba(12, 173, 207, .2);
	border-radius: 999px;
	background: rgba(234, 243, 253, .82);
	color: #086b89;
	font-size: 11px;
	font-weight: 760;
	line-height: 1.1;
}

.genau-portfolio-card .genau-portfolio-badge {
	border-color: rgba(120, 202, 237, .55);
	background: linear-gradient(145deg, rgba(14, 25, 50, .84), rgba(8, 118, 149, .74));
	color: rgba(255, 255, 255, .96);
	box-shadow: 0 4px 10px rgba(14, 25, 50, .09), inset 0 1px 0 rgba(255, 255, 255, .16);
}

.genau-portfolio-card__link:hover {
	transform: translateY(-4px);
}

.genau-portfolio-card__link:hover .genau-portfolio-card__media {
	transform: translateY(-4px);
}

.genau-portfolio-card__link:hover .genau-portfolio-card__media::before {
	opacity: .8;
}

.genau-portfolio-card__link:hover .genau-portfolio-card__image {
	transform: scale(1.038);
	filter: drop-shadow(0 0 14px rgba(12, 173, 207, .42));
}

.genau-portfolio-card__link:hover .genau-portfolio-card__body {
	transform: translateY(-1px);
	border-color: rgba(12, 173, 207, .62);
	background: radial-gradient(circle at 78% 8%, rgba(120, 202, 237, .26), transparent 36%), linear-gradient(168deg, rgba(255, 255, 255, .95) 0%, rgba(239, 249, 255, .88) 50%, rgba(210, 235, 250, .8) 100%);
	box-shadow: 0 17px 34px rgba(14, 25, 50, .11), 0 6px 18px rgba(12, 173, 207, .08), inset 0 1px 0 rgba(255, 255, 255, .98);
}

.genau-portfolio-card__link:hover .genau-portfolio-card__arrow {
	opacity: 1;
	transform: translate(0, 0);
	background: linear-gradient(145deg, rgba(12, 173, 207, .96), rgba(8, 124, 159, .92));
	box-shadow: 0 10px 22px rgba(12, 173, 207, .2), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.genau-portfolio-card__link:hover .genau-portfolio-card__title {
	transform: translateY(-1px);
}

.genau-portfolio-card__link:focus-visible {
	outline: 3px solid rgba(12, 173, 207, .3);
	outline-offset: 6px;
	border-radius: var(--genau-radius);
}

.genau-portfolio-empty {
	margin: 26px 0 0;
	padding: 20px;
	border: 1px solid var(--genau-line);
	border-radius: 14px;
	background: #fff;
	color: var(--genau-muted);
	text-align: center;
}

.genau-project-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
	align-items: center;
	gap: clamp(28px, 4vw, 56px);
	min-height: 370px;
	overflow: hidden;
	padding: clamp(26px, 3.6vw, 44px);
	border: 1px solid rgba(12, 173, 207, .42);
	border-radius: 21px;
	background: radial-gradient(circle at 84% 24%, rgba(120, 202, 237, .14), transparent 34%), linear-gradient(135deg, #fff 0%, #f8fbff 54%, #eef6ff 100%);
	box-shadow: 0 16px 38px rgba(14, 25, 50, .075), inset 0 1px 0 rgba(255, 255, 255, .96);
}

.genau-project-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(120deg, rgba(255, 255, 255, .5), transparent 33%, rgba(12, 173, 207, .03));
}

.genau-project-hero__content,
.genau-project-hero__visual {
	position: relative;
	z-index: 1;
}

.genau-project-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 16px;
	color: var(--genau-muted);
	font-size: 12px;
	font-weight: 650;
}

.genau-project-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.genau-project-eyebrow {
	display: inline-block;
	margin-bottom: 11px;
	color: var(--genau-primary-dark);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.genau-project-hero h1 {
	margin: 0;
	color: var(--genau-navy);
	font-size: clamp(38px, 5vw, 64px);
	font-weight: 780;
	line-height: 1.02;
	letter-spacing: -.052em;
}

.genau-project-hero__lead {
	max-width: 650px;
	margin-top: 19px;
	color: var(--genau-muted);
	font-size: 17px;
	line-height: 1.7;
}

.genau-project-hero__lead > :first-child { margin-top: 0; }
.genau-project-hero__lead > :last-child { margin-bottom: 0; }

.genau-project-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 50px;
	margin-top: 26px;
	padding: 12px 22px;
	border: 1px solid rgba(120, 202, 237, .48);
	border-radius: 14px;
	background: linear-gradient(135deg, #0cadcf 0%, #087c9f 46%, #0e1932 100%);
	color: #fff !important;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 12px 25px rgba(14, 25, 50, .19), 0 5px 15px rgba(12, 173, 207, .18), inset 0 1px 0 rgba(255, 255, 255, .25), inset 0 -2px 0 rgba(3, 12, 27, .4);
	transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.genau-project-button:hover {
	transform: translateY(-2px);
	filter: saturate(1.05) brightness(1.03);
	box-shadow: 0 16px 30px rgba(14, 25, 50, .22), 0 7px 18px rgba(12, 173, 207, .22), inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -2px 0 rgba(3, 12, 27, .34);
}

.genau-project-hero__visual {
	display: grid;
	place-items: center;
	min-height: 300px;
}

.genau-project-hero__glow {
	position: absolute;
	inset: 17% 8%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(12, 173, 207, .3) 0%, rgba(120, 202, 237, .13) 42%, transparent 72%);
}

.genau-project-hero__image {
	position: relative;
	display: block;
	width: 100%;
	max-width: 510px;
	max-height: 390px;
	object-fit: contain;
	filter: drop-shadow(0 0 12px rgba(12, 173, 207, .24));
}

.genau-project-hero__placeholder {
	position: relative;
	width: 58%;
	aspect-ratio: 1;
	border-radius: 38px;
	background: linear-gradient(135deg, rgba(12, 173, 207, .16), rgba(14, 25, 50, .08));
}

.genau-project-back-button {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid rgba(255, 255, 255, .62);
	border-radius: 13px;
	background: linear-gradient(135deg, rgba(120, 202, 237, .95), rgba(12, 173, 207, .9) 52%, rgba(8, 124, 159, .92));
	color: #fff !important;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 10px 24px rgba(8, 124, 159, .2), inset 0 1px 0 rgba(255, 255, 255, .28);
	transition: transform .22s ease, box-shadow .22s ease;
}

.genau-project-back-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(8, 124, 159, .24), inset 0 1px 0 rgba(255, 255, 255, .3);
}

.genau-project-back-button__arrow,
.genau-project-back-button__close {
	width: 18px;
	height: 18px;
}

.genau-project-back-button__close {
	display: none;
}

.genau-project-details,
.genau-project-content,
.genau-project-mockups,
.genau-project-gallery,
.genau-project-related {
	margin-top: clamp(52px, 6vw, 84px);
}

.genau-project-section-heading {
	margin-bottom: 24px;
}

.genau-project-section-heading h2,
.genau-project-content > h2:first-child {
	margin: 0;
	color: var(--genau-navy);
	font-size: clamp(28px, 3.6vw, 40px);
	font-weight: 760;
	line-height: 1.1;
	letter-spacing: -.04em;
}

.genau-project-section-heading--row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
}

.genau-project-section-heading--row > a {
	color: var(--genau-primary-dark);
	font-size: 14px;
	font-weight: 760;
	text-decoration: none;
}

.genau-project-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.genau-project-stat {
	min-width: 0;
	padding: 18px;
	border: 1px solid rgba(14, 25, 50, .1);
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(234, 243, 253, .72));
	box-shadow: 0 9px 24px rgba(14, 25, 50, .055), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.genau-project-stat__label {
	display: block;
	margin-bottom: 8px;
	color: var(--genau-muted);
	font-size: 11px;
	font-weight: 760;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.genau-project-stat__value {
	display: block;
	overflow-wrap: anywhere;
	color: var(--genau-navy);
	font-size: 17px;
	font-weight: 760;
	line-height: 1.35;
}

.genau-project-detail-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}

.genau-project-detail-group {
	padding: 21px;
	border: 1px solid rgba(12, 173, 207, .18);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 9px 24px rgba(14, 25, 50, .045);
}

.genau-project-detail-group h3 {
	margin: 0 0 14px;
	color: var(--genau-navy);
	font-size: 17px;
	font-weight: 750;
}

.genau-project-tags span {
	min-height: 30px;
	padding: 6px 11px;
	font-size: 12px;
}

.genau-project-content {
	color: var(--genau-text);
	font-size: 17px;
	line-height: 1.78;
}

.genau-project-content > *,
.genau-project-content > .alignwide,
.genau-project-content > .alignfull,
.genau-project-content .kb-row-layout-wrap,
.genau-project-content .kt-row-column-wrap {
	width: 100%;
	max-width: none;
}

.genau-project-content h2 {
	margin: 48px 0 16px;
	color: var(--genau-navy);
	font-size: clamp(28px, 3.6vw, 40px);
	line-height: 1.12;
	letter-spacing: -.04em;
}

.genau-project-content h3 {
	margin: 30px 0 12px;
	color: var(--genau-navy);
	font-size: 22px;
	line-height: 1.25;
}

.genau-project-content p,
.genau-project-content ul,
.genau-project-content ol {
	margin-bottom: 20px;
}

.genau-project-content img {
	max-width: 100%;
	height: auto;
}

.genau-project-overview-section,
.genau-project-custom-section,
.genau-project-result-section {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: none !important;
	overflow: hidden;
	margin: 30px 0;
	border-radius: 18px;
}

.genau-project-overview-section {
	display: grid;
	grid-template-columns: minmax(0, 1.48fr) minmax(250px, .52fr);
	gap: clamp(28px, 4vw, 54px);
	align-items: center;
	padding: clamp(24px, 3.5vw, 40px);
	border: 1px solid rgba(120, 202, 237, .4);
	background: radial-gradient(circle at 92% 10%, rgba(12, 173, 207, .22), transparent 34%), linear-gradient(145deg, #073453 0%, #075f86 54%, #0a7fa4 100%);
	box-shadow: 0 20px 42px rgba(2, 24, 40, .18), 0 7px 18px rgba(12, 173, 207, .08), inset 0 1px 0 rgba(255, 255, 255, .16), inset 0 -1px 0 rgba(2, 24, 40, .22);
}

.genau-project-overview-section::before {
	content: "";
	position: absolute;
	inset: 1px;
	z-index: -1;
	border-radius: 16px;
	background: linear-gradient(110deg, rgba(255, 255, 255, .1), transparent 26%, transparent 76%, rgba(12, 173, 207, .1)), linear-gradient(to bottom, rgba(255, 255, 255, .08), transparent 30%);
	pointer-events: none;
}

.genau-project-overview-section.has-no-image {
	grid-template-columns: minmax(0, 1fr);
}

.genau-project-overview-section__inner {
	min-width: 0;
}

.genau-project-overview-section.has-no-image > .genau-project-overview-section__inner {
	grid-column: 1 / -1;
}

.genau-project-overview-section__inner > .kb-row-layout-wrap,
.genau-project-overview-section__inner > .wp-block-kadence-rowlayout {
	width: 100%;
	max-width: none;
	margin: 0;
}

.genau-project-overview-section .genau-project-overview-row > .kt-row-column-wrap {
	width: 100%;
	max-width: none;
	align-items: center;
}

.genau-project-overview-part + .genau-project-overview-part {
	margin-top: 22px;
}

.genau-project-overview-part__heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 10px;
}

.genau-project-overview-part__icon {
	display: grid;
	flex: 0 0 36px;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(120, 202, 237, .38);
	border-radius: 10px;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	box-shadow: 0 7px 17px rgba(2, 28, 47, .15), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.genau-project-overview-part--about .genau-project-overview-part__icon::before {
	content: "i";
}

.genau-project-overview-part--included .genau-project-overview-part__icon::before {
	content: "✓";
}

.genau-project-overview-part__title {
	margin: 0 !important;
	color: #fff !important;
	font-size: 18px !important;
	font-weight: 760;
	line-height: 1.28;
	letter-spacing: -.015em;
}

.genau-project-overview-part__body {
	padding-left: 50px;
	color: rgba(255, 255, 255, .94);
	font-size: 17px;
	line-height: 1.75;
}

.genau-project-overview-part__body > :first-child { margin-top: 0; }
.genau-project-overview-part__body > :last-child { margin-bottom: 0; }

.genau-project-overview-part__body p,
.genau-project-overview-part__body ul,
.genau-project-overview-part__body ol {
	margin-bottom: 16px;
	color: inherit;
}

.genau-project-overview-part__body li + li {
	margin-top: 5px;
}

.genau-project-overview-part__body strong {
	color: #fff;
}

.genau-project-overview-part__body a {
	color: #d4f5ff;
}

.genau-project-overview-part--included {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.genau-project-overview-section__media {
	position: relative;
	z-index: 0;
	display: grid;
	place-items: center;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.genau-project-overview-section__media-glow,
.genau-project-overview-section .genau-project-overview-row .wp-block-image::before,
.genau-project-overview-section .genau-project-overview-row .wp-block-kadence-image::before {
	content: "";
	position: absolute;
	inset: 12% 5%;
	z-index: -1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(12, 173, 207, .28), rgba(120, 202, 237, .1) 46%, transparent 72%);
}

.genau-project-overview-section__image,
.genau-project-overview-section .genau-project-overview-row img {
	display: block;
	width: 100%;
	max-width: 360px;
	max-height: 590px;
	object-fit: contain;
	filter: drop-shadow(0 0 12px rgba(12, 173, 207, .32));
}

.genau-project-overview-section .genau-project-overview-row .wp-block-image,
.genau-project-overview-section .genau-project-overview-row .wp-block-kadence-image {
	position: relative;
	z-index: 0;
	margin: 0;
}

.genau-project-custom-section {
	padding: 22px;
	border: 1px solid rgba(12, 173, 207, .2);
	background: radial-gradient(circle at 88% 10%, rgba(120, 202, 237, .12), transparent 34%), linear-gradient(135deg, rgba(255, 255, 255, .99) 0%, rgba(249, 252, 255, .98) 56%, rgba(234, 243, 253, .78) 100%);
	box-shadow: 0 10px 26px rgba(14, 25, 50, .045), inset 0 1px 0 rgba(255, 255, 255, .96);
}

.genau-project-custom-section--included {
	border-color: rgba(120, 202, 237, .42);
	background: radial-gradient(circle at 88% 10%, rgba(12, 173, 207, .17), transparent 34%), linear-gradient(135deg, rgba(228, 243, 253, .92), rgba(255, 255, 255, .98));
}

.genau-project-custom-section--custom {
	border-color: rgba(14, 25, 50, .11);
}

.genau-project-custom-section__inner,
.genau-project-result-section__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.genau-project-custom-section.has-image .genau-project-custom-section__inner,
.genau-project-result-section.has-image .genau-project-result-section__inner {
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
}

.genau-project-custom-section--image-left.has-image .genau-project-custom-section__media {
	grid-column: 1;
	grid-row: 1;
}

.genau-project-custom-section--image-left.has-image .genau-project-custom-section__content {
	grid-column: 2;
	grid-row: 1;
}

.genau-project-custom-section__content,
.genau-project-result-section__content {
	min-width: 0;
}

.genau-project-custom-section__title,
.genau-project-result-section__title,
.genau-project-gallery-block__title {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0 0 10px !important;
	color: var(--genau-navy);
	font-size: 18px !important;
	font-weight: 760;
	line-height: 1.28;
	letter-spacing: -.015em;
}

.genau-project-custom-section__title::before,
.genau-project-gallery-block__title::before {
	display: grid;
	flex: 0 0 36px;
	place-items: center;
	width: 36px;
	height: 36px;
	margin-top: -3px;
	border-radius: 10px;
	background: #fff;
	color: var(--genau-primary);
	font-size: 14px;
	box-shadow: 0 6px 16px rgba(14, 25, 50, .06);
}

.genau-project-custom-section__title::before {
	content: "✦";
}

.genau-project-custom-section--about .genau-project-custom-section__title::before {
	content: "i";
}

.genau-project-custom-section--included .genau-project-custom-section__title::before {
	content: "✓";
}

.genau-project-gallery-block__title::before {
	content: "▦";
}

.genau-project-custom-section__body,
.genau-project-result-section__body {
	padding-left: 50px;
	color: var(--genau-text);
	font-size: 17px;
	line-height: 1.75;
}

.genau-project-custom-section__body > :first-child,
.genau-project-result-section__body > :first-child {
	margin-top: 0;
}

.genau-project-custom-section__body > :last-child,
.genau-project-result-section__body > :last-child {
	margin-bottom: 0;
}

.genau-project-custom-section__media,
.genau-project-result-section__media {
	display: grid;
	place-items: center;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.genau-project-custom-section__image,
.genau-project-result-section__image,
.genau-project-custom-section .genau-project-kadence-row img,
.genau-project-result-section .genau-project-kadence-row img {
	display: block;
	width: 100%;
	max-width: 520px;
	max-height: 520px;
	object-fit: contain;
	filter: drop-shadow(0 0 10px rgba(12, 173, 207, .22));
}

.genau-project-custom-section .genau-project-kadence-row > .kt-row-column-wrap,
.genau-project-result-section .genau-project-kadence-row > .kt-row-column-wrap {
	width: 100%;
	max-width: none;
	align-items: center;
}

.genau-project-result-section {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 18px;
	padding: 22px;
	border: 1px solid rgba(120, 202, 237, .42);
	background: radial-gradient(circle at 86% 14%, rgba(12, 173, 207, .24), transparent 36%), linear-gradient(140deg, rgba(4, 39, 62, .97), rgba(6, 87, 116, .94));
	box-shadow: 0 14px 32px rgba(2, 28, 47, .14), inset 0 1px 0 rgba(255, 255, 255, .14);
}

.genau-project-result-section__icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(120, 202, 237, .42);
	border-radius: 10px;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

.genau-project-result-section__icon::before {
	content: "✓";
	font-weight: 800;
}

.genau-project-result-section__title {
	color: #fff;
}

.genau-project-result-section__body,
.genau-project-result-section__body p,
.genau-project-result-section__body li,
.genau-project-result-section__body strong {
	color: rgba(255, 255, 255, .93);
}

.genau-project-result-section__body a {
	color: #d4f5ff;
}

.genau-project-highlight {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	margin: 24px 0;
	padding: 18px;
	border: 1px solid rgba(12, 173, 207, .2);
	border-radius: 15px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(234, 243, 253, .72));
	box-shadow: 0 9px 22px rgba(14, 25, 50, .05);
}

.genau-project-highlight__symbol {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--genau-primary);
	color: #fff;
	font-size: 14px;
	box-shadow: 0 6px 16px rgba(12, 173, 207, .14);
}

.genau-project-highlight__symbol::before {
	content: "✦";
}

.genau-project-highlight--solution .genau-project-highlight__symbol::before { content: "✓"; }
.genau-project-highlight--feature .genau-project-highlight__symbol::before { content: "★"; }
.genau-project-highlight--creative .genau-project-highlight__symbol::before { content: "✦"; }
.genau-project-highlight--technical .genau-project-highlight__symbol::before { content: "⌘"; }
.genau-project-highlight--challenge .genau-project-highlight__symbol::before { content: "!"; }
.genau-project-highlight--result .genau-project-highlight__symbol::before { content: "↗"; }

.genau-project-highlight--technical,
.genau-project-highlight--challenge {
	border-color: rgba(14, 25, 50, .16);
	background: linear-gradient(135deg, rgba(14, 25, 50, .055), rgba(12, 173, 207, .08));
}

.genau-project-highlight--technical .genau-project-highlight__symbol,
.genau-project-highlight--challenge .genau-project-highlight__symbol {
	background: var(--genau-navy);
}

.genau-project-highlight__title {
	margin: 0 0 7px !important;
	color: var(--genau-navy);
	font-size: 18px !important;
	font-weight: 760;
	line-height: 1.28;
}

.genau-project-highlight__body > :last-child {
	margin-bottom: 0;
}

.genau-project-gallery-block {
	margin: 30px 0;
	padding: 0;
}

.genau-project-gallery-block__title {
	margin-bottom: 18px !important;
}

.genau-project-gallery-block__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.genau-project-gallery-block--columns-2 .genau-project-gallery-block__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.genau-project-gallery-block--columns-4 .genau-project-gallery-block__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.genau-project-gallery-block__item {
	display: grid;
	place-items: center;
	min-width: 0;
	margin: 0;
	padding: 10px;
	border: 1px solid rgba(120, 202, 237, .36);
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(224, 241, 252, .74));
	box-shadow: 0 12px 26px rgba(14, 25, 50, .075), inset 0 1px 0 rgba(255, 255, 255, .98);
}

.genau-project-gallery-block__item img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: contain;
	border-radius: 10px;
}

.genau-project-mockups__grid,
.genau-project-gallery__grid {
	display: grid;
	gap: 22px;
}

.genau-project-mockups__grid.has-two {
	grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
}

.genau-project-mockups__grid.has-one {
	grid-template-columns: 1fr;
}

.genau-project-mockup {
	display: grid;
	place-items: center;
	min-height: 280px;
	padding: 22px;
	border: 1px solid rgba(12, 173, 207, .2);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(234, 243, 253, .72));
}

.genau-project-mockup img,
.genau-project-gallery__grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.genau-project-related {
	padding-top: 52px;
	border-top: 1px solid var(--genau-line);
}

@media (max-width: 1060px) {
	.genau-portfolio-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.genau-project-hero {
		grid-template-columns: minmax(0, 1.08fr) minmax(290px, .92fr);
	}

	.genau-project-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.genau-project-overview-section,
	.genau-project-custom-section.has-image .genau-project-custom-section__inner,
	.genau-project-result-section.has-image .genau-project-result-section__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.genau-project-overview-section__inner,
	.genau-project-overview-section__media,
	.genau-project-custom-section__content,
	.genau-project-custom-section__media,
	.genau-project-result-section__content,
	.genau-project-result-section__media {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
	}

	.genau-project-overview-section .genau-project-overview-row > .kt-row-column-wrap,
	.genau-project-custom-section .genau-project-kadence-row > .kt-row-column-wrap,
	.genau-project-result-section .genau-project-kadence-row > .kt-row-column-wrap {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.genau-project-overview-section__media,
	.genau-project-custom-section__media,
	.genau-project-result-section__media,
	.genau-project-overview-section .genau-project-overview-row .wp-block-image,
	.genau-project-overview-section .genau-project-overview-row .wp-block-kadence-image {
		margin-top: 22px;
	}

	.genau-project-overview-section__image,
	.genau-project-overview-section .genau-project-overview-row img {
		max-width: 300px;
	}
}

@media (max-width: 820px) {
	.genau-portfolio-grid,
	.genau-portfolio-grid--2,
	.genau-portfolio-grid--3,
	.genau-portfolio-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.genau-portfolio-card__media::before {
		opacity: .8;
	}

	.genau-portfolio-card__image {
		transform: scale(1.038);
		filter: drop-shadow(0 0 14px rgba(12, 173, 207, .4));
	}

	.genau-portfolio-card__body {
		border-color: rgba(12, 173, 207, .6);
		background: radial-gradient(circle at 78% 8%, rgba(120, 202, 237, .25), transparent 36%), linear-gradient(168deg, rgba(255, 255, 255, .95) 0%, rgba(239, 249, 255, .87) 50%, rgba(210, 235, 250, .79) 100%);
		box-shadow: 0 17px 34px rgba(14, 25, 50, .11), 0 6px 18px rgba(12, 173, 207, .08), inset 0 1px 0 rgba(255, 255, 255, .98);
	}

	.genau-portfolio-card__arrow {
		opacity: 1;
		transform: none;
		background: linear-gradient(145deg, rgba(12, 173, 207, .96), rgba(8, 124, 159, .92));
	}

	.genau-project-hero {
		grid-template-columns: 1fr;
		min-height: 0;
		padding-top: 68px;
	}

	.genau-project-hero__content,
	.genau-project-hero__visual {
		max-width: none;
	}

	.genau-project-hero__visual {
		order: 2;
		min-height: 250px;
	}

	.genau-project-button {
		order: 3;
		justify-self: center;
		margin-top: 0;
	}

	.genau-project-hero__content {
		display: contents;
	}

	.genau-project-breadcrumbs,
	.genau-project-eyebrow,
	.genau-project-hero h1,
	.genau-project-hero__lead {
		grid-column: 1;
	}

	.genau-project-back-button {
		top: 14px;
		right: 14px;
		width: 42px;
		height: 42px;
		min-height: 42px;
		padding: 0;
		border-radius: 13px;
		background: linear-gradient(145deg, rgba(14, 25, 50, .9), rgba(8, 118, 149, .8));
	}

	.genau-project-back-button span,
	.genau-project-back-button__arrow {
		display: none;
	}

	.genau-project-back-button__close {
		display: block;
	}

	.genau-project-detail-groups,
	.genau-project-mockups__grid.has-two {
		grid-template-columns: 1fr;
	}

	.genau-project-gallery-block--columns-3 .genau-project-gallery-block__grid,
	.genau-project-gallery-block--columns-4 .genau-project-gallery-block__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.genau-project {
		padding-inline: 14px;
	}

	.genau-portfolio-filters {
		gap: 7px;
	}

	.genau-portfolio-filter {
		min-height: 34px;
		padding: 7px 12px;
		font-size: 12px;
	}

	.genau-portfolio-grid,
	.genau-portfolio-grid--2,
	.genau-portfolio-grid--3,
	.genau-portfolio-grid--4,
	.genau-project-gallery-block__grid,
	.genau-project-gallery-block--columns-2 .genau-project-gallery-block__grid,
	.genau-project-gallery-block--columns-3 .genau-project-gallery-block__grid,
	.genau-project-gallery-block--columns-4 .genau-project-gallery-block__grid {
		grid-template-columns: 1fr;
	}

	.genau-portfolio-card__media {
		margin-bottom: 5px;
	}

	.genau-portfolio-card__body {
		min-height: 76px;
		padding: 12px 13px 13px;
	}

	.genau-project-hero {
		padding: 64px 18px 22px;
		border-radius: 17px;
	}

	.genau-project-hero h1 {
		font-size: clamp(34px, 11vw, 48px);
	}

	.genau-project-hero__lead {
		font-size: 16px;
	}

	.genau-project-stats {
		grid-template-columns: 1fr;
	}

	.genau-project-section-heading--row {
		align-items: flex-start;
		flex-direction: column;
	}

	.genau-project-overview-section,
	.genau-project-custom-section,
	.genau-project-result-section {
		margin: 24px 0;
		padding: 18px;
		border-radius: 15px;
	}

	.genau-project-result-section {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 12px;
	}

	.genau-project-result-section__icon {
		width: 34px;
		height: 34px;
	}

	.genau-project-overview-part__heading,
	.genau-project-custom-section__title,
	.genau-project-result-section__title,
	.genau-project-gallery-block__title {
		gap: 12px;
	}

	.genau-project-overview-part__icon,
	.genau-project-custom-section__title::before,
	.genau-project-gallery-block__title::before {
		flex-basis: 34px;
		width: 34px;
		height: 34px;
	}

	.genau-project-overview-part__title,
	.genau-project-custom-section__title,
	.genau-project-result-section__title,
	.genau-project-gallery-block__title {
		font-size: 17px !important;
	}

	.genau-project-overview-part__body,
	.genau-project-custom-section__body,
	.genau-project-result-section__body {
		padding-left: 0;
		font-size: 16px;
		line-height: 1.72;
	}

	.genau-project-gallery-block__item {
		padding: 9px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.genau-portfolio *,
	.genau-project * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}
