:root {
	--brand: #3f6914;
	--brand-bright: #85d22d;
	--reflex: #003399;
	--brand-deep: #33540f;
	--heading: #1f330b;
	--orange: #85d22d;
	--orange-hover: #76c424;
	--orange-text: #3f6914;
	--ink: #1b2435;
	--gray: #46506a;
	--muted: #5e6883;
	--bg: #ffffff;
	--bg-soft: #e9f7d9;
	--bg-warm: #f4f7ef;
	--border: #d9e6c6;
	--radius: 16px;
	--shadow: 0 10px 30px rgba(26, 40, 10, 0.08);
	--maxw: 1200px;
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
html.fz-1 {
	font-size: 112.5%;
}
html.fz-2 {
	font-size: 125%;
}
body {
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--ink);
	background: var(--bg);
}
h1,
h2,
h3,
h4 {
	font-family: 'Open Sans', Arial, sans-serif;
	line-height: 1.2;
	color: var(--heading);
}
img {
	max-width: 100%;
	display: block;
}
a {
	color: var(--brand);
}
:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
.on-dark :focus-visible { outline-color: #ffc78f; }

.container {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 24px;
}
.section {
	padding: 88px 0;
}
.sp > .section,
.sp > .page-hero,
.sp > .cofund-strip {
	padding-top: var(--sp-top, 88px);
	padding-bottom: var(--sp-bot, 88px);
}
@media (max-width: 639px) {
	.sp > .section,
	.sp > .page-hero,
	.sp > .cofund-strip {
		padding-top: var(--sp-top-m, var(--sp-top, 88px));
		padding-bottom: var(--sp-bot-m, var(--sp-bot, 88px));
	}
}
.eyebrow {
	display: inline-block;
	font: 700 0.8125rem 'Open Sans';
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--orange-text);
	margin-bottom: 14px;
}
.section-title {
	font-size: clamp(1.7rem, 3.2vw, 2.35rem);
	font-weight: 800;
	margin-bottom: 18px;
}
.section-lead {
	font-size: 1.0625rem;
	color: var(--gray);
}
.single-post .section-title {
	max-width: 760px;
}
.single-post .section-lead {
	max-width: 720px;
}
.section-prose {
	line-height: 1.75;
}
.section-prose p {
	margin-bottom: 18px;
}
.section-prose h2 {
	font-size: 1.45rem;
	margin: 32px 0 14px;
}
.section-prose h3 {
	font-size: 1.2rem;
	margin: 26px 0 12px;
}
.section-prose ul,
.section-prose ol {
	margin: 0 0 20px;
	padding-left: 1.6em;
}
.section-prose ul {
	list-style: disc;
}
.section-prose ol {
	list-style: decimal;
}
.section-prose li {
	margin-bottom: 8px;
}
.section-prose li::marker {
	color: var(--brand);
}
.section-prose a {
	color: var(--brand);
	text-decoration: underline;
}
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.skip-link {
	position: absolute;
	left: 16px;
	top: -60px;
	z-index: 300;
	background: var(--heading);
	color: #fff;
	padding: 12px 22px;
	border-radius: 0 0 10px 10px;
	font-weight: 700;
	text-decoration: none;
	transition: top 0.2s;
}
.skip-link:focus {
	top: 0;
}
.topbar {
	background: var(--brand);
	color: #fff;
	font-size: 0.8125rem;
}
.topbar .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 44px;
}
.topbar-note {
	display: flex;
	align-items: center;
	gap: 10px;
}
.topbar-note svg {
	flex: none;
}
.topbar-tools {
	display: flex;
	align-items: center;
	gap: 6px;
}
.topbar-tools .group-label {
	margin-right: 4px;
	opacity: 0.85;
}
.tool-btn {
	min-width: 36px;
	min-height: 32px;
	padding: 2px 9px;
	border: 1px solid rgb(255 255 255 / 0.45);
	background: #fff0;
	color: #fff;
	border-radius: 8px;
	font: 700 0.8125rem 'Open Sans';
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.tool-btn:hover {
	background: rgb(255 255 255 / 0.16);
}
.lang-dd {
	position: relative;
	margin-left: 10px;
	padding-left: 12px;
	border-left: 1px solid rgb(255 255 255 / 0.35);
}
.lang-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 32px;
	min-width: 44px;
	padding: 4px 10px;
	border: 1px solid rgb(255 255 255 / 0.45);
	background: #fff0;
	color: #fff;
	border-radius: 8px;
	font: 700 0.8125rem 'Open Sans';
	cursor: pointer;
}
.tool-btn, .lang-btn { border: 1px solid rgb(255 255 255 / 0.7); }
.lang-btn:hover {
	background: rgb(255 255 255 / 0.16);
}
.lang-btn .chev {
	transition: transform 0.2s;
	flex: none;
}
.lang-btn[aria-expanded='true'] .chev {
	transform: rotate(180deg);
}
.flag {
	width: 21px;
	height: 14px;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgb(0 0 0 / 0.18);
	flex: none;
	display: block;
}
.lang-menu {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 12px;
	box-shadow: 0 14px 36px rgb(26 40 10 / 0.22);
	list-style: none;
	min-width: 176px;
	padding: 6px;
	z-index: 320;
	display: none;
}
.lang-menu.open {
	display: block;
}
.lang-menu a {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 9px 12px;
	min-height: 44px;
	border-radius: 8px;
	text-decoration: none;
	color: var(--ink);
	font: 600 0.875rem 'Open Sans';
}
.lang-menu a:hover {
	background: var(--bg-soft);
}
.lang-menu a[aria-current='true'] {
	background: var(--bg-soft);
	font-weight: 700;
}
.lang-menu a .check {
	margin-left: auto;
	color: var(--brand);
	flex: none;
}
.site-header {
	background: #fff;
	border-bottom: 1px solid var(--border);
	box-shadow: 0 2px 14px rgb(26 40 10 / 0.06);
}
.header-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding-top: 0;
	padding-bottom: 0;
}
.brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	text-decoration: none;
}
.brand-logo {
	display: block;
	width: 300px;
	height: auto;
}
.site-header .brand-logo {
	width: 554px;
	max-width: 100%;
	height: auto;
}
.logo-neg {
	display: none;
}
.brand-divider {
	width: 300px;
	height: 2px;
	background: var(--reflex);
	flex: none;
}
.brand-project {
	font: 700 1.25rem 'Montserrat';
	color: #f68a42;
	line-height: 1.3;
	letter-spacing: 0.01em;
}
.logo-stack {
	display: block;
}
.logo-stack .brand-logo {
	width: 240px;
	max-width: 100%;
}
.cofund-strip .logo-stack {
	flex: none;
}
.cofund-strip .logo-stack .brand-logo {
	width: 554px;
}
.header-cta {
	display: flex;
	align-items: center;
	gap: 16px;
	align-self: center;
}
.header-apps {
	display: flex;
	align-items: center;
	gap: 14px;
}
.apps-label {
	font: 700 1.125rem 'Open Sans';
	color: var(--brand);
	white-space: nowrap;
}
html.hc .apps-label {
	color: #fff;
}
.nav-toggle {
	display: none;
	border: 2px solid var(--brand);
	background: #fff;
	color: var(--brand);
	min-width: 48px;
	min-height: 48px;
	border-radius: 12px;
	cursor: pointer;
	align-items: center;
	justify-content: center;
}
.store-badges {
	display: flex;
	gap: 10px;
}
.store-badge {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: #fff;
	color: var(--heading);
	border: 1.5px solid var(--brand);
	border-radius: 10px;
	padding: 5px 15px;
	min-height: 48px;
	text-decoration: none;
}
.store-badges .apps-label {
	margin-right: 8px;
}
.store-badge:hover {
	border-color: var(--brand);
	background: var(--bg-soft);
}
.store-badge svg {
	flex: none;
}
.sb-small {
	display: block;
	white-space: nowrap;
	font-size: 0.625rem;
	letter-spacing: 0.04em;
	color: var(--muted);
	line-height: 1.2;
}
.sb-name {
	display: block;
	white-space: nowrap;
	font: 700 0.9375rem 'Open Sans';
	line-height: 1.2;
	color: var(--heading);
}
html.hc .store-badges .store-badge {
	background: #000;
	border: 2px solid #fff;
	color: #fff;
	text-decoration: none;
}
html.hc .store-badge .sb-small,
html.hc .store-badge .sb-name {
	color: #fff;
}
html.hc .store-badges .store-badge:hover {
	background: #2a2a2a;
}
.main-nav {
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 240;
}
.main-nav ul {
	width: 100%;
	justify-content: space-between;
}
.nav-stores {
	display: none;
}
.main-nav ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
}
.main-nav a:not(.store-badge) {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 15px 12px;
	min-height: 48px;
	text-decoration: none;
	color: var(--ink);
	font: 600 0.9375rem 'Open Sans';
	border-bottom: 3px solid #fff0;
}
.main-nav a:not(.store-badge):hover {
	color: var(--brand);
	background: var(--bg-soft);
}
.main-nav a[aria-current='page'] {
	color: var(--orange-text);
	border-bottom-color: var(--orange);
	font-weight: 700;
}
.main-nav .ext svg {
	opacity: 0.6;
}
.hero {
	position: relative;
	color: #fff;
	overflow: hidden;
	background: var(--heading);
}
.hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
}
.hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		100deg,
		rgb(14 28 5 / 0.92) 0%,
		rgb(14 28 5 / 0.72) 45%,
		rgb(14 28 5 / 0.32) 100%
	);
}
.hero .container {
	position: relative;
	z-index: 2;
	padding-top: 104px;
	padding-bottom: 96px;
	max-width: var(--maxw);
}
.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: rgb(255 255 255 / 0.13);
	border: 1px solid rgb(255 255 255 / 0.35);
	backdrop-filter: blur(4px);
	padding: 8px 16px;
	border-radius: 999px;
	font: 600 0.8125rem 'Open Sans';
	margin-bottom: 26px;
}
.hero-badge .dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--orange);
	flex: none;
}
.hero h1 {
	font-size: clamp(2.1rem, 5vw, 3.5rem);
	font-weight: 800;
	color: #fff;
	max-width: 760px;
	letter-spacing: -0.01em;
}
.hero h1 .hl {
	color: var(--orange);
}
.hero .sub {
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	font-weight: 600;
	margin: 18px 0 8px;
	max-width: 640px;
}
.hero .desc {
	color: rgb(255 255 255 / 0.82);
	max-width: 600px;
	margin-bottom: 36px;
}
.hero-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 54px;
}
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 52px;
	padding: 10px 30px;
	border-radius: 999px;
	border: 2px solid #fff0;
	font: 700 1rem 'Open Sans';
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s;
}
.btn svg {
	flex: none;
}
.btn-primary {
	background: var(--orange);
	color: #1c2a0e;
		border-color: var(--brand);   /* #3f6914 → 4,92:1 na białym */

}
.btn-primary:hover {
	background: var(--orange-hover);
	transform: translateY(-2px);
}
.btn-light {
	border-color: #fff;
	color: #fff;
	background: #fff0;
}
.btn-light:hover {
	background: #fff;
	color: var(--heading);
}
.btn-brand {
	background: var(--brand);
	color: #fff;
}
.btn-brand:hover {
	background: var(--brand-deep);
	transform: translateY(-2px);
}
.btn-ghost {
	border-color: var(--brand);
	color: var(--brand);
	background: #fff0;
}
.btn-ghost:hover {
	background: var(--bg-soft);
}
.hero-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.hero-stat {
	background: rgb(255 255 255 / 0.12);
	border: 1px solid rgb(255 255 255 / 0.28);
	border-radius: 14px;
	padding: 12px 20px;
	font-size: 0.875rem;
	backdrop-filter: blur(4px);
}
.hero-stat strong {
	display: block;
	font: 800 1.4rem 'Open Sans';
	color: var(--orange);
}
.cofund-strip {
	background: #fff;
	border-bottom: 1px solid var(--border);
}
.cofund-strip .container {
	display: flex;
	align-items: center;
	gap: 20px;
	padding-top: 20px;
	padding-bottom: 20px;
}
.cofund-strip .euflag svg {
	width: 58px;
	height: 38px;
	border: 1px solid #e3e3e3;
	flex: none;
}
.cofund-strip p {
	font-size: 0.9375rem;
	color: var(--gray);
	max-width: 980px;
}
.cofund-strip strong {
	color: var(--ink);
}
.tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 18px;
	margin-top: 44px;
}
.tile {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 28px 24px;
	text-decoration: none;
	color: var(--ink);
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition:
		transform 0.2s,
		box-shadow 0.2s,
		border-color 0.2s;
}
.tile:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow);
	border-color: var(--orange);
}
.tile-icon {
	width: 54px;
	height: 54px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	background: var(--bg-soft);
	color: var(--brand);
}
.tile:nth-child(odd) .tile-icon {
	background: #dff3c8;
	color: var(--orange-text);
}
.tile h3 {
	font-size: 1.0625rem;
	font-weight: 700;
}
.tile p {
	font-size: 0.875rem;
	color: var(--muted);
	flex: 1;
}
.tile .more {
	font: 700 0.875rem 'Open Sans';
	color: var(--brand);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.tile:hover .more {
	color: var(--orange-text);
}
.about {
	background: var(--bg-soft);
}
.about-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 56px;
	margin-top: 18px;
}
.about-main p {
	margin-bottom: 18px;
}
.about-main .goal {
	font-size: 1.125rem;
	color: var(--ink);
	background: #fff;
	border-left: 5px solid var(--orange);
	border-radius: 0 14px 14px 0;
	padding: 22px 26px;
	box-shadow: var(--shadow);
}
.meta-list {
	list-style: none;
	margin-top: 26px;
	display: grid;
	gap: 12px;
}
.meta-list li {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	font-size: 0.9375rem;
}
.meta-list svg {
	color: var(--brand);
	flex: none;
	margin-top: 2px;
}
.meta-list strong {
	color: var(--heading);
}
.about-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	margin-top: 24px;
}
.goals {
	display: grid;
	gap: 16px;
}
.goal-card {
	background: #fff;
	border-radius: var(--radius);
	padding: 22px 24px;
	display: flex;
	gap: 18px;
	align-items: flex-start;
	box-shadow: var(--shadow);
}
.goal-card .num {
	font: 800 1rem 'Open Sans';
	color: #fff;
	background: var(--brand);
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}
.goal-card h3 {
	font-size: 1rem;
	margin-bottom: 6px;
}
.goal-card p {
	font-size: 0.875rem;
	color: var(--muted);
}
.partners-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 30px;
}
.partner-card {
	background: #fff;
	border-radius: var(--radius);
	padding: 26px;
	box-shadow: var(--shadow);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.crest-img {
	height: 64px;
	width: 64px;
	object-fit: contain;
	object-position: left center;
	margin-bottom: 6px;
}
html.hc .crest-img {
	background: #fff;
	border-radius: 8px;
	padding: 4px;
}
.partner-card .crest {
	width: 56px;
	height: 62px;
	border-radius: 8px 8px 50% 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font: 800 1.05rem 'Open Sans';
	color: #fff;
	margin-bottom: 4px;
}
.partner-card.pw .crest {
	background: linear-gradient(160deg, var(--orange), #5fa51e);
}
.partner-card.p1 .crest {
	background: linear-gradient(160deg, #2d5da8, var(--brand));
}
.partner-card.p2 .crest {
	background: linear-gradient(160deg, #3e7c4f, #2c5e3a);
}
.partner-role {
	font: 700 0.71rem 'Open Sans';
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--orange-text);
}
.partner-card h3 {
	font-size: 1.05rem;
}
.partner-card .country {
	font-size: 0.8125rem;
	color: var(--muted);
}
.partner-card .fund {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--border);
	font-size: 0.8125rem;
	color: var(--gray);
}
.partner-card .fund strong {
	display: block;
	font: 800 1.15rem 'Open Sans';
	color: var(--heading);
}
.cofund-note {
	margin-top: 30px;
	background: #fff;
	border: 1px dashed var(--brand);
	border-radius: var(--radius);
	padding: 20px 24px;
	display: flex;
	gap: 18px;
	align-items: center;
	font-size: 0.9rem;
	color: var(--gray);
}
.cofund-note svg {
	width: 48px;
	height: 32px;
	border: 1px solid #e3e3e3;
	flex: none;
}
.stats-band {
	background: linear-gradient(115deg, var(--brand-deep), var(--brand) 70%);
	color: #fff;
	padding: 58px 0;
}
.stats-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 26px;
	text-align: center;
}
.stat strong {
	display: block;
	font: 800 clamp(1.9rem, 3.4vw, 2.6rem) 'Open Sans';
	color: var(--orange);
}
.stat span {
	font-size: 0.875rem;
	color: rgb(255 255 255 / 0.88);
}
.results-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 44px;
}
.result-card {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 26px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition:
		box-shadow 0.2s,
		border-color 0.2s;
}
.result-card:hover {
	box-shadow: var(--shadow);
	border-color: var(--brand);
}
.result-card .tag {
	align-self: flex-start;
	font: 700 0.6875rem 'Open Sans';
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--bg-soft);
	color: var(--brand);
}
.result-card .tag.t-prod {
	background: #dff3c8;
	color: var(--orange-text);
}
.result-card .tag.t-event {
	background: #e7f3e9;
	color: #23663a;
}
.result-card svg {
	color: var(--brand);
}
.result-card h3 {
	font-size: 1rem;
}
.result-card p {
	font-size: 0.875rem;
	color: var(--muted);
}
.durability {
	margin-top: 26px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.9rem;
	color: var(--gray);
}
.durability svg {
	color: var(--orange-text);
	flex: none;
}
.rental {
	background: var(--bg-warm);
}
.rental-grid {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 56px;
	align-items: center;
}
.station-groups {
	display: grid;
	gap: 12px;
	margin: 26px 0 30px;
}
.station-group {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	font-size: 0.8125rem;
}
.station-group .glabel {
	font: 700 0.75rem 'Open Sans';
	color: var(--heading);
	min-width: 150px;
}
.chip {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 5px 13px;
	color: var(--gray);
}
.rental-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.map-card {
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 18px;
	border: 1px solid var(--border);
}
.map-card figcaption {
	font-size: 0.78rem;
	color: var(--muted);
	padding: 12px 8px 4px;
	text-align: center;
}
.events-list {
	display: grid;
	gap: 14px;
	margin-top: 44px;
}
.event {
	display: grid;
	grid-template-columns: 110px 1fr auto;
	gap: 24px;
	align-items: center;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 20px 26px;
	transition:
		box-shadow 0.2s,
		border-color 0.2s;
}
.event:hover {
	box-shadow: var(--shadow);
	border-color: var(--orange);
}
.event-date {
	text-align: center;
	background: var(--bg-soft);
	border-radius: 12px;
	padding: 12px 8px;
}
.event-date strong {
	display: block;
	font: 800 1.3rem 'Open Sans';
	color: var(--brand);
}
.event-date span {
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--muted);
	font-weight: 700;
}
.event h3 {
	font-size: 1.0625rem;
	margin-bottom: 4px;
}
.event .where {
	font-size: 0.84rem;
	color: var(--muted);
	display: flex;
	align-items: center;
	gap: 6px;
}
.event .where svg {
	flex: none;
	color: var(--orange-text);
}
.event-link {
	font: 700 0.9rem 'Open Sans';
	color: var(--brand);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 6px;
}
.event-link:hover {
	color: var(--orange-text);
}
.news {
	background: var(--bg-soft);
}
.news-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin-top: 44px;
}
.news-card {
	background: #fff;
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	display: flex;
	flex-direction: column;
	transition:
		transform 0.2s,
		box-shadow 0.2s;
}
.news-card:hover {
	transform: translateY(-5px);
}
.news-card img {
	height: 190px;
	width: 100%;
	object-fit: cover;
}
.news-body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.news-date {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font: 700 0.75rem 'Open Sans';
	color: var(--orange-text);
	text-transform: uppercase;
	letter-spacing: 0.07em;
}
.news-card h3 {
	font-size: 1.05rem;
	line-height: 1.35;
}
.news-card h3 a {
	color: var(--heading);
	text-decoration: none;
}
.news-card h3 a:hover {
	color: var(--brand);
}
.news-card p {
	font-size: 0.875rem;
	color: var(--muted);
	flex: 1;
}
.news-more {
	font: 700 0.875rem 'Open Sans';
	color: var(--brand);
	display: inline-flex;
	gap: 6px;
	align-items: center;
	text-decoration: none;
}
.news-more:hover {
	color: var(--orange-text);
}
.logo-band {
	border-top: 1px solid var(--border);
	padding: 46px 0;
	background: #fff;
}
.logo-band .container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.partners-title {
	font: 700 0.8125rem 'Open Sans';
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--heading);
}
.partner-links .herb {
	height: 44px;
	width: auto;
	flex: none;
}
.partner-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
}
.partner-links a {
	font-size: 0.875rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
	color: var(--gray);
	padding: 8px 0;
}
.partner-links a:hover {
	color: var(--brand);
	text-decoration: underline;
}
.site-footer {
	background: var(--bg-soft);
	border-top: 3px solid var(--brand);
}
.footer-grid {
	display: grid;
	grid-template-columns: 554px minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.1fr);
	gap:24px;
	padding-top: 64px;
	padding-bottom: 44px;
}
.footer-contact address a,
.contact-card address a {
	overflow-wrap: anywhere;
}
.footer-col h3 {
	font: 700 0.8125rem 'Open Sans';
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--heading);
	margin-bottom: 18px;
}
.footer-col ul {
	list-style: none;
	display: grid;
	gap: 9px;
}
.footer-col a {
	color: var(--gray);
	text-decoration: none;
	font-size: 0.9rem;
}
.footer-col a:hover {
	color: var(--brand);
	text-decoration: underline;
}
.footer-brand {
	min-width: 0;
}
.footer-brand .logo-stack {
	margin-bottom: 16px;
}
.footer-brand .logo-stack .brand-logo {
	width: 554px;
	max-width: 100%;
}
.footer-brand p {
	font-size: 0.84rem;
	color: var(--gray);
	max-width: 360px;
}
.footer-contact address {
	font-style: normal;
	font-size: 0.9rem;
	color: var(--gray);
	line-height: 1.7;
}
.footer-contact a {
	color: var(--brand);
	font-weight: 600;
}
.consent-btn {
	margin-top: 14px;
	border: 2px solid var(--brand);
	background: #fff0;
	color: var(--brand);
	border-radius: 999px;
	padding: 9px 18px;
	font: 700 0.8125rem 'Open Sans';
	cursor: pointer;
	min-height: 42px;
}
.consent-btn:hover {
	background: var(--brand);
	color: #fff;
}
.footer-bottom {
	border-top: 1px solid var(--border);
	padding: 22px 0;
	font-size: 0.8125rem;
	color: var(--muted);
}
.footer-bottom .container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}
.cookie-banner {
	position: fixed;
	left: 20px;
	right: 20px;
	bottom: 20px;
	z-index: 400;
	max-width: 680px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 18px;
	box-shadow: 0 18px 50px rgb(26 40 10 / 0.25);
	padding: 24px 28px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.cookie-banner p {
	font-size: 0.84rem;
	color: var(--gray);
}
.cookie-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.cookie-actions .btn {
	min-height: 44px;
	padding: 6px 22px;
	font-size: 0.875rem;
}
.cookie-banner[hidden] {
	display: none;
}
html.hc body {
	background: #000;
	color: #fff;
}
html.hc .site-header,
html.hc .main-nav,
html.hc .cofund-strip,
html.hc .logo-band,
html.hc .site-footer,
html.hc .footer-bottom,
html.hc .about,
html.hc .news,
html.hc .rental {
	background: #000;
}
html.hc h1,
html.hc h2,
html.hc h3,
html.hc h4,
html.hc p,
html.hc li,
html.hc address,
html.hc .section-lead,
html.hc .desc,
html.hc figcaption,
html.hc .sub,
html.hc .tile p,
html.hc .news-card p,
html.hc .result-card p,
html.hc .goal-card p,
html.hc .partner-card .country,
html.hc .event .where,
html.hc .partner-card .fund,
html.hc .durability,
html.hc .chip,
html.hc .station-group .glabel,
html.hc .hero-stat,
html.hc .event-date span,
html.hc .eu-emblem span,
html.hc .footer-brand p,
html.hc .cofund-strip p,
html.hc .cofund-strip strong,
html.hc .cofund-note,
html.hc .footer-bottom,
html.hc .cookie-banner p,
html.hc .tile {
	color: #fff;
}
html.hc .eyebrow,
html.hc .news-date,
html.hc .partner-role,
html.hc .stat strong,
html.hc .hero-stat strong,
html.hc .hero h1 .hl,
html.hc .event-date strong,
html.hc .partner-card .fund strong,
html.hc .footer-col h3 {
	color: #ffd800;
}
html.hc a,
html.hc .main-nav a,
html.hc .footer-col a,
html.hc .news-more,
html.hc .event-link,
html.hc .about-link,
html.hc .tile .more,
html.hc .partner-links a,
html.hc .news-card h3 a,
html.hc .footer-contact a {
	color: #ffd800;
	text-decoration: underline;
}
html.hc .main-nav a:hover,
html.hc .tool-btn:hover,
html.hc .lang-btn:hover {
	background: #2a2a2a;
}
html.hc .main-nav a[aria-current='page'] {
	color: #ffd800;
	border-color: #ffd800;
	background: #000;
}
html.hc .tile,
html.hc .result-card,
html.hc .event,
html.hc .news-card,
html.hc .partner-card,
html.hc .goal-card,
html.hc .map-card,
html.hc .cookie-banner,
html.hc .hero-stat,
html.hc .lang-menu,
html.hc .event-date {
	background: #000;
	border: 2px solid #fff;
	box-shadow: none;
}
html.hc .tile:hover,
html.hc .result-card:hover,
html.hc .event:hover {
	border-color: #ffd800;
	transform: none;
}
html.hc .tile-icon,
html.hc .tile:nth-child(odd) .tile-icon {
	background: #000;
	color: #ffd800;
	border: 2px solid #ffd800;
}
html.hc .goal-card .num {
	background: #ffd800;
	color: #000;
}
html.hc .result-card .tag,
html.hc .result-card .tag.t-prod,
html.hc .result-card .tag.t-event {
	background: #000;
	color: #ffd800;
	border: 1px solid #ffd800;
}
html.hc .result-card svg,
html.hc .meta-list svg,
html.hc .durability svg,
html.hc .event .where svg {
	color: #ffd800;
}
html.hc .meta-list strong,
html.hc strong {
	color: #ffd800;
}
html.hc .goal strong,
html.hc .cookie-banner strong,
html.hc .cofund-strip strong {
	color: #fff;
}
html.hc .chip {
	background: #000;
	border-color: #fff;
}
html.hc .goal {
	background: #000;
	border: 2px solid #fff;
	border-left: 6px solid #ffd800;
	color: #fff;
	box-shadow: none;
}
html.hc .stats-band {
	background: #000;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
}
html.hc .stat span {
	color: #fff;
}
html.hc .hero {
	background-color: #000;
}
html.hc .hero-bg {
	display: none;
}
html.hc .hero::before {
	background: #000;
}
html.hc .hero-badge {
	background: #000;
	border: 2px solid #fff;
	backdrop-filter: none;
}
html.hc .hero .desc {
	color: #fff;
}
html.hc .topbar {
	background: #000;
	border-bottom: 2px solid #fff;
}
html.hc .tool-btn,
html.hc .lang-btn {
	border-color: #fff;
}
html.hc .tool-btn[aria-pressed='true'] {
	background: #ffd800;
	color: #000;
	border-color: #ffd800;
}
html.hc .lang-menu a {
	color: #ffd800;
}
html.hc .lang-menu a:hover,
html.hc .lang-menu a[aria-current='true'] {
	background: #2a2a2a;
}
html.hc .lang-menu a .check {
	color: #ffd800;
}
html.hc .site-header {
	border-bottom: 2px solid #fff;
	box-shadow: none;
}
html.hc .main-nav {
	border-top: 1px solid #fff;
}
html.hc .brand,
html.hc .brand span {
	text-decoration: none;
}
html.hc .logo-color {
	display: none;
}
html.hc .logo-neg {
	display: block;
}
html.hc .brand-project {
	color: #f68a42;
}
html.hc .brand-divider {
	background: #fff;
}
html.hc .btn-primary {
	background: #ffd800;
	color: #000;
	border-color: #ffd800;
}
html.hc .btn-primary:hover {
	background: #fff;
	color: #000;
	transform: none;
}
html.hc .btn-brand {
	background: #000;
	color: #ffd800;
	border-color: #ffd800;
}
html.hc .btn-brand:hover {
	background: #2a2a2a;
	transform: none;
}
html.hc .btn-ghost {
	border-color: #ffd800;
	color: #ffd800;
	background: #000;
}
html.hc .btn-ghost:hover {
	background: #2a2a2a;
}
html.hc .btn-light {
	border-color: #fff;
	color: #fff;
}
html.hc .btn-light:hover {
	background: #fff;
	color: #000;
}
html.hc .nav-toggle {
	background: #000;
	color: #ffd800;
	border-color: #ffd800;
}
html.hc .cofund-strip {
	border-bottom: 2px solid #fff;
}
html.hc .cofund-note {
	border: 2px dashed #ffd800;
	background: #000;
}
html.hc .logo-band {
	border-top: 2px solid #fff;
}
html.hc .site-footer {
	border-top: 3px solid #ffd800;
}
html.hc .footer-bottom {
	border-top: 1px solid #fff;
}
html.hc .consent-btn {
	border-color: #ffd800;
	color: #ffd800;
	background: #000;
}
html.hc .consent-btn:hover {
	background: #2a2a2a;
	color: #ffd800;
}
html.hc .skip-link {
	background: #ffd800;
	color: #000;
}
html.hc :focus-visible {
	outline: 3px solid #ffd800;
}
html.hc .news-card img {
	filter: grayscale(1) contrast(1.15);
}
html.hc .crest-img {
	height: 64px;
	width: 64px;
	object-fit: contain;
	object-position: left center;
	margin-bottom: 6px;
}
html.hc .crest-img {
	background: #fff;
	border-radius: 8px;
	padding: 4px;
}
.partner-card .crest {
	background: #ffd800;
	color: #000;
}
html.hc .main-nav.open a[aria-current='page'] {
	background: #2a2a2a;
	border-left-color: #ffd800;
}
@media (max-width: 1023px) {
	.section {
		padding: 64px 0;
	}
	.nav-toggle {
		display: flex;
	}
	.header-cta .store-badges {
		display: none;
	}
	.main-nav .container {
		display: block;
	}
	.main-nav .container > .store-badges {
		display: none;
	}
	.main-nav .nav-stores {
		display: flex;
		gap: 10px;
		padding: 14px 18px 18px;
		border-top: 1px solid var(--border);
		margin-top: 6px;
	}
	.main-nav .nav-stores .store-badges {
		width: 100%;
		gap: 10px;
	}
	.main-nav .nav-stores .store-badge {
		flex: 1 1 0%;
		justify-content: center;
	}
	.main-nav {
		display: none;
		border-top: 1px solid var(--border);
	}
	.main-nav.open {
		display: block;
	}
	.main-nav ul {
		flex-direction: column;
		padding: 8px 0;
	}
	.main-nav a:not(.store-badge) {
		border-bottom: none;
		border-left: 4px solid #fff0;
		padding: 13px 18px;
	}
	.main-nav a[aria-current='page'] {
		border-left-color: var(--orange);
		background: var(--bg-soft);
	}
	.about-grid,
	.rental-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.results-grid,
	.news-grid,
	.partners-grid {
		grid-template-columns: 1fr 1fr;
	}
	.stats-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 32px;
	}
	.topbar-note {
		display: none;
	}
	.topbar .container {
		justify-content: flex-end;
	}
	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 36px;
	}
	.footer-brand {
		grid-column: 1/-1;
	}
	.footer-brand .logo-stack .brand-logo {
		width: 554px;
		max-width: 100%;
	}
}
@media (max-width: 639px) {
	.container {
		padding: 0 15px;
	}
	.brand-logo,
	.brand-divider {
		width: 240px;
	}
	.about-main .goal {
		font-size: 1rem;
		padding: 18px 20px;
	}
	.footer-brand .logo-stack .brand-logo {
		width: 100%;
	}
	.brand-project {
		font-size: 1rem;
	}
	.topbar .group-label {
		display: none;
	}
	.topbar-tools {
		width: 100%;
		justify-content: flex-start;
		gap: 6px;
	}
	.tool-btn {
		padding: 2px 8px;
	}
	.lang-dd {
		margin-left: auto;
		padding-left: 0;
		border-left: none;
	}
	.header-row {
		align-items: flex-start;
	}
	.nav-toggle {
		margin-top: 4px;
	}
	.hero .container {
		padding-top: 72px;
		padding-bottom: 64px;
	}
	.results-grid,
	.news-grid,
	.partners-grid {
		grid-template-columns: 1fr;
	}
	.stats-grid {
		grid-template-columns: 1fr 1fr;
	}
	.event {
		grid-template-columns: 1fr;
		row-gap: 12px;
	}
	.event-date {
		justify-self: start;
		padding: 10px 18px;
	}
	.event-link {
		grid-column: 1;
		justify-self: start;
		padding: 10px 0;
	}
	.station-groups {
		gap: 18px;
	}
	.station-group .glabel {
		flex: 0 0 100%;
		min-width: 0;
	}
	.footer-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.cofund-strip .container {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
}
.page-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(
		118deg,
		var(--brand-deep),
		var(--brand) 62%,
		#5e9326
	);
	color: #fff;
	padding: 54px 0 56px;
}
.page-hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
}
.page-hero.has-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		100deg,
		rgb(14 28 5 / 0.93),
		rgb(14 28 5 / 0.72) 55%,
		rgb(14 28 5 / 0.45)
	);
}
.page-hero > .container {
	position: relative;
	z-index: 2;
}
.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	list-style: none;
	font-size: 0.8125rem;
	color: rgb(255 255 255 / 0.78);
	margin-bottom: 20px;
}
.breadcrumb a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.breadcrumb .sep {
	opacity: 0.55;
}
.breadcrumb [aria-current='page'] {
	font-weight: 700;
}
.page-hero h1 {
	color: #fff;
	font-size: clamp(1.9rem, 4.4vw, 2.7rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	max-width: 840px;
}
.page-hero .lead {
	margin-top: 14px;
	max-width: 800px;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: rgb(255 255 255 / 0.88);
}
.page-hero .hero-stats {
	margin-top: 28px;
}
.tag {
	display: inline-block;
	font: 700 0.6875rem 'Open Sans';
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--bg-soft);
	color: var(--brand);
}
.tag.t-prod {
	background: #dff3c8;
	color: var(--orange-text);
}
.tag.t-event {
	background: #e7f3e9;
	color: #23663a;
}
.tag.t-soft {
	background: #f3eefb;
	color: #5b3e96;
}
.table-wrap {
	overflow-x: auto;
	border: 1px solid var(--border);
	border-radius: 14px;
	margin-top: 36px;
	background: #fff;
}
.results-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
	min-width: 640px;
}
.results-table th {
	background: var(--bg-soft);
	color: var(--heading);
	text-align: left;
	font: 700 0.78rem 'Open Sans';
	text-transform: uppercase;
	letter-spacing: 0.07em;
	padding: 14px 18px;
}
.results-table td {
	padding: 14px 18px;
	border-top: 1px solid var(--border);
	color: var(--gray);
	line-height: 1.55;
	vertical-align: top;
}
.results-table td:first-child {
	color: var(--muted);
	font-weight: 700;
	width: 46px;
}
.results-table td:last-child {
	white-space: nowrap;
}
.task-list {
	list-style: none;
	display: grid;
	gap: 9px;
	font-size: 0.875rem;
	color: var(--gray);
	margin-top: 6px;
}
.task-list li {
	display: flex;
	gap: 9px;
	align-items: flex-start;
}
.task-list svg {
	color: var(--orange-text);
	flex: none;
	margin-top: 3px;
}
.task-list.is-plain li {
	display: block;
}
.steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin-top: 44px;
}
.step {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 26px 24px;
}
.step .snum {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #dff3c8;
	color: var(--orange-text);
	font: 800 1.0625rem 'Open Sans';
	display: flex;
	align-items: center;
	justify-content: center;
}
.step h3 {
	font-size: 1.0313rem;
	margin: 16px 0 8px;
}
.step p {
	font-size: 0.875rem;
	color: var(--muted);
	line-height: 1.6;
}
.gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 44px;
}
.gallery figure {
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid var(--border);
	background: #fff;
}
.gallery img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
}
.gallery figcaption {
	padding: 11px 15px;
	font-size: 0.8125rem;
	color: var(--muted);
}
.gallery a.el-lb {
	display: block;
	cursor: zoom-in;
}
.gallery a.el-lb:focus-visible {
	outline: 3px solid var(--brand);
	outline-offset: 2px;
}
.lb-data .lb-close:focus-visible,
.lb-nav a.lb-prev:focus-visible,
.lb-nav a.lb-next:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
	border-radius: 4px;
	opacity: 1;
}
.media-figure {
	margin: 0 auto;
}
.media-figure.size-small {
	max-width: 390px;
}
.media-figure.size-medium {
	max-width: 420px;
}
.media-figure.size-large {
	max-width: 600px;
}
.media-figure.size-full {
	max-width: 100%;
}
.media-thumb {
	display: block;
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid var(--border);
	box-shadow: var(--shadow);
	cursor: zoom-in;
	background: #fff;
}
.media-thumb img {
	display: block;
	width: 100%;
	height: auto;
}
.media-thumb::after {
	content: '';
	position: absolute;
	inset: 0;
	background: #fff0;
	transition: background 0.2s;
}
.media-thumb:hover::after,
.media-thumb:focus-visible::after {
	background: rgb(31 51 11 / 0.14);
}
.media-thumb:focus-visible {
	outline: 3px solid var(--brand);
	outline-offset: 3px;
}
.media-zoom {
	position: absolute;
	right: 12px;
	bottom: 12px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgb(255 255 255 / 0.94);
	color: var(--brand);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 16px rgb(0 0 0 / 0.18);
	opacity: 0;
	transform: translateY(6px);
	transition:
		opacity 0.2s,
		transform 0.2s;
	z-index: 1;
}
.media-thumb:hover .media-zoom,
.media-thumb:focus-visible .media-zoom {
	opacity: 1;
	transform: none;
}
.media-figure figcaption {
	margin-top: 14px;
	font-size: 0.85rem;
	color: var(--muted);
	text-align: center;
	line-height: 1.5;
}
.media-download {
	margin-top: 22px;
	text-align: center;
}
.media-download.is-left {
	text-align: left;
}
.media-download .btn {
	gap: 8px;
}
.media-split-text {
	align-self: center;
}
.media-split .media-figure {
	margin: 0;
}
.media-split .media-figure.size-small,
.media-split .media-figure.size-medium {
	margin: 0;
}
.media-split .pdf-embed {
	margin: 0;
	max-width: none;
}
.media-pdf .eyebrow {
	display: block;
	text-align: center;
}
.media-pdf .section-title,
.media-pdf .section-lead {
	text-align: center;
}
.media-pdf .section-title,
.media-pdf .section-lead {
	margin-left: auto;
	margin-right: auto;
}
.media-pdf .section-lead {
	max-width: 680px;
}
.pdf-embed {
	max-width: 760px;
	margin: 26px auto 0;
	border: 1px solid var(--border);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: var(--shadow);
	background: #fff;
}
.pdf-embed object {
	display: block;
	width: 100%;
	height: var(--pdf-h, 700px);
	border: 0;
}
.pdf-fallback {
	padding: 46px 24px;
	text-align: center;
}
.pdf-fallback p {
	margin-bottom: 16px;
	color: var(--muted);
}
.media-pdf-cap {
	margin-top: 12px;
	font-size: 0.85rem;
	color: var(--muted);
	text-align: center;
}
@media (max-width: 639px) {
	.pdf-embed object {
		height: 88vh;
	}
}
html.hc .pdf-embed {
	background: #000;
	border: 2px solid #fff;
}
.schedule-head {
	margin: 28px 0 34px;
	padding: 22px 24px;
	background: var(--bg-warm);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.schedule-date {
	display: flex;
	align-items: center;
	gap: 11px;
	font: 800 1.35rem 'Open Sans';
	color: var(--heading);
	line-height: 1.2;
}
.schedule-date svg {
	color: var(--brand);
	flex: none;
}
.schedule-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}
.schedule-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	color: var(--gray);
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 7px 14px;
	font: 600 0.875rem 'Open Sans';
}
.schedule-chip strong {
	color: var(--heading);
}
.schedule-chip svg {
	color: var(--brand);
	flex: none;
}
/* Harmonogram: lista po lewej + plakat po prawej */
.schedule-grid {
	display: grid;
	grid-template-columns: 1fr 0.85fr;
	gap: 44px;
	align-items: start;
}
.schedule-list-col {
	min-width: 0;
}
.schedule-poster-col {
	height: 100%;
}
.sched-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sched-item {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 11px 0;
	border-bottom: 1px solid var(--border);
}
.sched-item:first-child {
	padding-top: 0;
}
.sched-time {
	flex: none;
	min-width: 92px;
	text-align: center;
	background: var(--bg-soft);
	color: var(--brand-deep);
	border-radius: 8px;
	padding: 5px 10px;
	font: 800 0.8rem 'Open Sans';
	font-variant-numeric: tabular-nums;
	line-height: 1.3;
}
.sched-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-top: 1px;
}
.sched-place {
	font-weight: 700;
	color: var(--heading);
	line-height: 1.35;
}
.sched-note {
	font-size: 0.875rem;
	color: var(--muted);
	line-height: 1.5;
}
.sched-item.is-rest .sched-time {
	background: #fff;
	border: 1px solid var(--border);
	color: var(--muted);
}
.sched-item.is-rest .sched-place {
	color: var(--muted);
	font-weight: 600;
}
.schedule-poster {
	margin: 0;
	position: sticky;
	top: 70px;
}
.schedule-poster img {
	display: block;
	width: 100%;
	height: auto;
}
.schedule-poster.pdf-embed {
	max-width: none;
}
@media (max-width: 899px) {
	.schedule-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.schedule-poster {
		position: static;
		max-width: 460px;
	}
}
@media (max-width: 639px) {
	.sched-item {
		gap: 12px;
	}
	.sched-time {
		min-width: 74px;
		font-size: 0.74rem;
		padding: 4px 7px;
	}
}
html.hc .schedule-head {
	background: #000;
	border: 2px solid #fff;
}
html.hc .schedule-date {
	color: #fff;
}
html.hc .schedule-date svg,
html.hc .schedule-chip svg {
	color: #ffd800;
}
html.hc .schedule-chip {
	background: #000;
	border: 2px solid #fff;
	color: #fff;
}
html.hc .schedule-chip strong {
	color: #ffd800;
}
html.hc .sched-time {
	background: #000;
	border: 2px solid #fff;
	color: #ffd800;
}
html.hc .sched-place,
html.hc .sched-note {
	color: #fff;
}
.filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 34px;
}
.filter-chip {
	border: 1.5px solid var(--border);
	background: #fff;
	color: var(--gray);
	border-radius: 999px;
	padding: 9px 20px;
	font: 700 0.875rem 'Open Sans';
	cursor: pointer;
	min-height: 44px;
}
.filter-chip:hover {
	border-color: var(--brand);
	color: var(--brand);
}
.filter-chip[aria-pressed='true'] {
	background: var(--brand);
	border-color: var(--brand);
	color: #fff;
}
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 46px;
}
.page-link {
	min-width: 46px;
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 15px;
	border: 1.5px solid var(--border);
	border-radius: 12px;
	font: 700 0.9375rem 'Open Sans';
	color: var(--brand);
	text-decoration: none;
	background: #fff;
}
.page-link:hover {
	border-color: var(--brand);
	background: var(--bg-soft);
}
.page-link[aria-current='page'] {
	background: var(--brand);
	border-color: var(--brand);
	color: #fff;
}
.contact-layout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 52px;
	align-items: start;
	margin-top: 44px;
}
.form-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 18px;
	padding: 36px;
	box-shadow: var(--shadow);
}
.form-card h2 {
	font-size: 1.35rem;
	margin-bottom: 6px;
}
.form-required-note {
	font-size: 0.8125rem;
	color: var(--muted);
	margin-bottom: 24px;
}
.form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.form-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.form-field.full {
	grid-column: 1/-1;
}
.form-field label {
	font: 700 0.875rem 'Open Sans';
	color: var(--heading);
}
.req {
	color: #b3261e;
	font-weight: 800;
}
.form-control {
	border: 1.5px solid #737e9c; 
	border-radius: 10px;
	padding: 12px 14px;
	font:
		400 1rem/1.5 'Open Sans',
		Arial,
		sans-serif;
	color: var(--ink);
	background: #fff;
	min-height: 48px;
	width: 100%;
}
textarea.form-control {
	height: 125px;
	resize: vertical;
	min-height: 125px;
}
.form-control:focus {
	border-color: var(--brand);
}
.form-help {
	font-size: 0.8125rem;
	color: var(--muted);
}
.form-consent {
	display: inline;
	gap: 12px;
	align-items: flex-start;
	font-size: 0.875rem;
	color: var(--gray);
	line-height: 1.55;
}
.form-consent .wpcf7-list-item { margin: 0; display: inline; }
.form-consent .wpcf7-form-control-wrap { display: inline; }
.form-consent label { display: inline; }
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.form-consent input {
	width: 22px;
	height: 22px;
	margin-top: 1px;
	accent-color: var(--brand);
	flex: none;
}
.form-actions {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}
.form-note {
	font-size: 0.8125rem;
	color: var(--muted);
	margin-top: 18px;
	line-height: 1.6;
}
.contact-cards {
	display: grid;
	gap: 18px;
}
.contact-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 26px;
}
.contact-card h3 {
	font-size: 1.05rem;
	margin: 6px 0 10px;
}
.contact-card address {
	font-style: normal;
	color: var(--gray);
	font-size: 0.9375rem;
	line-height: 1.75;
}
.contact-card address p {
	margin: 0;
}
.contact-card a {
	color: var(--brand);
	font-weight: 600;
}
.cta-band {
	background: linear-gradient(118deg, var(--brand-deep), var(--brand));
	border-radius: 20px;
	color: #fff;
	padding: 44px;
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	align-items: center;
	justify-content: space-between;
	margin-top: 0;
}
.cta-band h2 {
	color: #fff;
	font-size: 1.45rem;
}
.cta-band p {
	color: rgb(255 255 255 / 0.86);
	margin-top: 8px;
	max-width: 560px;
}
.cta-band .actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
html.hc .page-hero {
	background: #000;
	border-bottom: 2px solid #fff;
}
html.hc .breadcrumb,
html.hc .page-hero .lead {
	color: #fff;
}
html.hc .breadcrumb a {
	color: #ffd800;
}
html.hc .tag,
html.hc .tag.t-prod,
html.hc .tag.t-event,
html.hc .tag.t-soft {
	background: #000;
	color: #ffd800;
	border: 1px solid #ffd800;
}
html.hc .table-wrap {
	background: #000;
	border: 2px solid #fff;
}
html.hc .results-table th {
	background: #000;
	color: #ffd800;
	border-bottom: 2px solid #fff;
}
html.hc .results-table td {
	color: #fff;
	border-top: 1px solid #fff;
}
html.hc .step,
html.hc .form-card,
html.hc .contact-card,
html.hc .gallery figure {
	background: #000;
	border: 2px solid #fff;
	box-shadow: none;
}
html.hc .step .snum {
	background: #ffd800;
	color: #000;
}
html.hc .step p,
html.hc .gallery figcaption,
html.hc .form-help,
html.hc .form-note,
html.hc .form-required-note,
html.hc .form-consent,
html.hc .contact-card address,
html.hc .task-list,
html.hc .form-field label {
	color: #fff;
}
html.hc .task-list svg {
	color: #ffd800;
}
html.hc .req {
	color: #ffd800;
}
html.hc .form-control {
	background: #000;
	border-color: #fff;
	color: #fff;
}
html.hc .filter-chip {
	background: #000;
	border-color: #fff;
	color: #fff;
}
html.hc .filter-chip[aria-pressed='true'] {
	background: #ffd800;
	color: #000;
	border-color: #ffd800;
}
html.hc .page-link {
	background: #000;
	border-color: #fff;
	color: #ffd800;
}
html.hc .page-link[aria-current='page'] {
	background: #ffd800;
	color: #000;
	border-color: #ffd800;
}
html.hc .gallery img {
	filter: grayscale(1) contrast(1.15);
}
html.hc .cta-band {
	background: #000;
	border: 2px solid #fff;
}
html.hc .contact-card a {
	color: #ffd800;
}
@media (max-width: 1023px) {
	.steps {
		grid-template-columns: 1fr 1fr;
	}
	.contact-layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.gallery {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 639px) {
	.steps {
		grid-template-columns: 1fr;
	}
	.form-grid {
		grid-template-columns: 1fr;
	}
	.gallery {
		grid-template-columns: 1fr;
	}
	.page-hero {
		padding: 40px 0 44px;
	}
	.cta-band {
		padding: 32px 24px;
	}
}
.article {
	max-width: 920px;
	margin: 0 auto;
}
.article-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-bottom: 18px;
}
.article-date {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font: 700 0.8125rem 'Open Sans';
	color: rgb(255 255 255 / 0.85);
	text-transform: uppercase;
	letter-spacing: 0.07em;
}
.article-hero-img {
	aspect-ratio: 16/9;
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--border);
	margin: 0;
}
.article-hero-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.article .imgcap {
	font-size: 0.8125rem;
	color: var(--muted);
	margin: 10px 0 36px;
}
.article-body {
	font-size: 1.0625rem;
	line-height: 1.75;
	margin-top: 32px;
}
.article-body p {
	margin-bottom: 20px;
}
.article-body h2 {
	font-size: 1.45rem;
	margin: 38px 0 16px;
}
.article-body ul:not([class]) {
	margin: 0 0 20px;
	list-style: none;
	display: grid;
	gap: 10px;
}
.article-body ul:not([class]) li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}
.article-body ul:not([class]) svg {
	color: var(--orange-text);
	flex: none;
	margin-top: 6px;
}
.article-body .wp-block-list {
	margin: 0 0 20px;
	padding-left: 1.4em;
	list-style: disc;
}
.article-body ol.wp-block-list {
	list-style: decimal;
}
.article-body .wp-block-list li {
	margin-bottom: 6px;
}
.article-highlight {
	background: var(--bg-soft);
	border-left: 5px solid var(--orange);
	border-radius: 0 14px 14px 0;
	padding: 20px 26px;
	margin: 30px 0;
	font-weight: 600;
	color: var(--heading);
}
.article-cofund {
	margin-top: 44px;
	padding-top: 30px;
	border-top: 1px solid var(--border);
	display: flex;
	flex-wrap: nowrap;
	gap: 26px;
	align-items: center;
}
.article-cofund .logo-stack {
	flex: none;
}
.article-cofund .logo-stack .brand-logo {
	width: 554px;
	max-width: 100%;
}
.article-cofund p {
	flex: 1;
	min-width: 0;
	font-size: 0.84rem;
	color: var(--gray);
	max-width: none;
}
@media (max-width: 768px) {
	.article-cofund {
		flex-wrap: wrap;
	}
	.article-cofund .logo-stack {
		flex: 1 1 100%;
	}
	.article-cofund .logo-stack .brand-logo {
		width: 100%;
	}
}
.article-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	margin-top: 34px;
}
html.hc .article-hero-img {
	border: 2px solid #fff;
}
html.hc .article-hero-img img {
	filter: grayscale(1) contrast(1.15);
}
html.hc .article .imgcap,
html.hc .article-cofund p {
	color: #fff;
}
html.hc .article-date {
	color: #fff;
}
html.hc .article-highlight {
	background: #000;
	border: 2px solid #fff;
	border-left: 6px solid #ffd800;
	color: #fff;
}
html.hc .article-body ul svg {
	color: #ffd800;
}
html.hc .article-cofund {
	border-top: 2px solid #fff;
}
.goals-heading {
	font-size: 1.2rem;
	margin-bottom: 4px;
}
.partner-www {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--brand);
	text-decoration: none;
	margin-top: 2px;
}
.partner-www:hover {
	text-decoration: underline;
}
html.hc .partner-www {
	color: #ffd800;
	text-decoration: underline;
}

