/**
 * About page — hero, story timeline, values, team, facilities gallery,
 * certifications strip, dark closing CTA.
 */

/* Hero ------------------------------------------------------------- */

.about-hero__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: var(--space-12) var(--container-padding);
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.about-hero__heading {
	font-family: var(--font-heading);
	font-weight: var(--weight-light);
	font-size: var(--text-display);
	line-height: var(--text-display-lh);
	color: var(--color-black);
}

.about-hero__intro {
	font-family: var(--font-body);
	font-size: var(--text-paragraph);
	line-height: var(--text-paragraph-lh);
	color: var(--color-text-muted);
	max-width: 760px;
}

.about-hero__image {
	height: 520px;
	border-radius: var(--radius-xl);
	overflow: hidden;
}

.about-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Our Story + timeline ------------------------------------------------ */

.about-story {
	background: var(--color-surface);
}

.about-story__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: var(--space-13) var(--container-padding);
	display: flex;
	flex-direction: column;
	gap: var(--space-11);
}

.about-story__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-6);
	flex-wrap: wrap;
}

.about-story__heading-group {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	max-width: 500px;
}

.about-story__eyebrow {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	font-size: var(--text-tag);
	letter-spacing: var(--text-tag-ls);
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.about-story__heading {
	font-family: var(--font-heading);
	font-weight: var(--weight-light);
	font-size: var(--text-h1);
	line-height: var(--text-h1-lh);
	color: var(--color-black);
}

.about-story__intro {
	font-family: var(--font-body);
	font-size: var(--text-paragraph);
	line-height: var(--text-paragraph-lh);
	color: var(--color-text-muted);
	max-width: 600px;
}

.about-timeline {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-5);
}

.about-timeline__card {
	background: var(--color-white);
	border-radius: 20px;
	padding: var(--space-6);
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
	min-height: 320px;
}

.about-timeline__year-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.about-timeline__year {
	font-family: var(--font-heading);
	font-weight: var(--weight-regular);
	font-size: var(--text-h2);
	line-height: var(--text-h2-lh);
	color: var(--color-primary-text);
}

.about-timeline__dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--color-primary);
	flex-shrink: 0;
}

.about-timeline__title {
	font-family: var(--font-heading);
	font-weight: var(--weight-medium);
	font-size: var(--text-subtitle);
	line-height: var(--text-subtitle-lh);
	color: var(--color-gray-900);
}

.about-timeline__description {
	font-family: var(--font-body);
	font-size: var(--text-paragraph);
	line-height: var(--text-paragraph-lh);
	color: var(--color-text-muted);
}

/* Values ---------------------------------------------------------------- */

.about-values__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: var(--space-13) var(--container-padding);
	display: flex;
	flex-direction: column;
	gap: var(--space-10);
}

.about-values__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-4);
	text-align: center;
}

.about-values__eyebrow {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	font-size: var(--text-tag);
	letter-spacing: var(--text-tag-ls);
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.about-values__heading {
	font-family: var(--font-heading);
	font-weight: var(--weight-light);
	font-size: var(--text-h1);
	line-height: var(--text-h1-lh);
	color: var(--color-black);
}

.about-values__grid {
	display: flex;
	gap: var(--space-5);
}

.about-value-card {
	flex: 1;
	position: relative;
	height: 520px;
	border-radius: var(--radius-xl);
	overflow: hidden;
}

.about-value-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-value-card__overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.about-value-card__title {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	font-size: var(--text-h4);
	line-height: var(--text-h4-lh);
}

.about-value-card__text {
	font-family: var(--font-body);
	font-size: var(--text-paragraph);
	line-height: var(--text-paragraph-lh);
	opacity: 0.9;
}

/* Facilities -------------------------------------------------------- */

.about-facilities {
	background: var(--color-surface);
}

.about-facilities__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: var(--space-13) var(--container-padding);
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.about-facilities__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-6);
	flex-wrap: wrap;
}

.about-facilities__heading-group {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	max-width: 520px;
}

.about-facilities__eyebrow {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	font-size: var(--text-tag);
	letter-spacing: var(--text-tag-ls);
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.about-facilities__heading {
	font-family: var(--font-heading);
	font-weight: var(--weight-light);
	font-size: var(--text-h1);
	line-height: var(--text-h1-lh);
	color: var(--color-black);
}

.about-facilities__intro {
	font-family: var(--font-body);
	font-size: var(--text-paragraph);
	line-height: var(--text-paragraph-lh);
	color: var(--color-text-muted);
	max-width: 540px;
}

.about-facilities__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* minmax(0, 1fr), not plain 1fr — a bare 1fr row track still respects
	   each cell's content-based min-height (the photo's own intrinsic
	   aspect ratio), so swapping in a differently-shaped photo shifts how
	   the two stacked middle rows split the space instead of staying
	   locked at an even 50/50. */
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: var(--space-5);
	height: 500px;
}

