div.project-day-by-day {
	--pdbd-text: #2a2a2a;
	--pdbd-muted: #8a8a8a;
	--pdbd-body: #414141;
	--pdbd-gap: 80px;
	--pdbd-block-gap: 28px;
	--pdbd-gallery-gap: 10px;
	--pdbd-radius: 10px;

	position: relative;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

div.project-day-by-day *,
div.project-day-by-day *::before,
div.project-day-by-day *::after {
	box-sizing: border-box;
}

div.project-day-by-day .project-day-by-day__item {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
}

div.project-day-by-day .project-day-by-day__item + .project-day-by-day__item {
	margin-top: 78px;
}

div.project-day-by-day .project-day-by-day__header {
	margin: 0 0 40px;
}

div.project-day-by-day .project-day-by-day__title {
	margin: 0;
	font-family: Ahellya, Georgia, "Times New Roman", serif;
	font-size: 36px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.15;
	color: #323439;
}

div.project-day-by-day .project-day-by-day__date {
	margin: 14px 0 0;
	font-family: "TikTok Sans", sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.3;
	color: #414141;
}

div.project-day-by-day .project-day-by-day__gallery {
	display: grid;
	gap: 10px;
	width: 100%;
	margin: 0 0 21px;
	align-items: stretch;
}

div.project-day-by-day .project-day-by-day__cell {
	position: relative;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border-radius: 6px;
}

div.project-day-by-day .project-day-by-day__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

div.project-day-by-day .project-day-by-day__gallery--count-1 .project-day-by-day__image,
div.project-day-by-day .project-day-by-day__gallery--count-2 .project-day-by-day__image,
div.project-day-by-day .project-day-by-day__gallery--count-3 .project-day-by-day__image,
div.project-day-by-day .project-day-by-day__gallery--count-4 .project-day-by-day__image {
	position: absolute;
	inset: 0;
}

/* 1 image: full-width landscape */
div.project-day-by-day .project-day-by-day__gallery--count-1 .project-day-by-day__cell {
	aspect-ratio: 2 / 1.12;
}

/* 2 images: portrait 1/3 + landscape 2/3, same height */
div.project-day-by-day .project-day-by-day__gallery--count-2 {
	grid-template-columns: 1fr 2fr;
}

div.project-day-by-day .project-day-by-day__gallery--count-2 .project-day-by-day__cell:nth-child(1) {
	aspect-ratio: 3 / 3.88;
}

/* 3 images: full-width hero, then 1/3 + 2/3 */
div.project-day-by-day .project-day-by-day__gallery--count-3 {
	grid-template-columns: 1fr 2fr;
}

div.project-day-by-day .project-day-by-day__gallery--count-3 .project-day-by-day__cell:nth-child(1) {
	grid-column: 1 / -1;
	aspect-ratio: 2 / 0.85;
}

div.project-day-by-day .project-day-by-day__gallery--count-3 .project-day-by-day__cell:nth-child(2) {
	aspect-ratio: 3 / 3.88;
}

/* 4 images: 2/3+1/3, then mirrored 1/3+2/3 */
div.project-day-by-day .project-day-by-day__gallery--count-4 {
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	grid-template-areas:
		"a a b"
		"c d d";
	aspect-ratio: 4 / 3.45;
}

div.project-day-by-day .project-day-by-day__gallery--count-4 .project-day-by-day__cell:nth-child(1) {
	grid-area: a;
}

div.project-day-by-day .project-day-by-day__gallery--count-4 .project-day-by-day__cell:nth-child(2) {
	grid-area: b;
}

div.project-day-by-day .project-day-by-day__gallery--count-4 .project-day-by-day__cell:nth-child(3) {
	grid-area: c;
}

div.project-day-by-day .project-day-by-day__gallery--count-4 .project-day-by-day__cell:nth-child(4) {
	grid-area: d;
}

div.project-day-by-day .project-day-by-day__description {
	font-family: "TikTok Sans", sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	color: #545454;
}

div.project-day-by-day .project-day-by-day__description p {
	margin: 0;
	margin-block-end: 1.15em;
}

div.project-day-by-day .project-day-by-day__description p:last-child {
	margin-block-end: 0;
}

@media (max-width: 767px) {
	div.project-day-by-day {
		--pdbd-gap: 56px;
		--pdbd-block-gap: 20px;
		--pdbd-gallery-gap: 10px;
	}

	div.project-day-by-day .project-day-by-day__title {
		font-size: 28px;
	}
}