/* ═══ Sekcja: Strona w budowie ═══ */
.construction-box {
	max-width: 620px;
	margin: 0 auto;
	text-align: center;
	padding: 60px 32px;
	background: var(--bg-warm);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.construction-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: var(--bg-soft);
	color: var(--brand);
}
.construction-box h2 {
	font: 800 1.5rem/1.25 'Montserrat', sans-serif;
	color: var(--heading);
	margin: 20px 0 10px;
}
.construction-box p {
	color: var(--gray);
	margin: 0 0 26px;
}
.construction-box .btn {
	min-height: 48px;
}
html.hc .construction-box {
	background: #000;
	border-color: #fff;
}
html.hc .construction-icon {
	background: #000;
	color: #ffe000;
	border: 2px solid #ffe000;
}

/* ═══ Sekcja: Aplikacja mobilna — przyciski pobierania ═══ */
.app-download .container {
	text-align: center;
}
.app-download .eyebrow {
	display: block;
}
.app-download .section-lead {
	margin-left: auto;
	margin-right: auto;
}
.app-badges {
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
}
.app-badges .store-badge {
	padding: 10px 22px;
	min-height: 56px;
	gap: 12px;
}
.app-badges .store-badge svg {
	width: 24px;
	height: 27px;
}
.app-badges .store-badge .sb-name {
	font-size: 1.05rem;
}
.app-note {
	margin-top: 18px;
	color: var(--muted);
	font-size: 0.9rem;
}

