/* ==========================================================================
   Page d'accueil
   Chargée uniquement sur la home : c'est l'essentiel du CSS du site et elle
   n'a aucune raison de peser sur les milliers de fiches.
   ========================================================================== */

/* GeneratePress contraint le contenu dans une grille : on la neutralise pour
   que le hero et les bandes de couleur aillent d'un bord à l'autre. */
.home #page.grid-container,
.home #page {
	max-width: none;
	padding: 0;
	margin: 0;
}

.home #content.site-content { padding: 0; display: block; }
.home .site-main { margin: 0; }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.ir-hero {
	position: relative;
	color: #fff;
	padding-block: clamp(64px, 12vw, 132px) clamp(40px, 6vw, 64px);
	background:
		radial-gradient(120% 90% at 78% 8%, rgba(23, 162, 180, .55) 0%, rgba(23, 162, 180, 0) 58%),
		radial-gradient(90% 80% at 10% 100%, rgba(76, 139, 62, .45) 0%, rgba(76, 139, 62, 0) 60%),
		linear-gradient(168deg, #0B2C3C 0%, #10425A 46%, #0C5E6C 100%);
	overflow: hidden;
}

.ir-hero--image::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--ir-hero-image);
	background-size: cover;
	background-position: center;
	opacity: .5;
}

.ir-hero__contenu { position: relative; }

.ir-hero__eyebrow {
	font-size: clamp(1.6rem, 3.6vw, 2.4rem);
	color: #FFB271;
	margin: 0 0 2px;
	line-height: 1;
}

.ir-hero__titre {
	color: #fff;
	font-size: clamp(2.6rem, 7.4vw, 5rem);
	font-weight: 800;
	margin: 0 0 16px;
	max-width: 14ch;
}

.ir-hero__accroche {
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	color: rgba(255, 255, 255, .88);
	max-width: 46ch;
	margin: 0 0 clamp(28px, 4vw, 44px);
}

/* Onglets de recherche */

.ir-recherche { max-width: 940px; }

.ir-recherche__onglets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.ir-onglet {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 12px 20px;
	border-radius: var(--rayon-s);
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .2);
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
	color: #fff;
}

.ir-onglet input { position: absolute; opacity: 0; pointer-events: none; }

.ir-onglet__texte { display: grid; line-height: 1.25; }
.ir-onglet__texte strong { font-family: var(--titre); font-size: 15px; font-weight: 600; }
.ir-onglet__texte small  { font-size: 12.5px; opacity: .82; }

.ir-onglet:hover { background: rgba(255, 255, 255, .2); }

.ir-onglet:has(input:checked) {
	background: #fff;
	color: var(--nuit);
	border-color: #fff;
}

.ir-onglet:has(input:focus-visible) { outline: 3px solid #FFB271; outline-offset: 2px; }

/* Barre de recherche */

.ir-recherche__barre {
	display: grid;
	gap: 4px;
	background: #fff;
	border-radius: var(--rayon);
	padding: 8px;
	box-shadow: var(--ombre-flottant);
}

@media (min-width: 860px) {
	.ir-recherche__barre { grid-template-columns: 2fr 1.2fr auto; align-items: stretch; }
}

.ir-champ { margin: 0; display: grid; gap: 2px; padding: 10px 16px; }

@media (min-width: 860px) {
	.ir-champ--ou { border-left: 1px solid var(--trait); }
}

.ir-champ__label {
	font-family: var(--titre);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--encre-2);
}

.ir-champ__saisie {
	border: 0;
	padding: 0;
	font-family: var(--texte);
	font-size: 16px;
	color: var(--encre);
	background: transparent;
	width: 100%;
	min-height: 26px;
}

.ir-champ__saisie:focus { outline: none; }
.ir-champ:focus-within { border-radius: var(--rayon-s); background: var(--sable); }

.ir-recherche__envoi { justify-content: center; padding-inline: 28px; }

/* --------------------------------------------------------------------------
   Secteurs
   -------------------------------------------------------------------------- */

.ir-secteurs__grille { display: grid; gap: clamp(32px, 5vw, 56px); }

@media (min-width: 960px) {
	.ir-secteurs__grille { grid-template-columns: minmax(280px, 360px) 1fr; align-items: start; }
}

.ir-secteurs__intro p { color: var(--encre-2); max-width: 34ch; margin: 16px 0 24px; }

