@font-face {
	font-family: "ES Klarheit Grotesk";
	src:
		url("../fonts/klarheit/ESKlarheitGrotesk-Bk.woff2") format("woff2"),
		url("../fonts/klarheit/ESKlarheitGrotesk-Bk.woff") format("woff");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "ES Klarheit Grotesk";
	src:
		url("../fonts/klarheit/ESKlarheitGrotesk-BkIt.woff2") format("woff2"),
		url("../fonts/klarheit/ESKlarheitGrotesk-BkIt.woff") format("woff");
	font-style: italic;
	font-weight: 400;
	font-display: swap;
}

:root {
	color-scheme: light;
	--vive-ink: #1d1d1b;
	--vive-cream: #fff3ce;
	--vive-page: #fff;
	/* Réglages typographiques du site. */
	--vive-body-font-size: clamp(0.9rem, 1.35vw, 1.0125rem);
	--vive-caption-font-size: 0.84375rem;
	--vive-content-max-width: var(--wp--style--global--content-size, 67.5rem);
	--vive-content-gutter: clamp(1.5rem, 4vw, 4rem);
	--vive-admin-bar-height: 0px;
	--vive-navigation-height: clamp(4.5rem, 8svh, 5.75rem);
	--vive-scroll-gap: 2rem;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--vive-ink);
	background: var(--vive-page);
	font-family: "ES Klarheit Grotesk", Arial, sans-serif;
	font-feature-settings: "ss01" 1;
	font-size: var(--vive-body-font-size);
	font-weight: 400;
	font-feature-settings: "ss01" 0, "ss02" 0, "ss03" 0, "ss04" 0, "ss05" 0, "ss06" 0, "ss07" 0, "ss08" 0, "ss09" 0, "ss10" 0, "ss11" 0, "ss14", "ss15" 0, "case" 0, "tnum" 0, "sups" 0, "numr" 0, "dnom" 0, "frac" 0, "ordn" 0, "zero" 0;
}

body.admin-bar {
	--vive-admin-bar-height: var(--wp-admin--admin-bar--height, 32px);
}

a {
	color: inherit;
}

