/*
 * Team Dostępność – style motywu
 * Kolory spełniają WCAG 2.1 AA (kontrast tekstu min. 4.5:1).
 */

:root {
	--td-navy: #0B2545;
	--td-navy-dark: #071A33;
	--td-navy-soft: #13335C;
	--td-green: #2E7D32;
	--td-green-dark: #1B5E20;
	--td-green-light: #8BC34A;
	--td-green-tint: #E8F3DF;
	--td-cream: #F4F7EF;
	--td-ink: #16202C;
	--td-muted: #475467;
	--td-line: #D9E0D2;
	--td-white: #FFFFFF;
	--td-focus: #FFB703;
	--td-radius: 18px;
	--td-radius-sm: 12px;
	--td-shadow: 0 1px 2px rgba(11, 37, 69, .06), 0 10px 30px -12px rgba(11, 37, 69, .18);
	--td-shadow-lg: 0 30px 60px -25px rgba(7, 26, 51, .45);
	--td-max: 1180px;
	--td-gutter: clamp(1.15rem, 4vw, 2rem);
	--td-font: 'Atkinson Hyperlegible', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--td-font-head: 'Lexend', 'Atkinson Hyperlegible', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--td-header-h: 76px;
}

/* ---------- Podstawy ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { font-size: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--td-header-h) + 12px); -webkit-text-size-adjust: 100%; }
html.td-fs-1 { font-size: 112.5%; }
html.td-fs-2 { font-size: 125%; }

body {
	margin: 0;
	font-family: var(--td-font);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--td-ink);
	background: var(--td-white);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; height: auto; }

h1, h2, h3, h4 {
	font-family: var(--td-font-head);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--td-navy);
	margin: 0 0 .6em;
	text-wrap: balance;
}
h1 { font-size: clamp(2.25rem, 5.2vw, 3.9rem); }
h2 { font-size: clamp(1.75rem, 3.4vw, 2.6rem); }
h3 { font-size: clamp(1.15rem, 1.6vw, 1.3rem); font-weight: 600; letter-spacing: -0.005em; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

a { color: var(--td-green); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--td-green-dark); text-decoration-thickness: 2px; }

:focus-visible {
	outline: 3px solid var(--td-focus);
	outline-offset: 3px;
	border-radius: 4px;
}

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}

.td-skip {
	position: absolute; left: 1rem; top: -100px; z-index: 1000;
	background: var(--td-navy); color: #fff; padding: .75rem 1.25rem;
	border-radius: 0 0 10px 10px; font-weight: 700; text-decoration: none;
}
.td-skip:focus { top: 0; color: #fff; }

.td-main:focus { outline: none; }

/* ---------- Przyciski ---------- */
.td-btn,
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
	min-height: 48px; padding: .8rem 1.5rem;
	font-family: var(--td-font); font-weight: 700; font-size: 1rem; line-height: 1.2;
	border-radius: 999px; border: 2px solid transparent;
	text-decoration: none; cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.td-btn:hover, .wp-block-button__link:hover { transform: translateY(-1px); text-decoration: none; }

.td-btn--primary,
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link {
	background: var(--td-green); color: #fff; box-shadow: 0 8px 20px -10px rgba(46, 125, 50, .8);
}
.td-btn--primary:hover,
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:hover { background: var(--td-green-dark); color: #fff; }

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--td-navy); border-color: currentColor;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--td-navy); color: #fff; border-color: var(--td-navy); }

.td-btn--sm { min-height: 42px; padding: .55rem 1.2rem; font-size: .95rem; }

.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .85rem; margin: 0; }
.wp-block-button { margin: 0; }

/* ikonki w przyciskach (klasy td-btn-ico-*) */
.wp-block-button[class*="td-ico-"] .wp-block-button__link::before {
	content: ""; width: 1.2em; height: 1.2em; flex: none;
	background: currentColor;
	-webkit-mask: var(--td-ico) center / contain no-repeat; mask: var(--td-ico) center / contain no-repeat;
}

/* ---------- Nagłówek ---------- */
.td-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255, 255, 255, .94);
	backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid transparent;
	transition: box-shadow .25s ease, border-color .25s ease;
}
.admin-bar .td-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .td-header { top: 0; } }
.td-header.is-scrolled { border-bottom-color: var(--td-line); box-shadow: 0 6px 24px -18px rgba(11, 37, 69, .5); }