/* ═══ Strona błędu 404 ═══ */
.error-code {
	font: 800 4.5rem/1 'Montserrat', sans-serif;
	color: var(--brand);
	letter-spacing: 0.04em;
	margin: 0;
}
.error-404 .construction-box h2 {
	margin-top: 8px;
}
.error-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
}
.error-actions .btn {
	min-height: 48px;
}
html.hc .error-code {
	color: #ffe000;
}


.realizacja {
	display: flex;
	align-items: center;
	gap: 8px;
}
.realizacja span {
	font-size: 0.75rem;
}
.realizacja img {
	height: 25px;
	width: auto;
	display: block;
}
/* tryb wysokiego kontrastu — biała podkładka pod logo */
html.hc .realizacja img {
	background: #fff;
	border-radius: 6px;
	padding: 3px 8px;
}

/* ═══ Warianty tła sekcji (używane przez sekcje Cennik i Pliki) ═══ */
.section.is-soft { background: var(--bg-soft); }
.section.is-warm { background: var(--bg-warm); }

/* ═══ Sekcja: Cennik — karty cenowe ═══ */
.price-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin: 48px 0 28px; /* górny margines robi miejsce na badge wystający ponad kartę */
}
.price-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 26px 24px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}
.price-card.is-featured {
	border-color: var(--brand);
	border-width: 2px;
}
.price-card .pc-badge {
	position: absolute;
	top: -12px;
	left: 24px;
	background: var(--brand);
	color: #fff;
	font: 700 0.75rem/1 'Open Sans', sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 7px 12px;
	border-radius: 999px;
}
.price-card h3 {
	font: 700 1.05rem/1.3 'Montserrat', sans-serif;
	color: var(--heading);
	margin: 0 0 12px;
}
.pc-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 4px;
}
.pc-price strong {
	font: 800 2.5rem/1 'Montserrat', sans-serif;
	color: var(--brand);
	letter-spacing: -0.02em;
}
.pc-price span {
	font: 600 1rem/1 'Open Sans', sans-serif;
	color: var(--muted);
}
.pc-note {
	font: 400 0.9rem/1.5 'Open Sans', sans-serif;
	color: var(--gray);
	margin: 10px 0 0;
}
.pc-hint {
	margin-top: auto;
	padding-top: 14px;
	font: 600 0.875rem/1.4 'Open Sans', sans-serif;
	color: var(--brand);
	display: flex;
	align-items: center;
	gap: 7px;
}
.pc-hint svg { flex: none; }