button,
a {
	font-family: inherit;
	font-size: inherit;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

figcaption {
	font-size: var(--vive-caption-font-size);
	font-style: normal;
}

.fs-sm {
	font-size: 0.7875rem;
}

.fs-sm p {
	font-size: 0.7875rem !important;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 1rem;
	left: 1rem;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	clip: auto;
	background: #fff;
}

.vive-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.vive-hero__stage {
	position: relative;
	display: grid;
	min-height: 100svh;
	place-items: center;
	cursor: pointer;
}

.vive-hero__fallback,
.vive-hero__canvas {
	position: absolute;
	z-index: -2;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.vive-hero__fallback {
	background:
		radial-gradient(ellipse at 48% 48%, #addde7 0%, transparent 58%),
		radial-gradient(ellipse at 10% 10%, #ffe1a4 0%, transparent 62%),
		radial-gradient(ellipse at 55% 100%, #efc8db 0%, transparent 62%),
		var(--vive-cream);
}

.vive-hero__canvas {
	z-index: -1;
	display: block;
}

.vive-hero__click-target {
	position: absolute;
	z-index: 1;
	inset: 0;
}

.vive-hero__click-target:focus-visible {
	outline: 2px solid var(--vive-ink);
	outline-offset: -8px;
}

.vive-hero__logo {
	width: clamp(20rem, 31.5vw, 32rem);
	max-width: 74vw;
	height: auto;
	pointer-events: none;
	user-select: none;
}

.vive-hero__baseline {
	position: absolute;
	right: 1.5rem;
	bottom: clamp(1.5rem, 4.8vh, 4rem);
	left: 1.5rem;
	margin: 0;
	font-size: clamp(1.35rem, 1.35vw, 1.575rem);
	line-height: 1.25;
	pointer-events: none;
	text-align: center;
}

.vive-navigation {
	position: sticky;
	z-index: 4;
	top: 0;
	display: grid;
	min-height: var(--vive-navigation-height);
	overflow: hidden;
	padding: 1rem clamp(1rem, 3vw, 3rem);
	border-top: 1px solid var(--vive-page);
	background: linear-gradient(
		90deg,
		rgb(255 238 174),
		rgb(191 228 234) 48%,
		rgb(237 206 223)
	);
	isolation: isolate;
}

.admin-bar .vive-navigation {
	top: var(--vive-admin-bar-height);
}

.vive-navigation__canvas {
	position: absolute;
	z-index: 0;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.vive-navigation__links {
	position: relative;
	z-index: 1;
	display: flex;
	gap: clamp(1.5rem, 5vw, 5rem);
	align-items: center;
	justify-content: center;
	width: 100%;
	text-align: center;
}

.vive-navigation__links a {
	text-decoration: none;
	font-size: clamp(1.35rem, 1.35vw, 1.575rem);
}

.vive-navigation__links a:hover,
.vive-navigation__links a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.vive-main {
	min-height: 100svh;
	background: var(--vive-page);
	scroll-margin-top: calc(
		var(--vive-admin-bar-height) + var(--vive-navigation-height) + var(--vive-scroll-gap)
	);
}

.vive-main__content {
	width: 100%;
	min-height: 75svh;
	margin-inline: auto;
	padding-block: 5rem;
}

.vive-main__content > :not(.wp-block-vive-section-illustree) {
	width: min(var(--vive-content-max-width), 100%);
	margin-inline: auto;
	padding-inline: var(--vive-content-gutter);
}

.vive-main__content > .wp-block-vive-section-illustree {
	width: 100%;
}

.vive-main__content [id] {
	scroll-margin-top: calc(
		var(--vive-admin-bar-height) + var(--vive-navigation-height) + var(--vive-scroll-gap)
	);
}

.vive-main__content > :first-child {
	margin-top: 0;
}

.vive-main__content h1, .vive-main__content h2, .vive-main__content h3, .vive-main__content h4, .vive-main__content h5, .vive-main__content h6 {
	font-size: clamp(1.35rem, 1.35vw, 1.575rem);
	font-weight: 400;
	line-height: 1;
	margin-top: 2rem;
}

.vive-main__content p {
	font-size: var(--vive-body-font-size);
	line-height: 1.4;
}

.vive-main__content ul {
	margin-top: -1rem;
	padding-left: 1.05rem;
}

.vive-main__content .wp-block-button {
	margin-top: 1rem;
	margin-bottom: 2rem;
}

.vive-contact-anchor {
	min-height: 25svh;
	scroll-margin-top: calc(
		var(--vive-admin-bar-height) + var(--vive-navigation-height) + var(--vive-scroll-gap)
	);
}

.site-main {
	width: min(44rem, calc(100% - 3rem));
	min-height: 100svh;
	margin-inline: auto;
	padding-block: clamp(4rem, 12vh, 9rem);
}

.site-entry + .site-entry {
	margin-top: 4rem;
}

.site-entry__title {
	font-weight: 400;
}

@media (max-width: 782px) {
	body.admin-bar {
		--vive-admin-bar-height: var(--wp-admin--admin-bar--height, 46px);
	}
}

@media (max-width: 640px) {
	.vive-hero__logo {
		width: min(28rem, 78vw);
	}

	.vive-hero__baseline {
		right: 1rem;
		bottom: 3.25rem;
		left: 1rem;
		font-size: 0.9rem;
	}

	.vive-navigation {
		padding-inline: 0.5rem;
	}

	.vive-navigation__links {
		gap: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

.wp-block-image.aligncenter img {
	margin-inline: auto;
}

.wp-lightbox-container button:focus, .wp-lightbox-container button:hover, .wp-lightbox-container button:not(:hover):not(:active):not(.has-background) {
	display: none;
}