img {border:none;}
a {text-decoration:none; color:#ffffff;}
a:hover {text-decoration:none;}
a:visited {text-decoration:none;}
a:focus {text-decoration:none;}
a {outline:none;}
a img {border:none;}
img {max-width:100%;}
b,strong {font-weight:700;}
* {box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}

:root {
	/* Legacy fallbacks — primary source: css/edumelodica-tokens.css */
	--magenta: #E80A7A;
	--magenta-dark: #C90067;
	--magenta-soft: #FF4FA8;
	--yellow: #F7C40A;
	--yellow-bright: #FFE407;
	--navy: #0B4566;
	--navy-soft: #49677A;
	--cyan: #29B9E5;
	--lime: #8FC238;
	--green: #8FC238;
	--orange: #F6921E;
	--blue: #29B9E5;
	--spe-bg: #EAF8FD;
	--white: #ffffff;
	--gray: #49677A;
	--font-display: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
	--radius: 1.25rem;
	--radius-lg: 1.75rem;
	--container: 77.5rem;
	--shadow: 0 0.625rem 1.875rem rgba(11, 69, 102, 0.10);
}

html {font-size: 16px; scroll-behavior: smooth;}
html,body {
	margin:0; padding:0; height:100%;
	font-family: var(--font-body);
	color: var(--navy);
	background: var(--white);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.flex {display:flex;justify-content:space-between;flex-wrap:wrap;}
.flexStart {justify-content:flex-start;}
.flexEnd {justify-content:flex-end;}
.flexCenter {justify-content:center;}
.flexVcenter {align-items:center;}
.flexVend {align-items:flex-end;}
.flexAround {justify-content:space-around;}
#wrapper {min-height:100%;position:relative; overflow-x: hidden;}
#header {position:relative; overflow: visible;}
#content {position: relative; z-index: 1;}

#menu ul {
	margin:0; padding:0;
	font-size:0.68rem;
	letter-spacing:0.08em;
	text-transform:uppercase;
	font-weight:700;
	font-family: var(--font-display);
}
#menu ul li {list-style:none; text-align:center; padding:0 0.42rem; display:inline-block;}
#menu ul li a {padding:0.5rem 0; color:var(--navy); display:inline-block;}
#menu ul li a:hover {color:var(--magenta);}
#menu ul li ul {display:none;text-align:left;width:18.75rem;position:absolute;margin-top:1.25rem;background:#000;padding:0.3125rem 0;}
#menu ul li ul li {width:100%;text-align:left;padding:0.375rem 0.625rem;}
#menu ul li ul li a {color:#fff;padding:0.3125rem 0;}
#menu ul li ul li a:hover {color:#ccc;}
#menu ul li:hover ul {display:block;}

.mobile {display:none;}

#topbar {
	z-index:999;
	position:sticky;
	top:0; right:0; left:0;
	padding:0.55rem 0 0.45rem;
	background: var(--white);
	transition: padding 0.3s, box-shadow 0.3s;
	overflow: visible;
}
#topbar .box {overflow: visible;}
#topbar .flex {align-items:center; gap:1rem; flex-wrap:nowrap; overflow: visible;}
#menu.desktop {flex:1; text-align:center; min-width:0;}
.logo {
	width: 6.5rem;
	flex-shrink:0;
	position: relative;
	z-index: 1000;
	margin-top: -0.35rem;
	margin-bottom: -3.1rem;
	align-self: flex-start;
}
.logo a {display:block; line-height:0; background:transparent;}
.logo img {
	display:block;
	width:100%;
	height:auto;
	border-radius: 50%;
	background: transparent;
	filter: drop-shadow(0 0.2rem 0.55rem rgba(0,0,0,0.18));
}
#topbar.fixedHeader .logo {width:4.75rem; margin-bottom: -1.4rem; margin-top:0;}
#topbar.fixedHeader {padding:0.4rem 0; box-shadow: 0 0.25rem 1rem rgba(25,56,109,0.08);}