.ir-secteurs__liste {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

@media (min-width: 620px) {
	.ir-secteurs__liste { grid-template-columns: repeat(2, 1fr); }
}

.ir-secteur {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: var(--blanc);
	border: 1px solid var(--trait);
	border-radius: var(--rayon);
	text-decoration: none;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ir-secteur:hover {
	border-color: var(--lagon);
	transform: translateY(-2px);
	box-shadow: var(--ombre-carte);
}

.ir-secteur__icone {
	display: grid;
	place-items: center;
	width: 42px; height: 42px;
	border-radius: 50%;
	background: var(--lagon-clair);
	color: var(--lagon-fonce);
}

.ir-secteur__texte { display: grid; line-height: 1.3; }
.ir-secteur__texte strong { font-family: var(--titre); font-size: 16px; color: var(--nuit); }
.ir-secteur__texte small  { font-size: 13.5px; color: var(--encre-3); }

.ir-secteur__compte {
	display: grid;
	justify-items: center;
	font-family: var(--titre);
	font-size: 19px;
	font-weight: 700;
	color: var(--brasier);
	font-variant-numeric: tabular-nums;
}

.ir-secteur__compte small { font-size: 11px; font-weight: 500; color: var(--encre-3); }

/* --------------------------------------------------------------------------
   Fondateurs
   -------------------------------------------------------------------------- */

.ir-fondateurs__entete { text-align: center; margin-bottom: 40px; }
.ir-fondateurs__entete p { color: var(--encre-2); margin: 12px 0 0; }

.ir-fondateurs__grille { display: grid; gap: 24px; }

@media (min-width: 900px) { .ir-fondateurs__grille { grid-template-columns: repeat(2, 1fr); } }

.ir-fondateur {
	display: grid;
	gap: 0;
	background: var(--blanc);
	border: 1px solid var(--trait);
	border-radius: var(--rayon);
	overflow: hidden;
	box-shadow: var(--ombre-carte);
}

@media (min-width: 560px) { .ir-fondateur { grid-template-columns: 210px 1fr; } }

.ir-fondateur__portrait {
	position: relative;
	min-height: 240px;
	display: grid;
	place-items: center;
	background: linear-gradient(160deg, var(--lagon-clair), var(--sable-2));
}

.ir-fondateur--brasier .ir-fondateur__portrait {
	background: linear-gradient(160deg, var(--brasier-clair), var(--sable-2));
}

.ir-fondateur__portrait img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
}

.ir-fondateur__initiale {
	font-family: var(--script);
	font-size: 76px;
	color: var(--lagon);
	opacity: .55;
}

.ir-fondateur--brasier .ir-fondateur__initiale { color: var(--brasier); }

.ir-fondateur__corps { padding: 26px 28px; }

.ir-fondateur__prenom {
	font-size: 2rem;
	margin: 0;
	color: var(--lagon-fonce);
	font-weight: 400;
}

.ir-fondateur--brasier .ir-fondateur__prenom { color: var(--brasier-fonce); }

.ir-fondateur__role {
	font-family: var(--titre);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--encre-2);
	margin: 2px 0 14px;
}

.ir-fondateur__texte { color: var(--encre-2); margin: 0 0 18px; font-size: 16px; }

.ir-fondateur__points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 9px;
	border-top: 1px solid var(--trait);
	padding-top: 16px;
}

.ir-fondateur__points li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14.5px;
	color: var(--encre-2);
}

.ir-fondateur__points svg { color: var(--lagon-fonce); flex: none; }
.ir-fondateur--brasier .ir-fondateur__points svg { color: var(--brasier); }

/* --------------------------------------------------------------------------
   Garanties
   -------------------------------------------------------------------------- */

.ir-garanties { padding-block: clamp(40px, 5vw, 60px); }

.ir-garanties__liste {
	list-style: none;
	margin: 0;
	padding: clamp(24px, 3vw, 34px);
	display: grid;
	gap: 26px;
	background: var(--blanc);
	border: 1px solid var(--trait);
	border-radius: var(--rayon);
}

@media (min-width: 700px)  { .ir-garanties__liste { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .ir-garanties__liste { grid-template-columns: repeat(4, 1fr); } }

.ir-garantie { display: grid; gap: 6px; align-content: start; }

.ir-garantie__icone {
	display: grid;
	place-items: center;
	width: 40px; height: 40px;
	border-radius: 10px;
	background: var(--lagon-clair);
	color: var(--lagon-fonce);
	margin-bottom: 4px;
}

.ir-garantie strong { font-family: var(--titre); font-size: 15.5px; color: var(--nuit); }
.ir-garantie span   { font-size: 14.5px; color: var(--encre-2); line-height: 1.5; }

/* --------------------------------------------------------------------------
   Infolettre
   -------------------------------------------------------------------------- */

.ir-infolettre__boite {
	display: grid;
	gap: 20px;
	align-items: center;
	padding: clamp(26px, 4vw, 40px);
	border-radius: var(--rayon);
	background: linear-gradient(140deg, var(--nuit) 0%, #0C5E6C 100%);
	color: #fff;
}

@media (min-width: 900px) {
	.ir-infolettre__boite { grid-template-columns: auto 1fr auto; gap: 32px; }
}

.ir-infolettre__icone {
	display: grid;
	place-items: center;
	width: 56px; height: 56px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .14);
}

.ir-infolettre__texte h2 { color: #fff; font-size: 1.5rem; margin: 0 0 4px; }
.ir-infolettre__texte p  { margin: 0; color: rgba(255, 255, 255, .82); font-size: 15px; }

.ir-infolettre__form { display: flex; gap: 8px; flex-wrap: wrap; }

.ir-infolettre__form .ir-champ__saisie {
	background: #fff;
	border-radius: var(--rayon-s);
	padding: 13px 16px;
	min-width: 240px;
	flex: 1;
}

/* --------------------------------------------------------------------------
   Marque du pied de page
   -------------------------------------------------------------------------- */

.ir-pied__marque {
	font-family: var(--titre);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: #fff;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.ir-pied__marque .ir-script {
	text-transform: none;
	color: var(--lagon);
	font-weight: 400;
	font-size: 30px;
	margin-left: 4px;
}

.ir-fondateur__lien {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	font-family: var(--titre);
	font-size: 14.5px;
	font-weight: 600;
	color: var(--lagon-fonce);
	text-decoration: none;
}

.ir-fondateur--brasier .ir-fondateur__lien { color: var(--brasier-fonce); }
.ir-fondateur__lien:hover { text-decoration: underline; }

