	.wp-block-button__link {
		min-height: 2.75rem;
		padding: 0.75rem 1.25rem;
		border: 1px solid var(--easy-mark-accent, #a91b13);
		border-radius: var(--easy-mark-radius, 5px);
		background: var(--easy-mark-accent, #a91b13);
		color: var(--easy-mark-white, #fff);
		font-family: "Barlow Condensed", Arial, sans-serif;
		font-weight: 600;
		letter-spacing: 0.02em;
		line-height: 1;
		text-decoration: none;
		text-transform: uppercase;
		transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
	}

	.wp-block-button__link:hover {
		border-color: var(--easy-mark-ink, #22261f);
		background: var(--easy-mark-ink, #22261f);
		color: var(--easy-mark-white, #fff);
	}

	.wp-block-button__link:focus-visible {
		outline: 3px solid var(--easy-mark-sand, #c9bca8);
		outline-offset: 3px;
	}

	.wp-block-button.is-style-easy-mark-cta-primary {
		--easy-mark-cta-color: #a91b13;
		--easy-mark-cta-hover: #8b140d;
	}

	.wp-block-button.is-style-easy-mark-cta-secondary {
		--easy-mark-cta-color: #424242;
		--easy-mark-cta-hover: #2d2d2d;
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary) {
		display: inline-block;
		max-width: 100%;
		margin-block: 0 1rem;
		margin-inline: 0 1rem;
		vertical-align: top;
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary):not(.has-custom-width) {
		flex: 0 0 258px;
		width: 258px;
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary) .wp-block-button__link {
		position: relative;
		isolation: isolate;
		display: inline-flex;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		height: 56px;
		min-height: 56px;
		align-items: center;
		padding: 0 60px 0 24px;
		overflow: hidden;
		border: 1px solid var(--easy-mark-cta-color);
		border-radius: 5px;
		background: #faf0e5;
		color: var(--easy-mark-cta-color);
		font-family: "Barlow Condensed", Arial, sans-serif;
		font-size: 17px;
		font-weight: 600;
		letter-spacing: 0.5px;
		line-height: 1;
		text-align: left;
		text-transform: uppercase;
		white-space: nowrap;
		transition:
			border-color 250ms ease,
			box-shadow 250ms ease,
			color 250ms ease,
			transform 250ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary) .wp-block-button__link::before {
		position: absolute;
		top: -1px;
		right: -1px;
		z-index: -1;
		width: 56px;
		height: 56px;
		border-radius: 0 5px 5px 0;
		background: var(--easy-mark-cta-color);
		clip-path: polygon(9px 0, 100% 0, 100% 100%, 0 100%);
		content: "";
		pointer-events: none;
		transition:
			background-color 250ms ease,
			clip-path 280ms cubic-bezier(0.22, 1, 0.36, 1),
			width 280ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary) .wp-block-button__link::after {
		position: absolute;
		top: 50%;
		right: 19px;
		z-index: 1;
		width: 10px;
		height: 10px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		content: "";
		pointer-events: none;
		transform: translate(0, -50%) rotate(45deg);
		transition: transform 250ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary) .wp-block-button__link:is(:hover, :focus-visible) {
		border-color: var(--easy-mark-cta-hover);
		background: #faf0e5;
		box-shadow: 0 8px 18px rgb(34 38 31 / 16%);
		color: #fff;
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary) .wp-block-button__link:is(:hover, :focus-visible)::before {
		width: calc(100% + 2px);
		background: var(--easy-mark-cta-hover);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary) .wp-block-button__link:is(:hover, :focus-visible)::after {
		transform: translate(3px, -50%) rotate(45deg);
	}

	.wp-block-button:is(.is-style-easy-mark-cta-primary, .is-style-easy-mark-cta-secondary) .wp-block-button__link:active {
		box-shadow: 0 3px 8px rgb(34 38 31 / 12%);
		transform: translateY(0);
	}

	.easy-mark-section-heading {
		text-align: center;
	}

	.easy-mark-section-heading::after {
		display: block;
		width: 7.5rem;
		height: 1px;
		margin: 1rem auto 0;
		background: var(--easy-mark-sand, #c9bca8);
		content: "";
	}

	.is-style-easy-mark-card {
		padding: 1.5rem;
		border: 1px solid rgb(34 38 31 / 12%);
		border-radius: var(--easy-mark-radius, 5px);
		background: var(--easy-mark-surface, #fbf7ef);
		box-shadow: var(--easy-mark-shadow, 0 0.5rem 1.5rem rgb(34 38 31 / 8%));
	}

	.project-selector {
		display: flex;
		flex-direction: column;
		padding: 27px var(--easy-mark-gutter, clamp(1rem, 4vw, 4.5rem)) 50px;
		gap: 48px;
	}

	.project-selector__header {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}

	.project-selector__header::after {
		display: block;
		width: 150px;
		height: 1px;
		background: rgb(143 146 122 / 55%);
		content: "";
	}

	.project-selector .project-selector__title {
		margin: 0;
		color: var(--easy-mark-heading, #424242);
		font-family: "Lora", Georgia, serif;
		font-size: clamp(1.75rem, 3vw, 2.25rem);
		font-weight: 700;
		line-height: 1.1;
		text-align: center;
	}

	.project-selector__grid {
		display: grid;
		width: 100%;
		grid-template-columns: minmax(0, 499px);
		justify-content: center;
		gap: clamp(1.5rem, 3.6vw, 69px);
	}

	.project-selector .project-selector__grid > * {
		margin-block: 0;
	}

	.project-card,
	a.project-card {
		display: flex;
		width: 100%;
		min-width: 0;
		max-width: 499px;
		height: 422px;
		min-height: 422px;
		flex-direction: column;
		overflow: hidden;
		border: 1px solid #d8d2c7;
		border-radius: 10px;
		background: #fcf9f3;
		box-shadow: 0 8px 18px rgb(31 26 18 / 10%);
		color: var(--easy-mark-heading, #424242);
		text-decoration: none;
		transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms ease;
	}

	.project-card__media {
		display: block;
		width: 100%;
		height: 245px;
		min-height: 245px;
		overflow: hidden;
		background: #ebe6dd;
	}

	.project-card__media--placeholder {
		display: grid;
		place-items: center;
		background:
			linear-gradient(135deg, rgb(255 255 255 / 35%) 25%, transparent 25%) 0 0 / 24px 24px,
			#ebe6dd;
		color: var(--easy-mark-copy, #55554e);
		font-size: 14px;
	}

	.project-card__image {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.project-card__content {
		display: grid;
		min-height: 177px;
		flex: 1;
		grid-template-columns: 85px minmax(0, 1fr) 38px;
		align-items: center;
		padding: 24px;
		gap: 16px;
	}

	.project-card__icon {
		display: block;
		width: 85px;
		height: 85px;
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
	}

	.project-card__icon--horse {
		background-image: url("../icons/project-types/horse.svg");
	}

	.project-card__icon--mountains {
		background-image: url("../icons/project-types/off-road-truck.svg");
	}

	.project-card__icon--motorhome {
		background-image: url("../icons/project-types/motorhome.svg");
	}

	.project-card__text {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 6px;
	}

	.project-card .project-card__title {
		padding: 0;
		margin: 0;
		color: var(--easy-mark-heading, #424242);
		font-family: "Lora", Georgia, serif;
		font-size: clamp(1.25rem, 2vw, 1.625rem);
		font-weight: 600;
		line-height: 1.2;
	}

	.project-card .project-card__description {
		padding: 0;
		margin: 0;
		color: var(--easy-mark-copy, #55554e);
		font-family: "Barlow", Arial, sans-serif;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.35;
	}

	.project-card__arrow {
		display: grid;
		width: 38px;
		height: 38px;
		place-items: center;
		border: 1px solid #777b70;
		border-radius: 50%;
		transition: background-color 240ms ease, border-color 240ms ease, transform 240ms ease;
	}

	.project-card__chevron {
		display: block;
		width: 16px;
		height: 16px;
		background: url("../icons/chevron-right.svg") center / contain no-repeat;
		transition: filter 240ms ease, transform 240ms ease;
	}

	a.project-card:hover,
	a.project-card:focus-visible {
		border-color: rgb(169 27 19 / 45%);
		box-shadow: 0 14px 28px rgb(31 26 18 / 16%);
		transform: translateY(-4px);
	}

	a.project-card:hover .project-card__image,
	a.project-card:focus-visible .project-card__image {
		transform: scale(1.035);
	}

	a.project-card:hover .project-card__arrow,
	a.project-card:focus-visible .project-card__arrow {
		border-color: var(--easy-mark-accent, #a91b13);
		background: var(--easy-mark-accent, #a91b13);
		transform: translateX(2px);
	}

	a.project-card:hover .project-card__chevron,
	a.project-card:focus-visible .project-card__chevron {
		filter: brightness(0) invert(1);
		transform: translateX(1px);
	}

	.project-card__media-button {
		padding: 0;
		border: 0;
		cursor: pointer;
		font: inherit;
	}

	.project-card-icon-picker {
		display: grid;
		gap: 8px;
	}

	.project-card-icon-option.components-button {
		display: grid;
		height: auto;
		grid-template-columns: 48px 1fr;
		padding: 8px;
		text-align: left;
		gap: 12px;
	}

	.project-card-icon-option .project-card__icon {
		width: 48px;
		height: 48px;
	}

	.editor-styles-wrapper .project-selector__grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
		display: grid;
		grid-template-columns: minmax(0, 499px);
		justify-content: center;
		gap: clamp(1.5rem, 3.6vw, 69px);
	}

	@media (min-width: 48rem) {
		.project-selector__grid,
		.editor-styles-wrapper .project-selector__grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
			grid-template-columns: repeat(2, minmax(0, 499px));
		}

		.project-selector--three-columns .project-selector__grid > :last-child:nth-child(odd),
		.editor-styles-wrapper .project-selector--three-columns .project-selector__grid > .block-editor-inner-blocks > .block-editor-block-list__layout > :last-child:nth-child(odd) {
			grid-column: 1 / -1;
			justify-self: center;
		}
	}

	@media (min-width: 64rem) {
		.project-selector--three-columns .project-selector__grid,
		.editor-styles-wrapper .project-selector--three-columns .project-selector__grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.project-selector--three-columns .project-selector__grid > :last-child:nth-child(odd),
		.editor-styles-wrapper .project-selector--three-columns .project-selector__grid > .block-editor-inner-blocks > .block-editor-block-list__layout > :last-child:nth-child(odd) {
			grid-column: auto;
			justify-self: stretch;
		}
	}

	@media (max-width: 34.999rem) {
		.project-selector {
			gap: 32px;
		}

		.project-card,
		a.project-card {
			height: auto;
			min-height: 0;
		}

		.project-card__media {
			height: clamp(190px, 62vw, 245px);
			min-height: 0;
		}

		.project-card__content {
			min-height: 0;
			grid-template-columns: 64px minmax(0, 1fr) 34px;
			padding: 20px;
			gap: 12px;
		}

		.project-card__icon {
			width: 64px;
			height: 64px;
		}

		.project-card__arrow {
			width: 34px;
			height: 34px;
		}
	}

	.benefits-section {
		display: flex;
		flex-direction: column;
		padding: 50px var(--easy-mark-gutter, clamp(1rem, 7.4vw, 142px));
		gap: clamp(48px, 4.1vw, 79px);
	}

	.benefits-section__header {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}

	.benefits-section__header::after {
		display: block;
		width: 150px;
		height: 1px;
		background: rgb(150 148 127 / 60%);
		content: "";
	}

	.benefits-section .benefits-section__title {
		padding: 0;
		margin: 0;
		color: #424242;
		font-family: "Lora", Georgia, serif;
		font-size: clamp(1.75rem, 3vw, 2.25rem);
		font-weight: 700;
		line-height: 1.1;
		text-align: center;
	}

	.benefits-section__grid {
		display: grid;
		width: 100%;
		grid-template-columns: minmax(0, 1fr);
		gap: 40px 24px;
	}

	.benefits-section .benefits-section__grid > * {
		margin-block: 0;
	}

	.benefit-item {
		position: relative;
		display: flex;
		min-width: 0;
		flex-direction: column;
		align-items: center;
		color: #2d302b;
		text-align: center;
		gap: 20px;
	}

	.benefit-item__icon-wrap {
		display: grid;
		width: 116px;
		height: 116px;
		flex: 0 0 116px;
		place-items: center;
	}

	.benefit-item__icon {
		display: block;
		width: 100px;
		height: 100px;
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
	}

	.benefit-item__icon--made-in-france {
		background-image: url("../icons/benefits/icon-france.svg");
	}

	.benefit-item__icon--reliability {
		background-image: url("../icons/benefits/icon-robustness.svg");
	}

	.benefit-item__icon--custom-made {
		background-image: url("../icons/benefits/icon-custom-design.svg");
	}

	.benefit-item__icon--premium-finish {
		background-image: url("../icons/benefits/icon-premium-finish.svg");
	}

	.benefit-item .benefit-item__title {
		padding: 0;
		margin: 0;
		color: #2d302b;
		font-family: "Barlow", Arial, sans-serif;
		font-size: 24px;
		font-weight: 600;
		line-height: 1.2;
	}

	.benefit-item .benefit-item__description {
		max-width: 300px;
		padding: 0;
		margin: -10px 0 0;
		color: #5a5b55;
		font-family: "Barlow", Arial, sans-serif;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.38;
	}

	.benefit-icon-picker {
		display: grid;
		gap: 8px;
	}

	.benefit-icon-option.components-button {
		display: grid;
		height: auto;
		grid-template-columns: 48px 1fr;
		padding: 8px;
		text-align: left;
		gap: 12px;
	}

	.benefit-icon-option .benefit-item__icon {
		width: 48px;
		height: 48px;
		background-size: contain;
	}

	.editor-styles-wrapper .benefits-section__grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 40px 24px;
	}

	@media (min-width: 48rem) {
		.benefits-section__grid,
		.editor-styles-wrapper .benefits-section__grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}

	@media (min-width: 75rem) {
		.benefits-section__grid,
		.editor-styles-wrapper .benefits-section__grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
			grid-template-columns: repeat(4, minmax(0, 1fr));
		}

		.benefit-item + .benefit-item::before {
			position: absolute;
			top: 8px;
			left: -12px;
			width: 1px;
			height: 200px;
			background: rgb(150 148 127 / 40%);
			content: "";
		}
	}

	.media-showcase {
		display: flex;
		flex-direction: column;
		padding: 50px var(--easy-mark-gutter, clamp(1rem, 7.4vw, 142px)) 90px;
		gap: 48px;
	}

	.media-showcase__header {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}

	.media-showcase__header::after {
		display: block;
		width: 150px;
		height: 1px;
		background: rgb(143 146 122 / 55%);
		content: "";
	}

	.media-showcase .media-showcase__title {
		padding: 0;
		margin: 0;
		color: #424242;
		font-family: "Lora", Georgia, serif;
		font-size: clamp(1.75rem, 3vw, 2.25rem);
		font-weight: 700;
		line-height: 1.1;
		text-align: center;
	}

	.media-showcase .media-showcase__intro {
		max-width: 960px;
		padding: 0;
		margin: 0;
		color: #5a5b55;
		font-family: "Barlow", Arial, sans-serif;
		font-size: clamp(1rem, 1.8vw, 1.125rem);
		font-weight: 400;
		line-height: 1.45;
		text-align: center;
	}

	.media-showcase__grid {
		display: grid;
		width: 100%;
		grid-template-columns: minmax(0, 760px);
		justify-content: center;
		gap: clamp(24px, 6.15vw, 118px);
	}

	.media-showcase .media-showcase__grid > * {
		margin-block: 0;
	}

	.media-card,
	a.media-card,
	button.media-card {
		position: relative;
		display: flex;
		width: 100%;
		max-width: 760px;
		min-height: clamp(300px, 55vw, 420px);
		padding: 0;
		align-items: stretch;
		justify-content: stretch;
		overflow: hidden;
		border: 1px solid #d8d2c7;
		border-radius: 10px;
		background: #fcf9f2;
		box-shadow: 0 8px 18px rgb(31 26 18 / 10%);
		color: #fff;
		font: inherit;
		text-align: center;
		text-decoration: none;
		transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms ease;
	}

	a.media-card,
	button.media-card {
		appearance: none;
		cursor: pointer;
	}

	.media-card__media,
	.media-card__overlay {
		position: absolute;
		inset: 0;
		display: block;
	}

	.media-card__media {
		background: #d8d2c7;
	}

	.media-card__media--placeholder {
		display: grid;
		place-items: center;
		background:
			linear-gradient(135deg, rgb(255 255 255 / 18%) 25%, transparent 25%) 0 0 / 24px 24px,
			#8f8b82;
		color: #fff;
	}

	.media-card__image {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.media-card__overlay {
		background: linear-gradient(180deg, rgb(0 0 0 / 6%) 0%, rgb(0 0 0 / 56%) 100%);
		opacity: 0.82;
		pointer-events: none;
		transition: opacity 300ms ease;
	}

	.media-card__content {
		position: relative;
		z-index: 1;
		display: flex;
		width: 100%;
		min-width: 0;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: clamp(24px, 4vw, 48px);
		gap: 16px;
	}

	.media-card__action {
		display: grid;
		width: 88px;
		height: 88px;
		flex: 0 0 88px;
		place-items: center;
		border-radius: 50%;
		background: rgb(255 255 255 / 92%);
		box-shadow: 0 8px 20px rgb(0 0 0 / 15%);
		transition: background-color 260ms ease, box-shadow 260ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.media-card__action-icon {
		display: block;
		width: 32px;
		height: 32px;
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		transition: filter 260ms ease, transform 260ms ease;
	}

	.media-card__action-icon--video {
		background-image: url("../icons/media/play.svg");
	}

	.media-card__action-icon--tour {
		background-image: url("../icons/media/rotate-360.svg");
	}

	.media-card__text {
		display: flex;
		width: min(100%, 520px);
		flex-direction: column;
		align-items: center;
		gap: 6px;
	}

	.media-card .media-card__title {
		padding: 0;
		margin: 0;
		color: #fff;
		font-family: "Lora", Georgia, serif;
		font-size: clamp(1.375rem, 2vw, 1.625rem);
		font-weight: 700;
		line-height: 1.2;
	}

	.media-card .media-card__description {
		padding: 0;
		margin: 0;
		color: rgb(255 255 255 / 80%);
		font-family: "Barlow", Arial, sans-serif;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.35;
	}

	a.media-card:is(:hover, :focus-visible),
	button.media-card:is(:hover, :focus-visible) {
		border-color: rgb(169 27 19 / 55%);
		box-shadow: 0 14px 30px rgb(31 26 18 / 18%);
		transform: translateY(-4px);
	}

	a.media-card:is(:hover, :focus-visible) .media-card__image,
	button.media-card:is(:hover, :focus-visible) .media-card__image {
		transform: scale(1.035);
	}

	a.media-card:is(:hover, :focus-visible) .media-card__overlay,
	button.media-card:is(:hover, :focus-visible) .media-card__overlay {
		opacity: 1;
	}

	a.media-card:is(:hover, :focus-visible) .media-card__action,
	button.media-card:is(:hover, :focus-visible) .media-card__action {
		background: var(--easy-mark-accent, #a91b13);
		box-shadow: 0 12px 24px rgb(0 0 0 / 22%);
		transform: scale(1.06);
	}

	a.media-card:is(:hover, :focus-visible) .media-card__action-icon,
	button.media-card:is(:hover, :focus-visible) .media-card__action-icon {
		filter: brightness(0) invert(1);
		transform: scale(1.05);
	}

	.editor-styles-wrapper .media-showcase__grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
		display: grid;
		grid-template-columns: minmax(0, 760px);
		justify-content: center;
		gap: clamp(24px, 6.15vw, 118px);
	}

	.media-modal[hidden] {
		display: none;
	}

	body.has-open-media-modal {
		overflow: hidden;
	}

	.media-modal {
		position: fixed;
		z-index: 2000;
		inset: 0;
		display: grid;
		padding: clamp(8px, 3vw, 40px);
		place-items: center;
		opacity: 0;
		visibility: hidden;
		transition: opacity 260ms ease, visibility 0s linear 260ms;
	}

	.media-modal.is-open {
		opacity: 1;
		visibility: visible;
		transition-delay: 0s;
	}

	.media-modal__backdrop {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0;
		background: rgb(34 38 31 / 88%);
		backdrop-filter: blur(8px);
		cursor: pointer;
	}

	.media-modal__dialog {
		position: relative;
		z-index: 1;
		width: min(92vw, 1400px);
		border-radius: 10px;
		background: #111;
		box-shadow: 0 24px 64px rgb(0 0 0 / 35%);
		opacity: 0;
		transform: translateY(20px) scale(0.96);
		transition: opacity 260ms ease, transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.media-modal.is-open .media-modal__dialog {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	.media-modal__close {
		position: absolute;
		z-index: 2;
		top: -18px;
		right: -18px;
		display: grid;
		width: 44px;
		height: 44px;
		padding: 0;
		place-items: center;
		border: 1px solid rgb(255 255 255 / 35%);
		border-radius: 50%;
		background: var(--easy-mark-accent, #a91b13);
		box-shadow: 0 8px 18px rgb(0 0 0 / 25%);
		color: #fff;
		cursor: pointer;
		font: 300 32px/1 Arial, sans-serif;
		transition: background-color 220ms ease, transform 220ms ease;
	}

	.media-modal__close:is(:hover, :focus-visible) {
		background: #424242;
		transform: rotate(90deg);
	}

	.media-modal__frame {
		width: 100%;
		max-height: 82dvh;
		aspect-ratio: 16 / 9;
		overflow: hidden;
		border-radius: 10px;
	}

	.media-modal__iframe {
		display: block;
		width: 100%;
		height: 100%;
		border: 0;
	}

	.media-modal__image[hidden] {
		display: none;
	}

	.media-modal__image {
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain !important;
	}

	.media-modal--image {
		padding: clamp(8px, 1.25vw, 24px);
	}

	.media-modal--image .media-modal__dialog {
		width: min(96vw, 1800px);
		height: 92dvh;
	}

	.media-modal--image .media-modal__frame {
		position: relative;
		display: grid;
		height: 100%;
		max-height: none;
		place-items: center;
		aspect-ratio: auto;
	}

	.media-modal--image .media-modal__image {
		position: absolute;
		top: 50%;
		left: 50%;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain !important;
		object-position: center;
		transform: translate(-50%, -50%);
	}

	@media (min-width: 80rem) {
		.media-showcase__grid,
		.editor-styles-wrapper .media-showcase__grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
			grid-template-columns: repeat(2, minmax(0, 760px));
		}

		.media-card,
		a.media-card,
		button.media-card {
			min-height: 0;
			aspect-ratio: 38 / 21;
		}
	}

	@media (max-width: 47.999rem) {
		.media-showcase {
			padding-block: 40px 64px;
			gap: 36px;
		}

		.media-card__action {
			width: 72px;
			height: 72px;
			flex-basis: 72px;
		}

		.media-card__action-icon {
			width: 28px;
			height: 28px;
		}

		.media-modal__dialog {
			width: calc(100vw - 16px);
		}

		.media-modal__frame {
			height: 75dvh;
			max-height: none;
			aspect-ratio: auto;
		}

		.media-modal__close {
			top: 8px;
			right: 8px;
		}
	}

/* History and commitment */
.history-section {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	gap: 20px;
	box-sizing: border-box;
	width: 100%;
	padding: 56px 20px;
	overflow: hidden;
	background: linear-gradient(180deg, #f6dcc3 0%, #fbf7ef 40%, #f8f4ec 100%);
	color: var(--wp--preset--color--copy, #55554e);
}

.history-section__top-wave,
.history-section__image-wave {
	display: none;
}

.history-section__intro,
.history-section__media,
.history-section__timeline,
.history-section__commitment {
	position: relative;
	z-index: 2;
}

.history-section .history-section__title {
	margin: 0;
	color: var(--wp--preset--color--heading, #424242);
	font-family: var(--wp--preset--font-family--heading, "Lora", serif);
	font-size: clamp(2rem, 9vw, 2.625rem);
	font-weight: 700;
	line-height: 1.1;
}

.history-section .history-section__introduction {
	max-width: 620px;
	margin: 16px 0 0;
	font-size: 1.0625rem;
	line-height: 1.45;
}

.history-section__media {
	height: 230px;
	overflow: hidden;
}

.history-section__media picture,
.history-section__image,
.history-section__image--placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.history-section__image {
	object-fit: cover;
	object-position: center;
}

.history-section__image--placeholder {
	background: url("../images/history/landscape.webp") center / cover no-repeat;
}

.history-section__timeline {
	display: grid;
	gap: 20px;
}

.history-section__step {
	position: relative;
	display: grid;
	grid-template-columns: 3px minmax(0, 1fr);
	column-gap: 12px;
	min-height: 43px;
}

.history-section__marker {
	grid-row: 1 / 3;
	width: 3px;
	height: 100%;
	background: #9a8171;
}

.history-section .history-section__step-title {
	grid-column: 2;
	margin: 0;
	color: var(--wp--preset--color--heading, #424242);
	font-family: var(--wp--preset--font-family--heading, "Lora", serif);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.2;
}

.history-section .history-section__step-text {
	grid-column: 2;
	margin: 4px 0 0;
	font-size: 0.8125rem;
	line-height: 1.3;
}

.history-section__line {
	display: none;
}

.history-section__commitment {
	box-sizing: border-box;
	width: 100%;
	min-height: 208px;
	padding: 20px;
	border-radius: 30px;
	background: linear-gradient(145deg, #765c4c 0%, #3f302a 100%);
	box-shadow: 0 18px 45px rgb(63 48 42 / 22%);
	color: #fff;
}

.history-section__commitment-icon {
	display: block;
	width: 100px;
	height: 53px;
	margin-bottom: 20px;
	background: url("../icons/history/engagement.png") left center / contain no-repeat;
}

.history-section .history-section__commitment-title {
	margin: 0;
	color: #fff7e9;
	font-family: var(--wp--preset--font-family--heading, "Lora", serif);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.15;
}

.history-section .history-section__commitment-text {
	margin: 12px 0 0;
	color: #f1eadd;
	font-size: 1rem;
	line-height: 1.4;
}

.history-section-editor-preview {
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 48rem) and (max-width: 79.999rem) {
	.history-section {
		padding: 72px clamp(32px, 7vw, 72px);
	}

	.history-section__media {
		height: 360px;
	}

	.history-section__timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 40px;
	}

	.history-section__commitment {
		max-width: 600px;
		margin-inline: auto;
	}
}

@media (min-width: 80rem) {
	.history-section {
		display: grid;
		grid-template-columns: 46.875% 53.125%;
		grid-template-rows: auto 1fr;
		gap: 0;
		min-height: 560px;
		padding: 0;
		background: var(--wp--preset--color--canvas, #f8f4ec);
	}

	.history-section::before {
		position: absolute;
		z-index: 0;
		inset: 0 auto 0 0;
		width: 46.875%;
		background: linear-gradient(180deg, #f6dcc3 0%, #fbf7ef 100%);
		content: "";
	}

	.history-section__top-wave {
		position: absolute;
		z-index: 5;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 84px;
		background: url("../images/history/top-wave.svg") center top / 100% 100% no-repeat;
		pointer-events: none;
		transform: scaleY(-1);
	}

	.history-section__intro {
		grid-column: 1;
		grid-row: 1;
		padding: 95px 60px 0 max(60px, calc((100vw - 1636px) / 2));
	}

	.history-section .history-section__title {
		font-size: 2.625rem;
	}

	.history-section .history-section__introduction {
		margin-top: 20px;
		font-size: 1.125rem;
	}

	.history-section__media {
		z-index: 1;
		grid-column: 2;
		grid-row: 1 / 3;
		height: 560px;
		overflow: hidden;
	}

	.history-section__media picture {
		position: absolute;
		inset: 0;
		overflow: hidden;
	}

	.history-section__media .history-section__image {
		position: absolute;
		top: -44.7%;
		left: -47.44%;
		width: 150.08%;
		max-width: none;
		height: 144.7%;
		object-fit: fill;
	}

	.history-section__image-wave {
		position: absolute;
		z-index: 2;
		bottom: -4px;
		left: -6px;
		display: block;
		width: calc(100% + 6px);
		height: 300px;
		background: url("../images/history/image-wave.svg") right bottom / 100% 100% no-repeat;
		pointer-events: none;
	}

	.history-section__timeline {
		grid-column: 1;
		grid-row: 2;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-self: end;
		gap: 42px;
		padding: 20px 60px 76px max(60px, calc((100vw - 1636px) / 2));
	}

	.history-section__step {
		display: block;
		min-height: 128px;
		padding-top: 78px;
	}

	.history-section__marker {
		position: absolute;
		top: 12px;
		left: 0;
		display: block;
		width: 51px;
		height: 51px;
		border-radius: 50%;
		background-color: #c4b9a8;
		background-position: center;
		background-repeat: no-repeat;
		background-size: 25px 25px;
	}

	.history-section__step--clock .history-section__marker {
		background-image: url("../icons/history/clock.svg");
		background-size: 51px 51px;
	}

	.history-section__step--wrench .history-section__marker {
		background-image: url("../icons/history/wrench.svg");
	}

	.history-section__step--star .history-section__marker {
		background-image: url("../icons/history/star.svg");
	}

	.history-section__step--lightbulb .history-section__marker {
		background-image: url("../icons/history/lightbulb.svg");
	}

	.history-section__line {
		position: absolute;
		top: 36px;
		left: 51px;
		display: block;
		width: calc(100% + 42px - 51px);
		height: 2px;
		background: #c4b9a8;
	}

	.history-section .history-section__step-title {
		font-size: 1.0625rem;
	}

	.history-section .history-section__step-text {
		margin-top: 8px;
	}

	.history-section__commitment {
		z-index: 4;
		grid-column: 2;
		grid-row: 1 / 3;
		align-self: center;
		justify-self: center;
		width: 308px;
		min-height: 0;
		padding: 32px;
		box-shadow: 0 14px 14px rgb(0 0 0 / 18%);
		text-align: center;
	}

	.history-section__commitment-icon {
		width: 120px;
		height: 64px;
		margin: 0 auto 20px;
		background-position: center;
	}
}
