/*
 * TheSybin — strona „O nas” (post 23), faza LP: sekcje S1–S6 wg docs/TRESCI-MAPA.md §4.2 (dokument LP L99–L114).
 * Układy sekcji w języku wizualnym dawnej strony O nas i strony głównej (kontener 1300 px, padding 100/50 px, zdjęcia r 20,
 * odznaki C10, liście C20, wstęp 50/50). Komponenty (etykieta, nagłówek, przyciski, icon box, odznaka, liście) — components.css;
 * tu wyłącznie siatka sekcji, wymiary zdjęć, schemat etapów (ts-o-nas-flow) i ikony perspektyw One Health.
 * Znaczniki: patterns/o-nas-{about,story,founder,philosophy,one-health,vision}.php. Odstępstwa: docs/odstepstwa/o-nas.md.
 * Progi: tablet ≤1024, telefon ≤767.
 */

/* ==========================================================================
   Wspólne: sekcje pełnej szerokości, wstęp 50/50, zdjęcia, odznaki
   ========================================================================== */

/* Sekcje same trzymają kontener 1300 px — bez paddingu kolumny treści szablonu. */
.ts-page-o-nas .ts-page-content > .wp-block-post-content {
	padding-inline: 0;
}

.ts-page-o-nas .wp-block-post-content > .ts-o-nas-section {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 100px max(10px, calc((100% - 1300px) / 2));
	/* Obracana odznaka (C10) w trakcie ruchu nie poszerza strony (1.4.10) */
	overflow-x: clip;
}

/* Odstępy w sekcjach = gap/padding (bez marginesów układu „flow” rdzenia); komponenty mają własne marginesy o wyższej specyficzności. */
body.ts-page-o-nas :where(.ts-o-nas-section, .ts-o-nas-section [class*="ts-o-nas-"]) > * {
	margin-block: 0;
}

.ts-page-o-nas .ts-o-nas-section :where(figure.wp-block-image) {
	margin: 0;
}

.ts-page-o-nas .ts-o-nas-section :where(.wp-block-image) img {
	display: block;
}

.ts-page-o-nas .ts-o-nas-section :is(.ts-o-nas-about__photo, .ts-o-nas-founder__photo, .ts-o-nas-one-health__photo) {
	overflow: hidden;
	border-radius: var(--ts-radius-card);
}

.ts-page-o-nas .ts-o-nas-section :is(.ts-o-nas-about__photo, .ts-o-nas-founder__photo, .ts-o-nas-one-health__photo) img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.ts-page-o-nas .ts-o-nas-about__seal {
	position: absolute;
	z-index: 2;
	line-height: 0;
	pointer-events: none;
}

.ts-page-o-nas .ts-o-nas-intro {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	padding: 10px;
}

.ts-page-o-nas .ts-o-nas-intro__head {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 50%;
}

.ts-page-o-nas .ts-o-nas-intro__text {
	box-sizing: border-box;
	width: 50%;
	padding-left: 30px;
}