.topbar-cta {
	flex-shrink:0;
	display:flex;
	align-items:flex-start;
	gap:0.85rem;
	align-self: stretch;
	padding-top: 0;
}
.color-stripes {
	display: block;
	width: 3.25rem;
	height: auto;
	flex-shrink: 0;
	margin-top: -0.55rem;
	align-self: flex-start;
}
#mobile-menu {
	background:rgba(255,255,255,0.98);
	z-index:998;
	position:fixed;
	top:0;bottom:0;right:0;left:0;
	text-align:center;
	padding-top:6.25rem;
	display:none;
	overflow-y:auto;
}
#mobile-menu #menu ul li {width:100%;padding:0.75rem 0.625rem;font-weight:700;}
#mobile-menu #menu ul li a {padding:0.375rem 0; color:var(--navy);}
#mobile-menu #menu ul li a.button {margin-top:1rem; color:#fff;}

#nav-icon {
	width: 2.5rem; height: 1.6875rem;
	position: relative; margin: 0.625rem auto;
	transform: rotate(0deg); transition: .5s ease-in-out; cursor: pointer;
}
#nav-icon span {
	display:block; position:absolute; height:0.25rem; width:100%;
	background: var(--magenta); border-radius:0.5625rem; opacity:1; left:0;
	transform: rotate(0deg); transition: .25s ease-in-out;
}
#nav-icon span:nth-child(1) {top:0; transform-origin:left center;}
#nav-icon span:nth-child(2) {top:0.625rem; transform-origin:left center;}
#nav-icon span:nth-child(3) {top:1.25rem; transform-origin:left center;}
#nav-icon.open span:nth-child(1) {transform: rotate(45deg); top:-0.1875rem; left:0.5rem;}
#nav-icon.open span:nth-child(2) {width:0%; opacity:0;}
#nav-icon.open span:nth-child(3) {transform: rotate(-45deg); top:1.5625rem; left:0.5rem;}

.alignRight {text-align:right;}
.alignCenter {text-align:center;}
.alignCenter .eyebrow-with-line {justify-content: center; width: 100%;}

.button {
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0.55rem;
	padding:0.85rem 1.45rem;
	min-height: var(--edu-button-min-height, 3rem);
	background:#555;
	border:0.125rem solid #555;
	color:#fff;
	border-radius:999px;
	font-family: var(--font-display);
	font-size:0.875rem;
	font-weight:700;
	letter-spacing:0.01em;
	line-height:1.2;
	transition: background 0.2s var(--edu-ease, ease), border-color 0.2s, transform 0.2s, filter 0.2s;
}
.button:hover {filter: brightness(1.05); transform: translateY(-0.05rem);}
.button .arrow {transition: transform 0.25s;}
.button:hover .arrow {transform: translateX(0.2rem);}
.btn-circle {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1.5rem; height:1.5rem;
	border-radius:50%;
	background: rgba(26,43,76,0.08);
	font-size:0.85rem;
}

.button-primary {
	background: var(--magenta);
	border-color: var(--magenta);
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.78rem;
}
.button-primary:hover,
.button-primary:visited,
.button-primary:focus {
	background: var(--magenta-dark);
	border-color: var(--magenta-dark);
	color: #fff;
}

.button-light {
	background: var(--white);
	border-color: var(--white);
	color: var(--navy);
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.875rem;
}
.offer-przedszkole .button-light {color: var(--magenta);}
.offer-zlobek .button-light {color: var(--magenta);}
.button-light:hover,
.button-light:visited,
.button-light:focus {
	background: #fff;
	border-color: #fff;
	color: var(--navy);
}
.button-offer {
	background: #fff;
	border-color: #fff;
	color: var(--magenta);
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.9rem;
	padding: 0.8rem 1.35rem;
	box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.08);
	align-self: flex-start;
	margin-top: auto;
}
.button-offer:hover,
.button-offer:visited,
.button-offer:focus {
	background: #fff;
	border-color: #fff;
	color: var(--magenta-dark);
}

