body.page-father-frank {

	--ff-divider: rgba(0, 0, 0, 0.18);
	--ff-body-width: 640px;

	main.site-main.container {
		max-width: var(--container);
	}

	.ff-section--narrow {
		max-width: 860px;
	}

	h1 {
		font-family: var(--ff-heading-serif);
		font-weight: 400;
		letter-spacing: 0.04em;
		font-size: clamp(3.2rem, 6vw, 4.8rem);
		margin: 0 0 2.4rem;
	}

	h2,
	h3 {
		font-family: var(--ff-heading-serif);
		font-size: 1.75rem;
		font-weight: 400;
		text-transform: uppercase;
		letter-spacing: 0.025em;
		margin: 0 0 0.75rem;
		text-align: center;
		position: relative;

		&::after {
			content: "";
			display: block;
			width: 120px;
			height: 1px;
			margin: 0.9rem auto 1.3rem;
			background: var(--ff-divider);
		}
	}

	p {
		font-family: var(--ff-serif);
		font-size: 1rem;
		line-height: 1.7;
		max-width: var(--ff-body-width);
		margin-left: auto;
		margin-right: auto;
		color: #333;
	}

	.wp-block-column p {
		margin-bottom: 1.05rem;
	}

	.ff-card .wp-block-column p:last-of-type {
		font-size: 0.85rem;
		line-height: 1.5;
		max-width: 520px;
		color: #555;
	}

	img {
		border-radius: 24px;
		box-shadow: 0 6px 18px rgba(0,0,0,0.12);
	}

	figure.ff-card {
		background: none;
		padding: 0;
		box-shadow: none;
		border-radius: 0;
	}

	.ff-split > .wp-block-column {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.ff-split > .wp-block-column.text-center {
		display: flex;
		justify-content: center;
	}

	.ff-frame {
		position: relative;
		width: 100%;
		padding: 1.25rem 0;

		&::before,
		&::after {
			content: "";
			position: absolute;
			left: 0;
			right: 0;
			height: 1px;
			background: var(--ff-divider);
		}

		&::before {
			top: 0;
		}

		&::after {
			bottom: 0;
		}

		h2::after,
		h3::after {
			display: none;
			content: none;
		}

		&.is-layout-flow > * {
			margin-block-start: 12px !important;
		}

		&.is-layout-flow > :first-child {
			margin-block-start: 0 !important;
		}

		p:last-of-type {
			margin-bottom: 0;
		}
	}

	.ff-section--center {
		text-align: center;
	}

	.ff-section--center:not(.ff-title) {
		position: relative;
		padding: 1.1rem 0;

		&::before,
		&::after {
			content: "";
			position: absolute;
			left: 12%;
			right: 12%;
			height: 1px;
			background: var(--ff-divider);
		}

		&::before {
			top: 0;
		}

		&::after {
			bottom: 0;
		}

		h2::after,
		h3::after {
			display: none;
			content: none;
		}

		p:last-of-type {
			margin-bottom: 0;
		}
	}

	.ff-story {
		.ff-split {
			align-items: stretch;

			> .wp-block-column:first-child {
				display: flex;

				.wp-block-image {
					display: flex;
					flex: 1;

					img {
						width: 100%;
						height: auto;
						object-fit: contain;
						object-position: center;
					}
				}
			}
		}
	}

	.ff-card {
		background: none;
		backdrop-filter: none;
		border-radius: 0;
		padding: 0;
		box-shadow: none;

		.ff-split {
			align-items: stretch;

			> .wp-block-column:first-child {
				display: flex;

				.wp-block-image {
					display: flex;
					flex: 1;

					img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				}
			}

			> .wp-block-column:last-child {
				display: flex;
				flex-direction: column;
				justify-content: center;
			}
		}
	}

	.ff-section {
		margin: 40px 0;
	}

	.ff-section.ff-section--center {
		margin: 32px 0;
	}
}