.td-header__inner {
	max-width: calc(var(--td-max) + 2 * var(--td-gutter));
	margin: 0 auto; padding: 0 var(--td-gutter);
	min-height: var(--td-header-h);
	display: flex; align-items: center; gap: 1rem;
}

.td-brand { flex: none; margin-right: auto; display: flex; align-items: center; }
.td-brand .custom-logo-link { display: inline-flex; padding: 6px 0; }
.td-brand .custom-logo { width: auto; max-height: 46px; height: 46px; }
.td-brand__text { font-family: var(--td-font-head); font-size: 1.2rem; color: var(--td-navy); text-decoration: none; letter-spacing: -.01em; }
.td-brand__text strong { color: var(--td-green); }

.td-nav { display: flex; align-items: center; gap: 1.25rem; }
.td-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem; }
.td-menu a {
	display: block; padding: .55rem .8rem; border-radius: 999px;
	color: var(--td-navy); font-weight: 700; font-size: .98rem; text-decoration: none;
}
.td-menu a:hover { background: var(--td-green-tint); color: var(--td-green-dark); }
.td-menu .current-menu-item > a, .td-menu a[aria-current="true"] { color: var(--td-green-dark); background: var(--td-green-tint); }

.td-a11y { display: flex; align-items: center; gap: 2px; padding: 3px; border-radius: 999px; background: var(--td-cream); border: 1px solid var(--td-line); }
.td-a11y__btn {
	appearance: none; border: 0; background: transparent; color: var(--td-navy);
	min-width: 36px; height: 36px; padding: 0 .45rem; border-radius: 999px;
	font: 700 .85rem/1 var(--td-font); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.td-a11y__btn--md { font-size: .95rem; }
.td-a11y__btn--lg { font-size: 1.05rem; }
.td-a11y__btn:hover { background: #fff; }
.td-a11y__btn[aria-pressed="true"] { background: var(--td-navy); color: #fff; }

.td-nav-toggle {
	order: 4; display: none; appearance: none; border: 2px solid var(--td-navy); background: #fff;
	width: 48px; height: 48px; border-radius: 14px; cursor: pointer; position: relative; color: var(--td-navy);
}
.td-nav-toggle__bars, .td-nav-toggle__bars::before, .td-nav-toggle__bars::after {
	position: absolute; left: 50%; width: 22px; height: 2.5px; margin-left: -11px; background: currentColor; border-radius: 2px;
	transition: transform .25s ease, opacity .2s ease;
}
.td-nav-toggle__bars { top: 50%; margin-top: -1.25px; }
.td-nav-toggle__bars::before, .td-nav-toggle__bars::after { content: ""; left: 0; margin-left: 0; }
.td-nav-toggle__bars::before { top: -7px; }
.td-nav-toggle__bars::after { top: 7px; }
.td-nav-toggle[aria-expanded="true"] .td-nav-toggle__bars { background: transparent; }
.td-nav-toggle[aria-expanded="true"] .td-nav-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
.td-nav-toggle[aria-expanded="true"] .td-nav-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1020px) {
	.td-nav-toggle { display: inline-flex; }
	.td-a11y { align-self: flex-start; }
	.td-nav {
		position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 1rem;
		padding: 1rem var(--td-gutter) 1.5rem;
		background: #fff; border-bottom: 1px solid var(--td-line);
		box-shadow: 0 24px 40px -24px rgba(11, 37, 69, .45);
		display: none;
	}
	.td-nav.is-open { display: flex; }
	.td-menu { flex-direction: column; }
	.td-menu a { padding: .85rem 1rem; font-size: 1.05rem; border-radius: 12px; }
	.td-nav__cta { align-self: flex-start; }
}
@media (max-width: 420px) {
	.td-brand .custom-logo { height: 36px; }
	.td-a11y__btn { min-width: 32px; height: 34px; padding: 0 .3rem; }
}

/* ---------- Układ sekcji (bloki) ---------- */
.td-landing-content > * { margin: 0; }
.td-section { position: relative; padding: clamp(4rem, 9vw, 7rem) 0; }
.td-section--cream { background: var(--td-cream); }
.td-section--navy { background: var(--td-navy); color: #E6EDF6; }
.td-section--navy h2, .td-section--navy h3 { color: #fff; }

.td-wrap {
	width: 100%;
	max-width: calc(var(--td-max) + 2 * var(--td-gutter));
	margin-left: auto; margin-right: auto;
	padding-left: var(--td-gutter); padding-right: var(--td-gutter);
}
.td-wrap > * + * { margin-top: 0; }

.td-eyebrow {
	display: inline-flex; align-items: center; gap: .55rem;
	margin: 0 0 1rem; padding: .35rem .9rem .35rem .75rem;
	font-weight: 700; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase;
	color: var(--td-green-dark); background: var(--td-green-tint); border-radius: 999px;
}
.td-eyebrow::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: currentColor; }
.td-section--navy .td-eyebrow { color: var(--td-green-light); background: rgba(139, 195, 74, .12); }

.td-section__head { max-width: 760px; margin-bottom: clamp(2.25rem, 5vw, 3.5rem); }
.td-section__head--center { margin-left: auto; margin-right: auto; text-align: center; }
.td-section__head h2 { margin-bottom: .45em; }
.td-lead { font-size: clamp(1.1rem, 1.6vw, 1.25rem); color: var(--td-muted); line-height: 1.6; }
.td-section--navy .td-lead { color: #C9D6E6; }

.td-grid { display: grid; gap: clamp(1rem, 2.4vw, 1.5rem); }
.td-grid > * { margin: 0; }
@media (min-width: 640px) { .td-grid--2, .td-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .td-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 760px) { .td-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Karty z ikoną */
.td-card {
	position: relative; display: flex; flex-direction: column;
	padding: clamp(1.4rem, 2.6vw, 1.85rem);
	background: #fff; border: 1px solid var(--td-line); border-radius: var(--td-radius);
	box-shadow: var(--td-shadow);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.td-card:hover { transform: translateY(-3px); border-color: #BFD3AE; box-shadow: 0 2px 4px rgba(11, 37, 69, .06), 0 22px 40px -20px rgba(11, 37, 69, .3); }
.td-card > * { margin-top: 0; }
.td-card h3 { margin-bottom: .4rem; }
.td-card p { color: var(--td-muted); font-size: 1rem; }

[class*="td-ico-"].td-card::before,
[class*="td-ico-"].td-feature::before,
[class*="td-ico-"].td-contact__item::before {
	content: ""; display: block; flex: none;
	width: 56px; height: 56px; margin-bottom: 1.15rem;
	border-radius: 16px;
	background-color: var(--td-green-tint);
}
/* ikona = maska na pseudo-elemencie ::after nałożona na tło */
[class*="td-ico-"].td-card::after,
[class*="td-ico-"].td-feature::after,
[class*="td-ico-"].td-contact__item::after {
	content: ""; position: absolute;
	width: 28px; height: 28px;
	background: var(--td-green-dark);
	-webkit-mask: var(--td-ico) center / contain no-repeat; mask: var(--td-ico) center / contain no-repeat;
}
[class*="td-ico-"].td-card::after { top: calc(clamp(1.4rem, 2.6vw, 1.85rem) + 14px); left: calc(clamp(1.4rem, 2.6vw, 1.85rem) + 14px); }

/* Kafle 8 obszarów */
.td-areas { counter-reset: td-area; }
.td-area {
	position: relative; overflow: hidden;
	padding: 1.6rem 1.5rem 1.5rem;
	background: #fff; border-radius: var(--td-radius);
	border: 1px solid var(--td-line);
	transition: transform .25s ease, box-shadow .25s ease;
}
.td-area:hover { transform: translateY(-3px); box-shadow: var(--td-shadow); }
.td-area::before {
	counter-increment: td-area; content: counter(td-area, decimal-leading-zero);
	position: absolute; top: 1.1rem; right: 1.25rem;
	font: 700 .9rem/1 var(--td-font-head); color: var(--td-muted); letter-spacing: .04em;
}
.td-area::after {
	content: ""; display: block; width: 44px; height: 44px; margin-bottom: 1rem;
	background: var(--td-green);
	-webkit-mask: var(--td-ico) left center / contain no-repeat; mask: var(--td-ico) left center / contain no-repeat;
	position: absolute; top: 1.4rem; left: 1.5rem;
}
.td-area > :first-child { margin-top: 4.1rem; }
.td-area h3 { margin-bottom: .35rem; }
.td-area p { color: var(--td-muted); font-size: .98rem; }

/* ---------- Hero ---------- */
.td-hero {
	position: relative; overflow: hidden; isolation: isolate;
	background: radial-gradient(1200px 600px at 85% -10%, #1C4A80 0%, rgba(28, 74, 128, 0) 60%), var(--td-navy);
	color: #E6EDF6;
	padding: clamp(3.25rem, 8vw, 6.5rem) 0 clamp(4rem, 9vw, 7.5rem);
}
.td-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
	background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1.4px);
	background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(110deg, #000 0%, transparent 55%); mask-image: linear-gradient(110deg, #000 0%, transparent 55%);
}
.td-hero::after {
	content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; right: -140px; bottom: -260px;
	border-radius: 50%; background: radial-gradient(circle, rgba(139, 195, 74, .35), rgba(139, 195, 74, 0) 65%);
}
.td-hero__grid { display: grid; gap: clamp(2.5rem, 5vw, 4rem); align-items: center; }
@media (min-width: 960px) { .td-hero__grid { grid-template-columns: 1.08fr .92fr; } }
.td-hero__content > * { margin-top: 0; }
.td-hero .td-eyebrow { color: var(--td-green-light); background: rgba(139, 195, 74, .14); }
.td-hero__title { color: #fff; margin-bottom: .45em; }
.td-hero__title .td-accent { color: var(--td-green-light); }
.td-hero__lead { font-size: clamp(1.1rem, 1.7vw, 1.3rem); color: #D3DEEB; max-width: 36em; margin-bottom: 2rem; }
.td-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); }
.td-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--td-navy); border-color: #fff; }
.td-hero .wp-block-button:not([class*="is-style-outline"]) .wp-block-button__link { background: var(--td-green-light); color: var(--td-navy-dark); box-shadow: 0 10px 30px -12px rgba(139, 195, 74, .9); }
.td-hero .wp-block-button:not([class*="is-style-outline"]) .wp-block-button__link:hover { background: #A5D46F; color: var(--td-navy-dark); }
.td-hero__address { margin-top: 1.75rem !important; font-size: .98rem; color: #B9C8DA; display: flex; align-items: center; gap: .5rem; }
.td-hero__address::before {
	content: ""; width: 1.15em; height: 1.15em; flex: none; background: var(--td-green-light);
	-webkit-mask: var(--td-ico) center / contain no-repeat; mask: var(--td-ico) center / contain no-repeat;
}

.td-hero__media { position: relative; margin: 0 auto; width: 100%; max-width: 560px; }
.td-hero__media > * { margin: 0; }
.td-hero__img { position: relative; margin: 0; isolation: isolate; }
.td-hero__img::before {
	content: ""; position: absolute; inset: 18px -18px -18px 18px; border-radius: 28px;
	border: 2px solid rgba(139, 195, 74, .7); z-index: -1;
}
.td-hero__img img {
	display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: 70% center;
	border-radius: 28px; box-shadow: var(--td-shadow-lg);
}
.td-hero__card {
	position: absolute; left: clamp(-1.5rem, -3vw, -.5rem); bottom: -2rem;
	display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; align-items: center;
	max-width: 330px; padding: 1rem 1.25rem 1rem 1rem;
	background: #fff; color: var(--td-ink); border-radius: 18px; box-shadow: var(--td-shadow-lg);
}
.td-hero__card::before {
	content: ""; grid-row: span 2; width: 48px; height: 48px; border-radius: 14px;
	background: var(--td-green-tint);
}
.td-hero__card::after {
	content: ""; position: absolute; left: calc(1rem + 12px); top: 50%; margin-top: -12px; width: 24px; height: 24px;
	background: var(--td-green-dark);
	-webkit-mask: var(--td-ico) center / contain no-repeat; mask: var(--td-ico) center / contain no-repeat;
}
.td-hero__card > * { margin: 0; grid-column: 2; }
.td-hero__card-label { font-size: .88rem; color: var(--td-muted); line-height: 1.35; }
.td-hero__card-value { font: 700 1.15rem/1.3 var(--td-font-head); }
.td-hero__card-value a { color: var(--td-navy); text-decoration: none; }
.td-hero__card-value a:hover { color: var(--td-green-dark); text-decoration: underline; }
@media (max-width: 559px) {
	.td-hero__card { position: relative; left: auto; bottom: auto; margin-top: -2.5rem !important; margin-left: 1rem !important; margin-right: 1rem !important; }
	.td-hero__img::before { inset: 12px -10px -10px 12px; }
}

/* ---------- Sekcja „O programie” – układ z obrazem ---------- */
.td-split { display: grid; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
@media (min-width: 960px) {
	.td-split { grid-template-columns: .85fr 1.15fr; }
	.td-split--reverse { grid-template-columns: 1.15fr .85fr; }
	.td-split--reverse > :first-child { order: 2; }
}
.td-split > * { margin: 0; }
.td-photo { position: relative; margin: 0; isolation: isolate; }
.td-photo img { display: block; width: 100%; border-radius: var(--td-radius); box-shadow: var(--td-shadow-lg); object-fit: cover; }
.td-photo--tall img { aspect-ratio: 4 / 5; max-height: 640px; }
.td-photo--wide img { aspect-ratio: 16 / 10; }
.td-photo::after {
	content: ""; position: absolute; z-index: -1; width: 60%; height: 60%; left: -22px; bottom: -22px;
	border-radius: var(--td-radius); background: var(--td-green-tint);
}
.td-photo-wrap { position: relative; isolation: isolate; }

.td-split__content > * { margin-top: 0; }
.td-split__content .td-grid { margin-top: 2rem; }

/* Lista z „ptaszkami” */
.td-checklist { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .7rem; }
.td-checklist li { position: relative; padding-left: 2.1rem; }
.td-checklist li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 1.4rem; height: 1.4rem; border-radius: 50%;
	background: var(--td-green-tint);
}
.td-checklist li::after {
	content: ""; position: absolute; left: .3rem; top: calc(.2em + .3rem); width: .8rem; height: .8rem;
	background: var(--td-green-dark);
	-webkit-mask: var(--td-ico) center / contain no-repeat; mask: var(--td-ico) center / contain no-repeat;
}

/* ---------- O Level UP ---------- */
.td-feature { position: relative; padding-left: 0; }
.td-features { display: grid; gap: 2rem; margin-top: 2rem !important; }
@media (min-width: 640px) { .td-features { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.td-features > * { margin: 0; }
.td-feature h3 { margin-bottom: .4rem; }
.td-feature p { color: var(--td-muted); }
[class*="td-ico-"].td-feature::after { top: 14px; left: 14px; }

.td-chips { list-style: none; margin: 2rem 0 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.td-chips li {
	padding: .5rem 1rem; border-radius: 999px;
	background: var(--td-navy); color: #fff; font-weight: 700; font-size: .95rem;
}

/* ---------- Dla kogo (granatowa) ---------- */
.td-section--navy .td-card {
	background: var(--td-navy-soft); border-color: rgba(255, 255, 255, .1); box-shadow: none; color: #E6EDF6;
}
.td-section--navy .td-card:hover { border-color: rgba(139, 195, 74, .55); }
.td-section--navy .td-card p { color: #C9D6E6; }
.td-section--navy [class*="td-ico-"].td-card::before { background-color: rgba(139, 195, 74, .14); }
.td-section--navy [class*="td-ico-"].td-card::after { background: var(--td-green-light); }
.td-section--navy::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .35;
	background-image: radial-gradient(rgba(255, 255, 255, .12) 1px, transparent 1.4px); background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(200deg, #000, transparent 45%); mask-image: linear-gradient(200deg, #000, transparent 45%);
}

/* ---------- Kontakt ---------- */
.td-contact {
	position: relative; overflow: hidden; isolation: isolate;
	display: grid; gap: clamp(2rem, 4vw, 3rem); align-items: center;
	padding: clamp(2rem, 5vw, 3.5rem);
	border-radius: 28px;
	background: linear-gradient(135deg, var(--td-green-dark) 0%, var(--td-green) 60%, #4E9A3A 100%);
	color: #fff;
}
@media (min-width: 960px) { .td-contact { grid-template-columns: 1fr 1fr; } }
.td-contact::after {
	content: ""; position: absolute; z-index: -1; width: 420px; height: 420px; right: -120px; top: -160px; border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 65%);
}
.td-contact > * { margin: 0; }
.td-contact h2 { color: #fff; margin-bottom: .5em; }
.td-contact__intro > * { margin-top: 0; }
.td-contact__intro p { color: #EAF5E1; font-size: 1.12rem; }
.td-contact__items { display: grid; gap: .85rem; }
.td-contact__items > * { margin: 0; }
.td-contact__item {
	position: relative; display: block;
	padding: 1.1rem 1.25rem 1.1rem 5.1rem; min-height: 80px;
	background: #fff; color: var(--td-ink); border-radius: 18px;
	box-shadow: 0 14px 30px -18px rgba(7, 26, 51, .55);
}
.td-contact__item > * { margin: 0; }
[class*="td-ico-"].td-contact__item::before { position: absolute; left: 1.1rem; top: 50%; margin: -24px 0 0; width: 48px; height: 48px; border-radius: 14px; }
[class*="td-ico-"].td-contact__item::after { left: calc(1.1rem + 12px); top: 50%; margin-top: -12px; width: 24px; height: 24px; }
.td-contact__label { font-size: .88rem; color: var(--td-muted); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.td-contact__value { font: 700 1.15rem/1.35 var(--td-font-head); color: var(--td-navy); word-break: break-word; }
.td-contact__value a { color: var(--td-navy); text-decoration: none; }
.td-contact__value a:hover { color: var(--td-green-dark); text-decoration: underline; }
@media (max-width: 480px) {
	.td-contact { padding: 1.5rem 1.15rem; border-radius: 22px; }
	.td-contact__item { padding: 1rem 1rem 1rem 4.1rem; }
	[class*="td-ico-"].td-contact__item::before { left: .85rem; width: 44px; height: 44px; margin-top: -22px; }
	[class*="td-ico-"].td-contact__item::after { left: calc(.85rem + 10px); }
	.td-contact__value { font-size: 1rem; }
}

/* ---------- Strony zwykłe ---------- */
.td-page__header { background: var(--td-cream); padding: clamp(2.5rem, 6vw, 4rem) 0; margin-bottom: clamp(2rem, 5vw, 3rem); }
.td-page__title { margin: 0; font-size: clamp(2rem, 4vw, 3rem); }
.td-prose { max-width: calc(820px + 2 * var(--td-gutter)); padding-bottom: clamp(3rem, 7vw, 5rem); }
.td-prose > * + * { margin-top: 1.1em; }
.td-prose h2 { margin-top: 1.6em; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.td-post-item { padding: 1.5rem 0; border-bottom: 1px solid var(--td-line); }
.td-post-item h2 { margin: 0 0 .25rem; font-size: 1.5rem; }
.td-post-item h2 a { color: var(--td-navy); text-decoration: none; }
.td-post-item__date { color: var(--td-muted); font-size: .95rem; }

/* ---------- Stopka ---------- */
.td-footer { background: var(--td-navy-dark); color: #C9D6E6; padding: clamp(3.5rem, 7vw, 5rem) 0 0; font-size: 1rem; }
.td-footer a { color: #fff; }
.td-footer a:hover { color: var(--td-green-light); }
.td-footer__inner {
	max-width: calc(var(--td-max) + 2 * var(--td-gutter)); margin: 0 auto; padding: 0 var(--td-gutter) 3rem;
	display: grid; gap: 2.25rem;
}
@media (min-width: 760px) { .td-footer__inner { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .td-footer__inner { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.td-footer__name { font: 700 1.35rem/1.2 var(--td-font-head); color: #fff; margin-bottom: .35rem; }
.td-footer__tagline { color: var(--td-green-light); font-weight: 700; margin-bottom: .9rem; }
.td-footer__title { font-family: var(--td-font); font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: #93A6BF; margin-bottom: 1rem; }
.td-footer__list, .td-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.td-footer__list li, .td-footer__address { display: flex; align-items: flex-start; gap: .65rem; font-style: normal; }
.td-footer .td-svg { flex: none; width: 20px; height: 20px; margin-top: .2em; color: var(--td-green-light); }
.td-footer__menu a { text-decoration: none; }
.td-footer__menu a:hover { text-decoration: underline; }
.td-footer__bottom {
	max-width: calc(var(--td-max) + 2 * var(--td-gutter)); margin: 0 auto; padding: 1.4rem var(--td-gutter);
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex; flex-wrap: wrap; gap: .5rem 2rem; align-items: center; font-size: .92rem; color: #93A6BF;
}
.td-footer__bottom p { margin: 0; }
.td-footer__bottom p:last-child { margin-left: auto; }
.td-totop { display: inline-flex; align-items: center; gap: .4rem; text-decoration: none; }
.td-totop .td-svg { margin: 0; width: 18px; height: 18px; }

/* ---------- Animacje wejścia (tylko gdy użytkownik nie ogranicza ruchu) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.td-js .td-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
	.td-js .td-reveal.is-visible { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Wysoki kontrast ---------- */
html.td-contrast body,
html.td-contrast .td-header,
html.td-contrast .td-nav,
html.td-contrast .td-section,
html.td-contrast .td-hero,
html.td-contrast .td-card,
html.td-contrast .td-area,
html.td-contrast .td-contact,
html.td-contrast .td-contact__item,
html.td-contrast .td-hero__card,
html.td-contrast .td-footer,
html.td-contrast .td-page__header,
html.td-contrast .td-a11y {
	background: #000 !important; color: #fff !important; border-color: #fff !important; box-shadow: none !important;
}
html.td-contrast .td-hero::before, html.td-contrast .td-hero::after,
html.td-contrast .td-section--navy::before, html.td-contrast .td-contact::after,
html.td-contrast .td-photo::after, html.td-contrast .td-hero__img::before { display: none; }
html.td-contrast h1, html.td-contrast h2, html.td-contrast h3, html.td-contrast p,
html.td-contrast li, html.td-contrast .td-lead, html.td-contrast .td-card p, html.td-contrast .td-area p,
html.td-contrast .td-contact__label, html.td-contrast .td-hero__card-label, html.td-contrast .td-footer__title,
html.td-contrast .td-area::before, html.td-contrast .td-hero__lead, html.td-contrast .td-hero__address { color: #fff !important; }
html.td-contrast a, html.td-contrast .td-menu a, html.td-contrast .td-contact__value a,
html.td-contrast .td-hero__card-value a, html.td-contrast .td-brand__text strong { color: #FFEB3B !important; text-decoration: underline; }
html.td-contrast .td-hero__title .td-accent, html.td-contrast .td-footer__tagline { color: #FFEB3B !important; }
html.td-contrast .td-card, html.td-contrast .td-area, html.td-contrast .td-contact__item, html.td-contrast .td-hero__card { border: 2px solid #fff !important; }
html.td-contrast .td-eyebrow, html.td-contrast .td-chips li { background: #000 !important; color: #FFEB3B !important; border: 2px solid #FFEB3B; }
html.td-contrast .wp-block-button__link, html.td-contrast .td-btn,
html.td-contrast .td-hero .wp-block-button .wp-block-button__link { background: #FFEB3B !important; color: #000 !important; border-color: #FFEB3B !important; text-decoration: none; box-shadow: none !important; }
html.td-contrast .td-a11y__btn { color: #fff; }
html.td-contrast .td-a11y__btn[aria-pressed="true"] { background: #FFEB3B; color: #000; }
html.td-contrast .td-nav-toggle { background: #000; color: #fff; border-color: #fff; }
html.td-contrast [class*="td-ico-"]::after, html.td-contrast .td-area::after,
html.td-contrast .td-checklist li::after, html.td-contrast .td-hero__address::before { background: #FFEB3B !important; }
html.td-contrast [class*="td-ico-"].td-card::before, html.td-contrast [class*="td-ico-"].td-feature::before,
html.td-contrast [class*="td-ico-"].td-contact__item::before, html.td-contrast .td-hero__card::before,
html.td-contrast .td-checklist li::before { background: #000 !important; border: 2px solid #FFEB3B; }
html.td-contrast .td-footer .td-svg { color: #FFEB3B; }
html.td-contrast :focus-visible { outline-color: #00E5FF; }
html.td-contrast img { filter: grayscale(1) contrast(1.15); }

/* ---------- Edytor bloków ---------- */
.editor-styles-wrapper .td-section { padding-top: 3rem; padding-bottom: 3rem; }
.editor-styles-wrapper .td-reveal { opacity: 1 !important; transform: none !important; }

/* ---- Ikony (maski SVG) – generowane ---- */
.td-ico-wszyscy{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%228%22 r=%223%22/%3E%3Cpath d=%22M3 20a6 6 0 0 1 12 0%22/%3E%3Ccircle cx=%2217%22 cy=%229%22 r=%222.5%22/%3E%3Cpath d=%22M15.6 14.3A5 5 0 0 1 21 19%22/%3E%3C/svg%3E");}
.td-ico-zaangazowanie{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 4h6.5v3a1.5 1.5 0 0 0 3 0V4H20v6.5h-3a1.5 1.5 0 0 0 0 3h3V20H4z%22/%3E%3C/svg%3E");}
.td-ico-kompleksowy{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3 2 8l10 5 10-5-10-5z%22/%3E%3Cpath d=%22m2 12 10 5 10-5%22/%3E%3Cpath d=%22m2 16 10 5 10-5%22/%3E%3C/svg%3E");}
.td-ico-srodowisko{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z%22/%3E%3Cpath d=%22M8.5 12h.01M12 12h.01M15.5 12h.01%22/%3E%3C/svg%3E");}
.td-ico-architektura{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 21h18%22/%3E%3Cpath d=%22M5 21V9l7-5 7 5v12%22/%3E%3Cpath d=%22M9.5 21v-5.5h5V21%22/%3E%3Cpath d=%22M9 10.5h.01M15 10.5h.01%22/%3E%3C/svg%3E");}
.td-ico-transport{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%223%22 width=%2216%22 height=%2214%22 rx=%223%22/%3E%3Cpath d=%22M4 10h16%22/%3E%3Cpath d=%22M7 21v-4M17 21v-4%22/%3E%3Cpath d=%22M8 13.5h.01M16 13.5h.01%22/%3E%3C/svg%3E");}
.td-ico-edukacja{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 9l10-5 10 5-10 5-10-5z%22/%3E%3Cpath d=%22M6 11v5c0 1.5 2.7 3 6 3s6-1.5 6-3v-5%22/%3E%3Cpath d=%22M22 9v6%22/%3E%3C/svg%3E");}
.td-ico-zdrowie{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20.4 6.6a5 5 0 0 0-8.4-2.2 5 5 0 0 0-8.4 2.2C2.6 11 7 15.5 12 20c5-4.5 9.4-9 8.4-13.4z%22/%3E%3Cpath d=%22M4 11.5h4.5l1.5-2.5 3 5 1.5-2.5H20%22/%3E%3C/svg%3E");}
.td-ico-cyfryzacja{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2212%22 rx=%222%22/%3E%3Cpath d=%22M8 20h8M12 16v4%22/%3E%3Cpath d=%22m10 8.5-2 1.5 2 1.5M14 8.5l2 1.5-2 1.5%22/%3E%3C/svg%3E");}
.td-ico-uslugi{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 18h18%22/%3E%3Cpath d=%22M5 18a7 7 0 0 1 14 0%22/%3E%3Cpath d=%22M12 8V6M10 6h4%22/%3E%3C/svg%3E");}
.td-ico-konkurencyjnosc{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 21h18%22/%3E%3Cpath d=%22M6 17v-3M11 17v-6M16 17V8%22/%3E%3Cpath d=%22m4 10 5-5 4 3 7-5%22/%3E%3Cpath d=%22M16 3h4v4%22/%3E%3C/svg%3E");}
.td-ico-koordynacja{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%225%22 r=%222.5%22/%3E%3Ccircle cx=%225%22 cy=%2218%22 r=%222.5%22/%3E%3Ccircle cx=%2219%22 cy=%2218%22 r=%222.5%22/%3E%3Cpath d=%22M10.8 7.2 6.2 15.8M13.2 7.2l4.6 8.6M7.5 18h9%22/%3E%3C/svg%3E");}
.td-ico-urzedy{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 10h18%22/%3E%3Cpath d=%22M12 3l9 5H3l9-5z%22/%3E%3Cpath d=%22M5 10v8M9.5 10v8M14.5 10v8M19 10v8%22/%3E%3Cpath d=%22M3 21h18%22/%3E%3C/svg%3E");}
.td-ico-medyczne{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%223%22 width=%2218%22 height=%2218%22 rx=%224%22/%3E%3Cpath d=%22M12 8v8M8 12h8%22/%3E%3C/svg%3E");}
.td-ico-siec{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.5%22/%3E%3C/svg%3E");}
.td-ico-szkolenia{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2212%22 rx=%221.5%22/%3E%3Cpath d=%22M12 16v5M8 21h8%22/%3E%3Cpath d=%22M7 8.5h6M7 11.5h10%22/%3E%3C/svg%3E");}
.td-ico-specjalizacja{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%225%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%221.2%22/%3E%3C/svg%3E");}
.td-ico-wiedza{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 19.5V5a2 2 0 0 1 2-2h14v15H6a2 2 0 0 0-2 2z%22/%3E%3Cpath d=%22M4 19.5A2 2 0 0 0 6 21h14%22/%3E%3Cpath d=%22M9 7.5h7M9 11h5%22/%3E%3C/svg%3E");}
.td-ico-konsulting{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z%22/%3E%3C/svg%3E");}
.td-ico-audyt{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 4h6v3H9z%22/%3E%3Cpath d=%22M15 5.5h2a2 2 0 0 1 2 2V19a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7.5a2 2 0 0 1 2-2h2%22/%3E%3Cpath d=%22m9 14 2 2 4-4%22/%3E%3C/svg%3E");}
.td-ico-telefon{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2%22/%3E%3C/svg%3E");}
.td-ico-email{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22m3 7 9 6 9-6%22/%3E%3C/svg%3E");}
.td-ico-adres{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.5%22/%3E%3C/svg%3E");}
.td-ico-check{--td-ico:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m5 12.5 4.5 4.5L19 7.5%22/%3E%3C/svg%3E");}