.button-outline {
	background: var(--white);
	border-color: var(--magenta);
	color: var(--magenta);
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.875rem;
}
.button-outline:hover,
.button-outline:visited,
.button-outline:focus {
	background: var(--magenta);
	border-color: var(--magenta);
	color: #fff;
}

.button-footer {
	background: transparent;
	border: 0.125rem solid #fff;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.75rem;
	padding: 0.7rem 1.25rem;
}
.button-footer:hover,
.button-footer:visited,
.button-footer:focus {
	background: rgba(255,255,255,0.15);
	border-color: #fff;
	color: #fff;
}

.text-link {
	display:inline-flex;
	align-items:center;
	gap:0.35rem;
	color: var(--magenta);
	font-size:0.875rem;
	font-weight:700;
	margin-top:auto;
}
.text-link:hover,
.text-link:visited,
.text-link:focus {color: var(--magenta-dark);}
.text-link .arrow {transition: transform 0.25s;}
.text-link:hover .arrow {transform: translateX(0.2rem);}

.box {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--edu-gutter-desktop, 1.5rem);
	width: 100%;
}

.transition,.logo,.button,.gal-item img,.text-link,.offer-card,.info-card,.value-item,.quick-card {
	transition: all 0.3s;
}

ul.list {list-style-type: none;margin:0; padding:0;margin-left:0.625rem;}
ul.list li:before {content:"-"; position:relative; left:-0.3125rem;}
ul.list li{ text-indent:-0.3125rem; }

.gal-item {width:24%;margin-bottom:1.5%;position:relative;overflow: hidden;}
.gal-item:after {content:'';padding-top:60%;display:block;}
.gal-item:empty {margin-bottom:0;}
.gal-item:hover img {transform:scale(1.1);}
.gal-item img {width:100%;height:100%;object-fit: cover;position:absolute;top:0;bottom:0;right:0;left:0;}

.entry {margin-top: 0;}
.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering {float:none;}
.woocommerce div.product {margin-bottom: 0;position: relative;display:flex;justify-content:space-between;flex-wrap:wrap;}
.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {float: none;width: 38%;}
.woocommerce div.product div.images,.woocommerce div.product div.summary {margin-bottom: 0;}
.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {float: none;width: 60%;clear: none;}
.entry .entry-content, .entry .entry-summary {max-width: 100%;margin: 0;padding: 0;}

.eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--magenta);
	font-family: var(--font-display);
}
.eyebrow-with-line {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	justify-content: center;
}
.eyebrow-with-line::before {
	content: "";
	display: block;
	width: 1.75rem;
	height: 0.18rem;
	background: var(--magenta);
	border-radius: 999px;
	flex-shrink: 0;
}
.section-line {
	display:block;
	width: 2.5rem;
	height: 0.2rem;
	background: var(--magenta);
	border-radius: 999px;
	margin: 0 auto 0.85rem;
}

h1,h2,h3 {
	font-family: var(--font-display);
	font-weight: 800;
	line-height: 1.2;
	color: var(--navy);
	margin: 0 0 1rem;
}
h1 {font-size: clamp(1.9rem, 4vw, 3.25rem); max-width: 16ch;}
h2 {font-size: clamp(1.6rem, 3vw, 2.5rem);}
h3 {font-size: 1.15rem;}

.section {padding: 4rem 0; position: relative; z-index: 1;}
.section-header {margin-bottom: 2.5rem;}
.section-header h2 {margin-bottom: 0;}

