/* ═══════════════════════════════════════════════════════════
   SIGMA — O NAS (about.css)
   ═══════════════════════════════════════════════════════════ */

.about { background-color: #fff; overflow: hidden; }

/* ── Animacje wejścia ── */
.about-fadein {
	opacity: 0;
	transform: translateY(30px);
	animation: sigmaHeroFadeIn .8s cubic-bezier(.16, 1, .3, 1) forwards;
}

.about-fadein--d2 { animation-delay: .3s; }
.about-fadein--d3 { animation-delay: .45s; }
.about-fadein--d4 { animation-delay: .6s; }
.about-fadein--d5 { animation-delay: .75s; }

@keyframes sigmaHeroFadeIn {
	to { opacity: 1; transform: translateY(0); }
}

/* ═══ HERO ═══ */
.about-hero {
	position: relative;
	overflow: hidden;
	z-index: 10;
	background: linear-gradient(160deg, #081c52 0%, #0c359e 40%, #0a2d7a 70%, #081c52 100%);
	padding: 140px 1.5rem 8rem;
}

.about-hero::before {
	content: '';
	position: absolute;
	top: -10%;
	right: -5%;
	width: 55%;
	height: 120%;
	background: linear-gradient(135deg, rgba(255, 195, 1, .06) 0%, transparent 60%);
	transform: skewX(-8deg);
	pointer-events: none;
	z-index: 1;
}

.about-hero__grid-overlay {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
	z-index: 1;
}

.about-hero__noise {
	position: absolute;
	inset: 0;
	opacity: .035;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	background-size: 256px;
	pointer-events: none;
	z-index: 1;
}

.about-hero__shape {
	position: absolute;
	user-select: none;
	pointer-events: none;
	font-family: var(--font-montserrat);
	line-height: 1;
}

.about-hero__shape--1 { top: 5rem; left: 8%; font-size: 3rem; color: var(--sigma-gold); opacity: .1; animation-delay: 0s; }
.about-hero__shape--2 { bottom: 30%; right: 5%; font-size: 3.75rem; color: var(--sigma-gold); opacity: .07; animation-delay: 2s; }
.about-hero__shape--3 { top: 35%; right: 15%; font-size: 2.25rem; line-height: 2.5rem; color: #fff; opacity: .06; font-family: var(--font-body); font-weight: 700; animation-delay: 1s; }
.about-hero__shape--4 { bottom: 20%; left: 12%; font-size: 1.875rem; line-height: 2.25rem; color: var(--sigma-gold); opacity: .08; animation-delay: 3s; }

.about-hero__blob {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 200px;
	height: 200px;
	border-radius: 9999px;
	opacity: .04;
	pointer-events: none;
	background: radial-gradient(circle, #0c359e 0%, transparent 70%);
}

.about-hero__inner {
	max-width: 80rem;
	margin: 0 auto;
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3rem;
	padding-bottom: 2.5rem;
}

.about-hero__text {
	width: 100%;
	text-align: center;
	order: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.about-hero__title {
	font-family: var(--font-montserrat);
	font-size: 3rem;
	line-height: .9;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 2rem;
	letter-spacing: -.05em;
}

.about-hero__title-hl-wrap { position: relative; display: inline-block; margin-top: .5rem; }

.about-hero__title-hl {
	display: inline-block;
	background-color: #fff;
	padding: .25rem .75rem;
	transform: skewX(-6deg);
	color: var(--sigma-blue);
}

.about-hero__lead {
	font-size: 1.125rem;
	line-height: 1.625;
	font-weight: 700;
	font-family: var(--font-body);
	color: rgb(255 255 255 / .8);
	max-width: 36rem;
	margin-bottom: 2.5rem;
}

.about-hero__lead-hl { color: var(--sigma-gold); font-weight: 900; }

.about-hero__ctas { display: flex; flex-direction: column; gap: 1rem; width: 100%; }

.about-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	font-family: var(--font-montserrat);
	padding: 1rem 2rem;
	text-transform: uppercase;
	letter-spacing: .025em;
	transition-property: var(--transition-colors), transform, box-shadow;
	transition-duration: .3s;
	transition-timing-function: var(--ease);
}

.about-hero__btn:active { transform: translateY(0) scale(.98); transition-duration: .1s; }

.about-hero__btn--gold {
	background-color: var(--sigma-gold);
	color: var(--sigma-blue);
	font-weight: 900;
	font-size: .875rem;
	line-height: 1.25rem;
	box-shadow: var(--shadow-2xl);
	border-radius: 1rem;
}

.about-hero__btn--gold:hover { background-color: #fff; color: var(--sigma-blue); transform: translateY(-.25rem); }
.about-hero__btn-arrow { transition: transform .25s var(--ease); }
.about-hero__btn--gold:hover .about-hero__btn-arrow { transform: translateX(.35rem); }

.about-hero__btn--ghost {
	background-color: transparent;
	color: #fff;
	border: 2px solid rgb(255 255 255 / .3);
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.25rem;
}

.about-hero__btn--ghost:hover { border-color: var(--sigma-gold); color: var(--sigma-gold); }
.about-hero__btn-icon { width: 1rem; height: 1rem; flex-shrink: 0; }

.about-hero__stats {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 3rem;
	width: 100%;
}

.about-stat {
	position: relative;
	overflow: hidden;
	width: 100%;
	text-align: center;
	background-color: rgb(255 255 255 / .1);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	padding: 1rem 1.25rem;
	border: 1px solid rgb(255 255 255 / .1);
	border-radius: 1rem;
}

.about-stat::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, #ffc301, #0c359e, #ffc301);
	background-size: 200% 100%;
	animation: sigmaGradientFlow 4s linear infinite;
}

@keyframes sigmaGradientFlow {
	0% { background-position: 0% 50%; }
	100% { background-position: 200% 50%; }
}

.about-stat__num {
	display: block;
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--sigma-gold);
	font-variant-numeric: tabular-nums;
	margin-bottom: .35rem;
}

.about-stat__label {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: .75rem;
	line-height: 1.3;
	color: rgb(255 255 255 / .72);
}

.about-hero__photo-col {
	width: 100%;
	position: relative;
	order: 1;
	display: flex;
	justify-content: center;
	isolation: isolate;
}

.about-hero__frame { position: absolute; z-index: -10; border-width: 2px; border-style: solid; }
.about-hero__frame--gold { inset: -1rem; background-color: rgb(255 195 1 / .1); transform: rotate(3deg); border-color: rgb(255 195 1 / .2); }
.about-hero__frame--blue { inset: -.5rem; background-color: rgb(12 53 158 / .4); border-color: rgb(255 255 255 / .1); }

.about-hero__photo {
	position: relative;
	width: 100%;
	max-width: 32rem;
	background-color: #fff;
	padding: .5rem;
	transform: rotate(2deg);
	transition: transform .6s var(--ease-spring), box-shadow .4s ease;
}

.about-hero__photo:hover {
	transform: rotate(0deg) scale(1.02);
	box-shadow: 0 25px 60px rgb(4 14 41 / .55), 0 0 0 4px var(--sigma-gold);
}

.about-hero__photo-img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 1rem;
	box-shadow: var(--shadow-md);
}

.about-hero__caption {
	position: absolute;
	bottom: -1rem;
	left: 50%;
	transform: translateX(-50%) skewX(-6deg);
	background-color: #fff;
	color: var(--sigma-blue);
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: .75rem;
	line-height: 1rem;
	padding: .5rem 1.5rem;
	box-shadow: var(--shadow-md);
	white-space: nowrap;
	z-index: 20;
}

@media (min-width: 640px) {
	.about-hero__ctas { flex-direction: row; width: auto; }
	.about-hero__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
	.about-hero { padding-top: 180px; padding-bottom: 11rem; }
	.about-hero__shape--1 { font-size: 4.5rem; }
	.about-hero__shape--2 { font-size: 6rem; }
	.about-hero__shape--3 { font-size: 3.75rem; line-height: 1; }
	.about-hero__shape--4 { font-size: 3rem; line-height: 1; }
	.about-hero__blob { width: 400px; height: 400px; }
	.about-hero__title { font-size: 3.75rem; line-height: 1; }
	.about-hero__title-hl-wrap { margin-top: .75rem; }
	.about-hero__title-hl { padding-left: 1.5rem; padding-right: 1.5rem; }
	.about-hero__lead { font-size: 1.25rem; line-height: 1.75rem; }
	.about-hero__btn--gold { font-size: 1rem; line-height: 1.5rem; }
	.about-hero__stats { gap: 1.5rem; }
	.about-stat__num { font-size: 1.875rem; line-height: 2.25rem; }
	.about-hero__photo { padding: .75rem; }
	.about-hero__caption { bottom: -1.25rem; font-size: .875rem; line-height: 1.25rem; }
}

@media (min-width: 1024px) {
	.about-hero__inner { flex-direction: row; gap: 5rem; }
	.about-hero__text { width: 50%; text-align: left; order: 1; align-items: flex-start; }
	.about-hero__photo-col { width: 50%; order: 2; }
	.about-hero__title { font-size: 6rem; }
	.about-stat { text-align: left; }
	.about-hero__frame--gold { inset: -1.5rem; }
	.about-hero__frame--blue { inset: -.75rem; }
	.about-hero__photo { max-width: 42rem; }
}

/* ═══ MIEJSCE ═══ */
.about-place { padding: 6rem 1.5rem 7rem; background-color: #fff; position: relative; z-index: 10; }

/* Tekst po lewej, zdjęcie po prawej (wcześniej wszystko wyśrodkowane). */
.about-place__inner {
	max-width: 76rem;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 3.5rem;
	align-items: center;
}

.about-place__header { text-align: left; }
.about-place__title { max-width: 30rem; }

.about-place__facts { display: flex; flex-direction: column; gap: .875rem; margin-top: 2rem; }

.about-place__fact {
	display: flex;
	align-items: center;
	gap: .875rem;
	font-family: var(--font-body);
	font-weight: 500;
	font-size: .9375rem;
	color: var(--gray-700);
}

.about-place__fact strong { color: var(--sigma-blue); font-weight: 800; }

.about-place__fact-icon {
	width: 2.5rem;
	height: 2.5rem;
	padding: .55rem;
	flex-shrink: 0;
	border-radius: .75rem;
	background-color: rgb(12 53 158 / .06);
	color: var(--sigma-blue);
}

.about-place__image-wrap { width: 100%; position: relative; }

@media (min-width: 1024px) {
	.about-place__inner { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 5rem; }
	/* Zdjęcie wychodzi poza siatkę w prawo — przełamuje symetrię. */
	.about-place__image-wrap { margin-right: -3rem; }
}

.about-place__image-bg {
	position: absolute;
	inset: -1rem;
	background-color: var(--slate-100);
	transform: rotate(1deg);
	z-index: -10;
	border-radius: .125rem;
}

.about-place__image-card {
	position: relative;
	background-color: #fff;
	padding: .5rem;
	box-shadow: var(--shadow-2xl);
	overflow: hidden;
	border-radius: .375rem;
	transform: rotate(-1deg);
	transition: transform .5s var(--ease);
}

.about-place__image-card:hover { transform: rotate(0deg); }
.about-place__image-card img { width: 100%; height: auto; }

.about-place__label {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	background-color: var(--sigma-gold);
	color: var(--sigma-blue);
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: .75rem;
	line-height: 1rem;
	padding: .5rem 1rem;
	transform: skewX(-12deg);
	box-shadow: var(--shadow-md);
}

/* ═══ ZESPÓŁ ═══ */
.about-team { padding: 6rem 1.5rem; background-color: var(--slate-100); position: relative; scroll-margin-top: 6rem; }
.about-team__inner { max-width: 80rem; margin: 0 auto; position: relative; z-index: 40; }
.about-team__header { text-align: center; margin-bottom: 4rem; }
.about-team__title-wrap { display: inline-block; position: relative; }

.about-team__title-shadow {
	position: absolute;
	inset: 0;
	background-color: var(--slate-100);
	transform: translate(.25rem, .25rem) rotate(1deg);
}

.about-team__title-box { background-color: #fff; padding: 1rem 2rem; text-align: center; position: relative; z-index: 10; }

.about-team__title {
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: 2.25rem;
	line-height: 1;
	color: var(--sigma-blue);
	letter-spacing: .1em;
	text-transform: uppercase;
	margin: 0;
}

.about-team__lead {
	color: rgb(12 53 158 / .9);
	font-family: var(--font-body);
	font-size: 1.125rem;
	line-height: 1.75rem;
	max-width: 48rem;
	margin: 2rem auto 0;
}

.about-team__lead-hl { color: var(--sigma-blue); font-weight: 900; }
.about-team__lead-br { display: none; }

.about-team__grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 2rem;
	padding-top: 2rem;
}

.about-teacher {
	position: relative;
	background-color: #fff;
	padding: 1.25rem;
	box-shadow: var(--shadow-xl);
	border-radius: 1.25rem;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
	--sigma-ty: 0;
	--sigma-rot: 0deg;
	transform: translateY(var(--sigma-ty)) rotate(var(--sigma-rot));
}

.about-teacher:hover { --sigma-ty: -.5rem; box-shadow: var(--shadow-2xl); }
.about-teacher--tilt { --sigma-rot: -1deg; }

.about-teacher--join { border: 4px dashed var(--sigma-blue); scroll-margin-top: 8rem; }

.about-teacher__photo {
	aspect-ratio: 4 / 5;
	background-color: var(--gray-200);
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
	margin-bottom: 1.25rem;
	box-shadow: var(--shadow-sm);
}

.about-teacher__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
	box-shadow: var(--shadow-md);
	transition: transform .6s var(--ease);
}

.about-teacher:hover .about-teacher__photo img { transform: scale(1.04); }

.about-teacher__name {
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--sigma-blue);
	text-transform: uppercase;
	margin-bottom: .5rem;
}

.about-teacher__name--tight { line-height: 1.25; }

.about-teacher__tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.about-teacher__tags--mt { margin-top: .25rem; }

.about-tag {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 900;
	font-size: 10px;
	padding: .25rem .5rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	transform: skewX(-6deg);
	color: #fff;
}

.about-tag--gold { color: var(--sigma-blue); background-color: var(--sigma-gold); border: 1px solid var(--sigma-blue); }
.about-tag--slate { color: var(--sigma-blue); background-color: var(--slate-100); border: 1px solid var(--sigma-blue); }
.about-tag--blue { background-color: var(--sigma-blue); }
.about-tag--green { background-color: var(--sigma-green); }
.about-tag--red { background-color: var(--sigma-red); }

.about-teacher__text { font-family: var(--font-body); color: var(--gray-700); font-size: .9rem; line-height: 1.65; font-weight: 500; }
.about-teacher__strong { color: var(--sigma-blue); }
.about-teacher__yes { color: var(--sigma-blue); font-weight: 900; text-decoration: underline; }
.about-teacher__cta-wrap { display: flex; justify-content: center; margin-top: 1.5rem; }

.about-teacher__cta {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	background-color: var(--sigma-blue);
	color: #fff;
	border: 4px solid #fff;
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: 1rem;
	line-height: 1.5rem;
	padding: 1rem 2rem;
	text-transform: uppercase;
	transition-property: var(--transition-colors), transform;
	transition-duration: .3s;
	transition-timing-function: var(--ease);
}

.about-teacher__cta:active { transform: scale(.98); transition-duration: .1s; }

.about-teacher__cta:hover { background-color: var(--sigma-gold); color: var(--sigma-blue); transform: translateY(-.25rem); }
.about-teacher__cta-arrow { width: 1.1rem; height: 1.1rem; transition: transform .25s var(--ease); }
.about-teacher__cta:hover .about-teacher__cta-arrow { transform: translateX(.35rem); }

.about-team__ripped {
	position: absolute;
	bottom: -2rem;
	left: 0;
	width: 100%;
	height: 2rem;
	background-color: var(--slate-100);
	z-index: 30;
}

@media (min-width: 768px) {
	.about-team__title-box { padding-left: 3rem; padding-right: 3rem; }
	.about-team__title { font-size: 3rem; }
	.about-team__lead { font-size: 1.25rem; line-height: 1.75rem; font-weight: 700; }
	.about-team__lead-br { display: block; }
	.about-team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
}

@media (min-width: 1024px) {
	.about-team__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.about-teacher--shift-1 { --sigma-ty: 1.5rem; }
	.about-teacher--shift-2 { --sigma-ty: 3rem; }
	.about-teacher:hover { --sigma-ty: -.5rem; box-shadow: var(--shadow-2xl); }
}

/* ═══ WARTOŚCI ═══ */
/* Układ i karty: .sigma-split + .sigma-steps--grid w main.css. */
.about-values { padding: 6rem 1.5rem 7rem; background-color: #fff; position: relative; z-index: 10; }
.about-values__inner { max-width: 72rem; margin: 0 auto; }

/* ═══ HISTORIA ═══ */
.about-history { padding: 6rem 1.5rem; background-color: #fff; position: relative; z-index: 10; overflow: hidden; scroll-margin-top: 6rem; }
.about-history__inner { max-width: 56rem; margin: 0 auto; position: relative; z-index: 10; text-align: center; }

.about-history__title {
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: 2.25rem;
	line-height: 1.25;
	color: var(--sigma-blue);
	text-transform: uppercase;
	margin-bottom: 3rem;
	filter: drop-shadow(0 1px 1px rgb(0 0 0 / .05));
}

.about-history__title-hl {
	display: inline-block;
	background-color: var(--sigma-blue);
	color: #fff;
	padding: .25rem 1rem;
	transform: skewX(-6deg);
}

.about-history__body {
	font-family: var(--font-body);
	color: var(--gray-800);
	font-size: 1.25rem;
	line-height: 1.625;
	font-weight: 500;
}

.about-history__body > * + * { margin-top: 2rem; margin-bottom: 0; }

.about-history__content { text-align: left; margin-left: auto; margin-right: auto; }

/* Karta wprowadzenia */
.about-intro {
	background-color: #fff;
	padding: 2rem;
	border-radius: 1.5rem;
	border: 1px solid var(--slate-50);
	margin-bottom: 4rem;
	position: relative;
	overflow: hidden;
}

.about-intro__blob {
	position: absolute;
	width: 16rem;
	height: 16rem;
	border-radius: 9999px;
	filter: blur(64px);
	pointer-events: none;
	transition: transform .7s var(--ease);
}

.about-intro__blob--gold { top: -6rem; right: -6rem; background-color: rgb(255 195 1 / .1); }
.about-intro__blob--blue { bottom: -6rem; left: -6rem; background-color: rgb(12 53 158 / .05); }
.about-intro:hover .about-intro__blob { transform: scale(1.1); }

.about-intro__inner { position: relative; z-index: 10; }

.about-intro__title {
	position: relative;
	display: inline-block;
	width: 100%;
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-family: var(--font-montserrat);
	font-weight: 900;
	color: var(--sigma-blue);
	text-transform: uppercase;
	letter-spacing: -.05em;
	margin-bottom: 2.5rem;
	text-align: center;
}

.about-intro__title-line {
	position: absolute;
	bottom: -1rem;
	left: 50%;
	transform: translateX(-50%);
	width: 6rem;
	height: .25rem;
	background-color: var(--sigma-gold);
	border-radius: 9999px;
}

.about-intro__quote {
	position: relative;
	margin-bottom: 2.5rem;
	background-color: rgb(12 53 158 / .05);
	border-left: 4px solid var(--sigma-gold);
	padding: 1.5rem;
	border-radius: 0 1rem 1rem 0;
	box-shadow: var(--shadow-sm);
}

.about-intro__quote-mark {
	position: absolute;
	top: -1.25rem;
	left: -.75rem;
	font-size: 4.5rem;
	line-height: 1;
	color: rgb(255 195 1 / .4);
	font-family: var(--font-serif);
	font-weight: 900;
	user-select: none;
}

.about-intro__quote p {
	position: relative;
	z-index: 10;
	font-size: 1.25rem;
	line-height: 1.625;
	font-style: italic;
	color: var(--sigma-blue);
	font-weight: 700;
	text-align: center;
}

.about-intro__text { font-size: 1.125rem; line-height: 1.75rem; color: var(--gray-700); font-weight: 500; }
.about-intro__text > * + * { margin-top: 1.5rem; }
.about-intro__p { text-align: center; max-width: 48rem; margin-left: auto; margin-right: auto; }
.about-intro__p--wide { max-width: 56rem; }
.about-intro__year { color: var(--sigma-blue); background-color: rgb(12 53 158 / .1); padding: .125rem .5rem; border-radius: .25rem; }
.about-intro__strong { color: var(--sigma-blue); }

.about-intro__footer {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--slate-100);
	display: flex;
	flex-direction: column;
	align-items: center;
}

.about-intro__footer-text {
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 700;
	color: var(--sigma-blue);
	text-align: center;
	margin-bottom: 1rem;
}

.about-intro__badge {
	display: inline-block;
	background-color: var(--sigma-gold);
	color: var(--sigma-blue);
	font-weight: 900;
	font-size: .875rem;
	line-height: 1.25rem;
	padding: .5rem 1.5rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	border-radius: 9999px;
	box-shadow: var(--shadow-md);
}

/* Separator */
.about-divider {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	padding: 1.5rem 0;
}

.about-divider__line { display: none; height: 1px; background-color: rgb(12 53 158 / .2); flex-grow: 1; }

.about-divider__title {
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-family: var(--font-montserrat);
	font-weight: 900;
	color: var(--sigma-blue);
	text-transform: uppercase;
	letter-spacing: -.05em;
	text-align: center;
	max-width: 42rem;
}

/* Oś czasu */
.about-timeline { position: relative; text-align: left; font-size: 1rem; line-height: 1.5rem; padding-left: 2rem; }
.about-timeline > * + * { margin-top: 2rem; }

/* Pionowa oś łącząca pokolenia. */
.about-timeline::before {
	content: '';
	position: absolute;
	left: .5rem;
	top: 1.5rem;
	bottom: 1.5rem;
	width: 2px;
	background: linear-gradient(180deg, rgb(12 53 158 / .2), var(--sigma-gold));
}

.about-timeline__box {
	position: relative;
	background-color: var(--slate-50);
	padding: 1.5rem;
	border-radius: 1rem;
	border: 1px solid rgb(12 53 158 / .07);
	transition: background-color .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}

.about-timeline__box:hover { background-color: #fff; box-shadow: var(--shadow-lg); border-color: rgb(255 195 1 / .5); }

/* Punkt na osi. */
.about-timeline__box::before {
	content: '';
	position: absolute;
	top: 1.85rem;
	left: calc(-2rem + .5rem + 1px - .5rem);
	width: 1rem;
	height: 1rem;
	border-radius: 9999px;
	background-color: #fff;
	border: 3px solid var(--sigma-blue);
	box-shadow: 0 0 0 4px #fff;
}

.about-timeline__box:last-child::before { background-color: var(--sigma-gold); border-color: var(--sigma-gold); }

.about-timeline__title {
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 700;
	color: var(--sigma-blue);
	margin-bottom: 1.25rem;
	display: flex;
	align-items: center;
	gap: .75rem;
}

.about-timeline__title--mb4 { margin-bottom: 1rem; }
.about-timeline__title--mb2 { margin-bottom: .5rem; }
.about-timeline__marker { display: none; } /* zastąpione punktem na osi */
.about-timeline__p { margin-bottom: .75rem; }

.about-timeline__sub {
	margin-bottom: 1.25rem;
	color: rgb(12 53 158 / .8);
	font-style: italic;
	font-size: .875rem;
	line-height: 1.25rem;
	font-weight: 500;
}

.about-timeline__list > * + * { margin-top: 1rem; }
.about-timeline__item { display: flex; align-items: flex-start; gap: .75rem; }
.about-timeline__dot { width: .375rem; height: .375rem; border-radius: 9999px; background-color: var(--sigma-gold); margin-top: .5rem; flex-shrink: 0; }
.about-timeline__name { color: var(--sigma-blue); }

.about-banner {
	padding: 1.5rem;
	background-color: var(--sigma-blue);
	color: #fff;
	border-radius: 1rem;
	box-shadow: var(--shadow-lg);
	border-left: 8px solid var(--sigma-gold);
	transition: transform .15s var(--ease);
}

.about-banner:hover { transform: translateY(-.25rem); }

.about-banner p {
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: 1.125rem;
	line-height: 1.625;
	text-align: center;
}

.about-motto {
	position: relative;
	padding: 3rem 2rem;
	background-color: var(--slate-50);
	border-radius: 1.5rem;
	box-shadow: var(--shadow-inner);
	overflow: hidden;
}

.about-motto__mark {
	position: absolute;
	font-size: 8rem;
	line-height: 1;
	color: var(--sigma-blue);
	opacity: .1;
	font-family: var(--font-serif);
	user-select: none;
}

.about-motto__mark--top { top: -1.5rem; left: -1rem; transform: rotate(12deg); }
.about-motto__mark--bottom { bottom: -2.5rem; right: -1rem; transform: rotate(-12deg); }

.about-motto__text {
	position: relative;
	z-index: 10;
	font-size: 1.5rem;
	line-height: 1.25;
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-style: italic;
	color: var(--sigma-blue);
}

.about-motto__sub {
	display: block;
	margin-top: .5rem;
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 700;
	font-style: normal;
	color: rgb(12 53 158 / .7);
	text-transform: uppercase;
	letter-spacing: .1em;
}

@media (min-width: 640px) {
	.about-history__title { font-size: 3rem; line-height: 1; }
}

@media (min-width: 768px) {
	.about-history__title { font-size: 4.5rem; }
	.about-intro { padding: 3rem; }
	.about-intro__title { font-size: 2.25rem; line-height: 2.5rem; }
	.about-intro__quote { padding: 2rem; }
	.about-intro__quote p { font-size: 1.5rem; line-height: 2rem; }
	.about-intro__footer-text { font-size: 1.5rem; line-height: 2rem; }
	.about-divider { flex-direction: row; }
	.about-divider__line { display: block; }
	.about-divider__title { font-size: 1.5rem; line-height: 2rem; }
	.about-timeline { font-size: 1.125rem; line-height: 1.75rem; }
	.about-timeline__box { padding: 2rem; }
	.about-timeline { padding-left: 3rem; }
	.about-timeline::before { left: 1rem; }
	.about-timeline__box::before { left: calc(-3rem + 1rem + 1px - .5rem); top: 2.35rem; }
	.about-timeline__sub { font-size: 1rem; line-height: 1.5rem; }
	.about-banner { padding: 2rem; }
	.about-banner p { font-size: 1.25rem; line-height: 1.75rem; }
	.about-motto { padding-left: 4rem; padding-right: 4rem; }
	.about-motto__text { font-size: 1.875rem; line-height: 1.25; }
	.about-motto__sub { font-size: 1.25rem; line-height: 1.75rem; }
}

/* ═══ MISJA I WIZJA ═══ */
.about-mission { padding: 6rem 0; background-color: var(--slate-100); position: relative; overflow: hidden; }
.about-mission__inner { max-width: 72rem; margin: 0 auto; padding: 0 1.5rem; position: relative; z-index: 10; }
.about-mission__row { display: flex; flex-direction: column; gap: 2rem; }

.about-mission__card {
	width: 100%;
	background-color: #fff;
	padding: 2rem;
	box-shadow: var(--shadow-2xl);
	border-radius: 1rem;
}

.about-mission__card--tilt { transform: rotate(1deg); margin-top: 2rem; }

.about-mission__title {
	font-family: var(--font-montserrat);
	font-weight: 900;
	font-size: 1.875rem;
	line-height: 2.25rem;
	color: var(--sigma-blue);
	text-transform: uppercase;
	margin-bottom: 1.5rem;
	letter-spacing: -.025em;
}

.about-mission__text { font-family: var(--font-body); font-size: 1.125rem; line-height: 1.625; font-weight: 700; }
.about-mission__text--italic { color: var(--gray-800); font-style: italic; }
.about-mission__text--blue { color: var(--sigma-blue); }

@media (min-width: 768px) {
	.about-mission__row { flex-direction: row; }
	.about-mission__card { width: 50%; padding: 3rem; }
	.about-mission__card--tilt { margin-top: 0; }
}

/* ═══ EINSTEIN ═══ */
.about-einstein { padding: 6rem 1.5rem 2rem; background-color: #fff; text-align: center; }
.about-einstein__inner { max-width: 48rem; margin: 0 auto; }
.about-einstein__center { display: flex; justify-content: center; }
.about-einstein__stage { position: relative; max-width: 56rem; width: 100%; margin-bottom: -5rem; }
.about-einstein__video { width: 100%; height: auto; aspect-ratio: 1080 / 904; transition: transform .7s var(--ease); }
.about-einstein__stage:hover .about-einstein__video { transform: scale(1.05) rotate(-2deg); }

@media (min-width: 768px) {
	.about-einstein__stage { margin-bottom: -8rem; }
}

/* ═══ KARUZELA ZDJĘĆ (hero, miejsce, nauczyciele) ═══ */
.sigma-carousel { position: relative; }

.sigma-carousel__track {
	display: flex;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

/* Mysz/gładzik: kółko ma przewijać stronę, nie karuzelę (slajdy zmieniają przyciski, kropki i JS). */
@media (hover: hover) and (pointer: fine) {
	.sigma-carousel__track { overflow-x: hidden; overscroll-behavior-x: auto; }
}

.sigma-carousel__track::-webkit-scrollbar { display: none; }
.sigma-carousel__slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.sigma-carousel__slide img { display: block; width: 100%; }

.sigma-carousel__btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: rgb(255 255 255 / .92);
	color: var(--sigma-blue);
	box-shadow: var(--shadow-md);
	cursor: pointer;
	opacity: 0;
	transform: translateY(-50%);
	transition: opacity .25s var(--ease), background-color .2s var(--ease), transform .2s var(--ease);
}

.sigma-carousel__btn--prev { left: .75rem; }
.sigma-carousel__btn--next { right: .75rem; }
.sigma-carousel:hover .sigma-carousel__btn,
.sigma-carousel:focus-within .sigma-carousel__btn { opacity: 1; }
.sigma-carousel__btn:hover { background-color: var(--sigma-gold); transform: translateY(-50%) scale(1.08); }
.sigma-carousel__btn:focus-visible { outline: 3px solid var(--sigma-gold); outline-offset: 2px; }
.sigma-carousel__icon { width: 1rem; height: 1rem; }

.sigma-carousel__dots {
	position: absolute;
	left: 50%;
	bottom: .85rem;
	z-index: 2;
	display: flex;
	gap: .4rem;
	padding: .35rem .55rem;
	border-radius: 999px;
	background-color: rgb(4 14 41 / .35);
	transform: translateX(-50%);
}

.sigma-carousel__dot {
	width: .5rem;
	height: .5rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background-color: rgb(255 255 255 / .6);
	cursor: pointer;
	transition: width .3s var(--ease), background-color .3s var(--ease);
}

.sigma-carousel__dot.is-active { width: 1.25rem; background-color: var(--sigma-gold); }

@media (hover: none) {
	.sigma-carousel__btn { opacity: 1; width: 2.25rem; height: 2.25rem; }
}

@media (prefers-reduced-motion: reduce) {
	.sigma-carousel__track { scroll-behavior: auto; }
}

/* Hero i miejsce — stały kadr, żeby slajdy o różnych proporcjach nie skakały. */
.about-carousel--hero .sigma-carousel__track { border-radius: 1rem; box-shadow: var(--shadow-md); }
.about-carousel--hero .about-hero__photo-img { box-shadow: none; }
.about-carousel--hero .sigma-carousel__dots { bottom: 1.75rem; }
/* Hero: każde zdjęcie w swoich proporcjach, bez przycinania; wysokość kadru dopasowuje się do aktywnego slajdu (about.js). */
.sigma-carousel--fit .sigma-carousel__track { align-items: flex-start; transition: height .45s var(--ease); }
.about-carousel--hero img { height: auto; border-radius: 0; }
.about-carousel--place img { aspect-ratio: 1366 / 768; height: auto; object-fit: cover; }
.about-carousel--place .sigma-carousel__dots { left: auto; right: 1rem; transform: none; }

/* Nauczyciel — karuzela wypełnia ramkę 4:5. */
.about-carousel--teacher,
.about-carousel--teacher .sigma-carousel__track,
.about-carousel--teacher .sigma-carousel__slide { height: 100%; }
.about-carousel--teacher .sigma-carousel__track { border-radius: 1rem; }
.about-carousel--teacher .sigma-carousel__btn { width: 2.1rem; height: 2.1rem; }