@media (max-width: 1024px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-section {
		padding-block: 50px;
	}

	.ts-page-o-nas .ts-o-nas-intro {
		row-gap: 15px;
	}

	.ts-page-o-nas .ts-o-nas-intro__head {
		gap: 10px;
		width: 100%;
	}

	.ts-page-o-nas .ts-o-nas-intro__text {
		width: 100%;
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	.ts-page-o-nas .ts-o-nas-intro {
		row-gap: 10px;
	}
}

/* ==========================================================================
   Schemat etapów: lista uporządkowana pigułek ze strzałkami (S2 „Nasza historia”, S4 „Nasza filozofia”)
   Strzałki = pseudoelement (dekoracja); kolejność niesie <ol>.
   ========================================================================== */

.ts-page-o-nas .ts-o-nas-flow {
	--ts-flow-arrow: 40px;
	--ts-flow-space: 16px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	row-gap: 20px;
	width: 100%;
	margin: 0;
	padding: 10px;
	list-style: none;
}

.ts-page-o-nas .ts-o-nas-flow > li {
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 14px 30px;
	border: 1px solid var(--ts-cream-line);
	border-radius: var(--ts-radius-pill);
	background-color: var(--wp--preset--color--white);
	box-shadow: var(--ts-shadow-card);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.ts-page-o-nas .ts-o-nas-flow > li:not(:last-child) {
	margin-right: calc(var(--ts-flow-arrow) + 2 * var(--ts-flow-space));
}

.ts-page-o-nas .ts-o-nas-flow > li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(-1 * (var(--ts-flow-arrow) + var(--ts-flow-space)) - 1px);
	width: var(--ts-flow-arrow);
	height: 16px;
	background-color: var(--wp--preset--color--accent);
	-webkit-mask: url("../../icons/arrow-long-right.svg") center / contain no-repeat;
	mask: url("../../icons/arrow-long-right.svg") center / contain no-repeat;
	transform: translateY(-50%);
}

/* Ostatni etap („dalszy rozwój.”) — pigułka złota, tekst #102B28 (D1-A, 4.93:1) */
.ts-page-o-nas .ts-o-nas-flow:not(.ts-o-nas-flow--outline) > li:last-child {
	border-color: var(--wp--preset--color--accent);
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
}

/* Wariant na ciemnym tle: obrys, Lora kursywa (jak zapis LP „NAUKA → TECHNOLOGIA…”) */
.ts-page-o-nas .ts-o-nas-flow--outline > li {
	border-color: rgba(255, 255, 255, 0.5);
	background-color: transparent;
	box-shadow: none;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 24px;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.02em;
}

.ts-page-o-nas .ts-o-nas-flow--outline > li:not(:last-child)::after {
	background-color: var(--wp--preset--color--accent-on-dark);
}

@media (max-width: 1024px) {
	.ts-page-o-nas .ts-o-nas-flow {
		--ts-flow-arrow: 28px;
		--ts-flow-space: 10px;
		row-gap: 15px;
	}

	.ts-page-o-nas .ts-o-nas-flow > li {
		padding: 12px 22px;
		font-size: 18px;
	}

	.ts-page-o-nas .ts-o-nas-flow--outline > li {
		font-size: 20px;
	}
}

/* Tablet i telefon: etapy w kolumnie, strzałka w dół (w wierszu zawijanym strzałka kończyłaby wiersz bez następnika) */
@media (max-width: 1024px) {
	.ts-page-o-nas .ts-o-nas-flow {
		flex-direction: column;
		flex-wrap: nowrap;
		row-gap: 0;
	}

	.ts-page-o-nas .ts-o-nas-flow > li {
		min-width: min(240px, 100%);
		max-width: 100%;
	}

	.ts-page-o-nas .ts-o-nas-flow > li:not(:last-child) {
		margin: 0 0 42px;
	}

	.ts-page-o-nas .ts-o-nas-flow > li:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: -28px;
		left: calc(50% - 14px);
		width: 28px;
		height: 14px;
		transform: rotate(90deg);
	}
}

/* ==========================================================================
   S1. Thesybin Labs PSA — zdjęcie z odznaką | nagłówek i wstęp (biała)
   ========================================================================== */

.ts-page-o-nas .wp-block-post-content > .ts-o-nas-about {
	background-color: var(--wp--preset--color--white);
}

.ts-page-o-nas .ts-o-nas-about__media {
	position: relative;
	box-sizing: border-box;
	width: 50%;
	padding: 30px 70px 10px 10px;
}

.ts-page-o-nas .ts-o-nas-about__photo img {
	aspect-ratio: 1 / 0.86;
}

.ts-page-o-nas .ts-o-nas-about__seal {
	top: 0;
	right: 20px;
}

.ts-page-o-nas .ts-o-nas-about__content {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 25px;
	width: 50%;
	padding: 10px;
}

.ts-page-o-nas .ts-o-nas-about__lead {
	padding-left: 25px;
	border-left: 3px solid var(--wp--preset--color--accent);
	font-size: 18px;
	line-height: 1.7;
}