/* ——— Hero ——— */
.hero-media {
	position: relative;
	height: 78vh;
	min-height: 32rem;
	max-height: 52rem;
	z-index: 1;
	overflow: hidden;
	background: #1a2b4c;
}
.hero-media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(120,0,70,0.32) 0%, rgba(0,0,0,0.1) 40%, transparent 68%);
	pointer-events: none;
}
.hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
	display: block;
}
/* Aple – dekoracyjne kształty z lewej, celowo ucięte krawędzią ekranu */
.hero-blobs-img {
	position: absolute;
	left: 0;
	top: -3.25rem;
	width: min(12rem, 15vw);
	height: calc(100% + 3.25rem);
	z-index: 2;
	pointer-events: none;
	overflow: visible;
}
.hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	pointer-events: none;
}
.hero-overlay .box {width:100%;}
.hero-overlay a {pointer-events: auto;}
.hero-content {
	position: relative;
	z-index: 3;
	padding: 4.5rem 0 5rem;
	max-width: 36rem;
	margin-left: clamp(1rem, 4vw, 2.5rem);
}
.hero-content h1 {
	color:#fff;
	margin-bottom:1rem;
	text-shadow: 0 0 0.2rem rgba(227,0,126,0.28), 0 0.06rem 0.3rem rgba(0,0,0,0.18);
	font-size: clamp(2rem, 4.2vw, 3.4rem);
	line-height: 1.15;
	max-width: 14ch;
}
.hero-content .button-primary {
	background: var(--magenta);
	border-color: var(--magenta);
	box-shadow: 0 0.4rem 1.1rem rgba(227,0,126,0.35);
	text-transform: none;
	letter-spacing: 0.01em;
	font-size: 0.95rem;
	padding: 0.95rem 1.6rem;
}
.hero-lead {
	color: rgba(255,255,255,0.96);
	font-size: 1.05rem;
	max-width: 32rem;
	margin: 0 0 1.75rem;
	font-weight: 600;
	text-shadow: 0 0.04rem 0.2rem rgba(0,0,0,0.12);
}
.hero-lead strong {font-weight: 800;}
.hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem 1.75rem;
}