/* Cennik — kafle warunków */
.terms-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 16px;
}
.term {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	padding: 18px;
	background: var(--bg-soft);
	border-radius: 12px;
}
.section.is-soft .term { background: #fff; }
.term > svg { flex: none; color: var(--brand); margin-top: 2px; }
.term strong {
	display: block;
	font: 700 0.95rem/1.3 'Montserrat', sans-serif;
	color: var(--heading);
	margin-bottom: 3px;
}
.term span {
	font: 400 0.875rem/1.5 'Open Sans', sans-serif;
	color: var(--gray);
}

/* ═══ Sekcja: Pliki do pobrania — pozioma lista ═══ */
.dl-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 48px;
}
.dl-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px;
	align-items: center;
	padding: 20px 24px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 14px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.dl-row:hover,
.dl-row:focus-visible {
	border-color: var(--brand);
	box-shadow: var(--shadow);
}
.dl-row:focus-visible {
	outline: 3px solid var(--brand);
	outline-offset: 3px;
}
.dl-body { min-width: 0; }
.dl-body h3 {
	font: 700 1.02rem/1.35 'Montserrat', sans-serif;
	color: var(--heading);
	margin: 0 0 3px;
}
.dl-body p {
	font: 400 0.875rem/1.5 'Open Sans', sans-serif;
	color: var(--gray);
	margin: 0;
}
.dl-meta {
	display: block;
	margin-top: 5px;
	font: 400 0.8rem/1 'Open Sans', sans-serif;
	color: var(--muted);
}
.dl-action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	font: 700 0.9rem/1 'Open Sans', sans-serif;
	color: var(--brand);
	border: 1.5px solid var(--brand);
	border-radius: 999px;
	padding: 11px 18px;
	transition: background 0.15s, color 0.15s;
}
.dl-row:hover .dl-action,
.dl-row:focus-visible .dl-action {
	background: var(--brand);
	color: #fff;
}
@media (max-width: 700px) {
	.dl-row { grid-template-columns: 1fr; row-gap: 14px; }
	.dl-action { justify-content: center; }
}

