@font-face {
	font-family: 'CabinetGrotesk-Variable';
	src: url('Polices/Cabinet/CabinetGrotesk-Variable.woff2') format('woff2'), url('Polices/Cabinet/CabinetGrotesk-Variable.woff') format('woff'), url('Polices/Cabinet/CabinetGrotesk-Variable.ttf') format('truetype');
	font-weight: 100 900;
	font-display: swap;
	font-style: normal;
}

html {
	scroll-behavior: smooth;
}

* {
	margin: 0px;
	padding: 0px;
}

a {
	all: unset;
	cursor: pointer;
}

body {
	max-width: 1440px;
	margin: 0 auto;
	color: white;
	background-color: black;
	font-family: "CabinetGrotesk-Variable";
	font-weight: 400;
	font-size: calc(10px + 1vw);
	text-align: center;
}

h1 {
	font-size: 10vw;
	font-weight: 900;
}

h2 {
	font-size: 5vw;
	font-weight: 900;
	padding-top: 10px;
}

h3 {
	font-size: 3vw;
	font-weight: 400;
}

header {
	color: white;
	background-image: url(Images/GABIN_FONDS_GRIS\ TEXTURE.webp);
	display: flex;
	justify-content: center;
	transition: 0.25s;
}

footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	color: #221F1F;
	background-image: url(Images/GABIN_FONDS_BLANC\ TEXTURE.webp);
}

.section1 {
	color: #221F1F;
	background-image: url(Images/GABIN_FONDS_BLANC\ TEXTURE.webp);
	display: flex;
	padding: 0px 20px 20px 20px;
	transition: 0.25s;
}

.section2 {
	color: white;
	background-image: url(Images/GABIN_FONDS_ORANGE\ TEXTURE.webp);
	display: flex;
	padding: 0px 20px 20px 20px;
	transition: 0.25s;
}

.section3 {
	color: white;
	background-image: url(Images/GABIN_FONDS_GRIS\ TEXTURE.webp);
	display: flex;
	padding: 0px 20px 20px 20px;
	transition: 0.25s;
}

article {
	width: 100%;
}

.colonne1 {
	text-align: left;
}

.colonne2 {
	text-align: right;
}

.colonne3 {
	text-align: center;
}

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

#video_container {
	height: 18vw;
	width: 100%;
	z-index: 1;
}

#texte_header {
	position: absolute;
	z-index: 2;
}

.header {
  position: relative;
}

#gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
  max-width: 1440px;
  margin: auto;
}

/* Base tile — carré */
.project {
  position: relative;
  width: 100%;
  padding-bottom: 100%; /* ratio 1:1 */
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

/* Intérieur réel, positionné absolument */
.project::before {
  content: '';
  position: absolute;
  inset: 0;
}

.project:hover {
  filter: grayscale(0%);
}

.project video {
  position: absolute;
  inset: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* 2:1 (large) */
.wide {
  grid-column: span 2;
  padding-bottom: calc(50% - 5px); /* 2:1 ratio avec compensation du gap */
}

/* 1:2 (haute) */
.tall {
  grid-row: span 2;
  padding-bottom: 200%; /* 1:2 ratio */
}

.logo {
	height: 40px;
	filter: brightness(0) invert(0);
}

#logos {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

@media screen and (max-width: 768px) {
	.desktop-only {
		display: none;
	}

	.section1,
	.section2,
	.section3 {
		flex-direction: column;
		text-align: center;
	}

	article {
		width: 100%;
	}

	.colonne1,
	.colonne2,
	.colonne3 {
		text-align: center;
	}

	footer {
		flex-direction: column;
		text-align: center;
		gap: 10px;
	}
}

@media (max-width: 400px) {
  #gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p1753193620 {
	background-image: url(Images/PROJET_p1753193620_tile_image.webp);
}

.p1753282752 {
	background-image: url(Images/PROJET_p1753282752_tile_image.webp);
}