/* ——— Offers ——— */
.section-offers {
	position: relative;
	padding-top: 2.25rem;
	padding-bottom: 2.5rem;
	overflow: visible;
}
.section-offers .box {
	max-width: 92rem; /* ~1472px — szerszy obszar pod 3 klocki */
}
/* Shared side-edge decorations (one L + one R per section) */
.edge-deco {
	position: absolute;
	pointer-events: none;
	z-index: 0;
	height: auto;
	display: block;
}
.edge-deco-l {
	transform: translateX(-28%);
}
.edge-deco-r,
.edge-deco-br {
	transform: translateX(28%);
}
.section-offers .edge-deco-l {
	left: 0;
	bottom: -0.4rem;
	width: 4.5rem;
}
.section-offers .edge-deco-r {
	right: 0;
	bottom: -0.6rem;
	width: 5.75rem;
}
.offers-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.15rem;
	position: relative;
	z-index: 1;
}
.offer-card {
	position: relative;
	border-radius: 1.75rem;
	overflow: hidden;
	min-height: 22rem;
	color: #fff;
	isolation: isolate;
}
.offer-card > picture {
	position: absolute;
	inset: 0;
	display: block;
	z-index: 0;
}
.offer-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	z-index: 0;
}
.offer-shape {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -22%;
	right: auto;
	width: 98%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
	object-fit: cover;
	object-position: right center;
}
.offer-scribble {
	position: absolute;
	left: 34%;
	bottom: 12%;
	width: 3.75rem;
	height: auto;
	z-index: 2;
	pointer-events: none;
	opacity: 0.95;
}
.offer-copy {
	position: relative;
	z-index: 2;
	padding: 1.65rem 1.1rem 1.5rem 1.4rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
	width: min(62%, 14.25rem);
	min-height: 22rem;
	box-sizing: border-box;
}
.offer-przedszkole .offer-bg {object-position: 72% 30%;}
.offer-zlobek .offer-bg {object-position: 68% 20%;}
.offer-spe .offer-bg {object-position: 32% 42%;}
.offer-spe .offer-copy h2 {
	font-size: 1.05rem;
	letter-spacing: 0.03em;
	max-width: 13ch;
	line-height: 1.2;
}
.offer-spe .button-offer {color: #005A9C;}
.offer-spe .button-offer:hover,
.offer-spe .button-offer:visited,
.offer-spe .button-offer:focus {color: #00457a;}
.offer-icon {color: #fff; margin-bottom: 0.65rem; line-height: 0;}
.offer-icon img {display:block; width:2.1rem; height:2.1rem;}
.offer-copy h2 {
	color: #fff;
	text-transform: uppercase;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.55rem;
	font-weight: 800;
}
.offer-copy p {
	margin: 0 0 1rem;
	color: rgba(255,255,255,0.96);
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.4;
	max-width: 13.5rem;
}
.offer-copy .button-offer {
	margin-top: auto;
	font-size: 0.84rem;
	padding: 0.72rem 1.15rem;
}

/* ——— About (+ values) ——— */
.section-about {
	position: relative;
	overflow: visible;
	padding-top: 3.5rem;
	padding-bottom: 3.75rem;
}
.section-about .edge-deco-l {
	left: 0;
	top: 12%;
	width: 4.25rem;
}
.section-about .edge-deco-l2 {
	left: 0;
	top: 32%;
	width: 4.75rem;
	transform: translateX(-28%);
}
.section-about .edge-deco-r {
	right: 0;
	top: 28%;
	width: 5.25rem;
}
.section-about .edge-deco-br {
	right: 0;
	bottom: -0.25rem;
	width: 4rem;
}
.section-about .box {position: relative; z-index: 1;}
.section-about .section-header {margin-bottom: 2.25rem;}
.section-about .section-header h2 {
	font-size: clamp(1.75rem, 3vw, 2.35rem);
}
.about-values-header {
	margin-top: 3.5rem;
	margin-bottom: 2.65rem;
}
.about-values-header h2 {
	font-size: clamp(1.7rem, 2.8vw, 2.25rem);
	color: var(--navy);
	margin-bottom: 0;
}
.info-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.15rem;
}
.info-card {
	background: var(--white);
	border-radius: 1.15rem;
	padding: 1.65rem 1.35rem 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.55rem;
	border: 1px solid rgba(26, 43, 76, 0.1);
	box-shadow: none;
	text-align: left;
}
.info-card:hover {
	transform: translateY(-0.15rem);
	border-color: rgba(227, 0, 126, 0.2);
}
.info-icon-img {
	width: 3.5rem;
	height: 3.5rem;
	object-fit: contain;
	display: block;
	margin-bottom: 0.35rem;
}
.info-card h3 {
	margin: 0;
	font-size: 1.1rem;
	color: var(--navy);
	font-weight: 800;
}
.info-card p {
	margin: 0;
	color: var(--gray);
	font-size: 0.88rem;
	line-height: 1.45;
	flex-grow: 1;
}
.info-card .text-link {
	margin-top: 0.65rem;
	font-size: 0.85rem;
}

/* ——— Values (inside about) ——— */
.values-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0;
	align-items: start;
}
.value-item {
	position: relative;
	text-align: center;
	padding: 0.35rem 1.15rem 0.75rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.value-item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 1.15rem;
	right: 0;
	bottom: 0.85rem;
	width: 1px;
	background: rgba(26, 43, 76, 0.12);
}
.value-icon-img {
	width: 4.65rem;
	height: 4.65rem;
	object-fit: contain;
	display: block;
	margin: 0 auto 1.05rem;
}
.value-item h3 {
	margin: 0 0 0.4rem;
	font-size: 1rem;
	color: var(--navy);
	font-weight: 800;
	line-height: 1.25;
}
.value-item p {
	margin: 0;
	font-size: 0.84rem;
	color: var(--navy);
	font-weight: 500;
	line-height: 1.45;
	max-width: 13.5rem;
	opacity: 0.9;
}

/* ——— Recruitment ——— */
.section-recruitment {padding-top:2.25rem; padding-bottom:1rem;}
.recruitment-card {
	display:grid;
	grid-template-columns: 0.95fr 1.15fr 0.95fr;
	gap: 0 1.75rem;
	align-items:center;
	background: #fff;
	border-radius: 1.75rem;
	padding: 0;
	box-shadow: 0 0.65rem 1.75rem rgba(26,43,76,0.08);
	position:relative;
	overflow:hidden;
	border: 1px solid rgba(26,43,76,0.06);
	min-height: 15.5rem;
}
.recruit-blob-img {
	position:absolute;
	pointer-events:none;
	z-index:2;
	height:auto;
}
.recruit-blob-tl {
	top: -0.35rem;
	left: -0.25rem;
	width: 5.5rem;
}
.recruit-blob-br {
	bottom: -0.55rem;
	right: -0.45rem;
	width: 6.25rem;
}
.recruitment-media {
	position:relative;
	z-index:1;
	align-self:stretch;
	min-height: 15.5rem;
	overflow:hidden;
	border-radius: 1.75rem 0 0 1.75rem;
}
.recruitment-media > picture {
	position:absolute;
	inset:0;
	display:block;
}
.recruitment-media img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position: center top;
}
.recruitment-content,
.recruitment-docs {position:relative; z-index:1;}
.recruitment-content {
	padding: 1.75rem 0.25rem 1.75rem 0.5rem;
}
.recruitment-content .eyebrow {
	margin-bottom: 0.55rem;
	letter-spacing: 0.1em;
	color: var(--magenta);
}
.recruitment-content h2 {
	font-size: clamp(1.45rem, 2.2vw, 1.95rem);
	margin: 0 0 0.65rem;
	line-height: 1.2;
}
.recruitment-content > p {
	margin:0 0 1.35rem;
	color: var(--navy);
	font-weight:500;
	font-size: 0.95rem;
	line-height: 1.45;
	max-width: 22rem;
	opacity: 0.88;
}
.recruitment-content .button-primary {
	padding: 0.8rem 1.55rem;
	font-size: 0.92rem;
}
.recruitment-docs {
	padding: 1.75rem 1.75rem 1.75rem 1.5rem;
	border-left: 1px solid rgba(26,43,76,0.1);
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.docs-title {
	margin:0 0 1rem;
	font-weight:800;
	font-size:0.95rem;
	color: var(--magenta);
	font-family: var(--font-display);
}
.docs-list {list-style:none; margin:0; padding:0;}
.docs-list li {margin-bottom:0.8rem;}
.docs-list li:last-child {margin-bottom:0;}
.docs-list a {
	display:flex; align-items:flex-start; gap:0.55rem;
	color: var(--navy);
	font-size:0.875rem;
	font-weight:700;
	line-height:1.35;
}
.docs-list a:hover {color: var(--magenta);}
.doc-icon {flex-shrink:0; color: var(--magenta); margin-top:0.05rem; display:inline-flex;}
.doc-icon img {display:block; width:1.15rem; height:1.15rem;}

/* ——— Quick links ——— */
.section-quicklinks {padding-top:2.25rem; padding-bottom:3.5rem;}
.quicklinks-grid {
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:1.35rem;
}
.quick-card {
	display:grid;
	border-radius: 1.65rem;
	overflow:hidden;
	min-height: 15rem;
	align-items: stretch;
}
.quick-cennik {
	grid-template-columns: 1.45fr 0.85fr;
	background: var(--magenta);
	color:#fff;
}
.quick-kontakt {
	grid-template-columns: 1.05fr 1fr;
	background: #fff;
	border: 1px solid rgba(26,43,76,0.08);
	box-shadow: 0 0.55rem 1.5rem rgba(26,43,76,0.07);
}
.quick-body {
	padding: 2rem 1.5rem 2rem 1.85rem;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	gap:0.45rem;
	position:relative;
	z-index:2;
}
.quick-body h3 {
	font-size: clamp(1.55rem, 2.2vw, 1.9rem);
	margin:0;
	line-height:1.15;
}
.quick-body p {
	margin:0 0 0.85rem;
	font-size:0.92rem;
	font-weight:500;
	line-height:1.45;
	max-width: 16rem;
}
.quick-cennik .quick-body h3,
.quick-cennik .quick-body p {color:#fff;}
.quick-cennik .quick-body p {opacity:0.95;}
.quick-kontakt .quick-body h3 {color: var(--navy);}
.quick-kontakt .quick-body p {color: var(--navy); opacity:0.85;}
.quick-icon-img {
	display:block;
	width: 2.35rem;
	height: auto;
	margin-bottom: 0.35rem;
}
.quick-icon-pin {
	width: 1.85rem;
	height: auto;
}
.quick-cennik .button-light {
	color: var(--magenta);
	background: #fff;
	border-color: #fff;
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.88rem;
	font-weight: 800;
	padding: 0.7rem 1.35rem;
}
.quick-cennik .button-light:hover {
	background: #fff;
	color: var(--magenta-dark);
	filter: none;
}
.quick-kontakt .button-outline {
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.88rem;
	font-weight: 800;
	padding: 0.7rem 1.35rem;
	border-width: 0.12rem;
}
.quick-media {
	position:relative;
	min-height:15rem;
	overflow:hidden;
}
.quick-cennik .quick-media {
	background: #fff;
}
.quick-circles-img {
	position:absolute;
	left: -3.5rem;
	bottom: -1.5rem;
	width: 11rem;
	height: auto;
	z-index: 2;
	pointer-events: none;
}
.quick-media > picture {
	position:absolute;
	inset:0;
	display:block;
}
.quick-photo {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position: 70% center;
	display:block;
}
.quick-map {
	margin: 0;
	border-radius: 0;
	align-self: stretch;
}
.quick-map-img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position: center;
	display:block;
}

/* ——— Footer ——— */
footer {padding:0; background: var(--white);}
.footer-main {
	background: var(--magenta);
	border-radius: 1.65rem;
	margin: 0 1.5rem;
	padding: 1.35rem 3.75rem;
	position:relative;
	overflow:hidden;
}
.footer-main .box {
	gap: 1.25rem;
	position:relative;
	z-index:1;
	justify-content: space-between;
}
.footer-strokes-img {
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	height: 4.25rem;
	width: auto;
	pointer-events:none;
	z-index:0;
}
.footer-strokes-l {left: 0.15rem;}
.footer-strokes-r {right: 0.15rem;}
.footer-nav {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-start;
	gap: 0.35rem 1.35rem;
	flex:1;
	min-width:0;
}
.footer-nav a {
	color:#fff;
	font-size:0.92rem;
	font-weight:700;
	white-space:nowrap;
}
.footer-nav a:hover {opacity:0.85; color:#fff;}
.footer-actions {
	display:flex;
	align-items:center;
	gap:0.6rem;
	flex-shrink:0;
}
.social {
	width:2.15rem; height:2.15rem;
	min-width: var(--edu-tap-target-min, 2.75rem);
	min-height: var(--edu-tap-target-min, 2.75rem);
	border-radius:50%;
	border:0.1rem solid rgba(255,255,255,0.85);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:#fff;
}
.social img {
	width: 1.05rem;
	height: 1.05rem;
	display: block;
}
.social:hover,
.social:visited,
.social:focus {
	color:#fff;
	background: rgba(255,255,255,0.15);
	border-color:#fff;
}
.button-footer {
	padding: 0.72rem 1.4rem;
	font-size: 0.78rem;
}
.footer-bottom {
	padding: 1.15rem 0 1.6rem;
	font-size:0.8rem;
	color: var(--gray);
}
.footer-bottom .box {
	gap:1rem;
	justify-content: space-between;
}
.copyright {margin:0; color: var(--gray);}
.footer-legal {display:flex; align-items:center; gap:0.5rem; margin-left:auto;}
.footer-legal a {color: var(--gray);}
.footer-legal a:hover {color: var(--magenta);}
.footer-legal .sep {opacity:0.5;}

/* ——— Responsive ——— */
@media all and (max-width: 1200px) {
	.section-offers .box {max-width: var(--container);}
	.offers-grid {grid-template-columns: 1fr; gap: 1.25rem;}
	.offer-card {min-height: 22rem;}
	.offer-copy {
		width: min(52%, 15.5rem);
		min-height: 22rem;
		padding: 2rem 1.5rem 1.75rem 1.65rem;
	}
	.offer-copy h2 {font-size: 1.35rem;}
	.offer-spe .offer-copy {width: min(58%, 17rem);}
	.offer-spe .offer-copy h2 {font-size: 1.15rem; max-width: 14ch;}
	.offer-copy p {font-size: 0.92rem; max-width: 15rem;}
	.offer-copy .button-offer {font-size: 0.9rem; padding: 0.8rem 1.35rem;}
	.offer-shape {left: -28%; width: 94%;}
	.offer-scribble {left: 30%; width: 4.5rem;}

	.values-grid {grid-template-columns: repeat(3, 1fr); gap:1.5rem 0;}
	.value-item:not(:last-child)::after {display:none;}
	.value-item {border-bottom:1px solid rgba(26,43,76,0.08); padding-bottom:1.5rem;}
	.recruitment-card {grid-template-columns: 1fr 1fr;}
	.recruitment-media {
		grid-column: 1 / -1;
		min-height:14rem;
		border-radius: 1.75rem 1.75rem 0 0;
	}
	.recruitment-content {padding: 1.25rem 1.5rem 0.5rem;}
	.recruitment-docs {
		grid-column: 1 / -1;
		border-left: none;
		border-top: 1px solid rgba(26,43,76,0.1);
		padding: 1.25rem 1.5rem 1.75rem;
	}
	.recruit-blob-tl {width:4.5rem;}
	.recruit-blob-br {width:4.75rem;}
	.footer-nav {order:3; flex-basis:100%;}
	.hero-blobs-img {width: min(14rem, 28vw);}
}

@media all and (max-width: 1020px) {
	.mobile {display:block;}
	.desktop {display:none;}
	#topbar {padding:0.65rem 0;}
	#topbar .topbar-cta {display:none;}
	.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {width: 100%;}
	.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {width: 100%;}

	.quicklinks-grid,
	.quick-card {
		grid-template-columns: 1fr;
	}
	.info-grid {grid-template-columns: 1fr 1fr;}

	.offer-shape {left: -32%; width: 92%; object-fit: cover; object-position: right center; transform: none;}
	.edge-deco {width: 3.75rem !important;}
	.section-offers .edge-deco-l {display: none;}

	.hero-blobs-img {width: min(11rem, 32vw); top: -2.5rem; height: calc(100% + 2.5rem);}
	.logo {width: 5.5rem; margin-bottom: -2.4rem;}
	.hero-content {padding: 4rem 0 5rem; max-width:100%; margin-left: 1rem;}
	.hero-actions {gap: 1rem;}

	.about-values-header {margin-top: 2.75rem;}
	.values-grid {grid-template-columns: repeat(2, 1fr);}

	.quick-cennik .quick-media,
	.quick-map {min-height:12rem;}
	.quick-circles-img {width:7.5rem; left:-2rem;}
	.quick-body {padding:1.75rem 1.5rem;}
	.footer-main {margin:0 1rem;}
	.footer-bottom .box {flex-direction:column; align-items:flex-start;}
	.footer-legal {margin-left:0;}
}

@media all and (max-width: 640px) {
	html {font-size:15px;}
	.box {padding: 0 var(--edu-gutter-mobile, 1rem);}
	.section {padding:3rem 0;}
	.info-grid,
	.values-grid,
	.recruitment-card {grid-template-columns:1fr;}
	.value-item {padding:1rem 0.5rem;}
	.hero-media {height:75vh; min-height:26rem;}
	.hero-content h1 {max-width:none;}
	.footer-strokes-img {display:none;}
	.footer-main {padding: 1.25rem 1.25rem;}
	.footer-actions {width:100%; justify-content:center; flex-wrap:wrap;}
	.edge-deco {display:none;}
}