/* Tryb wysokiego kontrastu — sekcje Cennik i Pliki.
   Uwaga: selektory muszą przebić `.section.is-soft .term` (3 klasy),
   dlatego warianty tła powtarzamy wewnątrz reguł html.hc. */
html.hc .section.is-soft,
html.hc .section.is-warm {
	background: #000;
}
html.hc .price-card,
html.hc .dl-row,
html.hc .term,
html.hc .section.is-soft .term,
html.hc .section.is-warm .term {
	background: #000;
	border: 2px solid #fff;
}
html.hc .price-card h3,
html.hc .dl-body h3,
html.hc .term strong,
html.hc .term span,
html.hc .dl-meta,
html.hc .pc-price span {
	color: #fff;
}
html.hc .pc-price strong,
html.hc .pc-hint,
html.hc .dl-action,
html.hc .term > svg,
html.hc .pc-hint svg {
	color: #ffd800;
}
html.hc .dl-action {
	border-color: #ffd800;
}
html.hc .dl-row:hover .dl-action,
html.hc .dl-row:focus-visible .dl-action {
	background: #ffd800;
	color: #000;
}
html.hc .dl-row:hover,
html.hc .dl-row:focus-visible,
html.hc .price-card.is-featured {
	border-color: #ffd800;
}
html.hc .price-card .pc-badge {
	background: #ffd800;
	color: #000;
}

/* ═══ Wyśrodkowany nagłówek sekcji (opcja w sekcji Obraz / plakat) ═══ */
.section.head-center .eyebrow,
.section.head-center .section-title,
.section.head-center .section-lead {
	text-align: center;
}
.section.head-center .eyebrow {
	display: block;
}
.section.head-center .section-lead {
	margin-left: auto;
	margin-right: auto;
}

/* ═══ Lead z edytora WYSIWYG — zachowanie dotychczasowych odstępów ═══
   Pole zwraca akapity <p>, więc zerujemy skrajne marginesy i dziedziczymy
   typografię z kontenera .lead / .section-lead. */
.page-hero .lead > p,
.section-lead > p {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	margin: 0 0 0.7em;
}
.page-hero .lead > :first-child,
.section-lead > :first-child {
	margin-top: 0;
}
.page-hero .lead > :last-child,
.section-lead > :last-child {
	margin-bottom: 0;
}
.page-hero .lead a {
	color: #fff;
	text-decoration: underline;
}

/* Przycisk w nagłówku podstrony */
.page-hero .hero-actions {
	margin: 28px 0 0;
}