@media (max-width: 1024px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-about {
		justify-content: center;
		row-gap: 30px;
	}

	.ts-page-o-nas .ts-o-nas-about__media {
		width: min(100%, 640px);
		padding: 25px 50px 10px 10px;
	}

	.ts-page-o-nas .ts-o-nas-about__content {
		gap: 20px;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-about {
		row-gap: 20px;
	}

	.ts-page-o-nas .ts-o-nas-about__media {
		width: 100%;
		padding: 20px 30px 10px 10px;
	}

	.ts-page-o-nas .ts-o-nas-about__seal {
		right: 0;
	}

	.ts-page-o-nas .ts-o-nas-about__lead {
		padding-left: 18px;
		font-size: 16px;
	}
}

/* ==========================================================================
   S2. Nasza historia — nagłówek i schemat (kremowa, liść prawy)
   ========================================================================== */

.ts-page-o-nas .wp-block-post-content > .ts-o-nas-story {
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 50px;
}

.ts-page-o-nas .ts-o-nas-story > .ts-heading {
	padding-inline: 10px;
	text-align: center;
}

@media (max-width: 1024px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-story {
		gap: 30px;
	}
}

@media (max-width: 767px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-story {
		gap: 20px;
	}
}

/* ==========================================================================
   S3. Twórca technologii — zdjęcie | etykieta, nagłówek, rola, biogram (biała, liść lewy)
   ========================================================================== */

.ts-page-o-nas .wp-block-post-content > .ts-o-nas-founder {
	align-items: flex-start;
	background-color: var(--wp--preset--color--white);
}

.ts-page-o-nas .ts-o-nas-founder__media {
	box-sizing: border-box;
	width: 42%;
	padding: 10px 60px 10px 10px;
}

.ts-page-o-nas .ts-o-nas-founder__photo img {
	aspect-ratio: 1 / 1.12;
}

/* Plik 6297 ma jasny pas ~8 px przy górnej krawędzi — obraz powiększony o 4 % od dołu, pas poza ramką (overflow: hidden) */
.ts-page-o-nas .ts-o-nas-section .ts-o-nas-founder__photo img {
	transform: scale(1.04);
	transform-origin: 50% 100%;
}

.ts-page-o-nas .ts-o-nas-founder__content {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 58%;
	padding: 10px;
}

.ts-page-o-nas .ts-o-nas-founder__role {
	color: var(--wp--preset--color--accent-text);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

body.ts-page-o-nas .ts-o-nas-founder__bio {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 10px;
	padding-top: 25px;
	border-top: 1px solid var(--ts-divider);
}

@media (max-width: 1024px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-founder {
		row-gap: 20px;
	}

	.ts-page-o-nas .ts-o-nas-founder__media {
		width: 100%;
		padding: 10px;
	}

	.ts-page-o-nas .ts-o-nas-founder__photo img {
		aspect-ratio: 1 / 0.56;
	}

	.ts-page-o-nas .ts-o-nas-founder__content {
		gap: 10px;
		width: 100%;
	}

	body.ts-page-o-nas .ts-o-nas-founder__bio {
		padding-top: 20px;
	}
}

@media (max-width: 767px) {
	.ts-page-o-nas .ts-o-nas-founder__photo img {
		aspect-ratio: 1 / 0.75;
	}

	.ts-page-o-nas .ts-o-nas-founder__role {
		font-size: 16px;
	}
}

/* ==========================================================================
   S4. Nasza filozofia — ciemna: wstęp 50/50 + schemat z obrysem
   ========================================================================== */

.ts-page-o-nas .wp-block-post-content > .ts-o-nas-philosophy {
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 60px;
}

.ts-page-o-nas .ts-o-nas-philosophy .ts-o-nas-intro__text p {
	color: var(--wp--preset--color--white);
	font-size: 18px;
	line-height: 1.7;
}

@media (max-width: 1024px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-philosophy {
		gap: 30px;
	}

	.ts-page-o-nas .ts-o-nas-philosophy .ts-o-nas-intro__text p {
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-philosophy {
		gap: 20px;
	}
}

/* ==========================================================================
   S5. One Health — zdjęcie | nagłówek, wstęp, trzy perspektywy (biała)
   ========================================================================== */

.ts-page-o-nas .wp-block-post-content > .ts-o-nas-one-health {
	align-items: stretch;
	background-color: var(--wp--preset--color--white);
}

.ts-page-o-nas .ts-o-nas-one-health__media {
	box-sizing: border-box;
	width: 45%;
	padding: 10px 50px 10px 10px;
}

/* Zdjęcie = wysokość treści (desktop) */
.ts-page-o-nas .ts-o-nas-one-health__photo {
	position: relative;
	height: 100%;
	min-height: 420px;
}

.ts-page-o-nas .ts-o-nas-section .ts-o-nas-one-health__photo img {
	position: absolute;
	inset: 0;
	height: 100%;
}

/* Desktop: ramka wyższa niż kadr 16:9. Obraz leniwy dostaje od rdzenia sizes="auto" — przeglądarka wybiera plik według szerokości <img>,
   więc <img> ma szerokość kadru cover (wysokość × proporcja pliku, środek), a nie ramki; inaczej pobierała plik 600 px (rozmyty kadr ×1,6). */
@media (min-width: 1025px) {
	.ts-page-o-nas .ts-o-nas-section .ts-o-nas-one-health__photo img {
		right: auto;
		left: 50%;
		width: auto;
		min-width: 100%;
		max-width: none;
		aspect-ratio: 1672 / 941;
		translate: -50% 0;
	}
}

.ts-page-o-nas .ts-o-nas-one-health__content {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 55%;
	padding: 10px;
}

.ts-page-o-nas .ts-o-nas-one-health__lead {
	font-size: 18px;
	line-height: 1.7;
}

body.ts-page-o-nas .ts-o-nas-one-health__items {
	display: flex;
	flex-direction: column;
	margin-top: 15px;
}

.ts-page-o-nas .ts-iconbox.ts-o-nas-one-health__item {
	--ts-iconbox-gap: 20px;
	padding: 25px 0;
	border-top: 1px solid var(--ts-divider);
}

.ts-page-o-nas .ts-iconbox.ts-o-nas-one-health__item:last-child {
	padding-bottom: 0;
}

body.ts-page-o-nas .ts-iconbox.ts-o-nas-one-health__item > .ts-iconbox__title {
	margin-bottom: 5px;
}

/* Ikony perspektyw: maska z ikon motywu (user, leaf) i własnego rysunku łapy (GPL, wpis w odstępstwach) */
.ts-page-o-nas .ts-o-nas-icon::before {
	content: "";
	width: 34px;
	height: 34px;
	background-color: currentColor;
	-webkit-mask: var(--ts-o-nas-icon) center / contain no-repeat;
	mask: var(--ts-o-nas-icon) center / contain no-repeat;
}

.ts-page-o-nas .ts-o-nas-icon--people {
	--ts-o-nas-icon: url("../../icons/user.svg");
}

.ts-page-o-nas .ts-o-nas-icon--planet {
	--ts-o-nas-icon: url("../../icons/leaf.svg");
}

.ts-page-o-nas .ts-o-nas-icon--animals {
	--ts-o-nas-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12.6c-2.9 0-6 3.3-6 5.9 0 1.6 1.2 2.5 2.9 2.5 1.3 0 2.1-.7 3.1-.7s1.8.7 3.1.7c1.7 0 2.9-.9 2.9-2.5 0-2.6-3.1-5.9-6-5.9z'/%3E%3Cellipse cx='4.6' cy='10.4' rx='1.7' ry='2.2'/%3E%3Cellipse cx='9' cy='5.6' rx='1.8' ry='2.4'/%3E%3Cellipse cx='15' cy='5.6' rx='1.8' ry='2.4'/%3E%3Cellipse cx='19.4' cy='10.4' rx='1.7' ry='2.2'/%3E%3C/g%3E%3C/svg%3E");
}

@media (max-width: 1024px) {
	.ts-page-o-nas .wp-block-post-content > .ts-o-nas-one-health {
		row-gap: 20px;
	}

	.ts-page-o-nas .ts-o-nas-one-health__media {
		width: 100%;
		padding: 10px;
	}

	.ts-page-o-nas .ts-o-nas-one-health__photo {
		height: auto;
		min-height: 0;
	}

	.ts-page-o-nas .ts-o-nas-section .ts-o-nas-one-health__photo img {
		position: static;
		height: auto;
		aspect-ratio: 1 / 0.5;
	}

	.ts-page-o-nas .ts-o-nas-one-health__content {
		gap: 10px;
		width: 100%;
	}

	.ts-page-o-nas .ts-o-nas-icon::before {
		width: 28px;
		height: 28px;
	}

	.ts-page-o-nas .ts-iconbox.ts-o-nas-one-health__item {
		--ts-iconbox-gap: 15px;
		padding: 20px 0;
	}
}

@media (max-width: 767px) {
	.ts-page-o-nas .ts-o-nas-section .ts-o-nas-one-health__photo img {
		aspect-ratio: 1 / 0.7;
	}

	.ts-page-o-nas .ts-o-nas-one-health__lead {
		font-size: 16px;
	}
}

/* ==========================================================================
   S6. Nasza wizja — ciemny panel z liśćmi na kremowym tle (odstęp od ciemnej stopki), wyśrodkowany
   ========================================================================== */

.ts-page-o-nas .ts-o-nas-vision__panel {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 100%;
	padding: 90px 80px;
	overflow: hidden;
	border-radius: var(--ts-radius-card);
	text-align: center;
}

.ts-page-o-nas .ts-o-nas-vision__title {
	max-width: 1040px;
	font-size: 40px;
	line-height: 1.3;
}

body.ts-page-o-nas .ts-o-nas-vision__actions {
	margin-top: 20px;
}

.ts-page-o-nas .ts-o-nas-vision__actions .wp-block-buttons {
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px 40px;
}

@media (max-width: 1024px) {
	.ts-page-o-nas .ts-o-nas-vision__panel {
		gap: 15px;
		padding: 60px 40px;
	}

	.ts-page-o-nas .ts-o-nas-vision__title {
		font-size: 32px;
	}

	body.ts-page-o-nas .ts-o-nas-vision__actions {
		margin-top: 15px;
	}
}

@media (max-width: 767px) {
	.ts-page-o-nas .ts-o-nas-vision__panel {
		padding: 50px 20px;
	}

	.ts-page-o-nas .ts-o-nas-vision__title {
		font-size: 24px;
	}
}