.about-facilities__cell {
	border-radius: var(--radius-xl);
	overflow: hidden;
}

.about-facilities__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.about-facilities__cell--1 {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.about-facilities__cell--2 {
	grid-column: 2;
	grid-row: 1;
}

.about-facilities__cell--3 {
	grid-column: 2;
	grid-row: 2;
}

.about-facilities__cell--4 {
	grid-column: 3;
	grid-row: 1 / span 2;
}

/* Certifications ------------------------------------------------------ */

.about-certifications {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-7);
	padding: var(--container-padding);
	text-align: center;
}

.about-certifications__label {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	font-size: var(--text-tag);
	letter-spacing: var(--text-tag-ls);
	text-transform: uppercase;
	color: var(--color-text-muted);
}

/* Razgovori teaser -------------------------------------------------- */

.about-razgovori__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: var(--space-13) var(--container-padding);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-9);
}

.about-razgovori__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-4);
	text-align: center;
}

.about-razgovori__eyebrow {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	font-size: var(--text-tag);
	letter-spacing: var(--text-tag-ls);
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.about-razgovori__heading {
	font-family: var(--font-heading);
	font-weight: var(--weight-light);
	font-size: var(--text-h1);
	line-height: var(--text-h1-lh);
	color: var(--color-black);
}

.about-razgovori__intro {
	font-family: var(--font-body);
	font-size: var(--text-paragraph);
	line-height: var(--text-paragraph-lh);
	color: var(--color-text-muted);
	max-width: 640px;
}

.about-razgovori__grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-5);
}

.about-razgovori-card__text {
	margin-top: var(--space-3);
	text-align: center;
}

.about-razgovori-card__guest {
	font-family: var(--font-heading);
	font-weight: var(--weight-medium);
	font-size: var(--text-subtitle);
	line-height: var(--text-subtitle-lh);
	color: var(--color-gray-900);
}

.about-razgovori-card__desc {
	margin-top: var(--space-2);
	font-family: var(--font-body);
	font-size: var(--text-paragraph);
	color: var(--color-text-muted);
}

.about-razgovori-card__date {
	margin-top: var(--space-1);
	font-family: var(--font-heading);
	font-size: var(--text-caption);
	color: var(--color-gray-500);
}

.about-razgovori__link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-family: var(--font-heading);
	font-weight: var(--weight-medium);
	font-size: var(--text-caption);
	color: var(--color-gray-900);
}

.about-razgovori__link svg {
	width: 16px;
	height: 16px;
}

@media (max-width: 900px) {
	.about-razgovori__grid {
		grid-template-columns: 1fr;
	}
}

.about-certifications__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-12);
}

.about-certifications__name {
	font-family: var(--font-heading);
	font-weight: var(--weight-bold);
	font-size: var(--text-h4);
	line-height: var(--text-h4-lh);
	color: var(--color-gray-400);
}

/* CTA — shared .cta-section styles live in components.css */

/* Responsive ------------------------------------------------------------ */

@media (max-width: 900px) {
	.about-hero__image {
		height: 320px;
	}

	.about-story__header,
	.about-facilities__header {
		flex-direction: column;
		align-items: flex-start;
	}

	.about-timeline,
	.about-values__grid {
		grid-template-columns: 1fr;
		flex-direction: column;
	}

	/* flex:1 sets flex-basis:0%, which hijacks the main-axis size once the
	   grid above switches to flex-direction:column — collapsing each card
	   to 0 height (both children are position:absolute, so there's no
	   in-flow content to fall back on). Pin an explicit height instead. */
	.about-value-card {
		flex: none;
		height: 500px;
	}

	.about-facilities__grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: repeat(3, 200px);
		height: auto;
	}

	.about-facilities__cell--1 {
		grid-column: 1 / span 2;
		grid-row: 1;
	}

	.about-facilities__cell--2 {
		grid-column: 1;
		grid-row: 2;
	}

	.about-facilities__cell--3 {
		grid-column: 2;
		grid-row: 2;
	}

	.about-facilities__cell--4 {
		grid-column: 1 / span 2;
		grid-row: 3;
	}

	.about-certifications__row {
		gap: var(--space-6);
	}

	.about-cta__heading {
		font-size: var(--text-h2);
	}
}
